var first_url = 'leadcontact.php';
var second_url = 'leadcontact.php';

//--------------------------------------------------------------------------------------------------
// VALIDATION FOR ZIP CODE
//--------------------------------------------------------------------------------------------------
 
var strZipPreviousValue = ""
var strZipInvalids = /[^0-9]/;
 
function FormatZipCode(val)
{
	var strZipString = ""
	var strZipPass = val.value;
	var strZipLength = strZipPass.length;
	var z;
	var zz;
	var ZipcursorPosition = val.value.charAt((strZipLength) - 1)
 
	//IF THE INPUT IS LESS THAN 6...
	if(val.value.length < 6)
	{
		//IF THE VALUE HAS CHANGED...
		if(strZipPreviousValue != strZipPass)
		{
			//GET ALL OF THE NUMBERS INTO A STRING
			for(z = 0; z < strZipLength; ++z)
			{
				if (val.value.charAt(z) < "0" || val.value.charAt(z) > "9")
				{
 
					for(zz = 0; zz < strZipLength; ++zz)
					{
						var lZipChar = val.value.charAt(zz);
 
						//IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
						if(lZipChar.search(strZipInvalids) != -1)
						{
							strZipString = strZipString + lZipChar
							val.value = strZipPreviousValue
						}
					}
				}
			}
		}
	}
	else
	{
		val.value = strZipPreviousValue
	}
	strZipPreviousValue = val.value
}
 
//--------------------------------------------------------------------------------------------------
// VALIDATION FOR PHONE NUMBER
//--------------------------------------------------------------------------------------------------
 
var strPreviousValue = ""
var strInvalids = /[^0-9- \(\)\+]/;
 
function FormatPhone(val)
{
	var strNumberString = ""
	var strPass = val.value;
	var strLength = strPass.length;
	var i;
	var cursorPosition = val.value.charAt((strLength) - 1)
 
	//IF THE VALUE HAS CHANGED...
	if(strPreviousValue != strPass)
	{
		//GET ALL OF THE NUMBERS INTO A STRING
		for(i = 0; i < strLength; ++i)
		{
			if (val.value.charAt(i) < "0" || val.value.charAt(i) > "9")
			{
				for(i = 0; i < strLength; ++i)
				{
					var lchar = val.value.charAt(i);
 
					//IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
					if(lchar.search(strInvalids) != -1)
					{
						strNumberString = strNumberString + lchar
						val.value = strPreviousValue
					}
				}
			}
		}
	}
	strPreviousValue = val.value
}
 
 
//--------------------------------------------------------------------------------------------------
// VALIDATION FOR NAMES
//--------------------------------------------------------------------------------------------------
 
var strFirstTimeInFN = "";
var strPreviousNameValue = ""
 
