function findPosX(obj){var curleft = 0;if (obj.offsetParent){while (obj.offsetParent){curleft += obj.offsetLeft;obj = obj.offsetParent;}}else if (obj.x) curleft += obj.x;return curleft;}
function findPosY(obj){var curtop = 0;if (obj.offsetParent){while (obj.offsetParent){curtop += obj.offsetTop;obj = obj.offsetParent;}}else if (obj.y) curtop += obj.y;return curtop;}
function popWT(str,grp,dvname) {
	var url = (str != '')?"/includes/custom_includes/getallWTs.asp?gn=" +grp+ "&" + str + "&sid="+Math.random():"/includes/custom_includes/getallWTs.asp?gn=" +grp+ "&sid="+Math.random();
	new Ajax.Request(url, {
		onSuccess: function(transport) {
			$('LNWT'+dvname).update(transport.responseText);
		}
	});
}

function popManufs(str) {
	var url = (str != '')?"/includes/custom_includes/getallmanufs.asp?" + str + "&sid="+Math.random():"/includes/custom_includes/getallmanufs.asp?sid="+Math.random();
	new Ajax.Request(url, {
		onSuccess: function(transport) {
			$('LNMfExpansion').update(transport.responseText);
		}
	});
}

function popBrands(str) {
	var url = (str != '')?"/includes/custom_includes/getallbrands.asp?" + str + "&sid="+Math.random():"/includes/custom_includes/getallbrands.asp?sid="+Math.random();
	new Ajax.Request(url, {
		onSuccess: function(transport) {
			$('LNBrExpansion').update(transport.responseText);
		}
	});
}

function showState(str, state) { 
	if (str == "UNITED STATES" || str == "CANADA") {
		var url="getState.asp"+"?cntry="+str+"&fld=STATE&ti=10&state="+state+'&sid='+Math.random();
		new Ajax.Request(url, {
			method: 'get',
			onSuccess: function(transport) {
				$('stateInfo').update(transport.responseText);
			}
		});
	} else {
		document.getElementById("stateInfo").innerHTML="<input type=\"text\" name=\"STATE\" class=\"content\" tabindex=\"10\" size=\"20\">";
		//document.frmNewuser.STATE.value = state;
	}
}

function mashowState(str, state) { 
	if (str == "UNITED STATES" || str == "CANADA") { 
		var url="getState.asp"+"?cntry="+str+"&fld=maSTATE&ti=29&state="+state+'&sid='+Math.random();
		new Ajax.Request(url, {
			method: 'get',
			onSuccess: function(transport) {
				$('mastateInfo').update(transport.responseText);
			}
		});
	} else {
		document.getElementById("mastateInfo").innerHTML="<input type=\"text\" name=\"maSTATE\" class=\"content\" tabindex=\"29\" size=\"20\">";
		document.frmNewuser.maSTATE.value = state;
	}
}

var tooltip=function(){
	var id = 'tt';
	var top = 3;
	var left = 3;
	var maxw = 300;
	var speed = 10;
	var timer = 20;
	var endalpha = 95;
	var alpha = 0;
	var tt,t,c,b,h;
	var ie = document.all ? true : false;
	return{
		show:function(v,w){
			if(tt == null){
				tt = document.createElement('div');
				tt.setAttribute('id',id);
				t = document.createElement('div');
				t.setAttribute('id',id + 'top');
				c = document.createElement('div');
				c.setAttribute('id',id + 'cont');
				b = document.createElement('div');
				b.setAttribute('id',id + 'bot');
				tt.appendChild(t);
				tt.appendChild(c);
				tt.appendChild(b);
				document.body.appendChild(tt);
				tt.style.opacity = 0;
				tt.style.filter = 'alpha(opacity=0)';
				document.onmousemove = this.pos;
			}
			tt.style.display = 'block';
			c.innerHTML = v;
			tt.style.width = w ? w + 'px' : 'auto';
			if(!w && ie){
				t.style.display = 'none';
				b.style.display = 'none';
				tt.style.width = tt.offsetWidth;
				t.style.display = 'block';
				b.style.display = 'block';
			}
			if(tt.offsetWidth > maxw){tt.style.width = maxw + 'px'}
			h = parseInt(tt.offsetHeight) + top;
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(1)},timer);
		},
		pos:function(e){
			var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
			var l = ie ? event.clientX + document.documentElement.scrollLeft : e.pageX;
			tt.style.top = (u - h) + 'px';
			tt.style.left = (l + left) + 'px';
		},
		fade:function(d){
			var a = alpha;
			if((a != endalpha && d == 1) || (a != 0 && d == -1)){
				var i = speed;
				if(endalpha - a < speed && d == 1){
					i = endalpha - a;
				}else if(alpha < speed && d == -1){
					i = a;
				}
				alpha = a + (i * d);
				tt.style.opacity = alpha * .01;
				tt.style.filter = 'alpha(opacity=' + alpha + ')';
			}else{
				clearInterval(tt.timer);
				if(d == -1){tt.style.display = 'none'}
			}
		},
		hide:function(){
			clearInterval(tt.timer);
			tt.timer = setInterval(function(){tooltip.fade(-1)},timer);
		}
	};
}();

