function checkForPOBox(objForm) {
	var regX;
	regX = /^(PO )|(P\.O )|(P O )|(P\. O\.)|(P\. O )/i;
	if (objForm.state.value == 'PR') {
		return true;
	}
	if (typeof objForm.street1 != 'undefined' && regX.test(objForm.street1.value)){
        alert("We can not deliver to a PO Box. Please enter a street address.");
        objForm.street1.focus();
        return false;
    }
    else if (typeof objForm.street2 != 'undefined' && regX.test(objForm.street2.value)){
        alert("We can not deliver to a PO Box. Please enter a street address.");
        objForm.street2.focus();
        return false;
    }
    else {
        return true;
    }
}

function validAddress(objForm,prefix){
    var strCountry = "US";
    var strErrorMsg;
    
//    trim(objForm.street1);
//    trim(objForm.city);
//    if(objForm.state) trim(objForm.state);
//    trim(objForm.zipCode);
//    alert('State txt='+objForm.elements[prefix+'state_txt'].value);
    if(objForm.elements[prefix+'street1'].value == "") {
        alert("Please enter a street address.");
        objForm.elements[prefix+'street1'].focus();
        return false;
    }
    else if(objForm.elements[prefix+'city'].value == "") {
        alert("Please enter a city.");
        objForm.elements[prefix+'city'].focus();
        return false;
    }
    else if(objForm.elements[prefix+'state'].value == '' && objForm.elements[prefix+'country'].options[objForm.elements[prefix+'country'].options.selectedIndex].value == '221') {
        alert("Please select a state.");
        return false;
    }
    else if(objForm.elements[prefix+'state_txt'].value == '' && objForm.elements[prefix+'country'].options[objForm.elements[prefix+'country'].options.selectedIndex].value != '221') {
        alert("Please enter a state or province.");
        return false;
    }
    else if(objForm.elements[prefix+'country'].options.selectedIndex <= 0) {
        alert("Please select a country");
        objForm.elements[prefix+'country'].focus();
        return false;
    }
    else if(!validateZipCode(objForm.elements[prefix+'country'].value,objForm.elements[prefix+'zipCode'].value)) {
        objForm.elements[prefix+'zipCode'].focus();                       
        return false;
    }
    else {
        return true;
    }
} 

function validateZipCode(strCountry, strZipCode){
    var regX;
    var strErrorMsg = "";
    if ((strZipCode == "") || (strZipCode != "")){    
        switch(strCountry){
            case "United States":
            case "US":
            case "221":
                regX = /(^\d{5}$)|(^\d{9}$)|(^\d{5}-\d{4}$)/
                if (!regX.test(strZipCode)){
                    strErrorMsg = "Please enter a 5 or 9 digit numeric postal code.\n Use the following format:\n\nNNNNN or NNNNN-NNNN\n\nN = Numbers only";
                }
                break;
            case "Canada":
            case "CA":
            case "36":
                //
                regX = /^\D{1}\d{1}\D{1}\-?\d{1}\D{1}\d{1}$|^\D{1}\d{1}\D{1}\s?\d{1}\D{1}\d{1}$/
                if (!regX.test(strZipCode)){
                    strErrorMsg = "Please enter a 6 character, alpha numeric postal code in the following format:\n\nANANAN or ANA-NAN or ANA NAN\n\nA = Alpha Character\nN = Numbers only";
                }
                break;
            case "Puerto Rico":
            case "PR":
            case "171":
                regX = /(^\d{5}$)/
                if (!regX.test(strZipCode)){
                    strErrorMsg = "Please enter a 5-digit, numeric postal code in the following format:\n\nNNNNN\n\nN = Numeric Character";
                }
                break;
        }
    }
    if(strErrorMsg != ""){ 
        alert(strErrorMsg);
        return false;
    }
    else {
        return true;
    }
}

function populateAddress(option){
	option.form.city.value = option.getAttribute("city");
	option.form.zipCode.value = option.getAttribute("zip");
	if (document.getElementById('state_text').style.display!='none') {
		option.form.state.value = '';
		return;
	}
	var states = option.form.state_dd.options;
	if(option.getAttribute("state") == ""){
		states[states.selectedIndex].selected = false;
		states.selectedIndex = 0;
		option.form.state_txt.value='';
		option.form.state.value='';
		return;
	}
	for(var i=0; i<states.length; i++){
		if(states[i].value == option.getAttribute("state")){
			states[i].selected = true;
			states.selectedIndex = i;
			option.form.state_txt.value = states[i].value;
			option.form.state.value = states[i].value;
			break;
		}
	}
}
