//*************************************************
//  Functions Related to Brand Tag
//*************************************************
function brandSelected(form){
	val = form.options[form.selectedIndex].value
	if(!(val == "default") && !(val == "")){
		location.href = val;
	}
}

//******************************************************************
//Functions to remove HTML Tags from a value 
//******************************************************************
	function removeHTMLTags(value){
		if(value != null){
			return(value.replace(/<.*?>/g,''));
		}else{
			return null;
		} 
	}
	
	
//******************************************************************
//Functions to trim a value 
//******************************************************************

	// Removes leading whitespaces
	function LTrim( value ) {
		
		var re = /\s*((\S+\s*)*)/;
		return value.replace(re, "$1");
		
	}
	
	// Removes ending whitespaces
	function RTrim( value ) {      
		
		var re = /((\s*\S+)*)\s*/;
		return value.replace(re, "$1");
		
	}   
	 
	// Removes leading and ending whitespaces
	function Trim( value ) {
		
		return LTrim(RTrim(value));
		      
	}


//*********************************
//  Ajax Implementation
//*********************************
	function init() {
		if(window.XMLHttpRequest) {
			req = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				req = new 	ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
				req = new	ActiveXObject("Microsoft.XMLHTTP");
				} catch (e1) {
				req = false;
				}
			}
		}
	}

	function sendcatTreeData(url) {
		init();
		req.onreadystatechange = catTreeSuccess;
		req.open("GET", url, true);
		req.send(null);
	}
	
	function catTreeSuccess(){
		if (req.readyState == 4) {
			if (req.status ==200) {
				var resText = Trim(req.responseText);
				var keyAns = resText.substring(0,14);
				var locURL = resText.substring(14);
				if(keyAns == "location.href="){
					location.href=resText.substring(14);
				}else{
					var catTreeDiveEleSize = catTreedivEle.length;
					for(var catTreeCounter = 0; catTreeCounter < catTreeDiveEleSize; catTreeCounter++){
						catTreedivEle[catTreeCounter].innerHTML = resText;
						catTreedivEle[catTreeCounter].style.display = "block";
					}
					var loadingDivEleSize = loadingDivEle.length;
					for(var loadingDivEleSizeCounter = 0; loadingDivEleSizeCounter < loadingDivEleSize; loadingDivEleSizeCounter++){
						loadingDivEle[loadingDivEleSizeCounter].src='/wcsstore/carparts/general/en_US/ui8_images/space.gif';
					}
				}
				
			}
		}
	}	
	

//*********************************
//  Email offers functions
//*********************************

function getEmail(){
	if(submitEmailForm()){ 
		var email   = document.getEmail.email.value;
		document.getEmail.email.value = "Enter Email Address";
		openResponsysPopup(email);
	}                
}

function getGreatEmail(){
	if(submitGreatEmailForm()){ 
		var email   = document.getGreatEmail.email.value;
		document.getGreatEmail.email.value = "Enter Email Address";
		openResponsysPopup(email);
	}                
}


function openResponsysPopup(email){
		var url = "http://jcwhitney.rsys1.net/servlet/campaignrespondent?_ID_=jcw.462&EMAIL="+email;
		var dd = location.host;

		if(document.getElementById('emailpixel'))
			document.getElementById('emailpixel').innerHTML='<img src="'+ url +'" width=1 height=1/>';
			
		var newWin = window.open('http://' + dd + '/wcsstore/carparts/eoffers/thanks.html','popup','ontop=yes,width=300,height=280,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,menubar=no');
		newWin.focus();
}

function submitEmailForm(getEmail)
{
    
    if(ValidateForm("getEmail")){
		return true;
	}else{
		return false;
	}	
}

function submitGreatEmailForm(getGreatEmail)
{
    
 	if(ValidateForm("getGreatEmail")){
		return true;
	}else{
		return false;
	}	
}     