function checkCartContents() {
	//alert('checkCartContents');
	var summurl = '/includes/custom_includes/e2_getcartsummary.asp?sid='+Math.random();
	new Ajax.Request(summurl, {
		method: 'get',
		onSuccess: function(transport) {
			if (transport.responseText != '') {
				var sArr=transport.responseText.split('#');
				$('miniCartSummarySubPriceLabel').update(sArr[1]);
				$('miniCartSummaryYouSave').update(sArr[2]);
				var prTxt = (parseInt(sArr[0])>1 || parseInt(sArr[0])==0)? sArr[0]+" items in your cart" : sArr[0]+" item in your cart";
				$('VCsummary').update('<a href="#" onclick="$(\'mainContainer\').setStyle({opacity:\'0.6\'});checkCartContents();miniCartOpen();">' + prTxt + '</a>');
			}
		}
	});
}

function miniCartOpen() {
	var url = '/includes/custom_includes/e2_getcartcontents.asp?sid='+Math.random();
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
	 $('mainContainer').setStyle({opacity:1});
			if (transport.responseText != '') {
				$('lineItems').update(transport.responseText);
				Effect.SlideDown($('miniCartContent'),
					{
						duration:0.5,
						afterFinish:afterMiniCartOpen()
					}
				);
			}
		}
	});
}

function afterMiniCartOpen() {
	new PeriodicalExecuter(function(pe) {
		Effect.SlideUp($('miniCartContent'),
			{
				duration:0.5
			}
		);
		pe.stop();
	},8);
}

function addCartOpen(st) {
	//alert('addCartOpen');
	var url = '/includes/custom_includes/e2_getaddcartcontents.asp?sid='+Math.random();
	new Ajax.Request(url, {
		method: 'post',
		parameters: st,
		onSuccess: function(transport) {
			if (transport.responseText != '') {
				$('lineItems').update(transport.responseText);
				$('ProgressBar').setStyle({visibility:'hidden'});
				Effect.SlideDown($('miniCartContent'),
					{
						duration:0.5,
						afterFinish:afterAddCartOpen()
					}
				);
			}
		}
	});
}

function afterAddCartOpen() {
	new PeriodicalExecuter(function(pe) {
		Effect.SlideUp($('miniCartContent'),
			{
				duration:0.5
			}
		);
		pe.stop();
	},8);
}

