/*
	allows for multiple actions to be added to the window.onload event
	without overwriting the existing event contents

	called as
	addOnLoadAct(functionName);
	NOTE: do not include () in the function name 
*/

var isIE=(document.all && navigator.userAgent.toLowerCase().indexOf('msie')!=-1? true : false);
var isOpera=(navigator.userAgent.toLowerCase().indexOf('opera')!=-1? true : false);
var isSafari=(document.getElementById && !isIE && !isOpera && navigator.userAgent.toLowerCase().indexOf('safari')!=-1? true :false)
var isFF=(document.getElementById && !isIE && !isOpera && !isSafari && navigator.userAgent.toLowerCase().indexOf('firefox')!=-1? true :false)
var isNS=isFF;
function vIE(){return (navigator.appName=='Microsoft Internet Explorer')? parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}
function vOpera(){return (isOpera)? parseFloat((new RegExp("Opera\/([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}
function vSafari(){return (isSafari)? parseFloat((new RegExp("Version\/([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}
function vFF(){return (isFF)? parseFloat((new RegExp("Firefox\/([0-9]{1,}[.0-9]{0,}[.0-9]{0,})")).exec(navigator.userAgent)[1]):-1;}
var isIE6 = (isIE && vIE()==6? true : false)
var isIE7 = (isIE && vIE()==7? true : false)
var isIE8 = (isIE && vIE()==8? true : false)

/* platform/OS check */
var isWin=(navigator.platform.toLowerCase().indexOf('win')!=-1? true: false);
var isMac=(navigator.platform.toLowerCase().indexOf('mac')!=-1? true: false);

var sTemp;

function addOnLoadAct(fNewOnLoad){	
	// save the existing onload event(s)
	var fCurrentOnLoad = window.onload;
	// if the existing onload does not have a function ...
	if (typeof window.onload != 'function'){
		// give it this function
		window.onload = fNewOnLoad;
	}else{
		// else add the new function to the existing function
		window.onload = function(){
			fCurrentOnLoad();
			fNewOnLoad();
		}
	}
}



function getTop(obj){
	yPos = eval(obj).offsetTop;
	tempEl = eval(obj).offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
	}
return yPos;
}

function getLeft(obj){
	xPos = eval(obj).offsetLeft;
	tempEl = eval(obj).offsetParent;
	while (tempEl != null) {
		xPos += tempEl.offsetLeft;
		tempEl = tempEl.offsetParent;
	}
return xPos;
}


function Right(str, n){
      if (n <= 0)
         return "";
      else if (n > String(str).length)
         return str;
      else {
         var iLen = String(str).length;
         return String(str).substring(iLen, iLen - n);
      }
  }


var arrGlobalSettings = new Array('divGlobal','divFax', 'divFaxIn');
var arrGlobalHeadings = new Array('tdGlobal','tdFax','tdFaxIn');

var arrUserSettings = new Array('divUser','divSchedule', 'divVoicemail', 'divVoicemailIn');
var arrUserHeadings = new Array('tdUser','tdSchedule', 'tdVoicemail', 'tdVoicemailIn');

function hideAll(arrBodyName, arrHeaderName){
	for(x=0; x<arrBodyName.length;x++){
		document.getElementById(arrBodyName[x]).style.display='none';
		document.getElementById(arrHeaderName[x]).className='clsSectionHeaderOff';
	}

}

function showHideContent(arrBodyName, arrHeaderName,objClassChange, objShow){
	hideAll(arrBodyName, arrHeaderName);
	document.getElementById(objShow).style.display='block';
	document.getElementById(objClassChange).className='clsSectionHeaderOn';
	

}


function getSource(sSource, eTarget){
	var xmlHttp;
	try	{  // Firefox, Opera 8.0+, Safari  
		xmlHttp=new XMLHttpRequest();  
	}catch (e) {  // Internet Explorer  
		try{    
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    
		}catch (e){    
			try{      
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      
			}catch (e){      
				alert("Your browser does not support AJAX!");      
				return false;      
			}    
		}  
	}
  	xmlHttp.onreadystatechange=function(){
   		 if(xmlHttp.readyState==4){
      		document.getElementById(eTarget).innerHTML=xmlHttp.responseText;
			document.getElementById(eTarget).parentNode.style.display='block';
			
      	}
    }
  	xmlHttp.open("GET",sRoot+"/AJAXContent/"+ sSource,true);
  	xmlHttp.send(null);  
}

// supported by all IE7 Opera, FF and Safari (Win/Mac)
function setClass(lstParentID, objOn, sCls){
	for (x=0; x<document.getElementById(lstParentID).childNodes.length;x++){
		document.getElementById(lstParentID).childNodes[x].className=sCls+'Off';
	}
	objOn.className=sCls+'On';
}

function setImage(lstParentID, objOn){
	var y=1;
	var iStep=2;
	//change indexing for IE - Opera also supports document.all, so check that it is not opera!! 
	if(document.all && navigator.appName.toLowerCase().indexOf('opera')==-1){
		y=0;
		iStep=1;
	}	
	for (x=y; x<document.getElementById(lstParentID).childNodes.length;x+=iStep){
		document.getElementById(lstParentID).childNodes[x].firstChild.src=document.getElementById(lstParentID).childNodes[x].firstChild.src.replace(/_on|_hv/i,'_nm');
	}
	objOn.src=objOn.src.replace(/_on|_hv|_nm/i,'_on');
	sTemp=objOn.src
}

var bNewDiv=0
function popImage(strImg){
var str='';
	str+='<div style="width:100%; height:100%;color:black;background:gray;filter:alpha(opacity=80);-moz-opacity:.80;opacity:.80;"></div>';
	str+='<div style="position:absolute; top:0px; left:0px; width:100%; height:100%; text-align:center;">';
	str+='<div style="width:100%; height:100%; text-align:center;">';
	str+='<table align="center" style="height:100%;" border="0"><tr><td valign="middle">';
	str+='<img src="'+strImg.replace(/_tn/i,'') +'">';	
	str+='</td></tr></table>';
	str+='</div>';
	str+='</div>';
	if(!bNewDiv){
	var newDiv = document.createElement('div');
	newDiv.id='divPopImage';
	newDiv.style.width='100%'; 
	newDiv.style.height='100%'; 
	newDiv.style.position='absolute'; 
	newDiv.style.left='0px'; 
	newDiv.style.zIndex='10000';
	newDiv.onclick=hidePortImage;
	document.getElementsByTagName('body').item(0).appendChild(newDiv);
	bNewDiv=1;
	}
	divSet=document.getElementById('divPopImage');
	divSet.style.top=getScrollXY()[1] +'px'; 
	divSet.innerHTML='';
	divSet.innerHTML=str;
	divSet.style.display='block';
	
}

function hidePortImage(){
document.getElementById('divPopImage').style.display='none';
}

function getScrollXY() {
    var x = 0, y = 0;
    if( typeof( window.pageYOffset ) == 'number' ) {
        // Netscape
        x = window.pageXOffset;
        y = window.pageYOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        // DOM
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        // IE6 standards compliant mode
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    return [x, y];
}


function validateContact(objForm){
	var bNoError=true;
	var regExName = /^[a-z]+([\'\-\. ]?[a-z]+)?$/i
	var regExEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/
	var regExPhone = /^(((0|1)( |-|\.)?)?\(?[2-9]\d{2}\)?)( |-|\.)?\d{3}( |-|\.)?\d{4}(( |-|\.)?[ext\.]+ ?\d+)?$/
	/*
	if(!regExName.test(objForm.txtNameFirst.value)){
		document.getElementById('divTxtNameFirstError').className='clsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameFirstError').className='clsFormErrorOff';
	}

	if(!regExName.test(objForm.txtNameLast.value)){
		document.getElementById('divTxtNameLastError').className='clsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameLastError').className='clsFormErrorOff';
	}
	*/
	if(!regExEmail.test(objForm.txtEmail.value)){
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOff';
	}
	/*
	if(!regExPhone.test(objForm.txtPhone.value)){
		document.getElementById('divTxtPhoneError').className='clsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtPhoneError').className='clsFormErrorOff';
	}
	*/
return bNoError;
}


function validateNewsletterRegistration(objForm){
	var bNoError=true;
	var regExName = /^[a-z]+([\'\-\. ]?[a-z]+)?$/i
	var regExEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/
	
	if(!regExName.test(objForm.txtNameFirst.value)){
		document.getElementById('divTxtNameFirstError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameFirstError').className='spanClsFormErrorOff';
	}

	if(!regExName.test(objForm.txtNameLast.value)){
		document.getElementById('divTxtNameLastError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameLastError').className='spanClsFormErrorOff';
	}
	
	if(!regExEmail.test(objForm.txtEmail.value)){
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOff';
	}

	if(!objForm.cboConfirm.checked){
		document.getElementById('divCboConfirm').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divCboConfirm').className='spanClsFormErrorOff';
	}

return bNoError;
}


function validateModelCall(objForm){
	var bNoError=true;
	var regExName = /^[a-z]+([\'\-\. ]?[a-z]+)?$/i
	var regExEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/
	var regExPostalCode =/^[a-z][0-9][a-z]\s?[0-9][a-z][0-9]$/i
	var regExPhone = /^(((0|1)( |-|\.)?)?\(?[2-9]\d{2}\)?)( |-|\.)?\d{3}( |-|\.)?\d{4}(( |-|\.)?[ext\.]+ ?\d+)?$/
	var regExAge = /^\d\d$/
	var regExAgencyEmail = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/
	var regExAgencyPhone = /^(((0|1)( |-|\.)?)?\(?[2-9]\d{2}\)?)( |-|\.)?\d{3}( |-|\.)?\d{4}(( |-|\.)?[ext\.]+ ?\d+)?$/
	
	if(!objForm.txtModelType1.checked && !objForm.txtModelType2.checked && !objForm.txtModelType3.checked){
		document.getElementById('divTxtModelTypeError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtModelTypeError').className='spanClsFormErrorOff';
	}
	
	
	
	if(!regExName.test(objForm.txtNameFirst.value)){
		document.getElementById('divTxtNameFirstError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameFirstError').className='spanClsFormErrorOff';
	}

	if(!regExName.test(objForm.txtNameLast.value)){
		document.getElementById('divTxtNameLastError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtNameLastError').className='spanClsFormErrorOff';
	}
	
	//Address
	if(!objForm.txtAddress.value){
		document.getElementById('divTxtAddressError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtAddressError').className='spanClsFormErrorOff';
	}
	
	if(!regExName.test(objForm.txtCity.value)){
		document.getElementById('divTxtCityError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtCityError').className='spanClsFormErrorOff';
	}
	
	if(!regExPostalCode.test(objForm.txtPostalCode.value)){
		document.getElementById('divTxtPostalCodeError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtPostalCodeError').className='spanClsFormErrorOff';
	}
	
	if(!regExPhone.test(objForm.txtPhone.value)){
		document.getElementById('divTxtPhoneError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtPhoneError').className='spanClsFormErrorOff';
	}
	
	if(!regExAge.test(objForm.txtAge.value) || objForm.txtAge.value <18){
		document.getElementById('divTxtAgeError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtAgeError').className='spanClsFormErrorOff';
	}
	
	
	if(!regExEmail.test(objForm.txtEmail.value)){
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtEmailError').className='spanClsFormErrorOff';
	}
	

	if(!objForm.txtRelease.checked){
		document.getElementById('divTxtReleaseError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtReleaseError').className='spanClsFormErrorOff';
	}
	
	
	if(!objForm.txtVolunteer.checked){
		document.getElementById('divTxtVolunteerError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtVolunteerError').className='spanClsFormErrorOff';
	}
	
	if(!objForm.txtFileUpload.value){
		document.getElementById('divTxtFileError').className='spanClsFormErrorOn';
		bNoError=false;
	}else{
		document.getElementById('divTxtFileError').className='spanClsFormErrorOff';
		var x=objForm.elements[ 'txtFileUpload'];
		var extension= Right(x.value,4).toUpperCase();
		if(extension == '.JPG' || extension == '.JPEG ' || extension == '.JPE' || extension == '.GIF'){
			document.getElementById('divTxtFileTypeError').className='spanClsFormErrorOff';
		}else {
			bNoError=false;
			document.getElementById('divTxtFileTypeError').className='spanClsFormErrorOn';
		}
	}
	

	
	

	


return bNoError;
}



function imageStat(imgName, imgAlt, sUrl){
	this.imgName=imgName;
	this.imgAlt=imgAlt;
	this.sUrl=(sUrl ? sUrl : '');
}

var arrImgRotator=new Array()

var iX=0;
function imageRotator(){
	if(arrImgRotator.length){
		var obj=document.getElementById('rotator')
		swapfade(obj, sRoot+'/images/'+arrImgRotator[iX].imgName, '2', arrImgRotator[iX].imgAlt);
		if(arrImgRotator[iX].sUrl.length){
			localUrl=arrImgRotator[iX].sUrl;
			document.getElementById('rotator').onclick= function () {window.location=localUrl; }
		}
		iX++;
		if(iX >arrImgRotator.length-1){
			iX=0;
		}
		setTimeout('imageRotator()',5000);
	}
}

function initImageRotator(){
	setTimeout('imageRotator()',5000);
}


function showExpanded(){
	document.getElementById('divLargeMap').style.display="";
	scrollTo(0,0);
}

