function clearSearch(){
	if (document.st1.keyword.value == "Enter Keywords Here..."){
		document.st1.keyword.value = ""
	}
}

function siteSearch(){
	if (document.st1.keyword.value == "Enter Keywords Here..." || document.st1.keyword.value == "" || document.st1.keyword.value.length < 3){
		return false
	}
	return true
}

function RefreshImage(root){
	document.code.src = root + "/sitefiles/includes/random_image.jpg?" + Math.random();
	return false;
}

function CheckEmail(){
	if (document.e1.email.value == ''){
		document.getElementById('message').innerHTML = "Required: Email Address"
		document.e1.email.focus()
		return false
	}
	if (document.e1.pass.value == ''){
		document.getElementById('message').innerHTML = "Required: Password"
		document.e1.pass.focus()
		return false
	}
	return true
}

function MouseOver(tab, id){
	tab = tab.replace(id, '')
	if (document.getElementById(tab + 'Tab' + id).style.display == "none"){
		document.getElementById(tab + id).className = "prodPageTabHover"
	}
}

function MouseOut(tab, id){
	tab = tab.replace(id, '')
	if (document.getElementById(tab + 'Tab' + id).style.display == "none"){
		document.getElementById(tab + id).className = "prodPageTab"
	}
}

function ShowSetDiv(id, img){
	if (document.getElementById(id).style.display == "none"){
		var divEls = document.getElementsByTagName("div");
		for(i=0;i<divEls.length;i++){
			if (divEls[i].className == "popup"){
				divEls[i].style.display = "none"
			}
		}
		img = document.getElementById(img)
		document.getElementById(id).style.left = (getX(img) + img.offsetWidth) + "px"
		document.getElementById(id).style.top = ((getY(img) + img.offsetHeight) - 45) + "px"
		document.getElementById(id).style.display = "block"
	} else {
		document.getElementById(id).style.display = "none"
	}
}

function ShowDiv(id){
	document.getElementById(id).style.display = "block"
	if (id == 'emailForm'){
		document.f1.reset();
		document.getElementById('sendMessage').innerHTML = ''
		document.f1.subject.value = document.getElementById('cleanSubject').value
		document.getElementById(id).style.left = (getX(document.getElementById('emailFriend')) - (document.getElementById('emailFriend').offsetWidth / 2)) + "px"
		document.getElementById(id).style.top = getY(document.getElementById('emailFriend')) + "px"
	}
}

function HideDiv(id){
	document.getElementById(id).style.display = "none"
}

function getX(obj) {
	var left;
	left = 0
	while(obj.offsetParent) {
		left+=obj.offsetLeft
		obj = obj.offsetParent
	}
	return left
}

function getY(obj) {
	var top;
	top = 0
	while(obj.offsetParent) {
		top+=obj.offsetTop
		obj = obj.offsetParent
	}
	return top
}

function DisplayInfo(tab, id, loc){
	tab = tab.replace(id, '')
	var prodTabs = new Array("Acc", "Related", "WebDesc", "Features", "Specs")
	for (i=0;i<prodTabs.length;i++){
		if (document.getElementById(prodTabs[i] + id) != null){
			var imgName = "img" + prodTabs[i] + id
			document.getElementById(imgName).src = loc + prodTabs[i] + "_off.jpg"
			document.getElementById(prodTabs[i] + 'Tab' + id).style.display = "none"
		}
	}
	var imgName = "img" + tab + id
	document.getElementById(imgName).src = loc + tab + "_on.jpg"
	document.getElementById(tab + 'Tab' + id).style.display = "block"
}

function cOptionCheck(){
	if (document.getElementById('cOption').value == ''){
		document.getElementById('cOption').focus()
		return false;
	}
	return true;
}

function EnlargeImg(id,root){
	if (document.getElementById('cOption') && document.getElementById('cOption').value != ''){
		var ID = document.getElementById('cOption').value.split("_-_",2)
		prodId = ID[0]
	} else {
		prodId = id
	}
	window.open(root + "image.html?img=" + prodId, "image", "width=520,height=525,screenX=200,screenY=100,left=200,top=100,scrollbars=no");
}