function addCartNoRefresh(t) {
	eraseCookie("recentadd");
	var url = "/includes/addcart.asp";
	var h;
	if (t==0)
		h="ic="+document.frmAdd.Ic.value+"&chkitems="+document.frmAdd.chkItems.value+"&eqcode="+document.frmAdd.EqCode.value+"&qty="+document.frmAdd.qty.value;
	else if (t==1)
		h="ic="+document.frmAdditem.ic.value+"&type="+document.frmAdditem.type.value+"&eqcode="+document.frmAdditem.EqCode.value+"&qty="+document.frmAdditem.qty.value;
	new Ajax.Request(url, {
	 method: 'post',
	 parameters: h,
	 onFailure: function(transport) {
		 //alert(transport.responseText);
		 alert('Error during add to cart !!\nPlease contact support.');
	 }, 
	 onComplete: function(transport) {
		 //alert('complete\n' + transport.responseText);
	 },
	 onException: function(transport) {
		 //alert('exception\n' + transport.responseText);
	 },
	 onSuccess: function(transport) {
		 //alert(transport.responseText);
		 if (transport.responseText == '') {
			 alert('item added to cart');
		 }
		 $('ProgressBar').setStyle({visibility:'hidden'});
		 $('mainContainer').setStyle({opacity:1});
		 checkCartContents();
		 addCartOpen(h);
	 }
	});
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function submitMainsearch() { 
	if (document.frmMainsearch.txtKey.value.indexOf(" ") == 0) {
		alert("Search string should not start with spaces.");
		document.frmMainsearch.txtKey.focus();
		return false;
	}
	if (document.frmMainsearch.txtKey.value== "") {
		alert("Please enter a search string.");
		document.frmMainsearch.txtKey.focus();
		return false;
	}
	document.frmMainsearch.submit();
	return true;
}

function opnRefWin(ele) {
	var ns6 = (!document.all && document.getElementById); 
	var ie4 = (document.all);
	var ns4 = (document.layers);
	var ie6 = (document.documentElement);
	document.getElementById('divRefFrnd').style.display = '';
	document.getElementById('divRefFrnd').style.top = 180; 
	document.getElementById('divRefFrnd').style.left = Math.round((document.body.clientWidth/2)-160) + 'px';
	popRefer();
	return;
}

function popRefer() {
	new Ajax.Request('/referfriend.asp?sid='+Math.random(), {
		method: 'get',
		onSuccess: function(transport) {
			$('divRefFrnd').update(transport.responseText);
		}
	});
}

function IsEmail(strEmail) {
	var intReturn =1;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]'"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=strEmail.match(emailPat)
	if (matchArray==null) {
		alert(getMessage("iValidEmail"));
		return intReturn;
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		alert(getMessage("iValidEmail"));
		return intReturn;
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		// this is an IP address
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert(getMessage("iValidEmail"));
			return intReturn;
			}
		}
		intReturn=0;
		return intReturn;
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert(getMessage("iValidEmail"));
		return intReturn;
	}
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		if (domArr[domArr.length-1].length<2 || 
			domArr[domArr.length-1].length>4) {
		alert(getMessage("iValidEmail"));
		return intReturn;
		}
	var len=domArr.length	
	if (len<2) {
	   var errStr = getMessage("iValidEmail");
	   alert(errStr)
	   return intReturn;
	}
	intReturn=0;
	return intReturn;
}

function setVal() {
	var element = new Array('inpTo','inpFrom','inpSubject','inpMessage');		
	var index,retval;
	var regExpression;
	
	// ### Making sure Mandatory fields are not null.
	for(index=0;index<=element.length-1;index++)
		if(eval("document.frmRefer." + element[index] + ".value") == "")
		{
			alert(getMessage("iMandatory"));
			eval("document.frmRefer." + element[index] + ".focus();");
			eval("document.frmRefer." + element[index] + ".select();");
			return;
		}

	ret_val = IsEmail(document.frmRefer.inpTo.value);
	if (ret_val == 1){
		document.frmRefer.inpTo.focus();
		document.frmRefer.inpTo.select();
		return;
	}
	
	ret_val = IsEmail(document.frmRefer.inpFrom.value);
	if (ret_val == 1){
		document.frmRefer.inpFrom.focus();
		document.frmRefer.inpFrom.select();
		return;
	}
	
	if (document.frmRefer.rgPage[0].checked == true) {
		//document.frmRefer.hidURL.value = "<%if Request.ServerVariables("HTTPS") = "off" then%>http://<%else%>https://<%end if%><%=Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("SCRIPT_NAME")%>";
	} else {
		document.frmRefer.hidURL.value = document.frmRefer.inpOtherURL.value;
	}
	document.getElementById('divRefFrnd').style.display = 'none';
	document.frmRefer.submit();
}