function ValidateForm(formName){
		var emailID="";
		if(formName == "CustomerFeedbackForm"){
			emailID=document.forms["CustomerFeedbackForm"].customerFeedback;
		}else if(formName == "getEmail"){
			emailID=document.forms["getEmail"].email;
		}else if(formName == "getGreatEmail"){
			emailID=document.forms["getGreatEmail"].email;
		}
	
		if ((emailID.value==null)||(emailID.value=="")){
	
			if(formName != "CustomerFeedbackForm"){
				alert("Please Enter your Email ID")
			}
	
			emailID.focus()
			return false
		}
		if (echeck(emailID.value, formName)==false){
			emailID.value=""
			emailID.focus()
			return false
		}
		return true
 }
 
 
 /**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str, formName) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){

   			if(formName == "getEmail" || formName == "getGreatEmail")
			   alert("Invalid E-mail ID");

		    return false
		 }

 		 return true					
	}
   
//*********************************
//  Functions related to Cookies
//*********************************   
   
   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 = "";
		
		if(document.cookie){
			var temp = name+"="+value+expires+"; path=/";
			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 getCookie(Name)
	{
		var search = Name + "=";
		if (document.cookie.length > 0) // if there are any cookies
		{ 
		  begin = document.cookie.indexOf(search);
	
		  if (begin != -1)  // if particular cookie exists
		  {  
			 begin += search.length;  // set index of beginning of value
			 end = document.cookie.indexOf(";", begin);
	
			 // set index of end of cookie value
			 if (end == -1)   
				end = document.cookie.length;
			
			 return unescape(document.cookie.substring(begin, end)) ;      
		  }    
		}
	}	
	
	function getUI8PromoImageLink(storeID, catalogID)
	{
		var promo ="", link="", calcCode="";
		promo = getPromoCode(storeID);
		calcCode=getCalcCode(storeID);
		link ="/autoparts/CouponView/c-" + catalogID +"/s-" + storeID +"/calc-" + calcCode;

		if ((promo != null) && (calcCode !=null) && (promo != "null") && (calcCode !="null"))
			document.write("<a href='"+link+"' onClick='leaving=false'><img src='/wcsstore/carparts/general/en_US/images/promo/header/ui8/"+ promo +".gif' width='780' height='43' align='left'></a>");	      
		else
			return "";
	}
	
	function getPromoCode(storeID)
	{
		var search = getCookie("GROUP_" + storeID);
		var begin, end;
	    if (search != null)
		  if ((search.length > 0) && (search.split("?").length > 1)) // If Cookie
		  { 
			
			return (search.split("?")[2]);	      
		  }
		return null;
	}
	
	function getCalcCode(storeID)
	{
	
		var search = getCookie("GROUP_" + storeID);
		var begin, end;
	    if (search != null)
		  if ((search.length > 0) && (search.split("?").length > 2)) // If Cookie
		  { 
			
			return (search.split("?")[3]);	      
		  }
		return null;
	}

//******************************************************************
//Functions to return BV star image name based on the rating
//******************************************************************
    function getRatingforBV(value){
		if(value == null || value == "null" || value == "")
			return null;
		if(value.length<2){
			value=value+"0";
		}
		else{
			if(value>0){
				value=value * 10;
				value=(value.toString()).substring(0,2);
			}
		}
		if(value>-1 && value<10)
			value="0"+value;
		return value;
	}

//******************************************************************
//Functions to get coordinats of an element
//******************************************************************
		function pageOffsetLeft(elem) {
		    if (elem.offsetParent) {
		        for(var offX = 0; elem.offsetParent; elem = elem.offsetParent){
		            offX += elem.offsetLeft;
		        }
		
		        return offX;
		    } else {
		        return elem.x;
		    }
		}
		function pageOffsetTop(elem) {
		    if (elem.offsetParent) {
		        for(var offY = 0; elem.offsetParent; elem = elem.offsetParent){
		            offY += elem.offsetTop;
		        }
		        return offY;
		    } else {
		        return elem.y;
		    }
		}
		
	function truckHide() {
		if(document.getElementById('trucktooltip')) {
			document.getElementById('trucktooltip').style.display='none';		
		}
	}
	
	function truckShow() {
		if(document.getElementById('trucktooltip')) {
			document.getElementById('trucktooltip').style.display='block';		
		}
	}
	function heavyHide() {
		if(document.getElementById('heavytooltip')) {
			document.getElementById('heavytooltip').style.display='none';		
		}
	}
	
	function heavyShow() {
		if(document.getElementById('heavytooltip')) {
			document.getElementById('heavytooltip').style.display='block';		
		}
	}

 //*********************************
 //Functions for search bar 
 //*********************************	
	
	function submitSearchForm(SearchForm){
	    var success = true;
	    showSurveyPopup = "false";
	    var skuValue = removeHTMLTags(SearchForm.sku.value);
		SearchForm.sku.value = skuValue;
	    if (Trim(SearchForm.sku.value) == "" || Trim(SearchForm.sku.value) == "Keyword(s) or Part#" || Trim(SearchForm.sku.value) == "Keyword(s)") {
	        success = false;
	    }
	    if(!success) {
	        return false;
	    }
	    return true;
	}

 //*************************************************
 //Functions for submitting My Saved Vehicles Form
 //*************************************************	

	function submitMySavedVehicleForm(form){
		if(document.addvehicle_form1.prev_vehicle_dd.value == ''){
			return false;
		}else{
			submitInfo(form);
			return true;
		}
	}
	
 //*************************************************
 //Functions for limiting the characters in Popup
 //*************************************************	
	
	function limitPopUp(desc){
		var maxLength = 700;
		if (desc.length > maxLength)
		{
			desc = desc.substring(0,maxLength);
			desc = desc + "<br><br>Click image for more ...";
		
		}
		return desc;
	}
	
//***********************
//  Email This Page functions
//***********************
	function MM_openBrWindow(theURL,winName,features) { //v2.0
	 window.open(theURL,winName,features);
	}
	function submitEmailPageForm(serverName){
		var objFriendsEmail = document.forms['EmailPageForm'].friendsEmailValue;
		var objSenderEmail = document.forms['EmailPageForm'].senderEmailValue;
		var validFriendsEmail = ValidateEmailFor(objFriendsEmail,'EmailPageForm');
		var validSenderEmail = ValidateEmailFor(objSenderEmail,'EmailPageForm');
		var comments = document.forms['EmailPageForm'].comments.value;
		if(validFriendsEmail == true &&  validSenderEmail == true){
			friendsEmailValue=document.forms['EmailPageForm'].friendsEmailValue.value;
			senderEmailValue=document.forms['EmailPageForm'].senderEmailValue.value;
			if(document.forms['EmailPageForm'].friendsNameValue.value != null){
				friendsNameValue=document.forms['EmailPageForm'].friendsNameValue.value;
			}else{
				friendsNameValue="";
			}
			if(document.forms['EmailPageForm'].senderNameValue.value != null){
				senderNameValue=document.forms['EmailPageForm'].senderNameValue.value;
			}else{
				senderNameValue="";
			}
			webPageUrl=document.forms['EmailPageForm'].webPageUrl.value;
			var regEmailOffer = 0;
			if(document.forms['EmailPageForm'].regEmailOffer != null && document.forms['EmailPageForm'].regEmailOffer.checked == true){
				regEmailOffer = 1;
				openResponsysPopup(senderEmailValue);
			}
			
			var paramString='storeId=10401&emailType=0&friendsEmailValue='+friendsEmailValue+'&friendsNameValue='+friendsNameValue+'&senderEmailValue='+senderEmailValue+'&senderNameValue='+senderNameValue+'&comments='+comments+'&webPageUrl='+webPageUrl;
			url=serverName+'/webapp/wcs/stores/servlet/EmailThisPageForm?'+paramString;
			sendEmailData(url);
		}else if(!validFriendsEmail){
			document.getElementById("errorEmailColumn").innerHTML = "Please enter your Friend's valid Email address.";
			document.getElementById("errorEmailRow").style.display="";
			objFriendsEmail.focus();
		}else if(!validSenderEmail){
			document.getElementById("errorEmailColumn").innerHTML = "Please enter your valid Email address.";
			document.getElementById("errorEmailRow").style.display="";
			objSenderEmail.focus();
		}
	}

	function sendEmailData(url) {
		document.getElementById("errorEmailColumn").innerHTML = "";
		document.getElementById("statusEmailMessage").innerHTML ="Your Mail is being sent...";
		document.forms['EmailPageForm'].emailButton.disabled=true;						
		init();
		req.onreadystatechange = successEmail;
		req.open("GET", url, true);
		req.send(null);
	}
	function successEmail() {
		if (req.readyState == 4) {
				
			if (req.status ==200) {
				document.getElementById("statusEmailMessage").innerHTML ="";
				document.forms['EmailPageForm'].friendsEmailValue.value='';
				document.forms['EmailPageForm'].senderEmailValue.value='';
				document.forms['EmailPageForm'].friendsNameValue.value='';
				document.forms['EmailPageForm'].senderNameValue.value='';
				document.forms['EmailPageForm'].comments.value='';
				document.forms['EmailPageForm'].emailButton.disabled=false;	
				MM_openBrWindow('/wcsstore/carparts/general/ui8/emailthankyou.html','winThankYou','width=480,height=180');
			}
		}
	}
	function ValidateEmailFor(emailID,formName){
		if(emailID.value.length == 0) {
			return false;
		}else {
			return echeck(emailID.value, formName);
		}	
		return false;
	}	
	function replaceAll(OldString,FindString,ReplaceString) {
		var SearchIndex = 0;
		var NewString = ""; 
		if(OldString != null && OldString != "null") {
			while (OldString.indexOf(FindString,SearchIndex) != -1) {
				NewString += OldString.substring(SearchIndex,OldString.indexOf(FindString,SearchIndex));
				NewString += ReplaceString;
				SearchIndex = (OldString.indexOf(FindString,SearchIndex) + FindString.length); 
			}
			NewString += OldString.substring(SearchIndex,OldString.length);
			return NewString;
		}
		return null;
	}
	
	//Function to get the PromoCode Value from Cookie
	
	function getPromoCodeValue(cookieName){

		var promoCodeVal = null;
		var cookieValue = readCookie(cookieName);
		if ( cookieValue != null ) {
			arr=cookieValue.split("?");

			if (arr.length > 2 ){
				promoCodeVal =arr[2];
			}
		}
		return promoCodeVal;
	}	
	
	//get Phone number from cookie Group_Storeid 
	function getTelephoneNumberFromCookie(cookieName){
	
		    var telephoneNum = null;
            var cookieValue = readCookie(cookieName);
            
            if ( cookieValue != null ) {
                  arr=cookieValue.split("?");
                  if (arr.length > 4 ){
                        telephoneNum =arr[4];
                  }
            }
            return telephoneNum;
      }	
//***********************
//  Attribute Dimension Popups
//***********************      
	function openAttributePopUp(attributeId){
		if(attributeId != null && attributeId != ''){
			var dd = location.host;
			window.open('http://' + dd + '/wcsstore/carparts/attributes/'+attributeId+'.html','popup','ontop=yes,width=500,height=250,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,menubar=no');
		}
	}

  function isInteger(s){
    if(s==null || s == undefined)
	    return false;
     else{
	     var val = Trim(s)
         if(val =="")
				return false
		 else{
		     for (i = 0; i < val.length; i++)
		     {
				var c = val.charAt(i);
				if (!isDigit(c)) return false;
			  }
	      }
		}
	   return true;
}
function isDigit (c){
	return ((c >= "0") && (c <= "9"))
}