function ChangeModel(imgSize){
	if (document.getElementById('cOption').value != ''){
		var cOption = document.getElementById('cOption').value.split("_-_",2)
		document.getElementById('modelNum').innerHTML = cOption[1]
		var prodImg = new Image()
		prodImg.onerror = '../images/product/' + imgSize + '/noimage.jpg'
		document.prodImg.src = '../images/product/' + imgSize + '/' + cOption[0] + '.jpg'
		document.prodImg.alt = cOption[1] + ' ' + document.getElementById('STK_Name').value
	}
}

function FilterResults(form){
	if (form.type.value != ''){
		form.submit();
	}
}

function OrderCheck(){
	if (document.orderNew.billfName.value == ""){
		document.getElementById('message').innerHTML = "Required: Bill to First Name";
		document.orderNew.billfName.focus();
		return false;
	}
	if (document.orderNew.billlName.value == ""){
		document.getElementById('message').innerHTML = "Required: Bill to Last Name";
		document.orderNew.billlName.focus();
		return false;
	}
	if (document.orderNew.billadd1.value == ""){
		document.getElementById('message').innerHTML = "Required: Bill to Address";
		document.orderNew.billadd1.focus();
		return false;
	}
	if (document.orderNew.billzip.value.length < 5){
		document.getElementById('message').innerHTML = "Required: Bill to Zip Code";
		document.orderNew.billzip.focus();
		return false;
	}
	if (document.orderNew.billcity.value == ""){
		document.getElementById('message').innerHTML = "Required: Bill to City";
		document.orderNew.billcity.focus();
		return false;
	}
	if (document.orderNew.billstate.value == ""){
		document.getElementById('message').innerHTML = "Required: Bill to State";
		document.orderNew.billstate.focus();
		return false;
	}
	
	if (document.orderNew.billphone1.value.length < 10){
		document.getElementById('message').innerHTML = "Required: Bill to Home Phone#";
		document.orderNew.billphone1.focus();
		return false;
	}
	if (document.orderNew.shipfName.value == ""){
		document.getElementById('message').innerHTML = "Required: Ship to First Name";
		document.orderNew.shipfName.focus();
		return false;
	}
	if (document.orderNew.shiplName.value == ""){
		document.getElementById('message').innerHTML = "Required: Ship to Last Name";
		document.orderNew.shiplName.focus();
		return false;
	}
	if (document.orderNew.shipadd1.value == ""){
		document.getElementById('message').innerHTML = "Required: Ship to Address";
		document.orderNew.shipadd1.focus();
		return false;
	}
	if (document.orderNew.shipzip.value.length < 5){
		document.getElementById('message').innerHTML = "Required: Ship to Zip Code";
		document.orderNew.shipzip.focus();
		return false;
	}
	if (document.orderNew.shipcity.value == ""){
		document.getElementById('message').innerHTML = "Required: Ship to City";
		document.orderNew.shipcity.focus();
		return false;
	}
	if (document.orderNew.shipstate.value == ""){
		document.getElementById('message').innerHTML = "Required: Ship to State";
		document.orderNew.shipstate.focus();
		return false;
	}
	
	if (document.orderNew.shipphone1.value.length < 10){
		document.getElementById('message').innerHTML = "Required: Ship to Home Phone#";
		document.orderNew.shipphone1.focus();
		return false;
	}
	if (document.orderNew.email){
		if (document.orderNew.email.value == ""){
			document.getElementById('message').innerHTML = "Required: Email Address";
			document.orderNew.email.focus();
			return false;
		}
		if (document.orderNew.pass.value == ""){
			document.getElementById('message').innerHTML = "Required: Password";
			document.orderNew.pass.focus();
			return false;
		}
		if (document.orderNew.cpass.value == ""){
			document.getElementById('message').innerHTML = "Required: Confirm Password";
			document.orderNew.cpass.focus();
			return false;
		}
		if (document.orderNew.cpass.value != document.orderNew.pass.value){
			document.getElementById('message').innerHTML = "Required: Matching Passwords";
			document.orderNew.pass.value = "";
			document.orderNew.cpass.value = "";
			document.orderNew.pass.focus();
			return false;
		}
	}
	return true;
}

