var vontooAcceptedAreaCodes = new Array();
var i = 0;
vontooAcceptedAreaCodes[i++]=201;
vontooAcceptedAreaCodes[i++]=202;
vontooAcceptedAreaCodes[i++]=203;
vontooAcceptedAreaCodes[i++]=204; //Manitoba
vontooAcceptedAreaCodes[i++]=205;
vontooAcceptedAreaCodes[i++]=206;
vontooAcceptedAreaCodes[i++]=207;
vontooAcceptedAreaCodes[i++]=208;
vontooAcceptedAreaCodes[i++]=209;
vontooAcceptedAreaCodes[i++]=210;
vontooAcceptedAreaCodes[i++]=212;
vontooAcceptedAreaCodes[i++]=213;
vontooAcceptedAreaCodes[i++]=214;
vontooAcceptedAreaCodes[i++]=215;
vontooAcceptedAreaCodes[i++]=216;
vontooAcceptedAreaCodes[i++]=217;
vontooAcceptedAreaCodes[i++]=218;
vontooAcceptedAreaCodes[i++]=219;
vontooAcceptedAreaCodes[i++]=224;
vontooAcceptedAreaCodes[i++]=225;
vontooAcceptedAreaCodes[i++]=226;
vontooAcceptedAreaCodes[i++]=227;
vontooAcceptedAreaCodes[i++]=228;
vontooAcceptedAreaCodes[i++]=229;
vontooAcceptedAreaCodes[i++]=231;
vontooAcceptedAreaCodes[i++]=234;
vontooAcceptedAreaCodes[i++]=239;
vontooAcceptedAreaCodes[i++]=240;
vontooAcceptedAreaCodes[i++]=242;
vontooAcceptedAreaCodes[i++]=248;
//vontooAcceptedAreaCodes[i++]=250;
vontooAcceptedAreaCodes[i++]=251;
vontooAcceptedAreaCodes[i++]=252;
vontooAcceptedAreaCodes[i++]=253;
vontooAcceptedAreaCodes[i++]=254;
vontooAcceptedAreaCodes[i++]=256;
vontooAcceptedAreaCodes[i++]=260;
vontooAcceptedAreaCodes[i++]=262;
vontooAcceptedAreaCodes[i++]=267;
vontooAcceptedAreaCodes[i++]=269;
vontooAcceptedAreaCodes[i++]=270;
vontooAcceptedAreaCodes[i++]=276;
vontooAcceptedAreaCodes[i++]=281;
vontooAcceptedAreaCodes[i++]=283;
vontooAcceptedAreaCodes[i++]=289; //Ontario
vontooAcceptedAreaCodes[i++]=301;
vontooAcceptedAreaCodes[i++]=302;
vontooAcceptedAreaCodes[i++]=303;
vontooAcceptedAreaCodes[i++]=304;
vontooAcceptedAreaCodes[i++]=305;
vontooAcceptedAreaCodes[i++]=306; //Saskatchewan
vontooAcceptedAreaCodes[i++]=307;
vontooAcceptedAreaCodes[i++]=308;
vontooAcceptedAreaCodes[i++]=309;
vontooAcceptedAreaCodes[i++]=310;
vontooAcceptedAreaCodes[i++]=312;
vontooAcceptedAreaCodes[i++]=313;
vontooAcceptedAreaCodes[i++]=314;
vontooAcceptedAreaCodes[i++]=315;
vontooAcceptedAreaCodes[i++]=316;
vontooAcceptedAreaCodes[i++]=317;
vontooAcceptedAreaCodes[i++]=318;
vontooAcceptedAreaCodes[i++]=319;
vontooAcceptedAreaCodes[i++]=320;
vontooAcceptedAreaCodes[i++]=321;
vontooAcceptedAreaCodes[i++]=323;
vontooAcceptedAreaCodes[i++]=325;
vontooAcceptedAreaCodes[i++]=330;
vontooAcceptedAreaCodes[i++]=331;
vontooAcceptedAreaCodes[i++]=334;
vontooAcceptedAreaCodes[i++]=336;
vontooAcceptedAreaCodes[i++]=337;
vontooAcceptedAreaCodes[i++]=339;
vontooAcceptedAreaCodes[i++]=340;
vontooAcceptedAreaCodes[i++]=341;
vontooAcceptedAreaCodes[i++]=345;
vontooAcceptedAreaCodes[i++]=347;
vontooAcceptedAreaCodes[i++]=351;
vontooAcceptedAreaCodes[i++]=352;
vontooAcceptedAreaCodes[i++]=360;
vontooAcceptedAreaCodes[i++]=361;
vontooAcceptedAreaCodes[i++]=369;
vontooAcceptedAreaCodes[i++]=380;
vontooAcceptedAreaCodes[i++]=385;
vontooAcceptedAreaCodes[i++]=386;
vontooAcceptedAreaCodes[i++]=401;
vontooAcceptedAreaCodes[i++]=402;
vontooAcceptedAreaCodes[i++]=403; //Alberta
vontooAcceptedAreaCodes[i++]=404;
vontooAcceptedAreaCodes[i++]=405;
vontooAcceptedAreaCodes[i++]=406;
vontooAcceptedAreaCodes[i++]=407;
vontooAcceptedAreaCodes[i++]=408;
vontooAcceptedAreaCodes[i++]=409;
vontooAcceptedAreaCodes[i++]=410;
vontooAcceptedAreaCodes[i++]=412;
vontooAcceptedAreaCodes[i++]=413;
vontooAcceptedAreaCodes[i++]=414;
vontooAcceptedAreaCodes[i++]=415;
vontooAcceptedAreaCodes[i++]=416; //Ontario
vontooAcceptedAreaCodes[i++]=417;
vontooAcceptedAreaCodes[i++]=418; // Quebec
vontooAcceptedAreaCodes[i++]=419;
vontooAcceptedAreaCodes[i++]=423;
vontooAcceptedAreaCodes[i++]=424;
vontooAcceptedAreaCodes[i++]=425;
vontooAcceptedAreaCodes[i++]=430;
vontooAcceptedAreaCodes[i++]=432;
vontooAcceptedAreaCodes[i++]=434;
vontooAcceptedAreaCodes[i++]=435;
vontooAcceptedAreaCodes[i++]=438;
vontooAcceptedAreaCodes[i++]=440;
vontooAcceptedAreaCodes[i++]=442;
vontooAcceptedAreaCodes[i++]=443;
vontooAcceptedAreaCodes[i++]=447;
vontooAcceptedAreaCodes[i++]=450; //Quebec
vontooAcceptedAreaCodes[i++]=464;
vontooAcceptedAreaCodes[i++]=469;
vontooAcceptedAreaCodes[i++]=470;
vontooAcceptedAreaCodes[i++]=475;
vontooAcceptedAreaCodes[i++]=478;
vontooAcceptedAreaCodes[i++]=479;
vontooAcceptedAreaCodes[i++]=480;
vontooAcceptedAreaCodes[i++]=484;
vontooAcceptedAreaCodes[i++]=501;
vontooAcceptedAreaCodes[i++]=502;
vontooAcceptedAreaCodes[i++]=503;
vontooAcceptedAreaCodes[i++]=504;
vontooAcceptedAreaCodes[i++]=505;
vontooAcceptedAreaCodes[i++]=505;
vontooAcceptedAreaCodes[i++]=506;
vontooAcceptedAreaCodes[i++]=507;
vontooAcceptedAreaCodes[i++]=508;
vontooAcceptedAreaCodes[i++]=509;
vontooAcceptedAreaCodes[i++]=510;
vontooAcceptedAreaCodes[i++]=512;
vontooAcceptedAreaCodes[i++]=513;
vontooAcceptedAreaCodes[i++]=514; //Quebec
vontooAcceptedAreaCodes[i++]=515;
vontooAcceptedAreaCodes[i++]=516;
vontooAcceptedAreaCodes[i++]=517;
vontooAcceptedAreaCodes[i++]=518;
vontooAcceptedAreaCodes[i++]=519; //Ontario
vontooAcceptedAreaCodes[i++]=520;
vontooAcceptedAreaCodes[i++]=530;
vontooAcceptedAreaCodes[i++]=540;
vontooAcceptedAreaCodes[i++]=541;
vontooAcceptedAreaCodes[i++]=551;
vontooAcceptedAreaCodes[i++]=557;
vontooAcceptedAreaCodes[i++]=559;
vontooAcceptedAreaCodes[i++]=561;
vontooAcceptedAreaCodes[i++]=562;
vontooAcceptedAreaCodes[i++]=563;
vontooAcceptedAreaCodes[i++]=564;
vontooAcceptedAreaCodes[i++]=567;
vontooAcceptedAreaCodes[i++]=570;
vontooAcceptedAreaCodes[i++]=571;
vontooAcceptedAreaCodes[i++]=573;
vontooAcceptedAreaCodes[i++]=574;
vontooAcceptedAreaCodes[i++]=575;
vontooAcceptedAreaCodes[i++]=580;
vontooAcceptedAreaCodes[i++]=585;
vontooAcceptedAreaCodes[i++]=586;
vontooAcceptedAreaCodes[i++]=601;
vontooAcceptedAreaCodes[i++]=602;
vontooAcceptedAreaCodes[i++]=603;
vontooAcceptedAreaCodes[i++]=604; //British Columbia
vontooAcceptedAreaCodes[i++]=605;
vontooAcceptedAreaCodes[i++]=606;
vontooAcceptedAreaCodes[i++]=607;
vontooAcceptedAreaCodes[i++]=608;
vontooAcceptedAreaCodes[i++]=609;
vontooAcceptedAreaCodes[i++]=610;
vontooAcceptedAreaCodes[i++]=612;
vontooAcceptedAreaCodes[i++]=613; //Ontario
vontooAcceptedAreaCodes[i++]=614;
vontooAcceptedAreaCodes[i++]=615;
vontooAcceptedAreaCodes[i++]=616;
vontooAcceptedAreaCodes[i++]=617;
vontooAcceptedAreaCodes[i++]=618;
vontooAcceptedAreaCodes[i++]=619;
vontooAcceptedAreaCodes[i++]=620;
vontooAcceptedAreaCodes[i++]=623;
vontooAcceptedAreaCodes[i++]=626;
vontooAcceptedAreaCodes[i++]=627;
vontooAcceptedAreaCodes[i++]=628;
vontooAcceptedAreaCodes[i++]=630;
vontooAcceptedAreaCodes[i++]=631;
vontooAcceptedAreaCodes[i++]=636;
vontooAcceptedAreaCodes[i++]=641;
vontooAcceptedAreaCodes[i++]=646;
vontooAcceptedAreaCodes[i++]=647; //Ontario
vontooAcceptedAreaCodes[i++]=649;
vontooAcceptedAreaCodes[i++]=650;
vontooAcceptedAreaCodes[i++]=651;
vontooAcceptedAreaCodes[i++]=657;
vontooAcceptedAreaCodes[i++]=659;
vontooAcceptedAreaCodes[i++]=660;
vontooAcceptedAreaCodes[i++]=661;
vontooAcceptedAreaCodes[i++]=662;
vontooAcceptedAreaCodes[i++]=667;
vontooAcceptedAreaCodes[i++]=669;
vontooAcceptedAreaCodes[i++]=670;
vontooAcceptedAreaCodes[i++]=671;
vontooAcceptedAreaCodes[i++]=678;
vontooAcceptedAreaCodes[i++]=679;
vontooAcceptedAreaCodes[i++]=682;
vontooAcceptedAreaCodes[i++]=684;
vontooAcceptedAreaCodes[i++]=689;
vontooAcceptedAreaCodes[i++]=701;
vontooAcceptedAreaCodes[i++]=702;
vontooAcceptedAreaCodes[i++]=703;
vontooAcceptedAreaCodes[i++]=704;
vontooAcceptedAreaCodes[i++]=705; //Ontario
vontooAcceptedAreaCodes[i++]=706;
vontooAcceptedAreaCodes[i++]=707;
vontooAcceptedAreaCodes[i++]=708;
vontooAcceptedAreaCodes[i++]=709; // Newfoundland
vontooAcceptedAreaCodes[i++]=712;
vontooAcceptedAreaCodes[i++]=713;
vontooAcceptedAreaCodes[i++]=714;
vontooAcceptedAreaCodes[i++]=715;
vontooAcceptedAreaCodes[i++]=716;
vontooAcceptedAreaCodes[i++]=717;
vontooAcceptedAreaCodes[i++]=718;
vontooAcceptedAreaCodes[i++]=719;
vontooAcceptedAreaCodes[i++]=720;
vontooAcceptedAreaCodes[i++]=724;
vontooAcceptedAreaCodes[i++]=727;
vontooAcceptedAreaCodes[i++]=730;
vontooAcceptedAreaCodes[i++]=731;
vontooAcceptedAreaCodes[i++]=732;
vontooAcceptedAreaCodes[i++]=734;
vontooAcceptedAreaCodes[i++]=737;
vontooAcceptedAreaCodes[i++]=740;
vontooAcceptedAreaCodes[i++]=747;
vontooAcceptedAreaCodes[i++]=754;
vontooAcceptedAreaCodes[i++]=757;
vontooAcceptedAreaCodes[i++]=760;
vontooAcceptedAreaCodes[i++]=762;
vontooAcceptedAreaCodes[i++]=763;
vontooAcceptedAreaCodes[i++]=764;
vontooAcceptedAreaCodes[i++]=765;
vontooAcceptedAreaCodes[i++]=769;
vontooAcceptedAreaCodes[i++]=770;
vontooAcceptedAreaCodes[i++]=772;
vontooAcceptedAreaCodes[i++]=773;
vontooAcceptedAreaCodes[i++]=774;
vontooAcceptedAreaCodes[i++]=775;
vontooAcceptedAreaCodes[i++]=778; //British Columbia
vontooAcceptedAreaCodes[i++]=779;
vontooAcceptedAreaCodes[i++]=780; //Alberta
vontooAcceptedAreaCodes[i++]=781;
vontooAcceptedAreaCodes[i++]=785;
vontooAcceptedAreaCodes[i++]=786;
vontooAcceptedAreaCodes[i++]=787;
vontooAcceptedAreaCodes[i++]=800;
vontooAcceptedAreaCodes[i++]=801;
vontooAcceptedAreaCodes[i++]=802;
vontooAcceptedAreaCodes[i++]=803;
vontooAcceptedAreaCodes[i++]=804;
vontooAcceptedAreaCodes[i++]=805;
vontooAcceptedAreaCodes[i++]=806;
vontooAcceptedAreaCodes[i++]=807; //Ontario
vontooAcceptedAreaCodes[i++]=808;
vontooAcceptedAreaCodes[i++]=809;
vontooAcceptedAreaCodes[i++]=810;
vontooAcceptedAreaCodes[i++]=812;
vontooAcceptedAreaCodes[i++]=813;
vontooAcceptedAreaCodes[i++]=814;
vontooAcceptedAreaCodes[i++]=815;
vontooAcceptedAreaCodes[i++]=816;
vontooAcceptedAreaCodes[i++]=817;
vontooAcceptedAreaCodes[i++]=818;
vontooAcceptedAreaCodes[i++]=819; //Quebec
vontooAcceptedAreaCodes[i++]=828;
vontooAcceptedAreaCodes[i++]=829;
vontooAcceptedAreaCodes[i++]=830;
vontooAcceptedAreaCodes[i++]=831;
vontooAcceptedAreaCodes[i++]=832;
vontooAcceptedAreaCodes[i++]=843;
vontooAcceptedAreaCodes[i++]=845;
vontooAcceptedAreaCodes[i++]=847;
vontooAcceptedAreaCodes[i++]=848;
vontooAcceptedAreaCodes[i++]=850;
vontooAcceptedAreaCodes[i++]=855;
vontooAcceptedAreaCodes[i++]=856;
vontooAcceptedAreaCodes[i++]=857;
vontooAcceptedAreaCodes[i++]=858;
vontooAcceptedAreaCodes[i++]=859;
vontooAcceptedAreaCodes[i++]=860;
vontooAcceptedAreaCodes[i++]=862;
vontooAcceptedAreaCodes[i++]=863;
vontooAcceptedAreaCodes[i++]=864;
vontooAcceptedAreaCodes[i++]=865;
vontooAcceptedAreaCodes[i++]=866;
vontooAcceptedAreaCodes[i++]=867; //Yukon, NW Terri. Nunavut
vontooAcceptedAreaCodes[i++]=870;
vontooAcceptedAreaCodes[i++]=872;
vontooAcceptedAreaCodes[i++]=876;
vontooAcceptedAreaCodes[i++]=877;
vontooAcceptedAreaCodes[i++]=878;
vontooAcceptedAreaCodes[i++]=880;
vontooAcceptedAreaCodes[i++]=881;
vontooAcceptedAreaCodes[i++]=882;
vontooAcceptedAreaCodes[i++]=883;
vontooAcceptedAreaCodes[i++]=884;
vontooAcceptedAreaCodes[i++]=885;
vontooAcceptedAreaCodes[i++]=886;
vontooAcceptedAreaCodes[i++]=887;
vontooAcceptedAreaCodes[i++]=888;
vontooAcceptedAreaCodes[i++]=889;
vontooAcceptedAreaCodes[i++]=901;
vontooAcceptedAreaCodes[i++]=902; // Nova Scotia
vontooAcceptedAreaCodes[i++]=903;
vontooAcceptedAreaCodes[i++]=904;
vontooAcceptedAreaCodes[i++]=905; // Ontario
vontooAcceptedAreaCodes[i++]=906;
vontooAcceptedAreaCodes[i++]=907;
vontooAcceptedAreaCodes[i++]=908;
vontooAcceptedAreaCodes[i++]=909;
vontooAcceptedAreaCodes[i++]=910;
vontooAcceptedAreaCodes[i++]=912;
vontooAcceptedAreaCodes[i++]=913;
vontooAcceptedAreaCodes[i++]=914;
vontooAcceptedAreaCodes[i++]=915;
vontooAcceptedAreaCodes[i++]=916;
vontooAcceptedAreaCodes[i++]=917;
vontooAcceptedAreaCodes[i++]=918;
vontooAcceptedAreaCodes[i++]=919;
vontooAcceptedAreaCodes[i++]=920;
vontooAcceptedAreaCodes[i++]=925;
vontooAcceptedAreaCodes[i++]=928;
vontooAcceptedAreaCodes[i++]=931;
vontooAcceptedAreaCodes[i++]=935;
vontooAcceptedAreaCodes[i++]=936;
vontooAcceptedAreaCodes[i++]=937;
vontooAcceptedAreaCodes[i++]=939;
vontooAcceptedAreaCodes[i++]=940;
vontooAcceptedAreaCodes[i++]=941;
vontooAcceptedAreaCodes[i++]=947;
vontooAcceptedAreaCodes[i++]=949;
vontooAcceptedAreaCodes[i++]=951;
vontooAcceptedAreaCodes[i++]=952;
vontooAcceptedAreaCodes[i++]=954;
vontooAcceptedAreaCodes[i++]=956;
vontooAcceptedAreaCodes[i++]=959;
vontooAcceptedAreaCodes[i++]=970;
vontooAcceptedAreaCodes[i++]=971;
vontooAcceptedAreaCodes[i++]=972;
vontooAcceptedAreaCodes[i++]=973;
vontooAcceptedAreaCodes[i++]=975;
vontooAcceptedAreaCodes[i++]=978;
vontooAcceptedAreaCodes[i++]=979;
vontooAcceptedAreaCodes[i++]=980;
vontooAcceptedAreaCodes[i++]=984;
vontooAcceptedAreaCodes[i++]=985;
vontooAcceptedAreaCodes[i++]=989;

