

var gGarageIncY=25; 
var gGarageIncX=0;
var gGarageSpeed=100;
var gGarageCols=5;
var gGarageRows=1;
var gGarageBayWidth=200; 
var gGarageBayHeight=100;
var gGarageBorder=0; 
var gGarageInfoOffsetY=110;   // info offset from bottom
//********************************************************

// ************ Overrides from HTML file ***********
var gGarageIncXOv; 
var gGarageIncYOv; 
var gGarageSpeedOv;
var gGarageColsOv;
var gGarageRowsOv;
var gGarageBayWidthOv; 
var gGarageBayHeightOv;
var gGarageBorderOv; 
var gGarageInfoOffsetYOv;

if (gGarageIncYOv != undefined){gGarageIncY=gGarageIncYOv};
if (gGarageIncXOv != undefined){gGarageIncX=gGarageIncXOv};
if (gGarageSpeedOv != undefined){gGarageSpeed=gGarageSpeedOv};
if (gGarageColsOv != undefined){gGarageCols=gGarageColsOv};
if (gGarageRowsOv != undefined){gGarageRows=gGarageRowsOv};
if (gGarageBayWidthOv != undefined){gGarageBayWidth=gGarageBayWidthOv};
if (gGarageBayHeightOv != undefined){gGarageBayHeight=gGarageBayHeightOv};
if (gGarageBorderOv != undefined){gGarageBorder=gGarageBorderOv};
if (gGarageInfoOffsetYOv != undefined){gGarageInfoOffsetY=gGarageInfoOffsetYOv};

var gGarageBays=gGarageCols*gGarageRows;
var gGarageInfoId=document.getElementById('gGarageInfoId');
var gGarageDivId=document.getElementById('gGarageDivId');
var gGarageBackId=document.getElementById('gGarageBackId');


var gGarageDoorIncX = new Array(gGarageBays);
var gGarageDoorIncY = new Array(gGarageBays);

var gGarageDoorY = new Array(gGarageBays);
var gGarageDoorX = new Array(gGarageBays);
var gGarageTimer = new Array(gGarageBays);
var gGarageDoorId = new Array(gGarageBays);
var gGarageAId = new Array(gGarageBays);
var gGarageDoorBackId = new Array(gGarageBays);

gGarageBackId.style.marginTop=gGarageBorder+'px';


for (var i = 0; i < gGarageBays; i++) {
	var gTempSpan;
	var gTempA;
	gGarageDoorY[i] = 0;
	gGarageDoorX[i] = 0;
	gGarageTimer[i] = '';
	id='gGarageDoorId'+(i+1);
	gGarageDoorId[i] = document.getElementById(id);
	if (gGarageDoorId[i]){
		gGarageDoorBackId[i] = gGarageDoorId[i].parentNode;
		if (gGarageDoorBackId[i].className != 'gGarageBack'){
			gGarageDoorBackId[i].style.width=gGarageBayWidth+'px';
		}
		
		gGarageAId[i] = gGarageDoorId[i].getElementsByTagName('a')[0];
		if (gGarageDoorId[i]){
			gGarageDoorId[i].style.width=gGarageBayWidth+'px';}
			if (!gGarageDoorId[i].className){gGarageDoorId[i].className='gGarageDoor0'};
		if (gGarageAId[i]){gGarageAId[i].style.width=gGarageBayWidth+'px';}
	
		gGarageDoorId[i].setAttribute('onmouseover','gGarageOpen('+i+')');
		gGarageDoorId[i].setAttribute('onmouseout','gGarageClose('+i+')');
	}
	else{
		gTempSpan=document.createElement('span');
		gTempA=document.createElement('a');
		gTempSpan.id='gGarageDoorId'+(i+1);
		gGarageBackId.appendChild(gTempSpan);
		gGarageDoorId[i]=document.getElementById('gGarageDoorId'+(i+1));
		gGarageDoorId[i].appendChild(gTempA);
		gGarageAId[i] = gGarageDoorId[i].getElementsByTagName('a')[0];
		gGarageDoorId[i].className='gGarageBack span';
		gGarageDoorId[i].className+=' gGarageDoorX';
		
	}
}

gGarageDivId.style.width=((gGarageCols*gGarageBayWidth)+(gGarageBorder*2))+'px';
gGarageDivId.style.height=((gGarageRows*gGarageBayHeight)+(gGarageBorder*2))+'px';
gGarageBackId.style.width=((gGarageCols*gGarageBayWidth))+'px';
gGarageBackId.style.height=((gGarageRows*gGarageBayHeight))+'px';



function gGarageOpen(id){
	clearTimeout(gGarageTimer[id]);
	gGarageInfoShow(id);
	gGarageOpening(id);
}

function gGarageOpening(id){
	gGarageDoorId[id].style.backgroundPosition=gGarageDoorX[id]+'px '+gGarageDoorY[id]+'px';
	if ((Math.abs(gGarageDoorY[id]) < Math.abs(gGarageBayHeight)) && (Math.abs(gGarageDoorX[id]) < Math.abs(gGarageBayWidth))) {
		gGarageDoorY[id] -= gGarageIncY;
		gGarageDoorX[id] -= gGarageIncX;
		gGarageTimer[id]=setTimeout('gGarageOpening('+id+')',gGarageSpeed);
	}
}

function gGarageClose(id){
	clearTimeout(gGarageTimer[id]);
	gGarageInfoHide();
	gGarageClosing(id);
}

function gGarageClosing(id){
	gGarageDoorId[id].style.backgroundPosition=gGarageDoorX[id]+'px '+gGarageDoorY[id]+'px';
	if ((gGarageDoorY[id] != 0) || gGarageDoorX[id] !=0) {
		gGarageDoorY[id] += gGarageIncY;
		gGarageDoorX[id] += gGarageIncX;
		gGarageTimer[id]=setTimeout('gGarageClosing('+id+')',gGarageSpeed);
	}
}

function gGarageInfoShow(id){
	var gId=gGarageAId[id];
	gGarageInfoId.innerHTML=gId.innerHTML;
	var Y=Math.ceil(((gGarageRows*gGarageCols)-id)/gGarageCols)-1;
	var X=id%gGarageCols;
	var iX=(X*gGarageBayWidth)+(gGarageBayWidth/2);
	gGarageInfoId.style.top=(((-Y)*gGarageBayHeight)-gGarageInfoOffsetY)+'px';
	gGarageInfoId.className='gGarageInfoShow';
	if ((iX-(gGarageInfoId.offsetWidth/2)+8) < 0){
		gGarageInfoId.style.left='0px';
	}
	else if (((iX-(gGarageInfoId.offsetWidth/2))+gGarageInfoId.offsetWidth) >= gGarageBackId.offsetWidth){
		gGarageInfoId.style.left=(gGarageBackId.offsetWidth-gGarageInfoId.offsetWidth)+'px';
	}
	else {
		gGarageInfoId.style.left=(iX-(gGarageInfoId.offsetWidth/2))+'px';
	}
}

function gGarageInfoHide(){
	gGarageInfoId.className='gGarageInfoHide';
}