var strNameInvalids = /[^a-zA-Z\-']/;
 
function FormatName(sName)
{
	if(strFirstTimeInFN != "False")
	{
		strFirstTimeInFN = "False"
		strPreviousNameValue = sName.value.substr(0,sName.value.length-1)
	}
 
	var strNameString = ""
	var strPass = sName.value;
	var strLength = strPass.length;
	var i;
	var cursorPosition = sName.value.charAt((strLength) - 1)
 
	//IF THE VALUE HAS CHANGED...
	if(strPreviousNameValue != strPass)
	{
		//GET ALL OF THE NUMBERS INTO A STRING
		for(i = 0; i < strLength; ++i)
		{
			for(i = 0; i < strLength; ++i)
			{
				var lchar = sName.value.charAt(i);
 
				//IF IT'S A LEGAL CHARACTER, APPEND IT TO A STRING
				if(lchar.search(strNameInvalids) != -1)
				{
					strNameString = strNameString + lchar
					sName.value = strPreviousNameValue
 
				}
			}
		}
	}
	strPreviousNameValue = sName.value
}
 
 
 
//------------------------------------------------------------------------------------------
// THIS FUNCTION DYNAMICALY FORMATS A PHONE NUMBER FIELD AS THE USER INPUTS THE NUMBER
//------------------------------------------------------------------------------------------
 
strPreviousPhoneNumberValue = ""
 
function FormatPhone_Extra(PhoneNumberField)
{
	var PhoneNumberVariable = PhoneNumberField.value
 
	var intFieldLength
	var strFieldString = ""
	var strNumberString = ""
 
	intFieldLength = PhoneNumberField.value.length
	strFieldString = PhoneNumberField.value
 
	if(strPreviousPhoneNumberValue != PhoneNumberVariable)
	{
		//GET ALL OF THE NUMBERS INTO A STRING
		for(i = 0; i < intFieldLength; ++i)
		{
			//IF IT'S A NUMBER, APPEND IT TO A STRING
			if (PhoneNumberField.value.substring(i,i+1) >= "0" &&
				PhoneNumberField.value.substring(i,i+1) <= "9")
			{
				strNumberString = strNumberString + strFieldString.substring(i,i+1)
			}
		}
/*
 
		//IF THERE IS AT LEAST 1 NUMBER, ADD THE LEFT PARENTHESIS
		if(strNumberString.length > 0 && strNumberString.substring(0,1) != "(")
		{
			strNumberString = "(" + strNumberString;
		}
 
		//IF THERE ARE MORE THAN 2 NUMBERS, INSERT THE LEFT PARENTHESIS
		if(strNumberString.length > 3 && strNumberString.substring(4,6) != ") " && strNumberString.length != 4)
		{
			x = strNumberString.substring(4,14)
			strNumberString = strNumberString.substring(0,4) + ") " + x;
		}
*/
 
		//IF THERE ARE MORE THAN 3 NUMBERS, INSERT A DASH
		if(strNumberString.length > 2 && strNumberString.substring(3,4) != "-" && strNumberString.length != 3)
		{
			x = strNumberString.substring(3,11)
			strNumberString =
			strNumberString.substring(0,3) + "-" + x;
		}
		//IF THERE ARE MORE THAN 6 NUMBERS, INSERT A DASH
		if(strNumberString.length > 6 && strNumberString.substring(7,8) != "-" && strNumberString.length != 7)
		{
			x = strNumberString.substring(7,11)
			strNumberString =
			strNumberString.substring(0,7) + "-" + x;
		}
		PhoneNumberField.value = strNumberString
	}
	strPreviousPhoneNumberValue = PhoneNumberField.value
}
//---------------------------------------------------------------------------
 
 
var aCityStates = sCityStates.split('|');
 
SubmitCounter = 0;
 
function setMonthDays()
{
	var optDay = document.formContact.MoveDay.options;
	var nMonth = document.formContact.MoveMonth.options[document.formContact.MoveMonth.selectedIndex].value;
	var nYear = document.formContact.MoveYear.options[document.formContact.MoveYear.selectedIndex].value;
	var nMaxDay;
	var i;
	var nCurrentDay = optDay.selectedIndex + 1;
 
	if (nMonth == 2)
	{	if (((nYear % 4 == 0) && (nYear % 100 != 0)) || (nYear % 400 == 0))
			nMaxDay = 29;
		else
			nMaxDay = 28;
	}
	else if (nMonth == 4 || nMonth == 6 || nMonth == 9 || nMonth == 11)
		nMaxDay = 30
	else
		nMaxDay = 31;
 
	if (nCurrentDay > nMaxDay)
		nCurrentDay = nMaxDay;
 
	optDay.length = 0;
	for (i=1; i<=nMaxDay; ++i)
	{	optDay[i-1] = new Option;
		optDay[i-1].text = i;
		optDay[i-1].value = i;
	}
	optDay.selectedIndex = nCurrentDay - 1;
}
 
function initState( formName, stateDropName, cityDropName, initialStateCode, initialCityId )
{
		var objForm = document.forms[formName];
		var stateDrop = objForm.elements[stateDropName];
		var cityDrop = objForm.elements[cityDropName];
		var selState;
 
		if (initialStateCode > 0)
		{
			selState = initialStateCode-1;
		}
		else
		{
			selState = stateDrop.selectedIndex;
		}
		for (i=0;i<aCityStates.length/3;i++)
		{
			var stateName = aCityStates[i*3];
			var stateCode = aCityStates[i*3+1];
			stateDrop.options[i+1]=new Option(stateName,stateCode);
			if (stateCode == initialStateCode)
				{
					selState = i + 1;
				}
		}
		stateDrop.selectedIndex=selState;
		if (selState>0)
		{
			selCity = cityDrop.selectedIndex;
			changedState( formName, stateDropName, cityDropName, selCity, initialCityId );
		}
		else
		{
			stateDrop.selectedIndex=0;
			cityDrop.selectedIndex=0;
		}
}
 
function changedState( formName, stateDropName, cityDropName, selCity, initialCityId )
{
		var objForm = document.forms[formName];
		var aCities
		stateDrop = objForm.elements[stateDropName];
		cityDrop = objForm.elements[cityDropName];
		selState = stateDrop.selectedIndex;
 
		if(selState>0)
		{
			aCities=(aCityStates[(selState-1)*3+2]).split('/');
			cityDrop.options.length=0;
			cityDrop.options[0]=new Option('-- Select a City --','');
			cityDrop.options[1]=new Option('-----------------','');
			for (i=0;i<aCities.length/2;i++)
			{
				var cityName = aCities[i*2];
				var cityId = aCities[i*2+1];
				cityDrop.options[i+2]=new Option(cityName,cityId);
				if ( cityId == initialCityId )
				{
					selCity = i+2;
				}
			}
		}
		cityDrop.selectedIndex=selCity;
}
 
 
 
var swear_words_arr=new Array("piss","fuck","cunt","cocksucker","motherfucker","tits","asshole","penis","breast","dickhead","bastard");
var swear_alert_arr=new Array();
var swear_alert_count=0;
 
function reset_alert_count()
{
swear_alert_count=0;
}
 
function wordFilter(form,fields)
{
reset_alert_count();
var compare_text;
var fieldErrArr=new Array();
var fieldErrIndex=0;
for(var i=0; i<fields.length; i++)
{
eval('compare_text=document.' + form + '.' + fields[i] + '.value;');
for(var j=0; j<swear_words_arr.length; j++)
{
for(var k=0; k<(compare_text.length); k++)
{
if(swear_words_arr[j]==compare_text.substring(k,(k+swear_words_arr[j].length)).toLowerCase())
{
swear_alert_arr[swear_alert_count]=compare_text.substring(k,(k+swear_words_arr[j].length));
swear_alert_count++;
fieldErrArr[fieldErrIndex]=i;
fieldErrIndex++;
}
}
}
}
var alert_text="";
for(var k=1; k<=swear_alert_count; k++)
{
alert_text+="\n" + "(" + k + ") " + swear_alert_arr[k-1];
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.focus();');
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.select();');
}
if(swear_alert_count>0)
{
alert("The form cannot be submitted.\nThe following illegal words were found:\n_______________________________\n" + alert_text + "\n_______________________________");
return false;
}
else
{
return ValidateForm();
return true;
}
}
 
 
function wordFilter2(form,fields)
{
reset_alert_count();
var compare_text;
var fieldErrArr=new Array();
var fieldErrIndex=0;
for(var i=0; i<fields.length; i++)
{
eval('compare_text=document.' + form + '.' + fields[i] + '.value;');
for(var j=0; j<swear_words_arr.length; j++)
{
for(var k=0; k<(compare_text.length); k++)
{
if(swear_words_arr[j]==compare_text.substring(k,(k+swear_words_arr[j].length)).toLowerCase())
{
swear_alert_arr[swear_alert_count]=compare_text.substring(k,(k+swear_words_arr[j].length));
swear_alert_count++;
fieldErrArr[fieldErrIndex]=i;
fieldErrIndex++;
}
}
}
}
var alert_text="";
for(var k=1; k<=swear_alert_count; k++)
{
alert_text+="\n" + "(" + k + ") " + swear_alert_arr[k-1];
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.focus();');
eval('compare_text=document.' + form + '.' + fields[fieldErrArr[0]] + '.select();');
}
if(swear_alert_count>0)
{
alert("The form cannot be submitted.\nThe following illegal words were found:\n_______________________________\n" + alert_text + "\n_______________________________");
return false;
}
else
{
 
return true;
}
}
 
 
<!--
 
var aCityStates = sCityStates.split('|');
 
var aBadWords = decodeWords(sBadWords).split(",");
 
SubmitCounter = 0;
window.onError = handleError;
 
function handleError(sError, sURL, nLineNum) {
	alert("Error:" + sError + " at line " + nLineNum);
	return false;
}
 
function decodeWords(sWords) {
	var i;
	var nCharCode;
	var sReturn = "";
 
	for (i=0; i<sWords.length; ++i)
	{	if (sWords.charAt(i) != ",") {
			nCharCode = sWords.charCodeAt(i) - 1;
			sReturn += unescape('%' + nCharCode.toString(16));
		}
		else
			sReturn += sWords.charAt(i);
	}
 
	return sReturn;
}
 
function addDays(myDate,days) {
    return new Date(myDate.getTime() + days*24*60*60*1000);
}
 
function setfutureDate() {
    var futureDate = addDays(new Date(),14);
	document.formContact.MoveMonth.selectedIndex = futureDate.getMonth();
	document.formContact.MoveDay.selectedIndex = futureDate.getDate() -1;
	document.formContact.MoveYear.options[document.formContact.MoveYear.selectedIndex].value = futureDate.getYear();
}
 
function setMoveType()
{
 
	var nMType = document.formContact.MType.value;
 
	if(nMType == '3' ){
		document.getElementById("divAuto").style.display='block';
		document.getElementById("divAuto").style.visibility='visible';
	}
	else{
		document.getElementById("divAuto").style.display='none';
		document.getElementById("divAuto").style.visibility='hidden';
	}
 
	if (nMType == '1' || nMType == '2') {
		document.getElementById("idMSize").style.display = 'block';
		document.getElementById("idMSize").style.visibility = 'visible';
	}
	else {
		document.getElementById("idMSize").style.display = 'none';
		document.getElementById("idMSize").style.visibility = 'hidden';
	}
}
 
function setDefaults()
{
  setMoveType();
  setfutureDate();
}
 
 
var dtCh= "/";
var minYear=1900;
var maxYear=3000;
 
function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){
        // Check that current character is number.
        var c = s.charAt(i);
        if ((c < "0") || (c > "9")) return false;
    }
    // All characters are numbers.
    return true;
}
 
