// -- Adobe GoLive JavaScript Library

// -- Global Functions

CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);

CSIsW3CDOM = ((document.getElementById) && !(IsIE()&&CSBVers<6)) ? true : false;

function IsIE() { return CSAg.indexOf("MSIE") > 0;}

function CSIEStyl(s) { return document.all.tags("div")[s].style; }

function CSNSStyl(s) { if (CSIsW3CDOM) return document.getElementById(s).style; else return CSFindElement(s,0);  }

CSIImg=false;

function CSInitImgID() {if (!CSIImg && document.images) { for (var i=0; i<document.images.length; i++) { if (!document.images[i].id) document.images[i].id=document.images[i].name; } CSIImg = true;}}

function CSFindElement(n,ly) { if (CSBVers<4) return document[n];

	if (CSIsW3CDOM) {CSInitImgID();return(document.getElementById(n));}

	var curDoc = ly?ly.document:document; var elem = curDoc[n];

	if (!elem) {for (var i=0;i<curDoc.layers.length;i++) {elem=CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}

	return elem;

}

function CSGetImage(n) {if(document.images) {return ((!IsIE()&&CSBVers<5)?CSFindElement(n,0):document.images[n]);} else {return null;}}

CSDInit=false;

function CSIDOM() { if (CSDInit)return; CSDInit=true; if(document.getElementsByTagName) {var n = document.getElementsByTagName('DIV'); for (var i=0;i<n.length;i++) {CSICSS2Prop(n[i].id);}}}

function CSICSS2Prop(id) { var n = document.getElementsByTagName('STYLE');for (var i=0;i<n.length;i++) { var cn = n[i].childNodes; for (var j=0;j<cn.length;j++) { CSSetCSS2Props(CSFetchStyle(cn[j].data, id),id); }}}

function CSFetchStyle(sc, id) {

	var s=sc; while(s.indexOf("#")!=-1) { s=s.substring(s.indexOf("#")+1,sc.length); if (s.substring(0,s.indexOf("{")).toUpperCase().indexOf(id.toUpperCase())!=-1) return(s.substring(s.indexOf("{")+1,s.indexOf("}")));}

	return "";

}

function CSGetStyleAttrValue (si, id) {

	var s=si.toUpperCase();

	var myID=id.toUpperCase()+":";

	var id1=s.indexOf(myID);

	if (id1==-1) return "";

	s=s.substring(id1+myID.length+1,si.length);

	var id2=s.indexOf(";");

	return ((id2==-1)?s:s.substring(0,id2));

}

function CSSetCSS2Props(si, id) {

	var el=document.getElementById(id);

	if (el==null) return;

	var style=document.getElementById(id).style;

	if (style) {

		if (style.left=="") style.left=CSGetStyleAttrValue(si,"left");

		if (style.top=="") style.top=CSGetStyleAttrValue(si,"top");

		if (style.width=="") style.width=CSGetStyleAttrValue(si,"width");

		if (style.height=="") style.height=CSGetStyleAttrValue(si,"height");

		if (style.visibility=="") style.visibility=CSGetStyleAttrValue(si,"visibility");

		if (style.zIndex=="") style.zIndex=CSGetStyleAttrValue(si,"z-index");

	}

}

function CSSetStylePos(s,d,p) {

	if (CSIsW3CDOM)d==0?document.getElementById(s).style.left=p+"px":document.getElementById(s).style.top=p+"px";

	else if(IsIE())(d==0)?CSIEStyl(s).posLeft=p:CSIEStyl(s).posTop=p;

	else (d==0)?CSNSStyl(s).left=p:CSNSStyl(s).top=p;

}

function CSGetStylePos(s,d) {

	if (CSIsW3CDOM){CSIDOM();return parseInt((d==0)?document.getElementById(s).style.left:document.getElementById(s).style.top);}

	else if (IsIE()) {CSIEWinInit();return(d==0)?CSIEStyl(s).posLeft:CSIEStyl(s).posTop;}

	else {return (d==0)?CSNSStyl(s).left:CSNSStyl(s).top;}

}

CSIEWInit=false;

function CSIEWinInit() { if(CSIEWInit==true) return; else CSIEWInit=true; if (IsIE()&&(CSAg.indexOf("Win")!=-1)&&CSBVers==4) { var i=0; var lyr=document.all.tags("div")[i++]; while(lyr) {lyr.style.posLeft=lyr.offsetLeft; lyr.style.posTop=lyr.offsetTop; lyr=document.all.tags("div")[i++];}}}

CSLoopIsRunning = false; CSFctArray = new Array; CSTimeoutID = null;

function CSLoop() {	

	CSLoopIsRunning = false;

	for (i=0;i<CSFctArray.length;i++) {

		var curFct = CSFctArray[i];

		if (curFct)	{

			if (curFct.DoFunction(curFct)) { CSLoopIsRunning = true; curFct.counter++; }

			else CSFctArray[i] = 0;

		}

	}

	if (CSLoopIsRunning) CSTimeoutID = setTimeout("CSLoop()", 1);

}

function CSStartFunction(fct,data) {

	if (!CSLoopIsRunning) { CSFctArray = 0; CSFctArray = new Array; }

	var fctInfo = new Object;

	fctInfo.DoFunction = fct; fctInfo.counter = 0; fctInfo.data = data;

	CSFctArray[CSFctArray.length] = fctInfo; 

	if (!CSLoopIsRunning) CSLoop();

}

function CSStopFunction(sceneName) {

	var i;

	for (i=0;i<CSFctArray.length;i++) {

		var curFct = CSFctArray[i];

		if (curFct){ if (curFct.data.name == sceneName){ CSFctArray[i] = 0; return; } }

	}

}

function CSStopComplete() {

	if (CSTimeoutID == null) return;

	clearTimeout (CSTimeoutID); CSLoopIsRunning = false; CSTimeoutID = null;

}

function CSMoveLoop(fInf) {

	var ticks = 60 * (((new Date()).getTime()) - fInf.data.startTime)/1000;

	var f = ticks/fInf.data.ticks;

	if (f < 1) { CSSetStylePos(fInf.data.layer,0,fInf.data.start[0] * (1-f) + fInf.data.end[0] * f);

		CSSetStylePos(fInf.data.layer,1,fInf.data.start[1] * (1-f) + fInf.data.end[1] * f); return true; }

	else { CSSetStylePos(fInf.data.layer,0,fInf.data.end[0]);

		CSSetStylePos(fInf.data.layer,1,fInf.data.end[1]); }

	return false;

}

function CSSlideObj (layer,start,end,ticks,startTime) {

	this.layer=layer;this.start=start;this.end=end;this.ticks=ticks;this.startTime=startTime;

}

function CSSlideLayer(l,pos,anim,ticks) {

	var x = pos[0]; var y = pos[1];

	if (l == '') return;

	if (!anim) { CSSetStylePos(l,0,x); CSSetStylePos(l,1,y); }

	else {  var fctData = new CSSlideObj(l,new Array(CSGetStylePos(l,0),CSGetStylePos(l,1)),new Array(x,y),ticks,(new Date()).getTime()); CSStartFunction(CSMoveLoop,fctData); }

}

function CSSetStyleVis(s,v) {

	if (CSIsW3CDOM){CSIDOM();document.getElementById(s).style.visibility=(v==0)?"hidden":"visible";}

	else if(IsIE())CSIEStyl(s).visibility=(v==0)?"hidden":"visible";

	else CSNSStyl(s).visibility=(v==0)?'hide':'show';

}

function CSGetStyleVis(s) {

	if (CSIsW3CDOM) {CSIDOM();return(document.getElementById(s).style.visibility=="hidden")?0:1;}

	else if(IsIE())return(CSIEStyl(s).visibility=="hidden")?0:1;

	else return(CSNSStyl(s).visibility=='hide')?0:1;

}

function CSGetLayerClip (el) {

	CSIDOM();

	if (el.isIE) return (new CSRect(0,0,el.offsetWidth,el.offsetHeight));

	else if (CSBVers>=5) return (new CSRect(0,0,parseInt(el.style.width),parseInt(el.style.height)));

	else return (new CSRect(el.clip.left,el.clip.top,el.clip.width,el.clip.height));

}

function CSSetLayerClip (el,clipRect) {

    var l,t,r,b;

    l=clipRect.left; t=clipRect.top; r=l+clipRect.width; b=t+clipRect.height;

    if(el.isIE) { el.style.clip = "rect("+ t + " " + r + " " + b + " " + l + ")"; }

    else if (CSBVers>=5) el.style.clip = "rect("+ t + "px, " + r + "px, " + b + "px, " + l + "px)";

    else { el.clip.left=l; el.clip.top=t; el.clip.width=clipRect.width; el.clip.height=clipRect.height; }

	CSSetStyleVis(el.layer);

}

function CSRect (left,top,width,height) {

this.left=left; this.top=top; this.width=width; this.height=height;

}

function CSCreateTransElement (layer, steps) {

	var el;

	if (IsIE()) el=document.all.tags("div")[layer];

	else if (CSBVers>=5) el=document.getElementById(layer);

	else el=CSNSStyl(layer);

	if (el==null) return null;

	if (el.locked && (el.locked == true)) return null;

	el.isIE=IsIE();

	el.clipRect=CSGetLayerClip(el);

	if (el.clipRect==null) return null;

	el.maxValue=steps;

	if (el.maxValue<=0) el.maxValue=30;

	el.modus=""; el.layer=layer;

	el.width=el.clipRect.width; el.height=el.clipRect.height;

	el.locked = true;

	return el;

}

function CSDisposeTransElement (el) { el.locked = false; }

CSStateArray = new Object;

CSCookieArray = new Object;

CSCookieValArray = new Object;

function CSWriteCookie(action) {

	var name   = "DFT" + action[1];

	var hrs    = action[2];

	var path   = action[3];

	var domain = action[4];

	var secure = action[5];	

	var exp    = new Date((new Date()).getTime() + hrs * 3600000);	

	var cookieVal = "";

	for(var prop in CSCookieArray) {

		if(("DFT" + CSCookieArray[prop]) == name) {

			if(cookieVal != "") cookieVal += "&";

			cookieVal += prop + ":" + escape(CSStateArray[prop]);

		}

	}

	if(hrs != 0)

		cookieVal += "; expires=" + exp.toGMTString();

	if(path != "")

		cookieVal += "; path=" + path;

	if(domain != "")

		cookieVal += "; domain=" + domain;

	if(secure == true)

		cookieVal += "; secure";

	document.cookie = name + '=' + cookieVal;

}

function CSReadCookie(action) {

	var name    = "DFT" + action[1];

	var cookies = document.cookie;

	if(cookies == "") return;

	var start = cookies.indexOf(name);

	if(start == -1) return;

	start += name.length + 1;

	var end = cookies.indexOf(";", start);

	if(end == -1) end = cookies.length;

	var cookieVal = cookies.substring(start, end);

	var arr = cookieVal.split('&');

	for(var i = 0; i < arr.length; i++) {

		var a = arr[i].split(':');

		CSStateArray[a[0]] = unescape(a[1]);

	}	

}

function CSDefineState(action) {

	CSCookieArray[action[1]] = action[3]; 

}

function CSSetState(action) {

	CSStateArray[action[1]] = action[2];

}

function CSInitState(action) {

	if(typeof(CSStateArray[action[1]]) == "undefined")

		CSStateArray[action[1]] = action[2];

}

function CSCheckState(action) {

	var obj1 = CSStateArray[action[1]];

	var obj2 = action[2];

	if(typeof(obj1) == "object") {

		for(var i=0;i<obj1.length;i++) {

			if(obj1[i] != obj2[i])

				return false;

			}

		return true;

		}

	var res;

	var op = action[3];

		     if(op == "==") res = (CSStateArray[action[1]] == action[2]);	

		else if(op == "!=") res = (CSStateArray[action[1]] != action[2]);	

		else if(op == ">" ) res = (CSStateArray[action[1]] >  action[2]);	

		else if(op == ">=") res = (CSStateArray[action[1]] >= action[2]);	

		else if(op == "<" ) res = (CSStateArray[action[1]] <  action[2]);	

		else if(op == "<=") res = (CSStateArray[action[1]] <= action[2]);	

	return res;

}

function CSScriptInit() {

if(typeof(skipPage) != "undefined") { if(skipPage) return; }

idxArray = new Array;

for(var i=0;i<CSInit.length;i++)

	idxArray[i] = i;

CSAction2(CSInit, idxArray);

}

function CSScriptExit() {

idxArray = new Array;

for(var i=0;i<CSExit.length;i++)

	idxArray[i] = i;

CSAction2(CSExit, idxArray);

}

CSInit = new Array;

CSExit = new Array;

CSStopExecution=false;

function CSAction(array) {return CSAction2(CSAct, array);}

function CSAction2(fct, array) { 

	var result;

	for (var i=0;i<array.length;i++) {

		if(CSStopExecution) return false; 

		var aa = fct[array[i]];

		if (aa == null) return false;

		var ta = new Array;

		for(var j=1;j<aa.length;j++) {

			if((aa[j]!=null)&&(typeof(aa[j])=="object")&&(aa[j].length==2)){

				if(aa[j][0]=="VAR"){ta[j]=CSStateArray[aa[j][1]];}

				else{if(aa[j][0]=="ACT"){ta[j]=CSAction(new Array(new String(aa[j][1])));}

				else ta[j]=aa[j];}

			} else ta[j]=aa[j];

		}			

		result=aa[0](ta);

	}

	return result;

}

CSAct = new Object;

CSIm=new Object();

function CSIShow(n,i) {

	if (document.images) {

		if (CSIm[n]) {

			var img=CSGetImage(n);

			if (img&&typeof(CSIm[n][i].src)!="undefined") {img.src=CSIm[n][i].src;}

			if(i!=0) self.status=CSIm[n][3]; else self.status=" ";

			return true;

		}

	}

	return false;

}

function CSILoad(action) {

	im=action[1];

	if (document.images) {

		CSIm[im]=new Object();

		for (var i=2;i<5;i++) {

			if (action[i]!='') {CSIm[im][i-2]=new Image(); CSIm[im][i-2].src=action[i];}

			else CSIm[im][i-2]=0;

		}

		CSIm[im][3] = action[5];

	}

}

function newImage(arg) {

	if (document.images) {

		rslt = new Image();

		rslt.src = arg;

		return rslt;

	}

}

userAgent = window.navigator.userAgent;

browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);

