var bLoaded = false;
var clientAreaX = 0;
var clientAreaY = 0;


function mouseTrap() {
	hideAll();
	hideEl(getEl("mousetrap"));
}

function handleResize() {		
	clientAreaX = getViewportWidth();
	clientAreaY = getViewportHeight();
	document.getElementById("mousetrapImg").width = clientAreaX;
	document.getElementById("mousetrapImg").height = clientAreaY - 10;
	repositionFooter();	
	bLoaded = true;

}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function getViewportWidth() {
	var width = 0;
	if( document.documentElement && document.documentElement.clientWidth )
		width = document.documentElement.clientWidth;
	else if( document.body && document.body.clientWidth )
		width = document.body.clientWidth;
	else if( window.innerWidth )
		width = window.innerWidth - 18;
	return width;
}

function getViewportHeight() {
	var height = 0;	
	
	if( document.documentElement && document.documentElement.clientHeight )
		height = document.documentElement.clientHeight;
	else if( document.body && document.body.clientHeight )
		height = document.body.clientHeight;
	else if( window.innerHeight )
		height = window.innerHeight - 18;
		
	return height;
	
}

function repositionFooter() {
	var mainContent = document.getElementById("mainContent");
	var footer = document.getElementById("footer");
	var clientY = getViewportHeight();
	
	mainContent.style.height = 0;
	//Equation: (client area height) - (footer height) - (header height) - (number of pixels for borders/dividers/etc.)
	var newHeight = Math.max((clientY - footer.offsetHeight),findPosY(footer));
	mainContent.style.height = newHeight + "px";

	/*
    var footer = getEl("footer");
    var footerKey = getEl("footerKey");
    var currY = findPosY(footerKey) + 25;
    var height = getViewportHeight();
    if(height > currY) {
        footer.style.position = "absolute";
        footer.style.top = ((height) - (footer.offsetHeight)) + "px";
    }
	*/
}
	
function checkZip(obj,objState) {    
    if (obj.value != '') {
        if (objState.value=='AB' || objState.value=='BC' || objState.value=='MB' || objState.value=='AB' || objState.value=='NB' || objState.value=='NL' || objState.value=='NS' || objState.value=='ON' || objState.value=='PE' || objState.value=='QC' || objState.value=='SK' || objState.value=='NT' || objState.value=='NU' || objState.value=='YT') {
            if (isValidPostalcode(obj.value)==false) {
                alert('Please enter a valid postal code');
                obj.value='';
                obj.focus();
            }       
        }
        else {
            isValidZipCode(obj);                           
                   
        }
    }
}

function isValidPostalcode(postalcode) {
      if (postalcode.length == 6 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/) != -1) return true;
      else if (postalcode.length == 7 && postalcode.search(/^[a-zA-Z]\d[a-zA-Z](-|\s)\d[a-zA-Z]\d$/) != -1) return true;
      else return false; 
  
}		

function validateZip(val) {
    var valid;		
    var re = /^\d{5}([\-]\d{4})?$/;			
	valid = (re.test(val));
    return valid;
}
	
function validatePhone(val) {
    var valid 
    var re = /^\d{3}-\d{3}-\d{4}$/;
    valid = (re.test(val));	
	return valid;
}

	function isValidZipCode(obj) {			
			var valid
			if (obj.value!="") {
				var re = /^\d{5}([\-]\d{4})?$/;
				
				
				valid = (re.test(obj.value));
				if (valid==false) {
					alert('Zip code format is invalid.  Please enter a valid format (##### or #####-####).');
					obj.value='';
					obj.focus();
				}
			}
			
		}