function BillShipInfo(){
	if (document.orderNew.billShipInfo.checked == true){
		document.getElementById('shipfName').value = document.getElementById('billfName').value;
		document.getElementById('shiplName').value = document.getElementById('billlName').value;
		document.getElementById('shipcompany').value = document.getElementById('billcompany').value;
		document.getElementById('shipadd1').value = document.getElementById('billadd1').value;
		document.getElementById('shipadd2').value = document.getElementById('billadd2').value;
		document.getElementById('shipcity').value = document.getElementById('billcity').value;
		document.getElementById('shipstate').value = document.getElementById('billstate').value;
		document.getElementById('shipzip').value = document.getElementById('billzip').value;
		document.getElementById('shipphone1').value = document.getElementById('billphone1').value;
		document.getElementById('shipphone2').value = document.getElementById('billphone2').value;
	} else {
		document.getElementById('shipfName').value = "";
		document.getElementById('shiplName').value = "";
		document.getElementById('shipcompany').value = "";
		document.getElementById('shipadd1').value = "";
		document.getElementById('shipadd2').value = "";
		document.getElementById('shipcity').value = "";
		document.getElementById('shipstate').value = "";
		document.getElementById('shipzip').value = "";
		document.getElementById('shipphone1').value = "";
		document.getElementById('shipphone2').value = "";
	}
}

	function SearchZip(id) {

	   if(document.getElementById(id).value.length >= 5) {
		   
		var url,query,c;
		
       if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
            }
        } 
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                           try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
                                       }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
		query = "zip="+document.getElementById(id).value
		
		url = "js/zipsearch.html?" + Math.random()
		type = id.replace('zip','')
		httpRequest.onreadystatechange = function() { doZipLookup(type); };
		httpRequest.open('POST',url,true)
		httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpRequest.setRequestHeader("Content-length", query.length);
		httpRequest.setRequestHeader("Connection", "close");
		httpRequest.send(query)
	  }
	
	}


	function doZipLookup(type) {
		number = '';
		if (type.length > 4){
			number = type.substring(4);
			type = type.substring(0,4);
		}
		if (httpRequest.readyState == 4) {
			res = httpRequest.responseText;
			if(res != "") {
				var res = res.split(';');
				document.getElementById(type + 'city' + number).value = res[0];
				document.getElementById(type + 'state' + number).value = res[1];
			}			
		} else if (httpRequest.readyState == 2){
			document.getElementById(type + 'city' + number).value = 'Loading...';
		}
		
	}
	
