/*DHTML Effects Processor by Damien 02/14/06,V3 on 6/19/07*/
fx_tmr = 33;
fx_null=0;
fx_loop=1;
fx_slidein=2;
fx_slideout=4;
rads = 0.0174532925;
hex="0123456789ABCDEF";

browser="";bver=0;
nav=String(navigator.userAgent).toLowerCase();
platform = navigator.platform;
if (nav.indexOf("msie")!=-1)	{browser="ie"}
if (nav.indexOf("firefox")!=-1)	{browser="ff"}
if (nav.indexOf("safari")!=-1)	{browser="safari"}
if (nav.indexOf("opera")!=-1)	{browser="opera"}
if (nav.indexOf("msie 7.0")!=-1){bver=7}
if (nav.indexOf("msie 6.0")!=-1){bver=6}
if (nav.indexOf("msie 5.5")!=-1){bver=5.5}
if (nav.indexOf("msie 5.0")!=-1){bver=5}

fxarray=new Array();fxmarray=new Array();fxtmr=0;fxinproc=0;fxcommand=0;objidx=0;
function fx() {
	objects=testid(arguments[0]);
	steps=parseInt(arguments[1],10);
	features=parseInt(arguments[2],10);
	if(arguments[2]==true){features=1}
	notifyfunc=arguments[3];
	stepidx=steps;
	newfx=objects+"|"+steps+"|"+stepidx+"|"+features+"|"+notifyfunc;
	saveargs="";
	for(argi=4;argi<arguments.length;argi++) {
		saveargs+=",'"+arguments[argi]+"'";
		newtype="";
		if(String(arguments[argi]).indexOf("null")!=-1){return}
		if(String(arguments[argi]).toLowerCase().indexOf("color")!=-1){newtype="#"}
		arguments[argi]=String(arguments[argi]).replace(/\#/g,"").replace(/px/g,"");
		sargs=arguments[argi].split(",");
		if(newtype=="#") {newfx+="|"+sargs[0]+","+getdec(sargs[1].substr(0,2))+","+getdec(sargs[1].substr(2,2))+","+getdec(sargs[1].substr(4,2))+","+((getdec(sargs[2].substr(0,2))-getdec(sargs[1].substr(0,2)))/steps)+","+((getdec(sargs[2].substr(2,2))-getdec(sargs[1].substr(2,2)))/steps)+","+((getdec(sargs[2].substr(4,2))-getdec(sargs[1].substr(4,2)))/steps);continue}
		if(features&6){sarg1=0}else{sarg1=sargs[1]}
		if(features&4){
			newfx+="|"+sargs[0]+",180,"+((parseFloat(sargs[1])-parseFloat(sargs[2]))/steps)+","+sargs[2];continue;
		}else{
			newfx+="|"+sargs[0]+","+sarg1+","+((parseFloat(sargs[2])-parseFloat(sargs[1]))/steps)+","+sargs[1];continue;
		}
	}
	fxidx=-1;
	for(i=0;i<fxarray.length;i++){if (fxarray[i].split("|")[0]==objects){fxidx = i}}
	if(fxinproc==1){thisargs="'"+objects+"',"+steps+","+features+",'"+notifyfunc+"'"+saveargs;eval('setTimeout("fx('+thisargs+')",1)');return}
	if(steps>0){if(fxidx==-1){fxarray.push(newfx)}else{fxarray[fxidx]=newfx}}
	if((fxarray.length>0)&&(fxtmr==0)){fxtmr=setTimeout("fxproc()",1)}
}

function fxproc() {
fxinproc=1;
for (i=0;i<fxarray.length;i++) {

	fxa=fxarray[i].split("|");
	fx_objs=String(fxa[0]);
	fx_totalsteps=parseInt(fxa[1],10);
	fx_stepidx=parseInt(fxa[2],10);
	fx_feature=parseInt(fxa[3],10);
	fx_notifyfunc=String(fxa[4]);
	fx_stepidx=fx_stepidx-1;

	if (fx_stepidx<0) {
		if ((fx_feature&1)==0) {
			nulval=fxarray.splice(i,1);
			i--;
			eval(fx_notifyfunc);
			continue;
		}else{
			fx_stepidx=fx_totalsteps-1;
			newfx=fx_objs+"|"+fx_totalsteps+"|"+fx_stepidx+"|"+fx_feature+"|"+fx_notifyfunc;
			for (argi=5;argi<fxa.length;argi++) {
				if (fxa[argi].indexOf("null")!=-1){break;continue}
				sarg=fxa[argi].split(",");
				if (sarg[0].toLowerCase().indexOf('color')!=-1) {
					newarg=sarg[0]+","+parseFloat(sarg[1])+","+parseFloat(sarg[2])+","+parseFloat(sarg[3])+","+(-parseFloat(sarg[4]))+","+(-parseFloat(sarg[5]))+","+(-parseFloat(sarg[6]));
				} else {
					newarg=sarg[0]+","+(parseFloat(sarg[1])+(-parseFloat(sarg[2])))+","+(-parseFloat(sarg[2]))+","+sarg[3];
				}
				newfx+="|"+newarg;
			}
			fxarray[i]=newfx;
			fxa=newfx.split("|");
		}
	}
	newfx = fx_objs+"|"+fx_totalsteps+"|"+fx_stepidx+"|"+fx_feature+"|"+fx_notifyfunc;
	for(argi=5;argi<fxa.length;argi++) {try{
		if(fxa[argi].indexOf("null")!=-1){break;continue}
		newarg="";
		sarg=fxa[argi].split(",");
		if (sarg[0].toLowerCase().indexOf('color')!=-1) {
			newarg=sarg[0]+","+(parseFloat(sarg[1])+parseFloat(sarg[4]))+","+(parseFloat(sarg[2])+parseFloat(sarg[5]))+","+(parseFloat(sarg[3])+parseFloat(sarg[6]))+","+sarg[4]+","+sarg[5]+","+sarg[6];
			sarg=newarg.split(",");
			eval("dg(fx_objs).style."+sarg[0]+"='#"+gethex(Math.round(sarg[1]))+gethex(Math.round(sarg[2]))+gethex(Math.round(sarg[3]))+"'")
		} else {
			if (fx_feature&6) {
				deg=parseFloat(sarg[1]);
				if(parseFloat(sarg[2])<0){deg=deg+(90/fx_totalsteps)}else{deg=deg-(90/fx_totalsteps)}
				newarg=sarg[0]+","+deg+","+sarg[2]+","+sarg[3];
			} else {
				newarg=sarg[0]+","+(parseFloat(sarg[1])+parseFloat(sarg[2]))+","+sarg[2]+","+sarg[3];
			}
			sarg = newarg.split(",");
			if (sarg[0]=="opacity") {
				if (fx_feature&6) {
					radians=parseFloat(sarg[1])*rads;
					sineval=(fx_feature&2)?(Math.sin(radians)*(fx_totalsteps*parseFloat(sarg[2]))):(Math.cos(radians)*Math.abs(fx_totalsteps*parseFloat(sarg[2])));
					sineval=(parseFloat(sarg[2])>0)?(parseFloat(sarg[3])-sineval):(parseFloat(sarg[3])+sineval);
					setopacity( fx_objs,Math.round(sineval));
				} else {
					setopacity(fx_objs,Math.abs(Math.round(parseFloat(sarg[1]))));
				}
			} else {
				if (fx_feature&6) {
					radians=parseFloat(sarg[1])*rads;
					sineval=(fx_feature&2)?(Math.sin(radians)*(fx_totalsteps*parseFloat(sarg[2]))):(Math.cos(radians)*Math.abs(fx_totalsteps*parseFloat(sarg[2])));
					sineval=(parseFloat(sarg[2])>0)?(parseFloat(sarg[3])-sineval):(parseFloat(sarg[3])+sineval);
					eval("dg(fx_objs).style."+sarg[0]+"='"+Math.round(sineval)+"px'")
				} else {
					eval("dg(fx_objs).style."+sarg[0]+"='"+Math.round(sarg[1])+"px';")
				}
			}
		}
		newfx+="|"+newarg;
	}catch(e){}}
	fxarray[i]=newfx;
}
if(fxarray.length>0){fxtmr = setTimeout("fxproc()",fx_tmr)}else{fxtmr=0}
fxinproc=0;
}

function setopacity(opid,opv){try{if((browser=="ie")&&(platform=="Win32")){thisfilter=String(dg(opid).style.filter);thisfilter=thisfilter.replace(/alpha\(opacity\=.*?\)/g,"");thisfilter=thisfilter.replace(/\s/g,"");dg(opid).style.filter=thisfilter+" alpha(opacity="+parseInt(Math.round((opv)),10)+")";return};if((browser=="ie")&&(platform=="mac")){return};if (browser=="safari"){dg(opid).style.opacity=(opv/100)+"";return};if(browser=="ff"){if(opv>99){opv=99};dg(opid).style.MozOpacity=(opv/100);return}if(browser=="opera"){dg(opid).style.opacity=(opv/100)}}catch(e){}}
function testid(thisid){try{returnid=String(dg(thisid).id)}catch(e){if(String(thisid.id)==""){returnid=String("dhtmlobj"+objidx);thisid.id=returnid;objidx++}else{returnid=thisid.id}};return returnid}
function fixpng(thisobj){if (arguments[0]!=undefined) {event.srcElement = thisobj};if((browser=="ie")&&(bver<7)){if(event.srcElement.src.indexOf("spacer.gif")!=-1){return};event.srcElement.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+event.srcElement.src+"', sizingMethod='image')";event.srcElement.src="img/spacer.gif"}}
function fxm(thisobj,fxmidx){eval("fx('"+testid(thisobj)+"',"+fxmarray[fxmidx]+")")}
function dg(thisid){try{return document.getElementById(thisid)}catch(e){return null}}
function gethex(decnum){return hex.substr(decnum/16,1)+hex.substr((decnum&15),1)}
function getdec(hexnum){return parseInt(hex.indexOf(hexnum.toUpperCase().substr(0,1))*16)+parseInt(hex.indexOf(hexnum.toUpperCase().substr(1,1)))}
