// 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)
}
}