mustInitImg = true;

function initImgID() {di = document.images; if (mustInitImg && di) { for (var i=0; i<di.length; i++) { if (!di[i].id) di[i].id=di[i].name; } mustInitImg = false;}}

function findElement(n,ly) {

	d = document;

	if (browserVers < 4)		return d[n];

	if ((browserVers >= 6) && (d.getElementById)) {initImgID; return(d.getElementById(n))}; 

	var cd = ly ? ly.document : d;

	var elem = cd[n];

	if (!elem) {

		for (var i=0;i<cd.layers.length;i++) {

			elem = findElement(n,cd.layers[i]);

			if (elem) return elem;

		}

	}

	return elem;

}

function changeImages() {

	d = document;

	if (d.images) {

		var img;

		for (var i=0; i<changeImages.arguments.length; i+=2) {

			img = null;

			if (d.layers) {img = findElement(changeImages.arguments[i],0);}

			else {img = d.images[changeImages.arguments[i]];}

			if (img) {img.src = changeImages.arguments[i+1];}

		}

	}

}

function CSClickReturn () {

	var bAgent = window.navigator.userAgent; 

	var bAppName = window.navigator.appName;

	if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))

		return true; // dont follow link

	else return false; // dont follow link

}

function CSButtonReturn () { return !CSClickReturn(); }

