window.onresize = placeContainer;

function init(page) {
	placeContainer();
	initializeVars();
	if(page=="index") {
		finishPreload();
	}
//	pngFix();
}

function placeContainer() {
	var browserWidth = document.body.offsetWidth;
	if(browserWidth<960) {
		document.getElementById('container').style.left=0;
		document.getElementById('container').style.marginLeft = 0;
	} else {
		document.getElementById('container').style.left="50%";
		document.getElementById('container').style.marginLeft = "-489px";
	}
}

function show(what) {
	document.getElementById(what).style.display = "block";
}

function hide(what) {
	document.getElementById(what).style.display = "none";	
}

var elements = new Array();
var subElements = new Array();
var elementNames = new Array('services','procedure','tools','industries','installations');
function initializeVars() {
	for(var i=0;i<elementNames.length;i++) {
		//if(elementNames[i]!=document.body.id) {
			var page = elementNames[i]+"_page";
			var subPage = elementNames[i]+"_sub_menu";
			elements[i] = document.getElementById(page);
			if(elements[i]) {
				elements[i].onmouseover = toggle;	
				elements[i].onmouseout = toggle;
			}
			subElements[i] = document.getElementById(subPage);
			if(subElements[i]) {
				subElements[i].onmouseover = subToggle;	
				subElements[i].onmouseout = subToggle;
			}
		//}
	}
}

var currentSubMenu="";
var timerId;
var currentZIndex = -1;
var hasFocus="";
var top = 0;
var right = 0;
var bottom = 0;
var left = 0;
var buttonTop = 0;
var buttonRight = 0;
var buttonBottom = 0;
var buttonLeft = 0;

function subToggle(e) {
		var subMenu = this.id;
		//page = this.id;
		
		if(e) {
			getMouseCoordinates(e);
		} else {
			getMouseCoordinates(event);
		}
		
		if((mouseX<left||mouseX>right||mouseY<top||mouseY>bottom)&&
			(mouseX<buttonLeft||mouseX>buttonRight||mouseY<buttonTop||mouseY>buttonBottom)) {
			//alert("sub "+mouseY+" "+top+" "+bottom+" "+buttonTop+" "+buttonBottom+"\n\n"+
			//	mouseX+" "+left+" "+right+" "+buttonLeft+" "+buttonRight);
			document.getElementById(subMenu).style.opacity=0;
			document.getElementById(subMenu).style.filter="alpha(opacity=0)";
			//document.getElementById(subMenu).style.display="none";
		}
}


function toggle(e) {
		var subMenu = this.id.replace("_page","_sub_menu");
		page = this.id;
		if(e) {
			getMouseCoordinates(e);
		} else {
			getMouseCoordinates(event);
		}
		if(document.getElementById(subMenu).style.display=="none"||
			document.getElementById(subMenu).style.display=="") {
			document.getElementById(subMenu).style.display="block"; 
			document.getElementById(subMenu).style.zIndex='1000';
			
			if (version >= 5.5&&version <7){
				lists = document.getElementById(subMenu).getElementsByTagName('ul');
			}
						
			//set coordinates of the sub menu
			top = document.getElementById('content').offsetTop+
				document.getElementById('container').offsetTop;
			if(page=="tools_page") {
				top+=50;
				document.getElementById(subMenu).style.top = "60px";
			} 
			if(page=="installations_page") {
				top+=60;
				document.getElementById(subMenu).style.top = "65px";
			} 
			if(document.getElementById('inner_content')) {
				left = document.getElementById('container').offsetLeft+
					document.getElementById('inner_content').offsetLeft+12;
			
			} else {
				left = document.getElementById('container').offsetLeft+
					document.getElementById('inner_content_sub').offsetLeft+12;
			}
			bottom = top + document.getElementById(subMenu).offsetHeight;
			right = left + document.getElementById(subMenu).offsetWidth;
			
			buttonTop = document.getElementById('content').offsetTop+
				document.getElementById('container').offsetTop+
				document.getElementById(page).offsetTop;
			buttonLeft = document.getElementById('container').offsetLeft-6;
			buttonBottom = buttonTop + document.getElementById(page).offsetHeight;
			//alert(document.getElementById('menu').offsetHeight);
			buttonRight = left - 2;
			//alert(top+" "+left+" "+bottom+" "+right);
			//alert(buttonTop+" "+buttonLeft+" "+buttonBottom+" "+buttonRight);
			if(right<document.getElementById('container').offsetLeft+
				document.getElementById('content').offsetLeft+
				document.getElementById('menu').offsetWidth) {
				//document.getElementById(subMenu).style.left=left+"px";
			} else {
				document.getElementById(subMenu).style.right=0;
			}
			
			for(var i=0;i<elements.length;i++) {
				if(elements[i]&&elements[i].id!=page) {
					thisSubPage = elements[i].id.replace("_page","")+"_sub_menu";
					document.getElementById(thisSubPage).style.opacity=0;
					document.getElementById(thisSubPage).style.filter="alpha(opacity=0)";
					document.getElementById(thisSubPage).style.display="none";
				}
			}
			fade(subMenu,'in');
		} else {
			if((mouseX<left||mouseX>right||mouseY<top||mouseY>bottom)&&
			(mouseX<buttonLeft||mouseX>buttonRight||mouseY<buttonTop||mouseY>buttonBottom)) {
			//	alert(mouseX+" "+left+" "+right+" "+buttonLeft+" "+buttonRight);
				document.getElementById(subMenu).style.opacity=0;
				document.getElementById(subMenu).style.filter="alpha(opacity=0)";
				document.getElementById(subMenu).style.display="none";
			}
		}
}

