//browser detection
var strUserAgent = navigator.userAgent.toLowerCase();
var isIE = strUserAgent.indexOf("msie") > -1;

//regular expressions
var reValidDigit = /\d/;
var reValidDigitString = /^\d*$/;
var reKeyboardChars = /[\x00\x03\x08\x0D\x16\x18\x1A]/;
var reClipboardChars = /[cvxz]/i;
var reValidChar = /[a-zA-Z]/;
var reValidCharString = /^[a-zA-Z]*$/;

//Limit key stroke to number
function javafunc_LimitKeyToNumer(objEvent) {
	var iKeyCode, strKey, objInput;  
	
	if (isIE) {
		iKeyCode = objEvent.keyCode;
		objInput = objEvent.srcElement;
	} else {
		iKeyCode = objEvent.which;
		objInput = objEvent.target;
	}
	
	strKey = String.fromCharCode(iKeyCode);
	
	if (reValidDigitString.test(objInput.value) || strValue.length == 0) {
		objInput.validValue = objInput.value;
		if (!reValidDigit.test(strKey) && !reKeyboardChars.test(strKey) && !(objEvent.ctrlKey && reClipboardChars.test(strKey))) {
			return false;
		}
	} else {
		objInput.value = objInput.validValue;
		return false;
	}
}


function javafunc_txtZipSearch_KeyPress(objEvent) {
	var iKeyCode, strKey, objInput;  
	
	if (isIE) {
		iKeyCode = objEvent.keyCode;
		objInput = objEvent.srcElement;
	} else {
		iKeyCode = objEvent.which;
		objInput = objEvent.target;
	}
	
	if (iKeyCode == 13) {
	    document.getElementById('cmdSearch').click();
	    return false;
	}
	else {
	    strKey = String.fromCharCode(iKeyCode);
    	
	    if (reValidDigitString.test(objInput.value) || strValue.length == 0) {
		    objInput.validValue = objInput.value;
		    if (!reValidDigit.test(strKey) && !reKeyboardChars.test(strKey) && !(objEvent.ctrlKey && reClipboardChars.test(strKey))) {
			    return false;
		    }
	    } else {
		    objInput.value = objInput.validValue;
		    return false;
	    }
	}
}


function javafunc_txtZipSearch2_KeyPress(objEvent) {
	var iKeyCode, strKey, objInput;  
	
	if (isIE) {
		iKeyCode = objEvent.keyCode;
		objInput = objEvent.srcElement;
	} else {
		iKeyCode = objEvent.which;
		objInput = objEvent.target;
	}
	
	if (iKeyCode == 13) {
	    document.getElementById('cmdSearch2').click();
	    return false;
	}
	else {
	    strKey = String.fromCharCode(iKeyCode);
    	
	    if (reValidDigitString.test(objInput.value) || strValue.length == 0) {
		    objInput.validValue = objInput.value;
		    if (!reValidDigit.test(strKey) && !reKeyboardChars.test(strKey) && !(objEvent.ctrlKey && reClipboardChars.test(strKey))) {
			    return false;
		    }
	    } else {
		    objInput.value = objInput.validValue;
		    return false;
	    }
	}
}


function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}
 
function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}
 
var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		btn_1_over = newImage("images/btn_1-over.gif");
		btn_2_over = newImage("images/btn_2-over.gif");
		btn_3_over = newImage("images/btn_3-over.gif");
		btn_4_over = newImage("images/btn_4-over.gif");
		btn_5_over = newImage("images/btn_5-over.gif");
		btn_6_over = newImage("images/btn_6-over.gif");
		btn_service_request_over = newImage("images/btn_service_request-over.gif");
		preloadFlag = true;
	}
}


function javafunc_cmdSearch_OnClick() {

    if (javaTrim(document.getElementById('txtZipSearch').value).length == 0) {
        alert("Please enter your zip code");
        document.getElementById('txtZipSearch').focus();
        return false;
    }

    if (javaTrim(document.getElementById('txtZipSearch').value).length < 5) {
        alert("Your zip code is invalid");
        document.getElementById('txtZipSearch').focus();
        return false;
    }

    //Allow only one click
    oSubmit = document.getElementById('cmdSearch');
    if (oSubmit.value.toLowerCase() == 'search') {
        oSubmit.value = 'Searching';
        oSubmit.style.cursor = 'wait';
        return true;
    }
    else {
        return false;
    }

}


function javafunc_cmdSearch2_OnClick() {

    if (javaTrim(document.getElementById('txtZipSearch2').value).length == 0) {
        alert("Please enter your zip code");
        document.getElementById('txtZipSearch2').focus();
        return false;
    }

    if (javaTrim(document.getElementById('txtZipSearch2').value).length < 5) {
        alert("Your zip code is invalid");
        document.getElementById('txtZipSearch2').focus();
        return false;
    }

    //Allow only one click
    oSubmit = document.getElementById('cmdSearch2');
    if (oSubmit.value.toLowerCase() == 'search') {
        oSubmit.value = 'Searching';
        oSubmit.style.cursor = 'wait';
        return true;
    }
    else {
        return false;
    }

}


function javafunc_cmdSubmit_OnClick() {

    if (document.getElementById('cboState').value == '') {
        alert("Please Select a State");
        document.getElementById('cboState').focus();
        return false;
    }
    
    document.getElementById('txtState').value = document.getElementById('cboState').value;

    if (javaTrim(document.getElementById('txtFirstName').value).length == 0) {
        alert("Please enter your first name");
        document.getElementById('txtFirstName').focus();
        return false;
    }

    if (javaTrim(document.getElementById('txtLastName').value).length == 0) {
        alert("Please enter your last name");
        document.getElementById('txtLastName').focus();
        return false;
    }
    
    if (javaTrim(document.getElementById('txtEmail').value).length == 0) {
        alert("Please enter your email address or phone number");
        document.getElementById('txtEmail').focus();
        return false;
    }
    
    
    //Allow only one click
    oSubmit = document.getElementById('cmdSubmit');
    if (oSubmit.value.toLowerCase() == 'submit') {
        oSubmit.value = 'Saving';
        oSubmit.style.cursor = 'wait';
        return true;
    }
    else {
        return false;
    }

}


function javaTrim(psInput) {
	while (psInput.length > 0) {
		if (psInput.substr(psInput.length - 1, 1) == ' ') {
			psInput = psInput.substr(0, psInput.length - 1);
		}
		else {
			break;
		} 
	}
		
	while (psInput.length > 0) {
		if (psInput.substr(0, 1) == ' ') {
			psInput = psInput.substr(1, psInput.length - 1);
		}
		else {
			break;
		} 
	}
	
	return psInput;
}