function CSBrowserSwitch(action) {

	var bAgent	= window.navigator.userAgent;

	var bAppName	= window.navigator.appName;

	var isNS		= (bAppName.indexOf("Netscape") >= 0);

	var isIE		= (bAppName.indexOf("Explorer") >= 0);

	var isWin		= (bAgent.indexOf("Win") >= 0); 

	var isMac		= (bAgent.indexOf("Mac") >= 0); 

	var vers		= 0;

	var versIdx	= (bAgent.indexOf("Mozilla/"));

	if(versIdx >= 0)

		{

		var sstr	= bAgent.substring(versIdx + 8, versIdx + 9);

		vers		= parseInt(sstr) - 2;

		}

	var url		= action[1];

	var platform	= action[2];

	var versVec;

	if(platform)

		{

		if(isNS && isMac) versVec = action[3];

		if(isIE && isMac) versVec = action[5];

		if(isNS && isWin) versVec = action[4];

		if(isIE && isWin) versVec = action[6];

		}

	else

		{

		if(isNS) versVec = action[3];

		if(isIE) versVec = action[4];

		}

	if(vers > (versVec.length-1))

		vers = versVec.length-1;

	if(versVec[vers] == 0)

		{

		location			= url;

		CSStopExecution	= true;	

		}

}

