// Ogilvy Additions // state of articles var articleState = { }; var open_nav=''; // Rotate image variables var arrImg = new Array("centerwell.jpg","centerwell2.jpg","centerwell3.jpg"); var imgCount = 0; // parses the location.href into an object of name value pairs function getQueryString() { var o = new Object(); var s = location.search; if (s.length <= 1) return o; s = s.substring(1); var parts = s.split('&'); for (var i = 0; i < parts.length; i++) { var parts2 = parts[i].split('='); o[parts2[0]] = parts2.length == 2 ? parts2[1] : null; } return o; } // get the cookie of passed name and parses into object of name/value pairs function getCookie(cookeName) { var o = new Object(); var parts = document.cookie.split('; '); for (var i = 0; i < parts.length; i++) { var parts2= parts[i].split('='); if (parts2[0] == cookeName) { if (parts2.length == 1) return null; var values = unescape(parts2[1]); var parts3 = values.split('&'); for (var j = 0; j < parts3.length; j++) { var parts4 = parts3[j].split('='); o[parts4[0]] = parts4[1]; } return o; } } return null; } window.onload = function() { //hide the div tag in Quick Lane if(document.getElementById("hiddenfrm") != null) document.getElementById("hiddenfrm").style.display = "none"; if(self.homeFlash) { homeFlash(); } var qs = getQueryString(); var cookie = getCookie("state_" + qs.page); if (cookie) { for (var name in cookie) { if (cookie[name] == "1") { var link = document.getElementById(name + "Link"); if (link != null) { link.onclick(); } } } } if (qs.click) { var parts = qs.click.split(','); for (var i = 0; i < parts.length; i++) { var link = document.getElementById(parts[i] + "Link"); if (link != null) { if ( (!cookie[parts[i]]) || (cookie[parts[i]] == "0") ) { if (link.onclick) link.onclick(); } if (parts.length == 1) { scrollElementIntoView(link); } } } } if (qs.nav) { toggleNavArea(qs.nav); } if (qs.couponcode) { if((document.getElementById(qs.couponcode))!= null){ toggleArticleArea(qs.couponcode, "View Offer", "Close Offer"); var e = document.getElementById(qs.couponcode); scrollElementIntoView(e); } } var img = Array(arrImg.length); for (var i=0;i -1){ if(VALUE.charAt(iTemp) == w_space){ } else{ strTemp = VALUE.substring(0,iTemp +1); break; } iTemp = iTemp-1; } //End While return strTemp; } //End Function function LTrim(VALUE){ var w_space = String.fromCharCode(32); if(v_length < 1){ return""; } var v_length = VALUE.length; var strTemp = ""; var iTemp = 0; while(iTemp < v_length){ if(VALUE.charAt(iTemp) == w_space){ } else{ strTemp = VALUE.substring(iTemp,v_length); break; } iTemp = iTemp + 1; } //End While return strTemp; } //End Function function chkZipname(sZip) { var valZip = Trim(sZip); if (valZip.length == 0) { alert('Please enter a valid Zipcode or Dealername.'); return false; } else { if (valZip.length != 5) { alert('Please enter a valid zipcode or Dealername.'); return false; } else if (isNaN(Number(valZip))) { alert('Please enter a valid zipcode or Dealername.'); return false; } } return true; } function submitSiteSearch() { var objForm = document.frmMain; var checkedFlag = false; if ( ! /\w/.test(objForm.Search.value) ) { alert("Please enter a search term"); return false; } objForm.BasicSearch.value= objForm.Search.value; objForm.action = "sitesearch"; objForm.submit(); return false; } function printAndClose() { window.print(); if (document.all) window.close(); } function openNewWin(name,url){ window.open( url ,name,"toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=yes,height=550,width=650,left=100,top=100"); } function openLocalMap(name,url){ var client_multimapAddr = window.document.frmMain.client_multimapAddress.value; var absolute_url = client_multimapAddr + url; var zipcode = window.document.frmMain.txtZipcode.value; var brandcode = window.document.frmMain.txtBrandcode.value; window.open(absolute_url ,name,"toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=yes,height=550,width=650,left=100,top=100"); } function openLocalMap1(name,url){ var client_multimapAddr = window.document.frmMain.client_multimapAddress[0].value; var absolute_url = client_multimapAddr + url; var zipcode = window.document.frmMain.txtZipcode[0].value; var brandcode = window.document.frmMain.txtBrandcode[0].value; window.open(absolute_url ,name,"toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=yes,height=550,width=650,left=100,top=100"); } function getDirections(name, url) { //window.document.frmMain.cacheUrl.value = url; window.open( url ,name,"toolbar=no,location=no,directories=no,status=no,scrollbars=yes,menubar=yes,height=550,width=650,left=100,top=100"); } function NextRandomNumber() { var hi = this.seed / this.Q; var lo = this.seed % this.Q; var test = this.A * lo - this.R * hi; if (test > 0) { this.seed = test; } else { this.seed = test + this.M; } return (this.seed * this.oneOverM); } function RandomNumberGenerator() { var d = new Date(); this.seed = 2345678901 + (d.getSeconds() * 0xFFFFFF) + (d.getMinutes() * 0xFFFF); this.A = 48271; this.M = 2147483647; this.Q = this.M / this.A; this.R = this.M % this.A; this.oneOverM = 1.0 / this.M; this.next = NextRandomNumber; return this; } function imageLoader(src) { var img = new Image(); img.src = src; } var rg = new RandomNumberGenerator(); function callWebTrends(pageID){// pageID and stopMarker are both just made up variables that are being recorded var rand = rg.next(); var url = "images/esptracker.gif?WT.id=esp"+rand+"&WT.ti="+pageID+"&WT.rand="+rand imageLoader(url); // Do we seperate them with the & //alert(url); // Do we seperate them with the & } function submitAction(url, fcode, hostname, isSecured) { //alert(isSecured); if (isSecured == 'true'){ url= 'http://' + hostname +'/'+ url ; //alert(url); } // alert(fcode); // alert(url); switch(fcode){ case 'submitUDLForm': return submitUDLForm(url); case 'submitUDLPage': return submitUDLPage(url); case 'submitUDLFromPageNav': return submitUDLFromPageNav(url); case 'submitForm': return submitForm(url); case 'SendForm': return SendForm(); case 'SendRecallForm': return SendRecallForm(); case 'submitUDLZip': return submitUDLZip(url); case 'submitUDLZipFromNav': return submitUDLZipFromNav(url); case 'submitUDLFromNav': return submitUDLFromNav(url); case 'submitSearch': return submitSearchForm(url); } return false; } function entsubAction(url, fcode, hostname, isSecured) { //alert(window.event.keyCode); if (window.event.keyCode == 13) { // alert('test'); if (isSecured == 'true'){ url= 'http://' + hostname + url ; } //alert(url); switch(fcode){ case 'submitUDLForm': return submitUDLForm(url); case 'submitUDLPage': return submitUDLPage(url); case 'submitForm': return submitForm(url); case 'SendForm': return SendForm(); case 'SendRecallForm': return SendRecallForm(); case 'submitUDLZip': return submitUDLZip(url); case 'submitUDLZipFromNav': return submitUDLZipFromNav(url); case 'submitUDLFromNav': return submitUDLFromNav(url); case 'submitSearch': return submitSearchForm(url); } } return false; } function submitMailForm(url) { document.mail.target = '_top'; document.mail.action = url; document.mail.submit(); return false; } function sendEmail(url) { var objEmail; var objName, objfriendEmail, objfriendName; var sZip, sCity, sState; objEmail = document.mail.email; objName = document.mail.name; objfriendEmail = document.mail.friendEmail; objfriendName = document.mail.friendName; objNote = document.mail.note; //alert(objEmail.value); //alert(objName.value); //alert(objfriendEmail.value); //alert(objfriendName.value); //alert(objNote.value); if (objEmail.value.length == 0) { alert('Please enter your Email Address.'); objEmail.focus(); //return false; } else if (objName.value.length == 0) { alert('Please enter your Name.'); objName.focus(); //return false; } else if (objfriendEmail.value.length == 0) { alert('Please enter your friend\'s email.'); objfriendEmail.focus(); //return false; } else if (objfriendName.value.length == 0) { alert('Please enter your friend\'s name.'); objfriendName.focus(); //return false; } else{ return submitMailForm(url); } } function isValidLogin(){ //alert("inside isValidLogin"); var thisform = document.frmMain; if (thisform.firstname.value == "") { thisform.firstname.focus(); alert("Please enter First Name."); return false; } else if (thisform.lastname.value == "") { thisform.lastname.focus(); alert("Please enter Last Name."); return false; } else if (thisform.dealercode.value == "" || thisform.dealercode.value.length != 6) { thisform.dealercode.focus(); alert("Please enter valid Dealer Number."); return false; } else if (thisform.vehiclenumber.value == "" || thisform.vehiclenumber.value.length != 17) { thisform.vehiclenumber.focus(); alert("Please enter valid Vehicle Number."); return false; } else if (thisform.customernumber.value == "" || thisform.customernumber.value.length > 11) { thisform.customernumber.focus(); alert("Please enter valid Customer Number."); return false; } return true; } function submitLoginForm() { //alert("inside submitLoginForm"); if (isValidLogin() == true) { document.frmMain.action = "postdirectlogin"; document.frmMain.submit(); } } function submitDriveCondition() { document.frmMain.action = "postdrivecondition"; document.frmMain.submit(); // commented by Thiru refer defect #447, NO email validation for driving condition update. /* if (emailcheck()==true){ document.frmMain.action = "postdrivecondition"; document.frmMain.submit(); } else { return false; } */ } function clickContactUpdate() { var emailoption=document.frmMain.chkMail[1].checked; if (emailoption == true) { if (emailcheck() == false){ return false; } } document.frmMain.action = "contactupdate"; document.frmMain.submit(); } function emailValidation(str) { var at="@" var dot="." var lat=str.indexOf(at) var lstr=str.length var ldot=str.indexOf(dot) if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ return false } if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){ return false } if (str.indexOf(at,(lat+1))!=-1){ return false } if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ return false } if (str.indexOf(dot,(lat+2))==-1){ return false } if (str.indexOf(" ")!=-1){ return false } return true } function emailcheck(){ //var emailoption=document.frmMain.chkMail[1].checked; var emailID1=document.frmMain.txtMail; var emailID2=document.frmMain.txtMail2; if ((emailID1.value == "") || emailValidation(emailID1.value) == false) { alert("Please enter valid email address."); document.frmMain.txtMail.focus(); return false; } if ((emailID2.value == "") || emailValidation(emailID2.value) == false) { alert("Please enter valid email address."); document.frmMain.txtMail2.focus(); return false; } if(emailID1.value != emailID2.value){ alert("Please make sure both addresses are same."); document.frmMain.txtMail2.focus(); return false; } return true; } function clickOptinOut() { document.frmMain.action = "preoptinout"; document.frmMain.submit(); } function optinoutClick() { document.frmMain.reason.disabled = false; var optstatus=eval("document.frmMain.changestatus") var dealeroptstatus = document.frmMain.txtDealer.value; var radio1 = optstatus[0]; var radio2 = optstatus[1]; var radio3 = optstatus[2]; if (radio1.value == "1" && radio1.checked == true) { document.frmMain.reason.disabled = true; } if (radio2.value == "2" && radio2.checked == true) { if (dealeroptstatus == "false") { //allow dealer document.frmMain.reason.disabled = true; } } } function submitOptinOut() { //This check is when you see 1 radio button only //Allow dealers to send me maintenance reminders var optstatus=eval("document.frmMain.changestatus") if (optstatus.value=="3" && optstatus.checked==true) { document.frmMain.action = "postoptinout" document.frmMain.submit() return true } //When you see all 3 radio buttons var optstatus=eval("document.frmMain.changestatus") var dealeroptstatus = document.frmMain.txtDealer.value; var radio1 = optstatus[0]; var radio2 = optstatus[1]; var radio3 = optstatus[2]; var dealerinout = document.frmMain.txtDealer.value; var reasoncode = document.frmMain.reason.value; var postaction; //Please don't change my status //goto drive condition pref page if (radio1.checked == true) { postaction = "postdirectlogin" } //stop or allow dealer communication if (radio2.checked == true) { if (dealerinout == "true") { if (reasoncode == null || reasoncode == "") { alert("Please choose the reason.") document.frmMain.reason.focus() return false } } postaction = "postoptinout" } //stop from program if (radio3.checked == true) { if (reasoncode == null || reasoncode == "") { alert("Please choose the reason.") document.frmMain.reason.focus() return false } postaction = "postoptinout" } document.frmMain.action = postaction document.frmMain.submit() return true } function clickVehicleInfo() { document.frmMain.action = "prevehicleinfo"; document.frmMain.submit(); } function subPrintRecall() { var vin = document.frmMain.hiddenVin.value; var submitURL = "getrecallinfo?print=1&vin=" + vin; window.open(submitURL, 'PrintRecall', 'height=500,width=600,resizable,scrollbars,menubar=yes,toolbar=no,status=no,location=no'); } function validateZIP(field) { var valid = "0123456789-"; var hyphencount = 0; if (field.length!=5 && field.length!=10) { //alert("Please enter your 5 digit or 5 digit+4 zip code."); return false; } for (var i=0; i < field.length; i++) { temp = "" + field.substring(i, i+1); if (temp == "-") hyphencount++; if (valid.indexOf(temp) == "-1") { //alert("Invalid characters in your zip code. Please try again."); return false; } if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) { //alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'. Please try again."); return false; } } return true; } function rotateImg() { //alert(document.qlImage.src) fade = new Fx.Style('qlImage','opacity',{onComplete:function(){ if(imgCount>=arrImg.length) imgCount=0; document.getElementById('qlImage').src="images/" + arrImg[imgCount]; imgCount++; new Fx.Style('qlImage','opacity').start(0,1); }}).start(1,0); //document.qlImage.src="images/" + arrImg[imgCount]; t= setTimeout("rotateImg()",10000); } function cssClass(fn, el, class1, class2) { switch (fn) { case "swap": el.className = !cssClass("check", el, class1) ? el.className.replace(class2, class1) : el.className.replace(class1, class2); break; case "add": if (!cssClass("check", el, class1)) { el.className += el.className ? " " + class1 : class1; } break; case "remove": var rep = el.className.match(" " + class1) ? " " + class1 : class1; el.className = el.className.replace(rep, ""); break; case "check": return new RegExp("\\b" + class1 + "\\b").test(el.className); break; } } function getElementsByClassName(classname, tag, node) { if(!node) node = document.getElementsByTagName("body")[0]; var a = []; var re = new RegExp('\\b' + classname + '\\b'); var els = node.getElementsByTagName(tag?tag:"*"); for(var i=0,j=els.length; i