// JavaScript Document
var imgNavPath='images/nav/';
var imgBtnPath='images/';


function setMapLinks(){
	if(!document.getElementById('mapLinks')){
		return;	
	}
	var mapLinks=document.getElementById('mapLinks').getElementsByTagName('area');
	var imgArr= new Array();
	for(var i=0;i<mapLinks.length;++i){
		imgArr[i] = mapLinks[i].className + '.gif';    //getEleId(mapLinks[i].className,'_','Off');
		mapLinks[i].onclick=function(){
			changeMapSrc(this.className,document.getElementById('euroMap'))
			//var strSplit = this.className.split('_');
			//var infoId = strSplit.pop() + 'Off'; 
			var infoId =  getEleId(this.className,'_','Off');
			showMapInfo(infoId);
	
		}
	}
	preLoadImg(imgArr,'images/maps/');
}
function getEleId(str,needle,append){
		var strSplit = str.split(needle);
		var eleId = strSplit.pop() + append; 
		return eleId;
}
function createLoadbar(){
	var loadBar = document.createElement('img');	
	loadBar.setAttribute('src','images/loading.gif');
	loadBar.setAttribute('alt','Loading maps');
	loadBar.setAttribute('id','loadMap');
	var loadObj = document.getElementById('ourOffices').appendChild(loadBar);
	return loadObj;
}
function changeMapSrc(srcStr,imgObj){//function to return the filename for the on state
	imgObj.src= 'images/maps/' + srcStr + '.gif';
}
function showMapInfo(infoId){
	var infoArr = document.getElementById('officeInf').getElementsByTagName('div');	
	for(var i=0;i<infoArr.length;++i){
		if(infoArr[i].getAttribute('id')==infoId){
			addClass(document.getElementById(infoId),'showInf',true);	
		}else{
			addClass(infoArr[i],'showInf',false);
		}
	}
}
function addClass(eleObj,classVal,toggle){
		if(toggle==true){//if class is to be added
			if(!eleObj.className){//if the 'class' attribute does not exist
				eleObj.className = classVal;
			}else if(eleObj.className && eleObj.className.indexOf(classVal)== -1){//if the 'class' attribute does exist then add value to existing value
				eleObj.className+=' ' + classVal;
			}
		}else if(toggle==false){//if class is to be removed
			var newClassVal=eleObj.className.replace(classVal,'');//replace classVal with empty string and return the remaining class value
			eleObj.className=newClassVal;
		}
}
function preLoadImg(imgArr,imgPath){
	var loadArr=new Array;
	var currTime= new Date();
	//var loadObj = (loadBar) ? (createLoadbar()) : false;
	/*if(loadBar==true){
		var loadObj = createLoadbar();
	}*/
	for(var i=0;i<imgArr.length;++i){
		loadArr[i]= new Image;
		loadArr[i].src=imgPath+imgArr[i] + '?' + currTime.getTime();//+ '.gif';
		//alert(loadArr[i].src);
		//document[loadArr[i]].style.display="none";
		
		loadArr[i].onload=function(){
			//alert('loaded'+this.src);
			//this.style.display="none";
			//displayEle(this.parentNode,true);alert('howzer');
		}
		if(i == ((imgArr.length - 1) || imgArr[i].complete)){
							
			loadArr[i].onload=function(){
				createStyle(false);
				//document.getElementById('ourOffices').removeChild(loadObj);
				//alert('final img loaded'+this.src);
				//displayEle(document.getElementById('mainNav'),true);
			}
		}
	}
	
}
function setNavLinks(){
		var linksArr=document.getElementById('mainNav').getElementsByTagName('li');
		//displayEle(document.getElementById('mainNav'),false);
		if(window.ActiveXObject){
	for(var i=0; i<linksArr.length; ++i){
		linksArr[i].onmouseover=function(){
		
			addClass(this,'ieHover',true);
				
		}
		linksArr[i].onmouseout=function(){
						
				addClass(this,'ieHover',false);
		}
	}
	
}
}
function getFileName(pathStr){//parses url for image and returns filename
	var pathSplit = pathStr.split('/');;
	var fileName=pathSplit.pop();
		return fileName;
}
function changeSrc(fileName,fileExt,btnState){//function to return the filename for the on state
	var newName;
	var charIndex;
	if(btnState==true){//return button on src
		charIndex=fileName.indexOf(fileExt);
		newName=fileName.substring(0,charIndex) + '_on'+fileExt;
	}else{
		charIndex=fileName.indexOf('_on'+fileExt);
		newName=fileName.substring(0,charIndex)+fileExt;
	}
	return newName;
}
function setRollovers(){
	var docBtns=document.getElementById('container').getElementsByTagName("img");
	var formBtns=document.getElementById('container').getElementsByTagName("input");
	var btnOnArr=new Array();
	for(var i=0;i<formBtns.length;++i){//document buttons
		var currentInp=getFileName(formBtns[i].src);
		if(formBtns[i].getAttribute('type')=='image'){
			btnOnArr.push(changeSrc(currentInp,'.gif',true));
			formBtns[i].onmouseover=function(){
				this.src=imgBtnPath+changeSrc(getFileName(this.src),'.gif',true);
			}
			formBtns[i].onmouseout=function(){
				this.src=imgBtnPath+changeSrc(getFileName(this.src),'.gif',false);
			}			
		}
	}
	for(var i=0;i<docBtns.length;++i){//document buttons
		var currentFile=getFileName(docBtns[i].src);
		//displayEle(document.getElementById('mainNav'),false);
		if(currentFile.indexOf('nav_')!=-1){
			btnOnArr.push(changeSrc(currentFile,'.gif',true));
			docBtns[i].onmouseover=function(){
				this.src=imgNavPath+changeSrc(getFileName(this.src),'.gif',true);
			}
			docBtns[i].onmouseout=function(){
				this.src=imgNavPath+changeSrc(getFileName(this.src),'.gif',false);
			}		
		}

	}
	
	preLoadImg(btnOnArr,'images/nav/');
}
function displayEle(eleId,toggle){
	if(toggle==false){
		eleId.style.display="none";
	}else{
		eleId.style.display="block";
		//document.getElementById('mainNav').display="block";
	}
}
function createStyle(toggle){
		var newStyles =document.createElement('style');
		var headTag=document.getElementsByTagName('head');
		newStyles.setAttribute('type','text/css');
		//newStyles.setAttribute('media','screen');
		headTag[0].appendChild(newStyles);
		var rulePos = (document.styleSheets[0].addRule) ? -1 : document.styleSheets[0].cssRules.length;
		if(toggle==true){
			if(document.styleSheets[0].insertRule){
				rulePos = document.styleSheets[0].cssRules.length;
				document.styleSheets[0].insertRule("ul#mainNav li img { display:none }", rulePos);	
			}else if(document.styleSheets[0].addRule){
				document.styleSheets[0].addRule("ul#mainNav li img", " display:none ", rulePos);
			}
		}else{
			if(document.styleSheets[0].insertRule){
				document.styleSheets[0].deleteRule(document.styleSheets[0].cssRules.length - 1);
			}else if(document.styleSheets[0].addRule){
				document.styleSheets[0].removeRule(document.styleSheets[0].rules.length - 1);
			}
		}
}
createStyle(true);
window.onload=function(){
	
	setMapLinks();
	setRollovers();setNavLinks();
	//alert(document.styleSheets[0].cssRules.length);
	//alert(document.styleSheets[1].cssRules.length);
	
	
	

	/*if(document.styleSheets[0].insertRule){
		var rulePos;
		rulePos = document.styleSheets[0].cssRules.length;
		document.styleSheets[0].insertRule("ul#mainNav { height:200px }", rulePos);	
	}else if(document.styleSheets[0].addRule){
		document.styleSheets[0].addRule("ul#mainNav", " height:200px ", -1);
	}*/
	
	
	//document.styleSheets[1].deleteRule(rulePos)
}