function CSURLPopupShow(formName, popupName, target) {

	var form  = (!IsIE()&&CSBVers>=5)?document.forms[formName]:CSFindElement(formName);

	var popup = form.elements[popupName];

	window.open(popup.options[popup.selectedIndex].value, target);

	popup.selectedIndex = 0;

}

function CSSetStyleDepth(s,depth) {

	if (CSIsW3CDOM)document.getElementById(s).style.zIndex=depth;

	else if (IsIE())CSIEStyl(s).zIndex=depth;

	else CSNSStyl(s).zIndex=depth;

}

function CSGetStyleDepth(s) {

	if (CSIsW3CDOM){CSIDOM();return document.getElementById(s).style.zIndex;}

	else if (IsIE())return (CSIEStyl(s).zIndex);

	else return (CSNSStyl(s).zIndex);

}

CSSeqArray = new Array;

function CSSeqActionFct(seq,loopCount,continueLoop) {

	if ((seq.loop < 2) || ((loopCount % 2) != 0)) {

		for (var i=0;i<seq.actionCount;i++) {

			if (seq.actions[3*i + 1] <= seq.frame) {

				if ((loopCount > 1) && (seq.actions[3*i + 1] < seq.start)) continue;

				if (seq.actions[3*i + 2] < loopCount) {

					seq.actions[3*i + 2] = loopCount; CSLoopIsRunning = true;

					CSAction(new Array(seq.actions[3*i + 0])); continueLoop = true;

				}

			} else { continueLoop = true; break; }

		}

	} else {

		for (var i=seq.actionCount-1;i>=0;i--) {

			if (seq.actions[3*i + 1] > seq.frame) {

				if (seq.actions[3*i + 1] > seq.end) continue;

				if (seq.actions[3*i + 2] < loopCount) {

					seq.actions[3*i + 2] = loopCount; CSLoopIsRunning = true;

					CSAction(new Array(seq.actions[3*i + 0])); continueLoop = true;

				}

			} else { continueLoop = true; break; }

		}

	}

	return continueLoop;

}		

