// adds a crossbrowser hover for non-A elements by id sfHover = function() { var sfEls = document.getElementById("suckerfishnav").getElementsByTagName("LI"); for (var i=0; i'; imagediv.innerHTML = imagestring; captiondiv.innerHTML = caption; } } function restoreProcess(){ function process(){ if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){ /* part_number = encodeURIComponent(document.getElementById("part_number").value); part_list = encodeURIComponent(document.getElementById("part_list").value); xmlHttp.open("GET", "parts_handler.php?part_list="+ part_list +"&part_number=" + part_number, true); */ xmlHttp.open("GET", "slideshow_handler.php", true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); } else { setTimeout('process()',10000); } } window.process = process; if(window.attachEvent){ window.attachEvent(process); } } function extralargeImage(imageID,windowheight){ if(imageID){ var ploca = "./extralarge_image.php?imgid="; ploca += imageID; window.open (ploca, "mywindow","menubar=0,status=0,resizable=0,scrollbars=0,width=640,height=508"); /* window.open (ploca, "mywindow","menubar=0,status=0,resizable=0,scrollbars=0,width=640,height=+windowheight+"/""); */ } else { return false; } } /* CONSTANTS */ /* Will need to be reset if tbRole changes */ var MFG_ADMIN = 2; var MFG_SALES_ADMIN = 3; var MFG_SERVICE_ADMIN = 4; var DEALER_ADMIN = 5; var DEALER_REP = 6; /* from tbBusiness */ var MFG = 1; // VALIDATOR FUNCTIONS // var problems; function v_business_names(el){ var t = el.value; var pat = /[^\w^\s^(-`',.!$|@%#’)]/; var v = new RegExp(pat); var tt = v.exec(t); if(!(!(tt))){ problems += el.name + " shouldn't contain disallowed character "+tt+"\n"; } if(!t.length){ problems += el.name + "\n"; } } function v_textfields(el){ var t = el.value; var pat = /[^\w^\s^(-`',.!$|@%#"&’“”)]`—–/; var v = new RegExp(pat); var tt = v.exec(t); if(!(!(tt))){ problems += el.name + " shouldn't contain disallowed character "+tt+"\n"; } if(!t.length){ problems += el.name + "\n"; } } function v_textfields_optional(el){ var t = el.value; var pat = /[^\w^\s^(-`',.!$|@%#"&’“”)]`—–/; var v = new RegExp(pat); var tt = v.exec(t); if(!(!(tt))){ problems += el.name + " shouldn't contain disallowed character "+tt+"\n"; } } function v_optional_numbers(el){ // is a number or comma var str = el.value; var PAT = new RegExp(/[^,\d]/); if (PAT.test(str)){ problems += el.name + " must be a number\n"; } } function v_addresses(el){ var str = el.value; if (!str.length){ problems += el.name + " must be entered\n"; } var PAT = new RegExp(/[^\w^'^-^.^\s]/); } function v_numbers(el){ // is a number or comma var str = el.value; if (!str.length){ problems += el.name + " must be entered\n"; } var PAT = new RegExp(/[^,\d]/); if (PAT.test(str)){ problems += el.name + " must be a number\n"; } } function v_floats(el){ // is a number or comma var str = el.value; if (!str.length){ problems += el.name + " must be entered\n"; } var PAT = new RegExp(/[^,.\d]/); if (PAT.test(str)){ problems += el.name + " must be a number\n"; } } function v_floats_optional(el){ // is a number or comma var str = el.value; var PAT = new RegExp(/[^,.\d]/); if (PAT.test(str)){ problems += el.name + " must be a number\n"; } } function v_not_zero(el){ t = el.value; if ( t == 0 ){ problems += el.name + " must be selected\n"; } } function v_gtzero(el){// greater than zero t = el.value; if(!(t > 0)){ problems += el.name +" must be selected\n"; } } function v_has_value(el){// greater than zero t = el.value; if(!(t.length > 0)){ problems += el.name +" must be entered\n"; } } function v_gteight(el){// greater than eight t = el.value; if(t.length < 8){ problems += el.name +" must be at least 8 digits\n"; } } function v_zipcode_optional(el){// is a zipcode var pat = /(^\d{5}$)|(^\d{5}-\d{4}$)/; var validator = new RegExp(pat); var t = el.value; if (! validator.test(t)){ problems += el.name + " isn't a valid zipcode\n"; } } /* function v_zipcode(el){ var str = el.value; var pat = /(^\d{5}$)|(^\d{5}-\d{4}$)/; var validator = new RegExp(pat); if (! validator.test(str)){ problems += el.name + " isn't a valid zipcode\n"; } } */ function v_zipcode(el){ // don't do anything } function v_special(el){// special case for role/business conflicts var elArray = el.form; var lim = elArray.length; for(var i = 0; i < lim; i++){ if ((elArray[i].validator)&&(elArray[i].validator == "special")){ if(elArray[i].value){ if(!(t > 0)){ problems += elArray[i].name + " must be selected\n"; } if((elArray[i-1].value == MFG_SALES_ADMIN)||(elArray[i-1].value == MFG_SERVICE_ADMIN)){ if(elArray[i].value != MFG ){ problems += "role and business combination conflict\n"; } } else { if((elArray[i-1].value == DEALER_ADMIN)||(elArray[i-1].value == DEALER_REP)){ if(elArray[i].value == MFG){ problems += "role and business combination conflict\n"; } } } } } } } function v_names(el){// names - works for o'brian, zeta-jones var t = el.value; var pat = /[^\w^'^-]/; var v = new RegExp(pat); var tt = v.exec(t); if(!(!(tt))){ problems += el.name + " shouldn't contain disallowed character "+tt+"\n"; } if(!t.length){ problems += el.name + "\n"; } } function v_alphanumeric(el){// alphanumeric - show disallowed characters var t = el.value; var pat = /\W/g; var v = new RegExp(pat); if(t.length){ var tt = v.exec(t); if(!(!(tt))){ problems += el.name + " shouldn't contain disallowed character "+tt+"\n"; } } else { problems += el.name +"\n"; } } function v_optional(el){// optional - allows anything but parentheses, brackets and curly brackets var t = el.value; // max length of 128 characters var pat = /[\)\(\{\}\[\]]/; var v = new RegExp(pat); var tt = v.exec(t); if(!(!(tt))){ problems += "disallowed character \" " + tt + " \" in " + el.name+"\n"; } if (t.length > 128){ problems += el.name +" entry is longer than allowable "; } } function v_phone_optional(el){// var t = el.value; // if(t.length > 0){ var pat = /^\(\d\d\d\) \d\d\d-\d\d\d\d$/; var v = new RegExp(pat); var tt = v.exec(t); if(!(tt)){ problems += el.name +" - Phone numbers must be entered in this format: (NNN) NNN-NNNN\n"; } } } function v_phone(el){// var t = el.value; // if(t.length > 0){ var pat = /^\(\d\d\d\) \d\d\d-\d\d\d\d$/; var v = new RegExp(pat); var tt = v.exec(t); if(!(tt)){ problems += el.name +" - Phone numbers must be entered in this format: (NNN) NNN-NNNN\n"; } } else { problems += el.name +"\n" } } function v_email(el){ var t = el.value; if(t.length > 0){ var pat = /^(.+)@(.+)$/; var v = new RegExp(pat); var tt = v.exec(t); if(!(tt)){ problems += "not a valid email address\n"; } if (t.length > 128){ problems += el.name +" entry is longer than allowable "; } } } function v_email(el){ var t = el.value; if(t.length > 0){ var pat = /^(.+)@(.+)$/; var v = new RegExp(pat); var tt = v.exec(t); if(!(tt)){ problems += "not a valid email address\n"; } if (t.length > 128){ problems += el.name +" entry is longer than allowable\n "; } } if (!(t.length)){ problems += el.name +" must be entered\n "; } } function v_email_optional(el){ var t = el.value; if(t.length > 0){ var pat = /^(.+)@(.+)$/; var v = new RegExp(pat); var tt = v.exec(t); if(!(tt)){ problems += "not a valid email address\n"; } if (t.length > 128){ problems += el.name +" entry is longer than allowable "; } } } function v_minimum5(el){// passwords and usernames no funny characters, size defined var t = el.value; var pat = /\w{5,}/; var v = new RegExp(pat); if((!(v.exec(t)))||(t.length > 13)){ problems += el.name + " must be between 5 and 13 characters\n"; } } function v_minimum8(el){// passwords and usernames no funny characters, size defined var t = el.value; var pat = /\w{8,}/; var v = new RegExp(pat); if((!(v.exec(t)))||(t.length > 8)){ problems += " use 8 characters for the search vin\n"; } } /* function v_vin(el){ var t= el.value; var pat = /\w{17}/; var v = new RegExp(pat); if((!(v.exec(t)))||(t.length > 17)){ problems += el.name + " must be 17 characters\n"; } } */ function v_vin(el){ var s = el.value; var ret = 0; if(s.length == 17){ var pat = /\w{4}/; ret = pat.test(s); } else { if(s.length == 19){ var pat = /^\*\w{17}\*$/; ret = pat.test(s); } } if(!ret){ problems += el.name + " is not a valid VIN\n"; } } // function to call above v_funcs as neccessary function validateForm(ob){ var e; problems = ""; var msg = "Please correct or fill in:\n"; // Call the form an array for clarity elArray = ob.form; for(var i = 0; i < elArray.length; i++){ if(elArray[i].title){ f = "v_" + elArray[i].title +"(elArray[i]);"; try{ eval(f); } catch (e){ } finally{ if(e){ problems += elArray[i].title + " validator is missing"; } } } } if(problems.length){ alert(msg + problems); return false; } else { return true; } } function validateSimpleForm(ob){ var e; problems = ""; var msg = "Please correct or fill in:\n"; // Call the form an array for clarity elArray = ob.form; for(var i = 0; i < elArray.length; i++){ if(elArray[i].title){ f = "v_" + elArray[i].title +"(elArray[i]);"; try{ eval(f); } catch (e){ } finally{ if(e){ problems += elArray[i].title + " validator is missing"; } } } } if(problems.length){ alert(msg + problems); return false; } else { simpleFormSubmit(ob); return false; } } function simpleFormSubmit(ob){ var loc; loc = "./simple_form_handler.php?"; var iframeid; // strip id_ from ob.form.id var re = /id_/; var str = ob.form.id; var elementid = str.replace(re,''); iframeid = "iframe_" + elementid; els = ob.form.elements; lim = els.length; for($i=0;$i < lim; $i++){ if (els[$i].checked){ var re = /[[]]/; var str = els[$i].name; // foo = str.replace(re,''); loc += str; loc += "="; loc += els[$i].value; } else { loc += els[$i].id; loc += "="; loc += els[$i].value; } if ($i < (lim-1)){ loc += "&"; } } iframeob = document.getElementById(iframeid); // alert(loc); iframeob.src = loc; // return false; } function checkboxEcho(id,ob){ var target = document.getElementById(id); target.value = ob.value; } function makeValidatorArray(ob){ var valblock = ""; for(var i = 0; i < ob.length;i++){ valblock +="
\n"; } return valblock; } function newImage(arg) { if (document.images) { rslt = new Image(); rslt.src = arg; return rslt; } } function changeImages() { if (document.images) { for (var i=0; i= 4){ theOtherItem.style.display = "block"; } else { theOtherItem.style.display = "none"; } } function customer_infoDisplayRoutine(el){ theItem = document.getElementById('customer_info'); theShowControl = document.getElementById('show'); theHideControl = document.getElementById('hide'); if(el == "show"){ theHideControl.style.display = "inline"; theItem.style.display = "block"; theShowControl.style.display = "none"; } else { theItem.style.display = "none"; theHideControl.style.display = "none"; theShowControl.style.display = "inline"; } } function owner_infoDisplayRoutine(el){ theItem = document.getElementById('owner_info'); theShowControl = document.getElementById('owner_show'); theHideControl = document.getElementById('owner_hide'); if(el == "owner_show"){ theHideControl.style.display = "inline"; theItem.style.display = "block"; theShowControl.style.display = "none"; } else { theItem.style.display = "none"; theHideControl.style.display = "none"; theShowControl.style.display = "inline"; } } function model_categoryDisplayRoutine(){ theControl = document.getElementById('report_type_aggregate'); if(theControl.checked){ item1 = document.getElementById('model_category1'); item2 = document.getElementById('model_category2'); item1.style.display = "inline"; item2.style.display = "inline"; } else { item1 = document.getElementById('model_category1'); item2 = document.getElementById('model_category2'); item1.style.display = "none"; item2.style.display = "none"; } } function service_categoryDisplayRoutine(categoryid,bool){ divname = "div_" + categoryid; div = document.getElementById(divname); if(bool == "on"){ div.style.display = "block"; } else { div.style.display = "none" } } function showContactInfo(id,obid,showcontrolid,hidecontrolid){ ob = document.getElementById(obid); showcontrol = document.getElementById(showcontrolid); hidecontrol = document.getElementById(hidecontrolid); src = "./dealer_contact_info.php?businessID="; src += id; ob.src = src; ob.style.display= "block"; showcontrol.style.display = "none"; hidecontrol.style.display = "block"; } function showContactEdit(id,obid){ ob = document.getElementById(obid); src = "./dealer_contact_edit.php?businessID="; src += id; ob.src = src; } function showIFrame(obid,obsrc){ ob = document.getElementById(obid); // showcontrol = document.getElementById(showcontrolid); // hidecontrol = document.getElementById(hidecontrolid); // src = "./dealer_contact_add.php"; ob.src = obsrc; ob.style.display= "block"; // showcontrol.style.display = "none"; // hidecontrol.style.display = "block"; } function hideContactInfo(obid,showcontrolid,hidecontrolid){ ob = document.getElementById(obid); showcontrol = document.getElementById(showcontrolid); hidecontrol = document.getElementById(hidecontrolid); ob.style.display= "none"; showcontrol.style.display = "block"; hidecontrol.style.display = "none"; } function serviceCategoryInputRoutine(){ category_select = document.getElementById('categoryID'); if(category_select.value == 0){ alert('Please Select A Category'); return false; } else { return true; } } function parentWindowNavigate(loc){ window.parent.location = loc; } function echoToParts(el){ var field2 = el.id +"_2"; var el2 = document.getElementById(field2); if(!el.checked){ el2.value = ""; } else { el2.value = el.checked; } } function echoToModel(el,id){ var field2 = "model_" + id; var el2 = document.getElementById(field2); if(el.checked){ el2.checked = "on"; } else { el2.checked = false; } } function setElementToCheck(form,ob,el1,val){ var cbox = ob; var field1 = eval("document."+ form + "." + el1) ; if(ob.checked){ field1.value = "1"; } else { field1.value = ""; } } function directSubmit(el){ theForm = document.getElementById(el.form.id); theName = document.getElementById('direct_submit_name'); theValue = document.getElementById('direct_submit_value'); theName.value = el.id; theValue.value = el.value; theForm.submit(); } function checkFor8(){ ret = 0; theValue= document.getElementById('vsearch'); if (theValue.value.length == 8){ return true; } else { alert("Please use 8 characters"); return false; } } function checkFor8Serv(){ ret = 0; theValue= document.getElementById('servsearch'); if (theValue.value.length == 8){ return true; } else { alert("Please use 8 characters"); return false; } } function submitNHTSARoutine(){ cause = document.getElementById('causeID'); causeID = cause.value; if(causeID > 0){ return true; } else { alert("Please Enter A Cause"); return false; } } function quickValidateDealerInfo(){ ret = "false"; errorStr = ""; theName = document.getElementById('name'); theAddress1 = document.getElementById('address1'); theEmail = document.getElementById('email'); if (! theName.value.length ){ errorStr += "A dealership name must be entered \r\n"; } if (! theAddress1.value.length ){ errorStr += "A street address must be entered \r\n"; } if (! theEmail.value.length ){ errorStr += "An email address must be entered \r\n"; } if(errorStr.length){ alert(errorStr); return false; } else { return true; } } function submitVehicleView(){ theForm = document.getElementById("vehicleview"); alert(theForm); // theForm.submit(); } function extraEquipmentRoutine(){ errorStr = ""; theDescription = document.getElementById('e_e_description'); theType = document.getElementById('extra_typeID'); if (! theDescription.value.length ){ errorStr += "A Description must be entered \r\n"; } if (!(theType.value > '0' ) ){ errorStr += "A Type must be selected"; } if(errorStr.length){ alert(errorStr); return false; } else { return true; } } function nullFunction(){ // don't do anything } var secs var timerID = null var timerRunning = false var delay = 1000 function InitializeTimer() { // Set the length of the timer, in seconds secs = 10 StopTheClock() StartTheTimer() } function StopTheClock() { if(timerRunning) clearTimeout(timerID) timerRunning = false } function StartTheTimer() { if (secs==0) { StopTheClock() // Here's where you put something useful that's // supposed to happen after the allotted time. // For example, you could display a message: alert("You have just wasted 10 seconds of your life.") } else { self.status = secs secs = secs - 1 timerRunning = true timerID = self.setTimeout("StartTheTimer()", delay) } }