var st = 0;
var mainWindow = 1;
function cleanWhitespace(node) {
	var notWhitespace = /\S/;
	for(var i=0;i<node.childNodes.length; i++) {
		var childNode = node.childNodes[i];
		if ((childNode.nodeType == 3)&&(!notWhitespace.test(childNode.nodeValue))) {
			node.removeChild(node.childNodes[i]);
			i--;
		}
		if(childNode.nodeType == 1) {
			cleanWhitespace(childNode);
		}
	}
}
if (!document.getElementsByClassName){
	document.getElementsByClassName = function(className) {
		var children = document.getElementsByTagName('*') || document.all;
		var elements = new Array();
		for (var i = 0; i < children.length; i++) {
			var child = children[i];
			var classNames = child.className.split(' ');
			for (var j = 0; j < classNames.length; j++) {
				if (classNames[j] == className) {
					elements.push(child);
					break;
				}
			}
		}
		return elements;
	};
}
function getMainWindow(str){
	var str = (str) ? str + '.' : '';
	var evalStr = str + 'mainWindow';
	var chk = eval(evalStr);
	if(chk != 1){
		str = getMainWindow(str + 'parent');
	}
	return str;
}
function getMainHref(){
	var str = getMainWindow();
	return str;	
}
function searchEff(){
	if(document.search.search_word.value == 'Search'){
		document.search.search_word.style.color = '#000000';
		document.search.search_word.value = '';
	}
}
function searchEfb(){
	if(document.search.search_word.value == '' || document.search.search_word.value == ' '){
		document.search.search_word.style.color = '#aaaaaa';
		document.search.search_word.value = 'Search';
	}
}
function addToCart(modelId){
	statusOn();
	var option1 = document.getElementById('option1___' + modelId);
	var option2 = document.getElementById('option2___' + modelId);
	var option3 = document.getElementById('option3___' + modelId);
	var cartBtn = document.getElementById('btn___' + modelId);
	if(option1 && option1.selectedIndex < 1){
		mAlert('Please choose a valid option under "' + option1.options[option1.selectedIndex].text + '"', 400);
		return;
	}
	if(option2 && option2.selectedIndex < 1){
		mAlert('Please choose a valid option under "' + option2.options[option2.selectedIndex].text + '"', 400);
		return;
	}
	if(option3 && option3.selectedIndex < 1){
		mAlert('Please choose a valid option under "' + option3.options[option3.selectedIndex].text + '"', 400);
		return;
	}	
	if(cartBtn){
		cartBtn.innerHTML = 'Please wait...';
		cartBtn.onclick = function(e){ return false; };
	}
	
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "addToCart";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = modelId;
	ajaxVar.vars['qty'] = 1;
	ajaxVar.vars['ship'] = 'gship';
	ajaxVar.vars['op1'] = (option1) ? option1.value : 0;
	ajaxVar.vars['op2'] = (option2) ? option2.value : 0;
	ajaxVar.vars['op3'] = (option3) ? option3.value : 0;
	ajaxVar.fnVars['modelId'] = modelId;
	ajaxVar.gotoFunction = 'addedToCart';
	ajaxVar.AjaxPostSQL();
}
function addedToCart(dataArr, fnVars){
	var cartBtn = document.getElementById('btn___' + fnVars['modelId']);
	if(cartBtn){
		cartBtn.modelId = fnVars['modelId'];	
//		cartBtn.innerHTML = 'Add To Cart';
		cartBtn.onclick = function(e){ addToCart(this.modelId); };
		var cartLinkObj = document.getElementById('cartLink');
		cartLinkObj.innerHTML = dataArr['status'][0];
		location.href = _globalDocRoot + 'cart.php';
	}
	statusOff();
}
function removeItem(modelId, divObj){
	statusOn();
	var cartRow = divObj.parentNode.parentNode;	
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "removeCart";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = cartRow.id;
	ajaxVar.vars['qty'] = 1;
	ajaxVar.fnVars['id'] = cartRow.id;
	ajaxVar.gotoFunction = 'updateCart';
	ajaxVar.AjaxPostSQL();
}
function copyBilling(){
	if(document.checkout.copyb.checked){
		document.checkout.ShipFirstName.value = document.checkout.FirstName.value;
		document.checkout.ShipLastName.value = document.checkout.LastName.value;
		document.checkout.ShipCompany.value = document.checkout.Company.value;
		document.checkout.ShipAddress.value = document.checkout.Address.value;
		document.checkout.ShipCity.value = document.checkout.City.value;
		document.checkout.ShipState.selectedIndex = document.checkout.State.selectedIndex;
		document.checkout.ShipCountry.value = document.checkout.Country.value;
		document.checkout.ShipZip.value = document.checkout.Zip.value;
		document.checkout.ShipPhone.value = document.checkout.Phone.value;
		document.checkout.ShipEMailAddr.value = document.checkout.EMailAddr.value;
	}
}
function incQty(name){
	statusOn();
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "incQty";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = name;
	ajaxVar.vars['qty'] = 1;
	ajaxVar.gotoFunction = 'updateCart';
	ajaxVar.fnVars['id'] = name;
	ajaxVar.AjaxPostSQL();
}
function decQty(name){
	statusOn();
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "decQty";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = name;
	ajaxVar.vars['qty'] = 1;
	ajaxVar.gotoFunction = 'updateCart';
	ajaxVar.fnVars['id'] = name;
	ajaxVar.AjaxPostSQL();
}
function changeShipCost(shipType, name){
	statusOn();
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "changeShipCost";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = name;
	ajaxVar.vars['shipType'] = shipType;
	ajaxVar.gotoFunction = 'updateCart';
	ajaxVar.fnVars['id'] = name;
	ajaxVar.AjaxPostSQL();
}
function checkForm(){
	var checkObj = new validate();
	checkObj.formName = 'checkout';
	checkObj.mandCaptions = Array('Name on Credit Card','Credit Card Company','Card number','Security code','First Name (Billing)','Last Name (Billing)','Street Address (Billing)','City (Billing)','State (Billing)','Country (Billing)','Zip Code (Billing)','Phone (Billing)','E-Mail Address (Billing)','First Name (Shipping)','Last Name (Shipping)','Street Address (Shipping)','City (Shipping)','State (Shipping)','Country (Shipping)','Zip Code (Shipping)','Phone (Shipping)','E-Mail Address (Shipping)');
	checkObj.mandFields = Array('CCName','CCCompany','CreditCard','CVV2','FirstName','LastName','Address','City','State','Country','Zip','Phone','EMailAddr','ShipFirstName','ShipLastName','ShipAddress','ShipCity','ShipState','ShipCountry','ShipZip','ShipPhone','ShipEMailAddr');
	return checkObj.validateForm();
	return false;
}
function contactForm(){
	var checkObj = new validate();
	checkObj.formName = 'contact';
	checkObj.mandCaptions = Array('Name','e-Mail','Phone','Subject','Product','Code');
	checkObj.mandFields = Array('name','email','phone','subject','product','code');
	var chk = checkObj.validateForm();
	if(chk){
		var ajaxVar = new ajaxVars();
		ajaxVar.session = 0;
		ajaxVar.vars['action'] = "phpArray";
		ajaxVar.vars['func'] = "contactForm";
		ajaxVar.vars['nosplit'] = 1;
		ajaxVar.vars['id'] = 1;
		
		var frmObj = document.forms['contact'];
		for(var i=0; i<frmObj.elements.length; i++){
			var fieldObj = frmObj.elements[i];
	 		if(fieldObj.type && fieldObj.name) {
				ajaxVar.vars[fieldObj.name] = fieldObj.value;
			}
		}
		ajaxVar.gotoFunction = 'contactSent';
		ajaxVar.AjaxPostSQL();
	}
	return false;
}
function contactSent(dataArr, fnVars){
	if(dataArr['statusCode'] == 1){
		mAlert(dataArr['status'], 500);
		document.getElementById('siimage').src = '/captcha/securimage_show.php?sid=' + Math.random();
	}else{
		var btnAr = new Array();
		btnAr['Continue'] = 'refreshFn';
		mAlert(dataArr['status'], 500, '', 0, 'refreshFn',btnAr);
	}
}
function refreshFn(){
	var newURL = document.contact.refURL.value;
	location.href = (newURL) ? newURL : _globalDocRoot;
}
function refreshSFn(){
	var newURL = document.support.refURL.value;
	location.href = (newURL) ? newURL : _globalDocRoot;
}
function supportForm(){
	var checkObj = new validate();
	checkObj.formName = 'support';
	checkObj.mandCaptions = Array('Name','e-Mail','Code');
	checkObj.mandFields = Array('name','email','code');
	chk = checkObj.validateForm();
	if(chk){
		var ajaxVar = new ajaxVars();
		ajaxVar.session = 0;
		ajaxVar.vars['action'] = "phpArray";
		ajaxVar.vars['func'] = "supportForm";
		ajaxVar.vars['nosplit'] = 1;
		ajaxVar.vars['id'] = 1;
		
		var frmObj = document.forms['support'];
		for(var i=0; i<frmObj.elements.length; i++){
			var fieldObj = frmObj.elements[i];
	 		if(fieldObj.type && fieldObj.name) {
				ajaxVar.vars[fieldObj.name] = fieldObj.value;
			}
		}
		ajaxVar.gotoFunction = 'supportSent';
		ajaxVar.AjaxPostSQL();
	}
	return false;
}
function supportSent(dataArr, fnVars){
	if(dataArr['statusCode'] == 1){
		mAlert(dataArr['status'], 500);
		document.getElementById('siimage').src = '/captcha/securimage_show.php?sid=' + Math.random();
	}else{
		var btnAr = new Array();
		btnAr['Continue'] = 'refreshSFn';
		mAlert(dataArr['status'], 500, '', 0, 'refreshFn',btnAr);
	}
}
function updateCart(dataArr, fnVars){
	var qtyObj = document.getElementById('qty___' + fnVars['id']);
	var costObj = document.getElementById('cost___' + fnVars['id']);
	var scostObj = document.getElementById('shipcost___' + fnVars['id']);
	var finalObj = document.getElementById('finalTotal');
	if(qtyObj){
		if(dataArr['totalCost']){
			var totalItems = dataArr['totalCost'].length;
			var jsIndex = inArray(fnVars['id'], dataArr['jsId']);
			if(jsIndex < 0){
				costObj.parentNode.parentNode.removeChild(costObj.parentNode);
				finalObj.innerHTML = dataArr['totalCost'][totalItems - 1] + ' USD';
			}else{
				qtyObj.innerHTML = dataArr['qty'][jsIndex];			
				costObj.innerHTML = dataArr['cost'][jsIndex] + ' USD';
				scostObj.innerHTML = dataArr['ship'][jsIndex] + ' USD';
				finalObj.innerHTML = dataArr['totalCost'][totalItems - 1] + ' USD';
			}
		}else{
			window.location.reload();
		}
	}else{
		window.location.reload();
	}
	statusOff();
}
function itemRemoved(dataArr, fnVars){
	window.location.reload();
}
function mAlert(str, mWidth, noBlur, adjustX, closeFn, btnArr){
	var aObj = document.getElementById('mHandler');
	var bObj = document.getElementById('blockDiv');
	var mObj = document.getElementById('mText');
	var bodyObj = document.getElementsByTagName('body')[0];
	if(closeFn)
		aObj.closeFn = closeFn;
	else
		aObj.closeFn = '';
	window.onscroll = function(e){
		var aScroll =  (document.documentElement.scrollTop) ? document.documentElement.scrollTop : this.scrollTop;
		aScroll = aScroll + 100;
		aObj.style.marginTop = aScroll + 'px';
	};
	var aHeight = bodyObj.offsetHeight;
	var aWidth = bodyObj.offsetWidth;
	var aScroll =  (document.documentElement.scrollTop) ? document.documentElement.scrollTop : bodyObj.scrollTop;
	aScroll = aScroll + 100;

	bObj.style.height = aHeight + 'px';
	aObj.style.marginTop = aScroll + 'px';
	
	aObj.className = '';
	
	if(noBlur != 1)
		bObj.className = '';
	cleanWhitespace(mObj);
	mObj.firstChild.innerHTML = str;
	
	if(btnArr){
		for(key in btnArr){
			var cBtnDivObj = document.createElement('div');
			cBtnDivObj.innerHTML = '&nbsp;';
			mObj.firstChild.appendChild(cBtnDivObj);
			
			var cBtnObj = document.createElement('input');
			cBtnObj.type = 'button';
			cBtnObj.value = key;
			cBtnObj.className = 'sprite btn lpad5';
			cBtnObj.clkFn = btnArr[key];
			cBtnObj.onclick = function (e){
				eval(this.clkFn + '()');
			}
			mObj.firstChild.appendChild(cBtnObj);
		}
	}
	
	var bWidth = 500;
	var bHeight = mObj.firstChild.offsetHeight + 40; 
	
	var alertBox = document.getElementById('alertBox');
	alertBox.style.width = bWidth + 'px';	
	alertBox.style.height = bHeight + 'px';	
	var blt = document.getElementById('blt');
	blt.style.marginTop = bHeight + 'px';
	var brt = document.getElementById('brt');
	brt.style.margin = bHeight + 'px ' + bWidth + 'px';
	var tp = document.getElementById('tp');
	tp.style.width = bWidth + 'px';
	var bm = document.getElementById('bm');
	bm.style.width = bWidth + 'px';
	bm.style.marginTop = bHeight + 'px';
	var lt = document.getElementById('lt');
	lt.style.height = bHeight + 'px';
	var rt = document.getElementById('rt');
	rt.style.height = bHeight + 'px';
	rt.style.marginLeft = bWidth + 'px';
	var aClose = document.getElementById('aClose');
	var mleft = bWidth - 15;
	aClose.style.marginLeft = mleft + 'px';
	
	if(adjustX > 0)
		aObj.style.marginLeft = adjustX + 'px';

}
function mClose(){
	var aObj = document.getElementById('mHandler');
	var bObj = document.getElementById('blockDiv');
	var mObj = document.getElementById('mText');	
	aObj.className = 'hiddenObj';
	bObj.className = 'hiddenObj';
	mObj.firstChild.innerHTML = '';
	if(aObj.closeFn){
		eval(aObj.closeFn + '()');
	}
}
function statusOn(){
	var bodyObj = document.getElementsByTagName('body')[0];
	var aHeight = bodyObj.offsetHeight;
	var bObj = document.getElementById('blockDiv');
	bObj.style.height = aHeight + 'px';
	bObj.className = '';
}
function statusOff(){
	var bObj = document.getElementById('blockDiv');
	bObj.className = 'hiddenObj';
}
function fixSiteMap(){
	var contentObjs = document.getElementsByClassName('content');
	cleanWhitespace(contentObjs[0]);
	var linkObjs = document.getElementsByClassName('plink');
	var str = '';
	var levelChk = new Array();
	for(var i=linkObjs.length - 1; i>=0; i--){
		var lastTNode = linkObjs[i].childNodes.length - 2;
		if(levelChk[lastTNode] != 1){
			linkObjs[i].childNodes[lastTNode].className = 'left tree treeL';
			levelChk[lastTNode] = 1;
		}
		levelChk[lastTNode + 1] = 0;
		for(k=0; k<lastTNode; k++){
			if(linkObjs[i].childNodes[k].className == 'left tree treeI' && levelChk[k] != 1){
				linkObjs[i].childNodes[k].className = 'left tree treeB';
			}
		}
	}
}
function showCC(callObj){
	clearTimeout(st);
	var tooltipObj = document.getElementById('tooltip');
	var ttObj = document.getElementById('ttplace');
	ttObj.className = '';
	ttObj.style.marginTop = '-100px';
	ttObj.innerHTML = tooltipObj.innerHTML;
}
function hideCC(callObj){
	clearTimeout(st);
	var ttObj = document.getElementById('ttplace');
	ttObj.innerHTML = '';
	ttObj.className = 'hiddenObj';
}
function subscribe(checkObj){
	var subObj = document.getElementById('subsDiv');
	if(checkObj.checked){
		subObj.className = 'cboth tcenter mTop9';
	}else{
		subObj.className = 'cboth tcenter mTop9 hiddenObj';
	}
}
function informMe(prodStr){
	if(!document.getElementById('subsName').value || !document.getElementById('subsEmail').value){
		mAlert('Incomplete information. Please try again.');
		return false;
	}
	var checkObj = document.getElementById('subsChk');
	checkObj.checked = false;
	subscribe(checkObj);
	var ajaxVar = new ajaxVars();
	ajaxVar.session = 0;
	ajaxVar.vars['action'] = "phpArray";
	ajaxVar.vars['func'] = "informMe";
	ajaxVar.vars['nosplit'] = 1;
	ajaxVar.vars['id'] = prodStr;
	ajaxVar.vars['name'] = document.getElementById('subsName').value;
	ajaxVar.vars['email'] = document.getElementById('subsEmail').value;
	ajaxVar.gotoFunction = 'informed';
	ajaxVar.AjaxPostSQL();
}
function informed(dataArr, fnVars){
	if(dataArr != 'empty'){
		mAlert(dataArr);
	}
}
function setCounter(fieldObj, mxLength){
	var totalObj = document.getElementById('max_' + fieldObj.name);
	var countObj = document.getElementById('counter_' + fieldObj.name);	
	totalObj.innerHTML = mxLength;
	var fldLenght = fieldObj.value.length;
	if(fldLenght > mxLength) {
		fieldObj.style.color = '#ff0000';
		countObj.style.color = '#ff0000';
	}else{
		fieldObj.style.color = '#000000';
		countObj.style.color = '#000000';
	}
	countObj.innerHTML = fieldObj.value.length;
}