function PaymentInfo(){
	if (document.p1.referral){
		refSelected = false;
		for (i=0;i<document.p1.elements.length;i++){
			if (document.p1.elements[i].name == "referral" && document.p1.elements[i].checked == true){
				refSelected = true;
			}
		}
		if (document.getElementById('other') && document.getElementById('other').checked == true && document.p1.otherRef.value == ""){
			document.p1.otherRef.focus()
			refSelected = false;
		}
		if (refSelected == false){
			document.getElementById('message').innerHTML = "Required: How You Heard About Us"
			return false
		}
	}
	if (document.p1.payMethod.value == ""){
		document.p1.payMethod.focus()
		document.getElementById('message').innerHTML = "Required: Payment Method"
		return false
	}
	if (document.p1.ccNum.value == "" && document.p1.payMethod.value != "5"){
		document.p1.ccNum.focus()
		document.getElementById('message').innerHTML = "Required: Credit Card Number"
		return false
	}
	if (document.p1.ccNum.value.length < 15 && document.p1.payMethod.value != "5"){
		document.p1.ccNum.focus()
		document.getElementById('message').innerHTML = "Required: Valid Credit Card Number"
		return false
	}
	if (document.p1.expMM.value == "" && document.p1.payMethod.value != "5"){
		document.p1.expMM.focus()
		document.getElementById('message').innerHTML = "Required: Expiration Month"
		return false
	}
	if (document.p1.expMM.value.length < 2 && document.p1.payMethod.value != "5"){
		document.p1.expMM.focus()
		document.getElementById('message').innerHTML = "Required: Valid Expiration Month"
		return false
	}
	if (document.p1.expYY.value == "" && document.p1.payMethod.value != "5"){
		document.p1.expYY.focus()
		document.getElementById('message').innerHTML = "Required: Expiration Year"
		return false
	}
	if (document.p1.expYY.value.length < 4 && document.p1.payMethod.value != "5"){
		document.p1.expYY.focus()
		document.getElementById('message').innerHTML = "Required: Valid Expiration Year"
		return false
	}
	var today=new Date();
	month = today.getMonth() + 1;
	if (month.toString().length == 1) {
		month = '0' + month;
	}
	today = String(today.getYear()) + String(month);
	expiry = String(document.p1.expYY.value) + String(document.p1.expMM.value);
	if (document.getElementById('message').innerHTML == "Required: Valid Expiration Date" && expiry < today && document.p1.payMethod.value != "5"){
		document.getElementById('message').innerHTML = "<font size='+1'><b>Expired Credit Card</b></font>"
		return false
	}
	if (expiry < today && document.p1.payMethod.value != "5"){
		document.p1.expMM.focus()
		document.getElementById('message').innerHTML = "Required: Valid Expiration Date"
		return false
	}
	if (document.getElementById('checkCVV').value == "true" && document.p1.ccv.value == "" && document.p1.payMethod.value != "5"){
		document.p1.ccv.focus()
		document.getElementById('message').innerHTML = "Required: CVV Number"
		return false
	}
	if (document.getElementById('checkCVV').value == "true" && document.p1.ccv.value.length < 3 && document.p1.payMethod.value != "5"){
		document.p1.ccv.focus()
		document.getElementById('message').innerHTML = "Required: Valid CVV Number"
		return false
	}
	return true
}

function PayMethod(){
	if (document.getElementById('payMethod').value == '5'){
		document.getElementById('message').innerHTML = "PayPal payments will be redirected to PayPal's website for payment once the order is submitted.<br>PayPal payments are made to R AND N LEASING."
	}
}

function CheckPass(){
	if (document.u1.currPass.value == ""){
		document.u1.currPass.focus();
		document.getElementById('message').innerHTML = "Required: Current Password";
		return false;
	}
	if (document.u1.pass.value == ""){
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: New Password";
		return false;
	}
	if (document.u1.pass.value == document.u1.currPass.value){
		document.u1.pass.value = "";
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: New Password Must Be Different";
		return false;
	}
	if (document.u1.pass.value != document.u1.cpass.value){
		document.u1.pass.value = "";
		document.u1.cpass.value = "";
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: Matching New Passwords";
		return false;
	}
	return true;
}

function Contact(){
	if (document.c1.name.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Your Name";
		document.c1.name.focus();
		return false;
	}
	if (document.c1.email.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Your Email";
		document.c1.email.focus();
		return false;
	}
	if (document.c1.subject.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Subject";
		document.c1.subject.focus();
		return false;
	}
	if (document.c1.message.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Message";
		document.c1.message.focus();
		return false;
	}
	if (document.c1.code.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Image Security Code";
		document.c1.code.focus();
		return false;
	}
	executeSend('contactForm', '');
	document.getElementById('contactMess').innerHTML = "Now Sending";
	return false;
}

