//changelight function
var totallights=50;
var currentlight=1;
var activezone=1;
var numzones=4;
var zonewidth=new Array();
var zoneheight=new Array();
var zonevdelta=new Array();
var zonehdelta=new Array();
var zonehoffset=new Array();
var zonevoffset=new Array();
var vertwavelen=22;
var horizwavelen=22;
var activelimit=0;
var activeptr=0;
var activevoffset=0;
var activehoffset=0;
var zoneoffset=0;
//zone2 is top horizontal
//zone1 is left vertical
//zone3 is right vertical
//zone4 is bottom horizontal
 zonewidth[1]=0;
 zonewidth[2]=593;
 //alert("W:"+zone2.offsetWidth);
 //zonewidth[2]=document.getElementById('zone2').offsetWidth;
 zonewidth[3]=0;
 zonewidth[4]=593;
 zoneheight[1]=440;
 zoneheight[2]=0;
 zoneheight[3]=440;
 zoneheight[4]=0;
 zonehdelta[1]=0;
 zonevdelta[1]=vertwavelen;
 zonehdelta[2]=-horizwavelen;
 zonevdelta[2]=0;
 zonehdelta[3]=0;
 zonevdelta[3]=-vertwavelen;
 zonehdelta[4]=horizwavelen;
 zonevdelta[4]=0;
 zonehoffset[1]=0;
 zonehoffset[2]=0;
 zonehoffset[3]=0;
 zonehoffset[4]=593;
 zonevoffset[1]=440;
 zonevoffset[2]=11;
 zonevoffset[3]=0;
 zonevoffset[4]=0-11;


var __isFireFox = navigator.userAgent.match(/gecko/i);


//returns the absolute position of some element within document
function GetElementAbsolutePos(idin) {
	var element=document.getElementById(idin);
	/* from korzh */
	var res = new Object();
	res.x = 0; res.y = 0;
	if (element !== null) {
		res.x = element.offsetLeft; 
		res.y = element.offsetTop; 
    	
		var offsetParent = element.offsetParent;
		var parentNode = element.parentNode;

		while (offsetParent !== null) {
			res.x += offsetParent.offsetLeft;
			res.y += offsetParent.offsetTop;

			if (offsetParent != document.body && offsetParent != document.documentElement) {
				res.x -= offsetParent.scrollLeft;
				res.y -= offsetParent.scrollTop;
			}
			//next lines are necessary to support FireFox problem with offsetParent
			if (__isFireFox) {
				while (offsetParent != parentNode && parentNode !== null) {
					res.x -= parentNode.scrollLeft;
					res.y -= parentNode.scrollTop;
					
					parentNode = parentNode.parentNode;
				}    
			}
			parentNode = offsetParent.parentNode;
			offsetParent = offsetParent.offsetParent;
		}
	}
    return res;
}


function getabstop(idin){
	var pos=GetElementAbsolutePos(idin);
	return pos.y;
/*
	var obj=document.getElementById(idin);
	var n=0;
	if (typeof obj.offsetParent!='undefined'){
		n+=obj.offsetParent.offsetTop;
	}
	n+=obj.offsetTop;
	return n;
*/
}
function getabsleft(idin){
	var pos=GetElementAbsolutePos(idin);
	return pos.x;
/*
	var obj=document.getElementById(idin);
	var n=0;
	if (typeof obj.offsetParent!='undefined'){
		//n+=obj.offsetParent.offsetLeft;
		n+=getabsleft(obj.offsetParent.id);
	}
	n+=obj.offsetLeft;
	return n;
*/
}
function initzones(){
  for (n=1;n<5;n++){
	zoneheight[n]=document.getElementById("zone"+n).offsetHeight;
	zonewidth[n]=document.getElementById("zone"+n).offsetWidth;
  	zonehoffset[n]=getabsleft("zone"+n);
  	zonevoffset[n]=getabstop("zone"+n);
  }
  zonevdelta[1]=-vertwavelen;
  zonehdelta[1]=0;

  zonevdelta[2]=0;
  zonehdelta[2]=horizwavelen;

  zonehdelta[3]=0;
  zonevdelta[3]=vertwavelen;

  zonevdelta[4]=0;
  zonehdelta[4]=-horizwavelen;
 }
function updatezone(zonenum){
	document.getElementById("hider"+zonenum).style.display="none";
	activezone=zonenum;
	activevoffset=zonevoffset[zonenum];
	activehoffset=zonehoffset[zonenum];
	switch (zonenum){
		case 1:
			activevoffset=zonevoffset[zonenum]+zoneheight[zonenum];
			//activevoffset=500;
		break;
		case 2:
		break;
		case 3:
		break;
		case 4:
			activehoffset=zonehoffset[zonenum]+zonewidth[zonenum];
		break;
	}
	//activevoffset=zonevoffset[zonenum];

	if (zonewidth[zonenum]>zoneheight[zonenum]){
		activelimit=zonewidth[zonenum];
	} else {
		activelimit=zoneheight[zonenum];
	}
	////document.getElementById("hider"+zonenum).style.display="block";
	
	//alert ('zone='+zonenum+' voff'+activevoffset+" hoff"+activehoffset+" vdelta="+zonevdelta[zonenum]+" hdelta="+zonehdelta[zonenum]+" activelim="+activelimit);
}
function incrementlight(){
	activevoffset=activevoffset+zonevdelta[activezone];
	activehoffset=activehoffset+zonehdelta[activezone];
	zoneoffset+=(Math.abs(zonevdelta[activezone])+Math.abs(zonehdelta[activezone]));
	//var pos=(activehoffset+zonehoffset[activezone])+"px "+(activevoffset+zonevoffset[activezone])+"px"
	var pos=activehoffset+"px "+activevoffset+"px";
	//document.getElementById("zone"+activezone).style.backgroundPosition=pos
	//if (zonevdelta[activezone]!=0){
	document.getElementById("hider"+activezone).style.top=activevoffset+"px";
	//}
	//if (zonehdelta[activezone]!=0){
	document.getElementById("hider"+activezone).style.left=activehoffset+"px";
	//}
	document.getElementById("hider"+activezone).style.display="block";
}
function changelight(){
	//sequence by id of zone 
	var n=0;
	if (activelimit==0){
		updatezone(1);
	}
	incrementlight();
	if (zoneoffset>=activelimit){
		zoneoffset=0;
		n=activezone%numzones;
		n++;
		document.getElementById("hider"+activezone).style.display="none";
		//document.getElementById("hider"+n).style.position="absolute";
		updatezone(n);
	}
}

