﻿// JScript File
//<script language="javascript" type="text/javascript">//
//<!--
    function formatPhoneNumber(phoneNumberFieldObject) 
    {
        var unformattedPhoneNumber = makeInteger(phoneNumberFieldObject.value);
        var isValidTollFreePrefix = false;
        var formattedPhoneNumber   = "";
        if(unformattedPhoneNumber.length > 3)
        {
        //valid current & future toll free number prefixes : http://en.wikipedia.org/wiki/Toll_free_number
            var validTollFreePrefixies = new Array("800","888","877","866","855","844","833","822");
            var first3Digits = unformattedPhoneNumber.charAt(0) + unformattedPhoneNumber.charAt(1) + unformattedPhoneNumber.charAt(2);
            var first4Digits = first3Digits + unformattedPhoneNumber.charAt(3);
                for(var k = 0; k < validTollFreePrefixies.length; k++)
                {
                    if(validTollFreePrefixies[k] == first3Digits)
                    {
                        isValidTollFreePrefix = true;
                        unformattedPhoneNumber = "1" + unformattedPhoneNumber;
                    }
                    else if("1" + validTollFreePrefixies[k] == first4Digits)
                    {
                        isValidTollFreePrefix = true;
                    }
               }//end for loop

               if(isValidTollFreePrefix)
               {
               //1-###-###-#### ext. ####
                   formattedPhoneNumber += "1" + "-" + unformattedPhoneNumber.charAt(1) + unformattedPhoneNumber.charAt(2) + unformattedPhoneNumber.charAt(3);
                   if(unformattedPhoneNumber.length > 4)
                   {
                       formattedPhoneNumber += "-" + unformattedPhoneNumber.charAt(4) + unformattedPhoneNumber.charAt(5) + unformattedPhoneNumber.charAt(6);
                       if(unformattedPhoneNumber.length > 7)
                       {
                           formattedPhoneNumber += "-" + unformattedPhoneNumber.charAt(7) + unformattedPhoneNumber.charAt(8) + unformattedPhoneNumber.charAt(9) + unformattedPhoneNumber.charAt(10);
                           if(unformattedPhoneNumber.length > 11)                                                                                                                                              {                                                                                                                                                                                        formattedPhoneNumber += " ext. ";
                                for(var i = 11; i < unformattedPhoneNumber.length; i++)                                                                                                                             {                                                                                                                                                                                       formattedPhoneNumber += unformattedPhoneNumber.charAt(i);                                                                                                                       }
                           }
                       }
                    }
                }
                else
                {
                    if(unformattedPhoneNumber.charAt(0) == "1")
                    {
                        var tempUnformattedPhoneNumber = "";
                        for(var j = 1; j < unformattedPhoneNumber.length; j++)
                        {
                            tempUnformattedPhoneNumber += unformattedPhoneNumber.charAt(j);
                        }
                        unformattedPhoneNumber = tempUnformattedPhoneNumber;
                    }
                    //(###) ###-#### ext. ####
                    formattedPhoneNumber += "(" + unformattedPhoneNumber.charAt(0) + unformattedPhoneNumber.charAt(1) + unformattedPhoneNumber.charAt(2);
                    if(unformattedPhoneNumber.length >= 3)
                    {
                        formattedPhoneNumber += ") "
                        if(unformattedPhoneNumber.length > 3)
                        {
                            formattedPhoneNumber += unformattedPhoneNumber.charAt(3) + unformattedPhoneNumber.charAt(4) + unformattedPhoneNumber.charAt(5);
                            if(unformattedPhoneNumber.length > 6)
                            {
                                formattedPhoneNumber += "-" + unformattedPhoneNumber.charAt(6) + unformattedPhoneNumber.charAt(7) + unformattedPhoneNumber.charAt(8) + unformattedPhoneNumber.charAt(9);                                                                                                                                                                                   if(unformattedPhoneNumber.length > 10)
                                {
                                    formattedPhoneNumber += " ext. ";
                                    for(var i = 10; i < unformattedPhoneNumber.length; i++)
                                    {
                                        formattedPhoneNumber += unformattedPhoneNumber.charAt(i);
                                    }
                                }
                            }
                        }
                    }
                }
            }   
            else
            {
                formattedPhoneNumber += unformattedPhoneNumber;
            }
       phoneNumberFieldObject.value = formattedPhoneNumber;
       return formattedPhoneNumber;                                      
    }
function checkPhoneNumber(e)
{
	// If the browser doesn't support this, just return true;
	if(!e || !(e.keyCode || e.which))
		return true;

	var keyCode = (e.keyCode) ? e.keyCode : e.which;
	
	// Allow backspace(8), tab(9), delete(46), arrow keys(37-40), home(35), end(36), ctrl(17), alt(18), and allow anything if control or alt is held down
	if(keyCode == 8 || keyCode == 9 || keyCode == 46 || (keyCode > 36 && keyCode < 41) || keyCode == 35 || keyCode == 36 || keyCode == 17 || keyCode == 18 || e.ctrlKey || e.altKey)
		return true;
	
	// If it is a digit, return true  -  digits are from 48-57 (above keys) or 96-105 (numeric pad)
	var isDigit = ((keyCode > 47 && keyCode < 58) || (keyCode > 95 && keyCode < 106));
	return isDigit && !e.shiftKey;
}

function makeInteger(alphaNumericValue)
{
	// Allow numbers 0-9
	return alphaNumericValue.replace(/\D/g, ""); // Replace any non-numeric characters with empty string
}

function makeNumeric(alphaNumericValue) 
{
	// Allow numbers 0-9 and .
	return alphaNumericValue.replace(/[^0-9.]/g, "");
    
    /* William's old code
    var numericValue = "";
    for(var i = 0; i <= alphaNumericValue.length; i++) 
    {
        if(alphaNumericValue.charAt(i) == "1" || alphaNumericValue.charAt(i) == "2" || alphaNumericValue.charAt(i) == "3" || alphaNumericValue.charAt(i) == "4" || alphaNumericValue.charAt(i) == "5" || alphaNumericValue.charAt(i) == "6" || alphaNumericValue.charAt(i) == "7" || alphaNumericValue.charAt(i) == "8" || alphaNumericValue.charAt(i) == "9" || alphaNumericValue.charAt(i) == "0" || alphaNumericValue.charAt(i) == ".")
        {
            numericValue += alphaNumericValue.charAt(i);
        }
    }
    return numericValue;
    */
}



function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}

function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {

		yScroll = self.pageYOffset;

	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict

		yScroll = document.documentElement.scrollTop;

	} else if (document.body) {// all other Explorers

		yScroll = document.body.scrollTop;

	}

	arrayPageScroll = new Array('',yScroll) 

	return arrayPageScroll;
}

function PopLightBoxV2(id)
    {
        var divTag = document.getElementById(id);
        
        if (divTag.className == "hide")
        {
            var arrayPageScroll = getPageScroll();
            var arrayPageSize = getPageSize();
            var LightBoxTop = arrayPageScroll[1] + (arrayPageSize[3] / 15);
            divTag.style.top = LightBoxTop + 'px';
            
            var arrayPageSize = getPageSize();
            var LightBoxLeft = (arrayPageSize[0] - 778)/2;
            divTag.style.left = LightBoxLeft + "px";
            divTag.className = "lightbox_v2";
        }
        else
        {
            divTag.className = "hide"
        }
    }

//-->

//</script>