function fade(subMenu,inOut) {
	if(timerId) {
	
		clearTimeout(timerId);
	}
 	alpha = Number(document.getElementById(subMenu).style.opacity);
 	if(inOut=="in") {
		alpha+=.05;
		document.getElementById(subMenu).style.opacity = alpha;
		document.getElementById(subMenu).style.filter="alpha(opacity="+(alpha*100)+")";
	
		if(document.getElementById(subMenu).style.opacity<1) {
			timerId = setTimeout('fade(\''+subMenu+'\',\''+inOut+'\')',10);
		} else {
			document.getElementById(subMenu).style.opacity=1;
			document.getElementById(subMenu).style.filter="alpha(opacity=100)";
		}
	} else {
		alpha-=.1;
		document.getElementById(subMenu).style.opacity=alpha;
		document.getElementById(subMenu).style.filter="alpha(opacity="+(alpha*100)+")";
		
		if(document.getElementById(subMenu).style.opacity>0) {
			timerId = setTimeout('fade(\''+subMenu+'\',\''+inOut+'\')',10);
		} else {
			document.getElementById(subMenu).style.opacity=0;
			document.getElementById(subMenu).style.filter="alpha(opacity=0)";
			document.getElementById(subMenu).style.display="none";
		}
	}
}

var mouseX;
var mouseY;
function getMouseCoordinates(event) {
mouseX = getMouseX(event);
mouseY = getMouseY(event);
function getMouseX(evt) {
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}

function getMouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}
}

function showLogin() {
	document.getElementById('login').style.display="block";
	document.getElementById('login').innerHTML = '<div id="full_screen"></div>\n' +
		'<div id="login_form">\n' +
		'<a href="javascript:hideLogin();">Cancel</a>\n' +
		'<h3>Log In</h3>\n' + 
		'<form name="login_form" action="javascript:validateLogin();" method="post">' +
		'<input type="hidden" name="validationType" value="login" />' +
		'<table>\n' +
		'<tr>\n' +
		'<th>Username:</th>\n' +
		'<td><input type="text" name="username" /></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<th>Password:</th>\n' +
		'<td><input type="password" name="password" /></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<td colspan="2" style="text-align: center;"><input type="submit" value="submit" /></td>\n' +
		'</tr>\n' +
		'</table>\n' +
		'<div id="HttpClientStatus"></div>' +
		'<div id="user_message"></div>' +
		'</form>\n' +
		'</div>\n';
		
		if (version >= 5.5&&version <7){
	 		document.getElementById('full_screen').style.width = document.documentElement.clientWidth+"px";
	 		document.getElementById('full_screen').style.height = (document.documentElement.clientHeight+17)+"px";
	 		document.getElementById('full_screen').style.left = -(document.getElementById('container').offsetLeft)+"px";
	 	}
}

function showSignup() {
	document.getElementById('login').style.display="block";
	document.getElementById('login').innerHTML = '<div id="full_screen"></div>\n' +
		'<div id="login_form">\n' +
		'<a href="javascript:hideLogin();">Cancel</a>\n' +
		'<h3>Sign Up</h3>\n' + 
		'<form name="login_form" action="javascript:validateLogin();" method="post">' +
		'<input type="hidden" name="validationType" value="signup" />' +
		'<table>\n' +
		'<tr>\n' +
		'<th>Username:</th>\n' +
		'<td><input type="text" name="username" /></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<th>Password:</th>\n' +
		'<td><input type="password" name="password" /></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<th>Re-enter Password:</th>\n' +
		'<td><input type="password" name="password_check" /></td>\n' +
		'</tr>\n' +
		'<tr>\n' +
		'<td colspan="2" style="text-align: center;"><input type="submit" value="submit" /></td>\n' +
		'</tr>\n' +
		'</table>\n' +
		'<div id="HttpClientStatus"></div>' +
		'<div id="user_message"></div>' +
		'</form>\n' +
		'</div>\n';
		if (version >= 5.5&&version <7){
	 		document.getElementById('full_screen').style.width = document.documentElement.clientWidth+"px";
	 		document.getElementById('full_screen').style.height = (document.documentElement.clientHeight+17)+"px";
	 		document.getElementById('full_screen').style.left = -(document.getElementById('container').offsetLeft)+"px";
	 	}
}

function hideLogin() {
	document.getElementById('login').style.display="none";
	document.getElementById('login').innerHTML = "";
}