function CSSeqFunction(fctInfo)

{

	var seq = fctInfo.data; var oldFrame = seq.frame;

	var newTicks = (new Date()).getTime();

	seq.frame = Math.round((seq.fps * (newTicks - seq.startTicks)/1000.0) - 0.5);

	var continueLoop  = false; var loopCount = 1;

	

	if (seq.loop > 0) {

		continueLoop = true;

		if (seq.loop == 1) {

			var iv = (seq.end - seq.start);

			var f = Math.round(((seq.frame - seq.start) / iv) - 0.5);

			if (f < 0) f = 0;

			loopCount = f+1;

			seq.frame = seq.start + ((seq.frame - seq.start) % (seq.end - seq.start));

		} else {

			var iv = (seq.end - seq.start);

			var f = Math.round(((seq.frame - seq.start) / iv) - 0.5);

			if (f < 0) f = 0;

			loopCount = f+1;

			f = (seq.frame - seq.start) % (2 * iv);

			if (f > iv) f = 2*iv - f;

			seq.frame = seq.start + f;

		}

	}

	continueLoop = CSSeqActionFct(seq,loopCount,continueLoop);

	for (var i=0;i<seq.tracks.length;i++) {

		var track = seq.tracks[i]; var frameCount = 0; var lastCount = 0; var partCount = 0;

		var partIdx = track.parts.ticks.length;

		for (var k=0;k<track.parts.ticks.length;k++) {

			frameCount += track.parts.ticks[k];

			if (frameCount > seq.frame) { partIdx = k; partCount = seq.frame - lastCount; break; }

			lastCount = frameCount;

		}

		if (partIdx < track.parts.ticks.length) {

			var type=track.parts.moveType[partIdx];

			if(type==1) CSSetLinearPos (track, partIdx, partCount);

			else if(type==2) CSSetCurvePos (track, partIdx, partCount);

			else if(type==3) if (oldFrame != seq.frame) CSSetRandomPos (track, partIdx, partCount);

							 else { x = CSGetStylePos(track.layer,0); y = CSGetStylePos(track.layer,1); }

			CSSetStyleVis(track.layer,track.parts.visibilities[partIdx]);

			CSSetStyleDepth(track.layer,track.parts.depths[partIdx]);

			continueLoop = true;

		} else {

			var partIdx = track.parts.moveType.length-1;

			var posArray = track.parts.positions;

			var x = posArray[partIdx * 6 + 0]; var y = posArray[partIdx * 6 + 1];

			CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);

			CSSetStyleVis(track.layer,track.parts.visibilities[partIdx]);

			CSSetStyleDepth(track.layer,track.parts.depths[partIdx]);

		}

	}

	return continueLoop;

}

function CSSetLinearPos (track, partIdx, partCount) {

	var curTicks = track.parts.ticks[partIdx];

	var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;

	var posArray = track.parts.positions;

	var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];

	var x1,x2,y1,y2;

	var factor = partCount/curTicks;

	x1 = x; y1 = y;

	x2 = posArray[pIdx2 + 0]; y2 = posArray[pIdx2 + 1];

	x = x1 * (1-factor) + x2 * factor; y = y1 * (1-factor) + y2 * factor;

	CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);

}