var myPreLoadImageArray = new Array();
var myPreLoadImageArrayPlaceSpot = 0;
function preLoadImage(theSrc,theWidth,theHeight)
{
	if (document.images)
	{
		if ("" != theWidth && "" != theHeight) 
		{
			myPreLoadImageArray[myPreLoadImageArrayPlaceSpot] = new Image(theWidth,theHeight);
		}
		else
		{
			myPreLoadImageArray[myPreLoadImageArrayPlaceSpot] = new Image();
		}
		myPreLoadImageArray[myPreLoadImageArrayPlaceSpot].src = theSrc; 
		myPreLoadImageArrayPlaceSpot = myPreLoadImageArrayPlaceSpot + 1;
	}
}

function trim(inputString)
{
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ")
   {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ")
   {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1)
   { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
}


function stripCharsNotInBag(s, bag)
{
	var i;
	var returnString = "";
	// Search through string's characters one by one.
	// If character is in bag, append to returnString.
	for (i = 0; i < s.length; i++)
	{   
		// Check that current character isn't whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) >=0) 
			returnString += c;
	}
	return returnString;
}

function cleanPhoneInput(phoneInput)
{
	theValue = phoneInput.value;
	theValue = stripCharsNotInBag(theValue,"0123456789"); 
	while (theValue.indexOf("1") == 0)
	{
		if (theValue.indexOf("1") == 0)
		{
			theValue = theValue.substring(1,theValue.length);
		}
	}
	if (theValue.length > 10)
	{
		theValue = theValue.substring(0,10);
	}
	
	if (!validPhone(theValue))
	{
		theValue = "";
	}
	
	phoneInput.value = theValue;
}

function cleanZipCodeInput(zipInput)
{
	theValue = zipInput.value;
	theValue = stripCharsNotInBag(theValue,"0123456789"); 
	if (theValue.length > 5)
	{
		theValue = theValue.substring(0,5);
	}
	zipInput.value = theValue;
}

function checkIsSupported(theAreaCode)
{
    var returnBoolean = false;
    var i = vontooAcceptedAreaCodes.length;
    var j = 0;
    while ( j < i)
    {
        if (vontooAcceptedAreaCodes[j] == theAreaCode)
        {
           j=i;
           returnBoolean= true;
        }
        j++;
    }
    return returnBoolean;
}

function validPhone(strPhoneToTest)
{
	var isValid = false;
	if (strPhoneToTest.length == 10)
	{
		var areaCode = parseInt(strPhoneToTest.substring(0,3));
		if (areaCode >= 200 && areaCode < 999)
		{
		//removed areaCode != 902 
		    var areaCodeFound = checkIsSupported(areaCode);
			if (areaCodeFound) 
			{
				var first3AfterArea = parseInt(strPhoneToTest.substring(3,6));
				// 222 and 444 and 777 and 888 and 999 are valid
				if (first3AfterArea != 111 && first3AfterArea != 555 && first3AfterArea != 666)
				{
					isValid = true;
				}
				else
				{
					alert("Invalid Phone Number");
				}
			}
			
			if (areaCodeFound)
			{
			   // do nothing
			   isValid = isValid;
			}
			else
			{
			   alert("Area Code Not Supported");
			   isValid = false;
			}
		}
	}
	return isValid;
}

function validEmail(strEmailToTest)
{
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	if (!reg1.test(strEmailToTest) && reg2.test(strEmailToTest))
		return true;
	else
		return false;
}

function selectValueInField(theField,theValue)
{
   if (theField == null || theField == "" || theField.length < 0)
      return;
   
   var found = false;
   for (var x = 0; found == false && x < theField.options.length; x++)
   {
      if (theField.options[x].value == theValue)
      {
         theField.options[x].selected = true;
         found = true;
      }
   }
   if (found == false)
   {
      theField.options[0].selected = true;
   }
}