var datePickerDivID="datepicker";var iFrameDivID="datepickeriframe";var just_set=false;var dayArrayShort=new Array('Su','Mo','Tu','We','Th','Fr','Sa');var dayArrayMed=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');var dayArrayLong=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');var monthArrayShort=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');var monthArrayMed=new Array('Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec');var monthArrayLong=new Array('January','February','March','April','May','June','July','August','September','October','November','December');var defaultDateSeparator="/";var defaultDateFormat="mdy"
var dateSeparator=defaultDateSeparator;var dateFormat=defaultDateFormat;function displayDatePicker(dateFieldName,displayBelowThisObject,dtFormat,dtSep)
{var targetDateField=document.getElementById(dateFieldName);var body_element=document.getElementById('main_body');just_set=true;body_element.onclick=close_date;if(!displayBelowThisObject)
displayBelowThisObject=targetDateField;if(dtSep)
dateSeparator=dtSep;else
dateSeparator=defaultDateSeparator;if(dtFormat)
dateFormat=dtFormat;else
dateFormat=defaultDateFormat;var x=displayBelowThisObject.offsetLeft;var y=displayBelowThisObject.offsetTop+displayBelowThisObject.offsetHeight;var parent=displayBelowThisObject;while(parent.offsetParent){parent=parent.offsetParent;x+=parent.offsetLeft;y+=parent.offsetTop;}
drawDatePicker(targetDateField,x,y);}
function drawDatePicker(targetDateField,x,y)
{var dt=getFieldDate(targetDateField.value);if(!document.getElementById(datePickerDivID)){var newNode=document.createElement("div");newNode.setAttribute("id",datePickerDivID);newNode.setAttribute("class","dpDiv");newNode.setAttribute("style","visibility: hidden;");document.body.appendChild(newNode);}
var pickerDiv=document.getElementById(datePickerDivID);pickerDiv.style.position="absolute";pickerDiv.style.left=x+"px";pickerDiv.style.top=y+"px";pickerDiv.style.visibility=(pickerDiv.style.visibility=="visible"?"hidden":"visible");pickerDiv.style.display=(pickerDiv.style.display=="block"?"none":"block");pickerDiv.style.zIndex=10000;refreshDatePicker(targetDateField.name,dt.getFullYear(),dt.getMonth(),dt.getDate());}
function refreshDatePicker(dateFieldName,year,month,day)
{var thisDay=new Date();if((month>=0)&&(year>0)){thisDay=new Date(year,month,1);}else{day=thisDay.getDate();thisDay.setDate(1);}
var crlf="\r\n";var TABLE="<table cols=7 class='dpTable'>"+crlf;var xTABLE="</table>"+crlf;var TR="<tr class='dpTR'>";var TR_title="<tr class='dpTitleTR'>";var TR_days="<tr class='dpDayTR'>";var TR_todaybutton="<tr class='dpTodayButtonTR'>";var xTR="</tr>"+crlf;var TD="<td class='dpTD' onMouseOut='this.className=\"dpTD\";' onMouseOver=' this.className=\"dpTDHover\";' ";var TD_title="<td colspan=5 class='dpTitleTD'>";var TD_buttons="<td class='dpButtonTD'>";var TD_todaybutton="<td colspan=7 class='dpTodayButtonTD'>";var TD_days="<td class='dpDayTD'>";var TD_selected="<td class='dpDayHighlightTD' onMouseOut='this.className=\"dpDayHighlightTD\";' onMouseOver='this.className=\"dpTDHover\";' ";var xTD="</td>"+crlf;var DIV_title="<div class='dpTitleText'>";var DIV_selected="<div class='dpDayHighlight'>";var xDIV="</div>";var html=TABLE;html+=TR_title;html+=TD_buttons+getButtonCode(dateFieldName,thisDay,-1,"&lt;")+xTD;html+=TD_title+DIV_title+monthArrayLong[thisDay.getMonth()]+" "+thisDay.getFullYear()+xDIV+xTD;html+=TD_buttons+getButtonCode(dateFieldName,thisDay,1,"&gt;")+xTD;html+=xTR;html+=TR_days;for(i=0;i<dayArrayShort.length;i++)
html+=TD_days+dayArrayShort[i]+xTD;html+=xTR;html+=TR;for(i=0;i<thisDay.getDay();i++)
html+=TD+"&nbsp;"+xTD;do{dayNum=thisDay.getDate();TD_onclick=" onclick=\"updateDateField('"+dateFieldName+"', '"+getDateString(thisDay)+"');\">";if(dayNum==day)
html+=TD_selected+TD_onclick+DIV_selected+dayNum+xDIV+xTD;else
html+=TD+TD_onclick+dayNum+xTD;if(thisDay.getDay()==6)
html+=xTR+TR;thisDay.setDate(thisDay.getDate()+1);}while(thisDay.getDate()>1)
if(thisDay.getDay()>0){for(i=6;i>thisDay.getDay();i--)
html+=TD+"&nbsp;"+xTD;}
html+=xTR;var today=new Date();var todayString="Today is "+dayArrayMed[today.getDay()]+", "+monthArrayMed[today.getMonth()]+" "+today.getDate();html+=TR_todaybutton+TD_todaybutton;html+="<button class='dpTodayButton' onClick='refreshDatePicker(\""+dateFieldName+"\");'>this month</button> ";html+="<button class='dpTodayButton' onClick='updateDateField(\""+dateFieldName+"\");'>close</button>";html+=xTD+xTR;html+=xTABLE;document.getElementById(datePickerDivID).innerHTML=html;}
function getButtonCode(dateFieldName,dateVal,adjust,label)
{var newMonth=(dateVal.getMonth()+adjust)%12;var newYear=dateVal.getFullYear()+parseInt((dateVal.getMonth()+adjust)/12);if(newMonth<0){newMonth+=12;newYear+=-1;}
return"<button class='dpButton' onClick='refreshDatePicker(\""+dateFieldName+"\", "+newYear+", "+newMonth+");'>"+label+"</button>";}
function getDateString(dateVal)
{var dayString="00"+dateVal.getDate();var monthString="00"+(dateVal.getMonth()+1);dayString=dayString.substring(dayString.length-2);monthString=monthString.substring(monthString.length-2);switch(dateFormat){case"dmy":return dayString+dateSeparator+monthString+dateSeparator+dateVal.getFullYear();case"ymd":return dateVal.getFullYear()+dateSeparator+monthString+dateSeparator+dayString;case"mdy":default:return monthString+dateSeparator+dayString+dateSeparator+dateVal.getFullYear();}}
function getFieldDate(dateString)
{var dateVal;var dArray;var d,m,y;try{dArray=splitDateString(dateString);if(dArray){switch(dateFormat){case"dmy":d=parseInt(dArray[0],10);m=parseInt(dArray[1],10)-1;y=parseInt(dArray[2],10);break;case"ymd":d=parseInt(dArray[2],10);m=parseInt(dArray[1],10)-1;y=parseInt(dArray[0],10);break;case"mdy":default:d=parseInt(dArray[1],10);m=parseInt(dArray[0],10)-1;y=parseInt(dArray[2],10);break;}
dateVal=new Date(y,m,d);}else if(dateString){dateVal=new Date(dateString);}else{dateVal=new Date();}}catch(e){dateVal=new Date();}
return dateVal;}
function splitDateString(dateString)
{var dArray;if(dateString.indexOf("/")>=0)
dArray=dateString.split("/");else if(dateString.indexOf(".")>=0)
dArray=dateString.split(".");else if(dateString.indexOf("-")>=0)
dArray=dateString.split("-");else if(dateString.indexOf("\\")>=0)
dArray=dateString.split("\\");else
dArray=false;return dArray;}
function updateDateField(dateFieldName,dateString)
{var targetDateField=document.getElementsByName(dateFieldName).item(0);if(dateString)
targetDateField.value=dateString;var pickerDiv=document.getElementById(datePickerDivID);pickerDiv.style.visibility="hidden";pickerDiv.style.display="none";targetDateField.focus();if((dateString)&&(typeof(datePickerClosed)=="function"))
datePickerClosed(targetDateField);}
function adjustiFrame(pickerDiv,iFrameDiv)
{var is_opera=(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);if(is_opera)
return;try{if(!document.getElementById(iFrameDivID)){var newNode=document.createElement("iFrame");newNode.setAttribute("id",iFrameDivID);newNode.setAttribute("src","javascript:false;");newNode.setAttribute("scrolling","no");newNode.setAttribute("frameborder","0");document.body.appendChild(newNode);}
if(!pickerDiv)
pickerDiv=document.getElementById(datePickerDivID);if(!iFrameDiv)
iFrameDiv=document.getElementById(iFrameDivID);try{iFrameDiv.style.position="absolute";iFrameDiv.style.width=pickerDiv.offsetWidth;iFrameDiv.style.height=pickerDiv.offsetHeight;iFrameDiv.style.top=pickerDiv.style.top;iFrameDiv.style.left=pickerDiv.style.left;iFrameDiv.style.zIndex=pickerDiv.style.zIndex-1;iFrameDiv.style.visibility=pickerDiv.style.visibility;iFrameDiv.style.display=pickerDiv.style.display;}catch(e){}}catch(ee){}}
function close_date()
{if(document.getElementById(datePickerDivID)&&!just_set)
{var pickerDiv=document.getElementById(datePickerDivID);var body_element=document.getElementById('main_body');if(pickerDiv.style.visibility=="visible")
{pickerDiv.style.visibility="hidden";pickerDiv.style.display="none";body_element.onclick=null;}}
else just_set=false;}
function showThisId(str)
{try
{if(document.getElementById(str))document.getElementById(str).style.display='inline';}
catch(e)
{alert(e.message+' showThisId : ID: '+str);return(false);}}
function hideThisId(str)
{try
{if(document.getElementById(str))document.getElementById(str).style.display='none';}
catch(e)
{alert(e.message+' showThisRow : Row ID: '+str);return(false);}}
function showThisRow(str)
{try
{if(document.getElementById(str))document.getElementById(str).style.display='table-row';}
catch(e)
{try
{if(document.getElementById(str))document.getElementById(str).style.display='inline';}
catch(e)
{alert(e.message+' showThisRow : Row ID: '+str);return(false);}}}
function validateInternationalForm()
{var customQuote='';try
{if(document.getElementById('reqdTypeOfVehicle'))
{var vehicleIndex=document.getElementById('reqdTypeOfVehicle').selectedIndex;if(vehicleIndex==0)
{alert('Please select a vehicle type');document.getElementById('reqdTypeOfVehicle').focus();isValidForm=false;return(isValidForm)}}
if(document.getElementById('car_make_id'))
{var car_makeIndex=document.getElementById('car_make_id').selectedIndex;if(car_makeIndex==0)
{alert('Please Select a Make');document.getElementById('car_make_id').focus();isValidForm=false;return(isValidForm)}}
if(document.getElementById('VehicleModelID'))
{var VehicleModelIndex=document.getElementById('VehicleModelID').selectedIndex;if(VehicleModelIndex==0)
{alert('Please Select a Model');document.getElementById('VehicleModelID').focus();isValidForm=false;return(isValidForm)}}
var fromStateIndex=document.getElementById('FromState').selectedIndex;var strFromState=document.getElementById('FromState').options[fromStateIndex].value;var fromLocValue=trim(document.getElementById('reqdFromLocationZip').value);var fromCity=trim(document.getElementById('FromCity').value);var toIndex=document.getElementById('international_location_id').selectedIndex;var strToInternational=document.getElementById('international_location_id').options[toIndex].value;}
catch(e)
{}
if(fromStateIndex==0&&!IsInt(fromLocValue))
{alert('You must enter a valid 5 digit pickup zip code OR city AND state.');document.getElementById('FromState').focus();isValidForm=false;return(isValidForm)}
if(toIndex==0)
{alert('You must select a delivery location.');document.getElementById('international_location_id').focus();isValidForm=false;return(isValidForm)}
return(true);}
function validateForm()
{var isValidForm=true;var emailID=document.forms[1].Email
for(var i=0;i<document.forms[1].elements.length;i++)
{var strA=document.forms[1].elements[i];var strId=strA.id;var strValue=strA.value;var strName=strA.name;var strA=document.forms[1].elements[i];var strId=strA.id;var strValue=strA.value;var strName=strA.name;if(strId.indexOf('reqd')>-1)
{if(strValue.length==0)
{alert("Please complete all required fields");document.forms[1].elements[strName].focus();isValidForm=false;return(isValidForm)}}}
if(document.getElementById('FromZip'))
{if(document.getElementById('FromZip').value==''&&document.getElementById('FromCity').value=='')
{alert('You must enter a valid 5 digit pickup zip code OR city AND state.');document.getElementById('FromCity').focus();isValidForm=false;return(isValidForm)}}
if(document.getElementById('toZip'))
{if(document.getElementById('toZip').value==''&&document.getElementById('ToCity').value=='')
{alert('You must enter a valid 5 digit delivery zip code OR city AND state.');document.getElementById('ToCity').focus();isValidForm=false;return(isValidForm)}}
if(isValidEmail(emailID.value)==false){emailID.value=""
emailID.focus()
isValidForm=false}
if(emailID.value=='fred@crazy-wolf.com')
{alert('Freds Email.');isValidForm=false}
if(isValidForm)
{document.forms[1].submit();}}
function sendRequestNoUpdate(form_name)
{if(typeof form_name=='undefined')form_name='short-quote';var oForm=document.getElementById(form_name);var sBody=getRequestBody(oForm);var oXmlHttp=zXmlHttp.createRequest();oXmlHttp.open("post",'car-models-short.php',true);oXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");oXmlHttp.onreadystatechange=function()
{if(oXmlHttp.readyState==4)
{if(oXmlHttp.status==200)
{saveResultNoUpdate(oXmlHttp.responseText);}}}
oXmlHttp.send(sBody);return(false);}
function getRequestBody(oForm)
{var aParams=new Array();for(var i=0;i<oForm.elements.length;i++)
{var sParam=encodeURIComponent(oForm.elements[i].name);sParam+="=";sParam+=encodeURIComponent(oForm.elements[i].value);aParams.push(sParam);}
return aParams.join("&");}
function saveResultNoUpdate(sMessage)
{if(document.getElementById('car_make_id'))
{var car_make_index=document.getElementById('car_make_id').selectedIndex;Set_Cookie(car_make_index+'_car_model_select',sMessage,'','/','','');}}
function saveResult(sMessage)
{clearTimeout(timeOut);hide_div('download_div');var divModels=document.getElementById("models_div");var this_model_html=create_model_html(sMessage);divModels.innerHTML=this_model_html;if(document.getElementById('car_make_id')&&document.getElementById('VehicleModelID'))
{var car_make_index=document.getElementById('car_make_id').selectedIndex;var car_model_index=Get_Cookie(car_make_index+'_car_model_index');if(car_model_index!=null&&car_model_index!='undefined'&&car_model_index!='null')
{if(document.getElementById('VehicleModelID').selectedIndex!=car_model_index)
{document.getElementById('VehicleModelID').selectedIndex=car_model_index;Set_Cookie(car_make_index+'_car_model_select',sMessage,'','/','','');}}
else
{document.getElementById('VehicleModelID').selectedIndex=0;Set_Cookie(car_make_index+'_car_model_index',0,'','/','','');Set_Cookie(car_make_index+'_car_model_select',sMessage,'','/','','');}}}
function verifyRequired(){if(document.icpsignup["fields_email"].value==""){alert("The Email field is required.");return false;}
if(document.icpsignup["fields_fname"].value==""){alert("The First Name field is required.");return false;}
if(document.icpsignup["fields_lname"].value==""){alert("The Last Name field is required.");return false;}
return true;}
function isValidEmail(str){var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if(str.indexOf(at)==-1){alert("Invalid E-mail ID")
return false}
if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr){alert("Invalid E-mail ID")
return false}
if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr){alert("Invalid E-mail ID")
return false}
if(str.indexOf(at,(lat+1))!=-1){alert("You Have Entered an Invalid E-mail ID")
return false}
if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot){alert("Invalid E-mail ID")
return false}
if(str.indexOf(dot,(lat+2))==-1){alert("Invalid E-mail ID")
return false}
if(str.indexOf(" ")!=-1){alert("Invalid E-mail ID")
return false}
return true}
function stripCharsInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)==-1)returnString+=c;}
return returnString;}
function stripCharsNotInBag(s,bag)
{var i;var returnString="";for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(bag.indexOf(c)!=-1)returnString+=c;}
return returnString;}