function validateLogin() {
	var client = new HttpClient();
	client.isAsync = true;
	client.requestType = 'POST';
	
	payload = '';
	for(i=0;i<document.login_form.elements.length;i++) {
		if(payload!='') {
			payload+='&'; 
		} 
		
		payload+= encodeURIComponent(document.login_form.elements[i].name) + "=" +
			encodeURIComponent(document.login_form.elements[i].value);
	}
		
	client.callback = function(result) {
		if(result=="success") {
			hideLogin();
		} else {
			document.getElementById('user_message').innerHTML = result;
		}
	}
	
	client.makeRequest(pre+'ajax/validate.php',payload,'application/x-www-form-urlencoded');
}

var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function pngFix() {
	if ((version >= 5.5&&version <7) && (document.body.filters)  ) 
	{
   	for(var i=0; i<document.images.length; i++)
   	{
      	var img = document.images[i]
      	var imgName = img.src.toUpperCase()
      	if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
      	{
         	var imgID = (img.id) ? "id='" + img.id + "' " : ""
         	var imgClass = (img.className) ? "class='" + img.className + "' " : ""
         	var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
         	var imgStyle = "display:inline-block;" + img.style.cssText 
         	if (img.align == "left") imgStyle = "float:left;" + imgStyle
         	if (img.align == "right") imgStyle = "float:right;" + imgStyle
         	if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
         	var strNewHTML = "<span " + imgID + imgClass + imgTitle
         	+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
         	+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
         	+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
         	img.outerHTML = strNewHTML
         	i = i-1
      	}
   	}
	}
}
 
function printSubMenuContent(content) {
	var subMenu = document.getElementById('subMenu');
	subMenu.style.backgroundImage = 'url('+pre+'img/subMenuBg.jpg)';
	subMenu.style.width = '189px';
	subMenu.style.marginBottom = '20px';
	subMenu.innerHTML = content;
	list = subMenu.getElementsByTagName('ul');
	if(list.length>1) {
		list[0].style.padding = 0;
		list[0].style.listStyleType = 'none';
		list[1].style.padding = 0;
		div = subMenu.getElementsByTagName('div');
		div[1].style.background = 'url('+pre+'img/subMenuBgBottom.jpg) bottom no-repeat';
	} else if(list.length==1) {
		list[0].style.background = 'url('+pre+'img/subMenuBgBottom.jpg) bottom no-repeat';
	}
}

var bgImages = new Array();
bgImages.push('img/homePhotoGallery4.jpg');
bgImages.push('img/homePhotoGallery5.jpg');
bgImages.push('img/homePhotoGallery6.jpg');
var picCount=0;
var fadeInImg = "background1";
var fadeOutImg = "";
var intervalId = 0;
var intervalInId = 0;
var intervalOutId = 0;
var timeAmount = 66;
var fadeAmount = .02;
var fadeInAmount = 0;
var fadeOutAmount = 1;
	
function preloadImages() {
	for(x=0;x<bgImages.length;x++) {
		eval('pic'+x+'= new Image();');
		eval('pic'+x+'.src="'+bgImages[x]+'"');
	}
}
function initializeFade() {
	clearTimeout(intervalId);

	if(fadeOutImg!="") {
		thisOut = fadeOutImg;
		fadeOutImg = fadeInImg;
		fadeInImg = thisOut;
		document.getElementById(fadeInImg).innerHTML = 
			'<img src="'+bgImages[picCount]+'" alt="'+bgImages[picCount]+'" />';
		fadeThisOut(fadeOutImg);
	} else {
		fadeOutImg = "background2";
		document.getElementById(fadeInImg).innerHTML = 
			'<img src="'+bgImages[picCount]+'" alt="'+bgImages[picCount]+'" />';
	}
	fadeThisIn(fadeInImg);
	if(picCount<(bgImages.length-1)) {
		picCount++;
	} else {
		picCount=0;
	}	
}

function fadeThisIn(which) {
	clearTimeout(intervalInId);
	
	fadeInAmount+=fadeAmount;
	document.getElementById(which).style.opacity=fadeInAmount;	
	document.getElementById(which).style.filter="alpha(opacity="+(fadeInAmount*100)+")"	
	
	if(fadeInAmount<1) {
		intervalInId = setTimeout('fadeThisIn(\''+which+'\');',timeAmount);
	} else {
		fadeInAmount = 0;
		intervalId = setTimeout('initializeFade();',3000);
	}
}
function fadeThisOut(which) {
	clearTimeout(intervalOutId);
	
	fadeOutAmount-=fadeAmount;
	document.getElementById(which).style.opacity=fadeOutAmount;	
	document.getElementById(which).style.filter="alpha(opacity="+(fadeOutAmount*100)+")"	
	
	if(fadeOutAmount>0) {
		intervalOutId = setTimeout('fadeThisOut(\''+which+'\');',timeAmount);
	} else {
		fadeOutAmount = 1;
	}
}

function openDesigner(which) {
	window.open(pre+which+'_design_center/index.php','Design_Center','width=960,height=650,scrollbars=1');
}