function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
 
 
 
// Validate a phone number
// Expects a phone number. Makes sure the user doesn't just enter sequential numbers or identical characters
function checkPhone(phonenumber, lblPhone){
	var lastpart=phonenumber.substring(0,10);
	var sample=lastpart.substring(0,1);
	var sPhone = stripCharsInBag(phonenumber, "-");
 
 
	if (sPhone.length == 0)
		return true;
 
	if (sPhone.length < 10)
	{	alert("Please enter a valid 10 digit " + lblPhone + " Phone Number.");
		return false;
	}
 
	if ((sPhone=="0123456789") || (sPhone=="1234567890"))
	{
		alert("Please enter valid "+ lblPhone +" Phone Number.0123456789 and 1234567890 not allowed");
		return false;
	}
	else if (!isInteger(sPhone)) {
		alert("Please use only numbers in " + lblPhone + " Phone");
		return false;
	}
	else if (sAreaCodes.indexOf(phonenumber.substring(0,3)) < 1) {
		alert("Please enter valid "+ lblPhone +" Phone Area code.");
		return false;
	}
	else if (phonenumber.substring(3,6) == "555") {
		alert("Please enter valid "+ lblPhone +" Phone Number");
		return false;
	}
	else {
		for(i=1;i<lastpart.length;i++)
		{
			if ((lastpart.substring(i,i+1))!=sample) return true;
		}
		alert("Please enter valid "+ lblPhone +" Phone Number")
		return false;
	}
	return true;
}
 
