/*

	jsilvestris@x-industries.com

*/

var dom=document.getElementById;
var iex=document.all;
var ns4=document.layers;
var req;
var ff=(navigator.userAgent.indexOf("Firefox")>=0)?true:false;
document.speed=100;
document.loginBoxOpen=false;

getElement=function(name,nest){
	/* squidfingers */
	var nest=nest?'document.'+nest+'.':'';
	var el=dom?document.getElementById(name):iex?document.all[name]:ns4?eval(nest+'document.'+name):false;
	return el;
}

/*

	ON LOAD

*/

// http://simonwillison.net/2004/May/26/addLoadEvent/
function addLoadEvent(func){
	var oldonload=window.onload;
	if(typeof window.onload!='function'){
		window.onload=func;
	}else{
		window.onload=function(){
			if(oldonload)oldonload();
			func();
		}
	}
}

addLoadEvent(function(){
	if(getElement("loginLink"))handleLoginLink(getElement("loginLink"));
	if(getElement("map"))try{start();}catch(e){}
	if(getElement("sliderbg1"))sliderInit();
	if(getElement("login2"))getElement("login2").style.top="20px";
	if(getElement("mrtg"))handleCalc();
	window.setInterval("roll();",100);
});


newXMLHttpRequest=function(){
	var errors;
	if(window.XMLHttpRequest){
		try{return new XMLHttpRequest();}
		catch(e){errors=true;}
	}else if(window.ActiveXObject){
		try{return new ActiveXObject("Msxml2.XMLHTTP");}
		catch(e){
			try{return new ActiveXObject("Microsoft.XMLHTTP");}
			catch(e){errors=true;}
		}
	}
	if(errors)return false;
}

function handleLoginLink(obj){
	obj.href="javascript:toggleLoginBox();";
}

function toggleLoginBox(){
	if(document.loginBoxOpen){
		document.loginBoxOpen=false;
		getElement('login_box').style.display='none';
	}else{
		document.loginBoxOpen=true;
		getElement('login_box').style.display='block';
	}
}


function handleCalc(){
	var calcbtn=getElement("mrtg");
	calcbtn.href="javascript:getCalc();";
}

var req;
function getCalc(){
	var calc;
	if(!getElement("calculator")){
		calc=document.createElement("div");
		calc.id="calculator";
		calc.style.position="absolute";
		calc.style.top=getElement("mrtg").offsetTop+"px";
		calc.style.left=getElement("mrtg").offsetLeft+"px";
		document.body.appendChild(calc);
		req=newXMLHttpRequest();
		if(req){
			req.onreadystatechange=displayCalc;
			req.open("GET", "calc.php", true);
			req.send("");
		}
	}else{
		getElement("calculator").style.display="block";
	}
}

function displayCalc(){
	if(req.readyState==4){
		if(req.status==200){
			var calc=getElement("calculator");
			calc.innerHTML=req.responseText;
			var closeButton=document.createElement("input");
			closeButton.value="Close";
			closeButton.type="button";
			closeButton.onclick=function(){
				getElement("calculator").style.display="none";
			}
			getElement("calcButtons").appendChild(closeButton);
			req.status=null;
			req.readyState=null;
			req=null;
		}else{
			if(req.statusText!=undefined&&req.statusText!="undefined"){
				getElement("calculator").innerHTML="<p>There was a problem displaying the calculator.</p><p>"+req.statusText+", "+req.responseText+"</p>";
			}
		}
	}
}