function CSSetCurvePos (track, partIdx, partCount) {

	var curTicks = track.parts.ticks[partIdx];

	var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;

	var posArray = track.parts.positions;

	var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];

	var x1,x2,x3,x4,y1,y2,y3,y4;

	var factor = partCount/curTicks;

	var t = factor; var u = t * t; var v = u * t;

	var val1 = 3*(u-t) - v + 1; var val2 = 3*(v+t - 2*u); var val3 = 3*(u-v); var val4 = v;

	x1 = x; y1 = y; x2 = posArray[pIdx1 + 2]; y2 = posArray[pIdx1 + 3];

	x3 = posArray[pIdx1 + 4]; y3 = posArray[pIdx1 + 5];

	x4 = posArray[pIdx2 + 0]; y4 = posArray[pIdx2 + 1];

	x = x1 * val1 + x2 * val2 + x3 * val3 + x4 * val4;

	y = y1 * val1 + y2 * val2 + y3 * val3 + y4 * val4;

	CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);

}

function CSSetRandomPos (track, partIdx, partCount) {

	var curTicks = track.parts.ticks[partIdx];

	var pIdx1 = partIdx * 6; var pIdx2 = (partIdx+1) * 6;

	var posArray = track.parts.positions;

	var x = posArray[pIdx1 + 0]; var y = posArray[pIdx1 + 1];

	var x1,x2,y1,y2;

	var factor = partCount/curTicks;

	x1 = x; y1 = y;

	x2 = posArray[pIdx2 + 0]; y2 = posArray[pIdx2 + 1];

	var factorx = Math.random(); var factory = Math.random();

	x = x1 * (1-factorx) + x2 * factorx; y = y1 * (1-factory) + y2 * factory;

	CSSetStylePos(track.layer,0,x); CSSetStylePos(track.layer,1,y);

}

function CSStartSeq(name) {

	var seq = CSGetScene(name); var date = new Date()

	seq.startTicks = date.getTime()

	for (var i=0;i<seq.actionCount;i++) seq.actions[3*i+2] = 0;

	CSStartFunction(CSSeqFunction,seq);

}

function CSSceneObj (name,fps,loop,start,end,frame,sTicks,numAct,acts,tracks) {

	this.name=name;this.fps=fps;this.loop=loop;this.start=start;this.end=end;

	this.frame=frame;this.startTicks=sTicks;this.actionCount=numAct;

	this.actions=acts;this.tracks=tracks;

}

function CSTrackObj (name,partIdx,partCount,parts) {

	this.layer=name;this.partIdx=partIdx;this.partCount=partCount;this.parts=parts;

}

function CSPartObj (ticks,pos,depths,vis,moveType) {

	this.ticks=ticks;this.positions=pos;this.depths=depths;this.visibilities=vis;

	this.moveType=moveType;

}

function CSGetScene (name) {

	for (i=0;i<CSSeqArray.length;i++) { var seq = CSSeqArray[i]; if (seq.name==name) return seq; }

	return 0;

}

function CSAutoStartScene(action) { CSStartSeq (action[1]); }

// -- Action Functions

