var zone = "";
var zipcode = "";

function isZipCode( element ) {
	
    var content = new String( element.value );

    regularExpression = /^((\d{5})((-| )?\d{4})?)?$/;

    return regularExpression.test(content);
    
}

function route( zip, element ) {
	
	topWindow = window;
	target = "";

	if ( window.parent ) {
		topWindow = window.parent;
		target = " target='_parent' ";
	}
		
	zipcode = zip;
	zone = getZone( zip );

	if ( zone == "error" ) {
		return false;
	}
	
	setCookie( zip );

	if ( zone == "unsupported" ) {
		$("#zipErrorMessage").css("display","block");
		$("#zipCodeErrorMessage").html(inter_dialog_zipCodeError_01);
		$('#widg_01').dialog('option', 'buttons', { "Proceed": function() { topWindow.location=indexPage; }, "Try Again": function() { window.frames["clearZipCodeFrame2"].location.href="clearSession.php"; } });
		
		
	} else {
		if ( zone == "east" ){topWindow.location = routeEastPage;}
		if ( zone == "west" ){topWindow.location = routeWestPage;}
	}

	return true;
}

function setCookie( zip ) {
	document.cookie = "zipcode=" + zip + "; expires=20/04/3000 00:00:00";
	document.cookie = "zone=" + getZone( zip ) + "; expires=20/04/3000 00:00:00";
}

function getZone( zip ) {

	zip = new Number( zip.substring(0, 5) );

	if ( (zip >= 1000 && zip <= 49971) || (zip >= 53001 && zip <= 54990) 
	     || (zip >= 60001 && zip <= 62999 ) || (zip >= 70001 && zip <= 71497 ) ) {
		return "east";
	} else if ( (zip >= 50001 && zip <= 52809 ) || (zip >= 55001 && zip <= 59937) 
		     || (zip >= 63001 && zip <= 69367 ) || (zip >= 71601 && zip <= 96898 ) 
		     || (zip >= 97001 && zip <= 99950 ) ) {
		return "west";
	} else if ( (zip >= 210 && zip <= 988 ) || (zip >= 96910 && zip <= 96970) ) {
		return "unsupported";
	} else {
		return "error";
	}
	
}

function attemptRedirect() {
	cookies = document.cookie;
	
	if ( cookies[ zone ] == "east" ){window.location = routeEastPage;}
	if ( cookies[ zone ] == "west" ){window.location = routeWestPage;}
	if ( cookies[ zone ] == "unsupported" ){window.location = routeEastPage;}
	
}
function processZip() {
	var element = document.getElementById( 'zipCode' );
	var zipCodeErrorMessage = document.getElementById( "zipCodeErrorMessage" );
	
	if ( isZipCode( element ) ) {
		var zip =  element.value;
		if ( route( zip, zipCodeErrorMessage ) ) return;
	}
	$("#zipErrorMessage").css("display","block");
	$("#zipCodeErrorMessage").html(inter_dialog_zipCodeError_02);
	
}