function isValidEmail (strEmail) {
	return (strEmail.match(/^[^\/\#\,\^\*\\]+\@([A-Za-z0-9\-]{1,}\.)+([A-Za-z]{2,3})$/) ? true:false);
}
 
function setMonthDays()
{
	var optDay = document.formContact.MoveDay.options;
	var nMonth = document.formContact.MoveMonth.options[document.formContact.MoveMonth.selectedIndex].value;
	var nYear = document.formContact.MoveYear.options[document.formContact.MoveYear.selectedIndex].value;
	var nMaxDay;
	var i;
	var nCurrentDay = optDay.selectedIndex + 1;
 
	if (nMonth == 2)
	{	if (((nYear % 4 == 0) && (nYear % 100 != 0)) || (nYear % 400 == 0))
			nMaxDay = 29;
		else
			nMaxDay = 28;
	}
	else if (nMonth == 4 || nMonth == 30 || nMonth == 9 || nMonth == 11)
		nMaxDay = 30
	else
		nMaxDay = 31;
 
	if (nCurrentDay > nMaxDay)
		nCurrentDay = nMaxDay;
 
	optDay.length = 0;
	for (i=1; i<=nMaxDay; ++i)
	{	optDay[i-1] = new Option;
		optDay[i-1].text = i;
		optDay[i-1].value = i;
	}
	optDay.selectedIndex = nCurrentDay - 1;
}
 
function getMoveDate()
{
	var dMDate;
	var objForm;
	var nMonth;
	var nDay;
	var nYear;
 
	objForm = document.formContact;
	nYear = objForm.MoveYear.options[objForm.MoveYear.selectedIndex].value;
	nMonth = objForm.MoveMonth.options[objForm.MoveMonth.selectedIndex].value;
	nDay = objForm.MoveDay.options[objForm.MoveDay.selectedIndex].value;
	dMDate = new Date(nYear, nMonth - 1, nDay);
 
	return dMDate;
}
 
// Verify required fields
function validate(objForm) {
	var nOpt;
    var isSelected = ""
    var objForm = document.formContact;
    var sErrorMsg = "";
 
	// Prevent multiple submissions
    if (countSubmit() == false) {
        return false
    }
 
	if (!isFieldValid(objForm.MType, 1, "Move Type"))
		return false;
 
	var now = new Date();
	var currDate = new Date(now.getFullYear(), now.getMonth(), now.getDate());
	var moveDate = getMoveDate();
	objForm.MDate.value = objForm.MoveMonth.options[objForm.MoveMonth.selectedIndex].value + '/' + objForm.MoveDay.options[objForm.MoveDay.selectedIndex].value + '/' + objForm.MoveYear.options[objForm.MoveYear.selectedIndex].value;
 
				if (moveDate - currDate < 0)
				{
					alert ("The date you entered is in the past!.")
					SubmitCounter = 0
					return false;
				}
				if (moveDate - currDate < 0)
				{
					alert ("Move date is within 1 day.  We can only accept moves 6 months from the current date or select our Last Minute Move!.")
					SubmitCounter = 0
					return false;
				}
				if (moveDate - currDate > 15552000000)
				{
					alert ("Move date is after 6 months.  We can only accept moves up to 6 months from the current date.")
					SubmitCounter = 0
					return false;
	}
 
	if (sErrorMsg.length > 0) {
		objForm.MoveMonth.focus();
		alert(sErrorMsg);
		SubmitCounter = 0;
		return false;
	}
 
	// If full service or self service, require move size
	if (objForm.MType.value == 1 || objForm.MType.value == 2) {
 
		if (!isFieldValid(objForm.ApproxWeight, 1,"Move Size"))
			return false;
	}
 
	if (!isFieldValid(objForm.Zip, 5, "From Zip"))
		return false;
 
	if (!isFieldValid(objForm.ToState, 1, "To State"))
		return false;
 
	if (!isFieldValid(objForm.ToCity, 1, "To City"))
		return false;
 
	if (!isFieldValid(objForm.FirstName, 1, "First Name"))
		return false;
 
	if (!isFieldValid(objForm.LastName, 1, "Last Name"))
		return false;
 
	if(isValidEmail(objForm.EmailAddr.value) == false) {
		objForm.EmailAddr.focus();
		alert ("Please enter a valid Email address.")
		SubmitCounter = 0
		return false;
	}
 
	var strWorkPhone = objForm.txtWorkPhone1.value + objForm.txtWorkPhone2.value + objForm.txtWorkPhone3.value;
	var strHomePhone = objForm.txtHomePhone1.value + objForm.txtHomePhone2.value + objForm.txtHomePhone3.value;
 
	if ((strWorkPhone.length == 0) && (strHomePhone.length == 0)) {
		objForm.txtWorkPhone1.focus();
		alert ("Please enter at least one phone number.")
		SubmitCounter = 0
		return false;
	}
	if (checkPhone(strWorkPhone, "Work")==false) {
		objForm.txtWorkPhone1.focus();
		SubmitCounter = 0
		return false;
	}
	if (checkPhone(strHomePhone, "Home")==false) {
		objForm.txtHomePhone1.focus();
		SubmitCounter = 0
		return false;
	}
	if (!isFieldValid(objForm.ContactPref, 1, "Best Time To Call"))
		return false
 
	if (findBadWord(objForm.txtComment.value)) {
		alert("The contents of 'Additional Requests' cannot be accepted");
		objForm.txtComment.focus();
		SubmitCounter = 0;
		return false;
	}
	if (objForm.txtComment.value.length > 255) {
 
		alert ("Please enter less than 255 characters in 'Additional Requirements'. Please remove " + (document.formContact.txtComment.value.length - 255) + " characters.")
		objForm.txtComment.focus();
		SubmitCounter = 0;
		return false;
	}
	if (objForm.MType.value == "3"){
		if (!isFieldValid(objForm.txtMake1, 1, "Please enter vehicle make ."))
			return false;
 
		if (!isFieldValid(objForm.txtModel1, 1, "Please enter vehicle model ."))
			return false;
 
		if (!isValidAutoYear(objForm.txtYear1, "Please enter a valid four digit vehicle year ."))
			return false;
 
		if (objForm.txtMake2.value.length > 0) {
			if (!isFieldValid(objForm.txtModel2, 1, "Please enter vehicle model (#2)."))
				return false;
 
			if (!isValidAutoYear(objForm.txtYear2, "Please enter valid four digit vehicle year (#2)."))
				return false;
		}
	}
 
 
	if(objForm.ToState.value > 0){
		objForm.GeoID.value = objForm.ToState.value
	}
	if(objForm.ToCity.value > 0){
		objForm.GeoID.value = objForm.ToCity.value
	}
	return true;
}
 
function isFieldValid(objField, nMinLen, sFieldName) {
	var bSelectField = false
 
	if (objField.type == 'select-one')
		bSelectField = true;
 
	if ((bSelectField && objField.value < 1)
	     || objField.value.length < nMinLen) {
		objField.focus();
		if (bSelectField)
			alert("Please select a '" + sFieldName + "'");
		else
			alert("Please enter '" + sFieldName + "'");
 
		SubmitCounter = 0;
		return false;
	}
 
	if (!bSelectField && findBadWord(objField.value)) {
		alert("Contents of '" + sFieldName + "' cannot be accepted");
		objField.focus();
		SubmitCounter = 0;
		return false;
	}
	return true;
}
 
function findBadWord(sText) {
	var nIndex;
 
	sText = sText.toLowerCase();
	for (nIndex=0; nIndex<aBadWords.length; ++nIndex) {
		if (sText.indexOf(aBadWords[nIndex]) >= 0)
			return true;
	}
 
	return false;
}
 
function isValidAutoYear(objField, sErrorMsg) {
	if (objField.value.length != 4 || !isInteger(objField.value)
	    || objField.value < 1900 || objField.value > 2100) {
		objField.focus();
		alert(sErrorMsg);
		SubmitCounter = 0;
		return false;
	}
	return true;
}
 
function countSubmit() {
    SubmitCounter++;
    if(SubmitCounter > 1) {
      return false;
    }
  return true;
}
 
function initState( formName, stateDropName, cityDropName, initialStateCode, initialCityId )
{
		var objForm = document.forms[formName];
		var stateDrop = objForm.elements[stateDropName];
		var cityDrop = objForm.elements[cityDropName];
		var selState;
 
		if (initialStateCode > 0)
		{
			selState = initialStateCode-1;
		}
		else
		{
			selState = stateDrop.selectedIndex;
		}
		for (i=0;i<aCityStates.length/3;i++)
		{
			var stateName = aCityStates[i*3];
			var stateCode = aCityStates[i*3+1];
			stateDrop.options[i+1]=new Option(stateName,stateCode);
			if (stateCode == initialStateCode)
				{
					selState = i + 1;
				}
		}
		stateDrop.selectedIndex=selState;
		if (selState>0)
		{
			selCity = cityDrop.selectedIndex;
			changedState( formName, stateDropName, cityDropName, selCity, initialCityId );
		}
		else
		{
			stateDrop.selectedIndex=0;
			cityDrop.selectedIndex=0;
		}
}
 
function changedState( formName, stateDropName, cityDropName, selCity, initialCityId )
{
		var objForm = document.forms[formName];
		var aCities
		stateDrop = objForm.elements[stateDropName];
		cityDrop = objForm.elements[cityDropName];
		selState = stateDrop.selectedIndex;
 
		if(selState>0)
		{
			aCities=(aCityStates[(selState-1)*3+2]).split('/');
			cityDrop.options.length=0;
			cityDrop.options[0]=new Option('-- Select a City --','');
			cityDrop.options[1]=new Option('-----------------','');
			for (i=0;i<aCities.length/2;i++)
			{
				var cityName = aCities[i*2];
				var cityId = aCities[i*2+1];
				cityDrop.options[i+2]=new Option(cityName,cityId);
				if ( cityId == initialCityId )
				{
					selCity = i+2;
				}
			}
		}
		cityDrop.selectedIndex=selCity;
}
 
 