function CSFieldValidate(action) { 

var form = action[1];

var elem = action[2];

var theEntry  = document.forms[form].elements[elem].value

var theFormElem = document.forms[form].elements[elem]

var badEntry = ""

	function theAlert () { 

	alert(action[6]);

	theFormElem.select();

	theFormElem.focus();

	}  	

	function isEmpty() { 

		if (theEntry == "") { 

		theAlert()

		} 	

	}

	function isNumber() { 

			if (theEntry == "") { 

			theAlert()

			} 		

		for (i=0; i<theEntry.length; i++) {  

			if (theEntry.charAt(i) < "0" || theEntry.charAt(i) > "9") {  

				badEntry = "notnumber"

				} 

			}  		

		if (badEntry == "notnumber") {

		theAlert()	

		}	

	} 

		

	function isAlpha() { 

			if (theEntry == "") { 

			theAlert()

			} 		

		for (i=0; i<theEntry.length; i++) {  

			if (theEntry.charAt(i) >= "0" && theEntry.charAt(i) <= "9") {  

				badEntry = "notalpha"

				} 

			}  		

		if (badEntry == "notalpha") {

		theAlert()	

		}	

	} 

				

	function requiredChars() {

	numofChars = theEntry.length

		if (numofChars != action[4]) {

			theAlert()

		} 

	}	

	function exactString() {

		if (theEntry != action[5]) {

			theAlert()

		} 

	}	

	

	function validEmail() {

		invalidChars = " /:,;"		

		if (theEntry == "") { 

			badEntry = "badEmail"

			}

		for (i=0; i < 5; i++)  {

			badChar = invalidChars.charAt(i)

				if (theEntry.indexOf(badChar,0) > -1) {

				badEntry = "badEmail"

				}

		}	

	atsignLoc = theEntry.indexOf("@",1)

		if (atsignLoc == -1) {

			badEntry = "badEmail"

		}		

		if (theEntry.indexOf("@",atsignLoc+1) > -1) {

		badEntry = "badEmail"

		}

	dotLoc = theEntry.indexOf(".",atsignLoc)

		if (dotLoc == -1) {

		badEntry = "badEmail"

		}

		if (dotLoc+3 > theEntry.length) {

		badEntry = "badEmail"

		}

		if (badEntry == "badEmail") {

		theAlert()

		}

	}

	function validCC() { 

	var theNumber = new Array(theEntry.length);

	var i = 0

	var total = 0

		for (i = 0; i < theEntry.length; ++i) {

		theNumber[i] = parseInt(theEntry.charAt(i))

		}

		for (i = theNumber.length -2; i >= 0; i-=2) {  

		theNumber[i] *= 2;							 

		if (theNumber[i] > 9) theNumber[i]-=9;			 

		}										 

		for (i = 0; i < theNumber.length; ++i) {

		total += theNumber[i];						 

		}	

		isinteger = total/10

		if(parseInt(isinteger)!=isinteger) {

		theAlert()

		}

	}

	

var type=action[3];

if(type==0) isEmpty()

else if(type==1) isNumber()

else if(type==2) isAlpha()

else if(type==3) requiredChars()

else if(type==4) exactString()

else if(type==5) validEmail()

else if(type==6) validCC()

}

		

function CSGetLayerPos(action) { 

	var layer = action[1];

	var x		= CSGetStylePos(layer, 0);

	var y		= CSGetStylePos(layer, 1);

	return new Array(x, y);

}

function CSGetFormElementValue(action) { 

	var form = action[1];

	var elem = action[2];

	return document.forms[form].elements[elem].value;

}

function initIArray() {

this.length = initIArray.arguments.length;

for (var i = 0; i < this.length; i++)

this[i+1] = initIArray.arguments[i]; 

}

function dailyImageURL(action) {

var dateArray = new

initIArray("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");

var today = new Date();

var day = dateArray[today.getDay()];

if (today.getDay() == 0) { day = "Sunday"; }

var img = null;

if (document.images) {

	if (!IsIE()&&CSBVers<5) img = CSFindElement(action[1],0);

	else img = document.images[action[1]];

		if (img) {

			if (day == "Monday" && action[2] != "(Empty Reference!)" && action[2] != "(EmptyReference!)") img.src = action[2]

			if (day == "Tuesday" && action[3] != "(Empty Reference!)" && action[3] != "(EmptyReference!)") img.src = action[3]

			if (day == "Wednesday" && action[4] != "(Empty Reference!)" && action[4] != "(EmptyReference!)") img.src = action[4]

			if (day == "Thursday" && action[5] != "(Empty Reference!)" && action[5] != "(EmptyReference!)") img.src = action[5]

			if (day == "Friday" && action[6] != "(Empty Reference!)" && action[6] != "(EmptyReference!)") img.src = action[6]

			if (day == "Saturday" && action[7] != "(Empty Reference!)" && action[7] != "(EmptyReference!)") img.src = action[7]

			if (day == "Sunday" && action[8] != "(Empty Reference!)" && action[8] != "(EmptyReference!)") img.src = action[8]

		}  

}  

}

CSImages=new Array();

function CSPreloadImage(action) {

	if (document.images) { CSImages[CSImages.length]=new Image(); CSImages[CSImages.length-1].src=action[1]; }

}

function CSRandomImg(action) { 

	var img = CSGetImage(action[1]);

	if (img) 

		{

		var v1 =  Math.floor(Math.random() * 10);

		var whichone = v1-(Math.floor(v1/3)*3);

		img.src = action[whichone+2];

		}

}

function CSSetImageURL(action) {

	var img=CSGetImage(action[1]);

	if (img) img.src=action[2];

}

function CSCloseWindow() { 

if (self.parent.frames.length != 0) {

	self.parent.close()	

	} else {

	window.close()

	}

}

function WBConfirmLink(action) {

	 if (checkIt(action)) {

		 if (action[2] != "(Empty Reference!)" && action[2] != "(EmptyReference!)") {

		 	if (action[3].length < 1) {

				parent.location.href=action[2];

			}

			else {

				parent.frames[action[3]].location.href=action[2];

			}

		}

	}

	return;

}