/*

SLIDERS

*/
var wait=false;
var slider1;
var slider2;
var slider3;
var slider4;
var slider1val;
var slider2val;
var slider3val;
var slider4val;
function sliderInit(){
	slider1=YAHOO.widget.Slider.getVertSlider("sliderbg1","sliderthumb1",0,88);
	slider1.setValue(Math.round((1-getElement("sliderbg1").title/5)*100));
	slider1.subscribe("change",setVal1);
	slider1.subscribe("slideEnd",bsSliderChange1);
	slider2=YAHOO.widget.Slider.getVertSlider("sliderbg2","sliderthumb2",0,88);
	slider2.setValue(Math.round((1-getElement("sliderbg2").title/5)*100));
	slider2.subscribe("change",setVal2);
	slider2.subscribe("slideEnd",bsSliderChange2);
	slider3=YAHOO.widget.Slider.getVertSlider("sliderbg3","sliderthumb3",0,88);
	slider3.setValue(Math.round((1-((getElement("sliderbg3").title-200000)/10)/1)*100));
	slider3.subscribe("change",setVal3);
	slider3.subscribe("slideEnd",bsSliderChange3);
	slider4=YAHOO.widget.Slider.getVertSlider("sliderbg4","sliderthumb4",0,88);
	slider4.setValue(Math.round((1-((getElement("sliderbg4").title-200000)/10)/1)*100));
	slider4.subscribe("change",setVal4);
	slider4.subscribe("slideEnd",bsSliderChange4);
	/*
	slider1=YAHOO.widget.Slider.getVertSlider("sliderbg1","sliderthumb1",0,88,17);
	slider1.setValue(Math.round((1-getElement("sliderbg1").title/5)*100));
	slider1.subscribe("change",setVal1);
	slider1.subscribe("slideEnd",bsSliderChange1);
	slider2=YAHOO.widget.Slider.getVertSlider("sliderbg2","sliderthumb2",0,88,17);
	slider2.setValue(Math.round((1-getElement("sliderbg2").title/5)*100));
	slider2.subscribe("change",setVal2);
	slider2.subscribe("slideEnd",bsSliderChange2);
	slider3=YAHOO.widget.Slider.getVertSlider("sliderbg3","sliderthumb3",0,88,5);
	slider3.setValue(Math.round((1-((getElement("sliderbg3").title-200000)/100000)/5)*100));
	slider3.subscribe("change",setVal3);
	slider3.subscribe("slideEnd",bsSliderChange3);
	slider4=YAHOO.widget.Slider.getVertSlider("sliderbg4","sliderthumb4",0,88,5);
	slider4.setValue(Math.round((1-((getElement("sliderbg4").title-200000)/100000)/5)*100));
	slider4.subscribe("change",setVal4);
	slider4.subscribe("slideEnd",bsSliderChange4);
	*/
}
var firstChange1, firstChange2, firstChange3, firstChange4;

function bsSliderChange1() {
	document.f.t.value = slider1val;
	if(!firstChange1){
		if(!wait)setWait();
		wait=true;
		setTimeout("waitToUpdate();",updatein*10);
	}else firstChange1=true;
}
function setVal1(val){
	slider1val=5-Math.round((val/88)*5);
	//alert("1:"+slider1val);
}

function bsSliderChange2() {
	document.f.r.value = slider2val;
	if(!firstChange2){
		if(!wait)setWait();
		wait=true;
		setTimeout("waitToUpdate();",updatein*10);
	}else firstChange2=true;
}
function setVal2(val){
	slider2val=Math.round(5-(val/88)*5);
	//alert("2:"+slider2val);
}

function bsSliderChange3() {

if(SLIDER_LOAD_PMIN != 1)
{
		document.f.p.value = slider3val;
}

SLIDER_LOAD_PMIN = 0;

	if(!firstChange3){
		if(!wait)setWait();
		wait=true;
		setTimeout("waitToUpdate();",updatein*10);
	}else firstChange3=true;
}
function setVal3(val){
	slider3val=((Math.round(5-(val/88)*5))*2360000+200000);
	//slider3val=((Math.round(5-(val/88)*5))*100000+200000);
	//alert("3:"+slider3val);
	//document.f.o.value = val + 2;
}

function bsSliderChange4() {
		
	if(SLIDER_LOAD_PMAX != 1)
	{
	document.f.o.value = slider4val;

	}
	SLIDER_LOAD_PMAX = 0;

	if(!firstChange4){
		if(!wait)setWait();
		wait=true;
		setTimeout("waitToUpdate();",updatein*10);
	}else firstChange4=true;
}
function setVal4(val){
	//alert(val);
	slider4val=((Math.round(5-(val/88)*5))*2360000+200000);
	//alert("4:"+slider4val);
}

var updatein=1;
function setWait(){
	
	getElement("updatecounter").innerHTML="loading...";
	updatein--;
	if(updatein!=0){
		setTimeout("setWait()",10);
	}else{
		getElement("updatecounter").innerHTML="";
		updatein=1;
	}
}
function waitToUpdate(){
	if(wait){
		//trace("1:"+slider1val+"--2:"+slider2val+"--3:"+slider3val+"--4:"+slider4val);
		updateMap();
		wait=false;
	}
}


function ajaxUpdater(id,url){
	new Ajax.Updater(id,url,{asynchronous:true});
	load();
}


function roll(){
	var roll=getElement("login2");
	if(roll.target_top!=(20+window.pageYOffset)){
		roll.target_top=(20+window.pageYOffset);
		objTween("login2","top","px");
	}
}

function objTween(el,attr,unit){
	/*v5-jsilvestris@x-industries.com*/
	var e=getElement(el);
	var es=e.style;
	var cur=parseInt(es[attr]);
	var target=e["target_"+attr];
	//alert(cur+":"+target);
	if(cur!=target){

		if (!isNaN(target))
		{
					var newVal=(target+(parseInt(es[attr])-target)/2)+.5;
		if(newVal+1>=target&&newVal-1<=target)newVal=target;
		es[attr]=newVal+unit;

		}
		
		setTimeout("objTween('"+el+"','"+attr+"','"+unit+"');",100);
	}else{
		if(typeof e.onTweenFinish=='function')e.onTweenFinish();
	}
}
