  // this function is needed to work around   // a bug in IE related to element attributes  function hasClass(obj) {     var result = false;     if (obj.getAttributeNode("class") != null) {         result = obj.getAttributeNode("class").value;     }     return result;  }    function stripe(id) {    // the flag we'll use to keep track of     // whether the current row is odd or even    var even = false;      // if arguments are provided to specify the colours    // of the even & odd rows, then use the them;    // otherwise use the following defaults:    var evenColor = arguments[1] ? arguments[1] : "#1E1D1F";    var oddColor = arguments[2] ? arguments[2] : "#333333";      // obtain a reference to the desired table    // if no such table exists, abort    var table = document.getElementById(id);    if (! table) { return; }        // by definition, tables can have more than one tbody    // element, so we'll have to get the list of child    // &lt;tbody&gt;s     var tbodies = table.getElementsByTagName("tbody");    // and iterate through them...    for (var h = 0; h < tbodies.length; h++) {         // find all the &lt;tr&gt; elements...       var trs = tbodies[h].getElementsByTagName("tr");            // ... and iterate through them      for (var i = 0; i < trs.length; i++) {        // avoid rows that have a class attribute        // or backgroundColor style        if (! hasClass(trs[i]) &&            ! trs[i].style.backgroundColor) { 		            // get all the cells in this row...          var tds = trs[i].getElementsByTagName("td");                  // and iterate through them...          for (var j = 0; j < tds.length; j++) {                    var mytd = tds[j];            // avoid cells that have a class attribute            // or backgroundColor style            if (! hasClass(mytd) &&                ! mytd.style.backgroundColor) {                      mytd.style.backgroundColor =                even ? evenColor : oddColor;                        }          }        }        // flip from odd to even, or vice-versa        even =  ! even;      }    }  }  //Dealer Locator and What Suits My Car? error checkingfunction checkinput() {	var pc = document.DealerLocator.dlpostcode.value;	return checkpostcode(pc);}function checkinput1() {	var pc = document.DealerLocator1.dl1postcode.value;	return checkpostcode(pc);}function checkpostcode(pc){	if(pc==""){		alert("Please enter a postcode.");		return false;	}else if(pc<200){		alert("The postcode cannot be lower than 200.");		return false;	}else if(!isnumeric(pc)){		alert("The postcode must only contain numbers.");		return false;	}else{		return true;	}}function checkinput2() {	var state = document.DealerLocator2.dlstate.selectedIndex;	var suburb = document.DealerLocator2.dlsuburb.selectedIndex;	if(state==0 || suburb==0){		alert("Please select a state and suburb from the menus.");		return false;	}else{		return true;	}}function isnumeric(str) {   var validchars = "0123456789";   var isnumber=true;   var char;   for (i = 0; i < str.length && isnumber == true; i++){       char = str.charAt(i);       if (validchars.indexOf(char) == -1){         isnumber = false;      }   }   return isnumber;   }function SaveSuburbText(){	var menu = document.StoreLocator2.dlsuburb;	var suburb = menu.options[menu.selectedIndex].text;	document.StoreLocator2.SuburbText.value = suburb;}