function checkIt(action) {

	var carryOn = window.confirm(action[1]);

	return carryOn;

	}

function CSCSSRedirect(action) { 

if (navigator.platform.indexOf("Win32") != -1) { os = "windows" };

if (navigator.platform.indexOf("Mac") != -1) { os = "mac" };

if (navigator.platform.indexOf("x") != -1 || navigator.platform.indexOf("BSD") != -1 || navigator.platform.indexOf("S") != -1) { os = "unix" };

if (navigator.appName.indexOf("Microsoft") != -1) { browser = "IE" };

if (navigator.appName.indexOf("Netscape") != -1) { browser = "NN" };

if (navigator.appVersion.indexOf("4.") != -1) { version = 4 };

if (navigator.appVersion.indexOf("5.") != -1) { version = 5 };

var tag='<LINK REL="styleSheet" TYPE="text/css" HREF="'+action[2]+'" >';

var type=action[1];

	if(type==0 && os=="mac" && browser=="NN" && version==4) { document.write(tag) }

	else 

	if(type==1 && os=="mac" && browser=="NN" && version==5) { document.write(tag) }

	else 

	if(type==2 && os=="windows" && browser=="NN" && version==4) { document.write(tag) }

	else 

	if(type==3 && os=="windows" && browser=="NN" && version==5) { document.write(tag) }

	else 

	if(type==4 && os=="unix" && browser=="NN" && version==4) { document.write(tag) }

	else 

	if(type==5 && os=="unix" && browser=="NN" && version==5) { document.write(tag) }

	else 

	if(type==6 && os=="mac" && browser=="IE") { document.write(tag) }

	else 

	if(type==7 && os=="windows" && browser=="IE") { document.write(tag) }

}

function initArray() {

this.length = initArray.arguments.length;

for (var i = 0; i < this.length; i++)

this[i+1] = initArray.arguments[i]; 

}

function dailyRedirect(action) {

var dateArray = new

initArray("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");

var today = new Date();

var day = dateArray[today.getDay()];

if (today.getDay() == 0) { day = "Sunday"; }

if (day == "Monday" && action[1] != "(Empty Reference!)" && action[1] != "(EmptyReference!)") window.location = action[1]

if (day == "Tuesday" && action[2] != "(Empty Reference!)" && action[2] != "(EmptyReference!)") window.location = action[2]

if (day == "Wednesday" && action[3] != "(Empty Reference!)" && action[3] != "(EmptyReference!)") window.location = action[3]

if (day == "Thursday" && action[4] != "(Empty Reference!)" && action[4] != "(EmptyReference!)") window.location = action[4]

if (day == "Friday" && action[5] != "(Empty Reference!)" && action[5] != "(EmptyReference!)") window.location = action[5]

if (day == "Saturday" && action[6] != "(Empty Reference!)" && action[6] != "(EmptyReference!)") window.location = action[6]

if (day == "Sunday" && action[7] != "(Empty Reference!)" && action[7] != "(EmptyReference!)") window.location = action[7]

}

function frameP(action) {

		if(parent.frames.length==0) {

			var fileName=window.location.href.substring(window.location.href.lastIndexOf("/")+1,window.location.href.length);

			window.location.href=action[1]+"?"+action[2]+"="+fileName;

		} else {

			if(top.location.search!="") {

				var sFrame=top.location.search.substring(1,top.location.search.indexOf("="));

				if(name==sFrame) {

					var sName=top.location.search.substring(top.location.search.indexOf("=")+1,top.location.search.length);

					var fileName=window.location.href.substring(window.location.href.lastIndexOf("/")+1,window.location.href.length);

					if(fileName!=sName) {

						location=sName;

					}

				}

			}

		}

	}

function CSGoBack1() { history.back() }

function CSGotoLink(action) {

	if (action[2].length) {

		var hasFrame=false;

		for(i=0;i<parent.frames.length;i++) { if (parent.frames[i].name==action[2]) { hasFrame=true; break;}}

		if (hasFrame==true)

			parent.frames[action[2]].location = action[1];

		else

			window.open (action[1],action[2],"");

	}

	else location = action[1];

}

function CSKeePress(action) {

desiredKey1 = action[1];

calledAction1 = action[2];

desiredKey2 = action[3];

calledAction2 = action[4];

desiredKey3 = action[5];

calledAction3 = action[6];

desiredKey4 = action[7];

calledAct