function SendPage(root){
	if (document.f1.fEmail.value == ""){
		document.getElementById('sendMessage').innerHTML = "Required: Your Friend's Email"
		document.f1.fEmail.focus()
		return false
	}
	if (document.f1.name.value == ""){
		document.getElementById('sendMessage').innerHTML = "Required: Your Name"
		document.f1.name.focus()
		return false
	}
	if (document.f1.email.value == ""){
		document.getElementById('sendMessage').innerHTML = "Required: Your Email"
		document.f1.email.focus()
		return false
	}
	if (document.f1.subject.value == ""){
		document.getElementById('sendMessage').innerHTML = "Required: Email Subject"
		document.f1.subject.focus()
		return false
	}
	if (document.f1.code.value == ""){
		document.getElementById('sendMessage').innerHTML = "Required: Image Security Code";
		document.f1.code.focus();
		return false;
	}
	executeSend('page', root)
	document.getElementById('sendMessage').innerHTML = 'Now Sending'
	return false
}

	function executeSend(page, root) {
		
		var url,query,c;
		
       if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
            }
        } 
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                           try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
                                       }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
		if (page == "contactForm"){
			query = "code="+document.c1.code.value+"&fEmail=sales&page="+document.c1.message.value+"&name="+document.c1.name.value+"&email="+document.c1.email.value+"&subject="+document.c1.subject.value+"&order="+document.c1.orderNum.value
		} else {
			query = "code="+document.f1.code.value+"&page="+document.f1.page.value+"&fEmail="+document.f1.fEmail.value+"&name="+document.f1.name.value+"&email="+document.f1.email.value+"&subject="+document.f1.subject.value
		}

		url = root + "includes/sendmail.html?" + Math.random()
	
	  	httpRequest.onreadystatechange = function() { doSent(page); };
	  	httpRequest.open('POST',url,true)
		httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpRequest.setRequestHeader("Content-length", query.length);
		httpRequest.setRequestHeader("Connection", "close");
		httpRequest.send(query);
		}


	function doSent(page) {
		if (page == "contactForm"){
			div = "contactMess"
			var form = document.c1
		} else {
			div = "sendMessage"
			var form = document.f1
		}
		if (httpRequest.readyState == 4) {
			res = httpRequest.responseText
			if(res=="True") {
				form.reset()
				document.getElementById(div).innerHTML = 'Mail Sent Successfully'
			} else {
				document.getElementById(div).innerHTML = res
				if (res == "Your Friend's Email is Invalid"){
					form.fEmail.focus()
				}
				if (res == "Your Email is Invalid"){
					form.email.focus()
				}
			}
			
		}
		
	}
	
function passStrength(text, div) {
	var strength = div;
	var pwd = text;
	ShowDiv(strength.id);
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	if (pwd.value.length==0) {
		strength.innerHTML = 'Type Password';
	} else if (false == enoughRegex.test(pwd.value)) {
		strength.innerHTML = 'More Characters';
	} else if (strongRegex.test(pwd.value)) {
		strength.innerHTML = 'Strength: <span style="color:green">Strong!</span>';
	} else if (mediumRegex.test(pwd.value)) {
		strength.innerHTML = 'Strength: <span style="color:orange">Medium!</span>';
	} else {
		strength.innerHTML = 'Strength: <span style="color:red">Weak!</span>';
	}
}

function SubmitReview(form, root){
	if (form.name.value == ''){
		document.getElementById('message').innerHTML = "<b>Required:</b> Your Name"
		form.name.focus()
		return false
	}
	if (form.email.value == ''){
		document.getElementById('message').innerHTML = "<b>Required:</b> Your Email Address"
		form.email.focus()
		return false
	}
	if (form.review.value == ''){
		document.getElementById('message').innerHTML = "<b>Required:</b> Product Review"
		form.review.focus()
		return false
	}
		var url,query,c;
		
       if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/xml');
            }
        } 
        else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } 
                catch (e) {
                           try {
                                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                               } 
                             catch (e) {}
                          }
                                       }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
		
		query = "name="+form.name.value+"&email="+form.email.value+"&review="+form.review.value+"&guid="+form.guid.value

		url = root + "/sitefiles/includes/review.html?" + Math.random()
		
		document.getElementById('message').innerHTML = "Now adding..."
	
	  	httpRequest.onreadystatechange = function() { doReview(form); };
	  	httpRequest.open('POST',url,true)
		httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpRequest.setRequestHeader("Content-length", query.length);
		httpRequest.setRequestHeader("Connection", "close");
		httpRequest.send(query);

}

	function doReview(form) {
		if (httpRequest.readyState == 4) {
			res = httpRequest.responseText
			if(res=="True") {
				form.reset()
				document.getElementById('message').innerHTML = 'Please allow us time to review your comments prior to adding them to this product.'
			} else {
				document.getElementById('message').innerHTML = res
			}
		}
	}

