var fbClicked = false; var recoverCount = 0;
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
		
function initRollovers() {
 if (!document.getElementById) return
 
 var aPreLoad = new Array();
 var sTempSrc;
 var aImages = document.getElementsByTagName('img');
 
 for (var i = 0; i < aImages.length; i++) {  
  if (aImages[i].className == 'imgover') {
   var src = aImages[i].getAttribute('src');
   var ftype = src.substring(src.lastIndexOf('.'), src.length);
   var hsrc = src.replace(ftype, '_o'+ftype);
 
   aImages[i].setAttribute('hsrc', hsrc);
   
   aPreLoad[i] = new Image();
   aPreLoad[i].src = hsrc;
   
   aImages[i].onmouseover = function() {
    sTempSrc = this.getAttribute('src');
    this.setAttribute('src', this.getAttribute('hsrc'));
   } 
   
   aImages[i].onmouseout = function() {
    if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
    this.setAttribute('src', sTempSrc);
   }
  }
 }
}

window.onload = initRollovers;


////////////////////////////////////////////////////////////////////////////
////GLOBAL FUNCTIONS START HERE /////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
function CheckForm(frm) {
	var fn = frm.i_firstname; var ln = frm.i_lastname; var em = frm.i_email; var who_p = frm.i_who[0]; var who_s = frm.i_who[1]; var isP = false; var isS = false;
	var dob = frm.i_dobm[frm.i_dobm.selectedIndex].value + "/" + frm.i_dobd[frm.i_dobd.selectedIndex].value + "/" + frm.i_doby[frm.i_doby.selectedIndex].value;
	var sexM = frm.i_gender[0]; var sexF = frm.i_gender[1]; var bY = frm.i_brochure[0]; var bN = frm.i_brochure[1];
	var ad1 = frm.i_address1; var ad2 = frm.i_address2; var ci = frm.i_city; var st = frm.i_state; var zi = frm.i_zip;
	var callY = frm.i_call[0]; var callN = frm.i_call[1]; var ph = frm.i_phone; 
	if (who_p.checked) { isP = true; }
	if (who_s.checked) { isS = true; }
	if (fn.value.length < 2) { alert("Please enter a first name."); fn.focus(); return false; }
	if (ln.value.length < 2) { alert("Please enter a last name."); ln.focus(); return false; }
	if (!validEmail(em.value)) { alert("Please enter a valid email address."); em.focus(); return false; }
	if (!isP && !isS) { alert("Please tell us whether you are the parent or student."); return false; }
	if (!validDate(dob)) { alert("Please tell us the student's birthday."); frm.dobm.focus(); return false; }
	if (!sexM.checked && !sexF.checked) { alert("Please specify a gender."); return false; }
	if (!bY.checked && !bN.checked) { alert("Please tell us if you'd like a brochure."); return false; }
	if (bY.checked) {
		if (ad1.value.length < 4) { alert("Please enter a street address."); ad1.focus(); return false; }
		if (ci.value.length < 3) { alert("Please enter a city."); ci.focus(); return false; }
		if (zi.value.length < 5) { alert("Please enter a zip/postal code."); zi.focus(); return false; }
	} else {
		ad1.value = ""; ad2.value = ""; ci.avlue = ""; zi.value = "";
	}
	if (!callY.checked && !callN.checked) { alert("Please let us know if you would like us to call you."); return false; }
	if (callY.checked) {
		if (ph.value.length < 10) { alert("Please enter a phone number, including country code if outside the US."); ph.focus(); return false; }
	} else { ph.value = ""; }
}
function ClearFilters() {
	setCookie("g_ageid",null,-1);
	setCookie("g_interestid",null,-1);
	setCookie("g_regionid",null,-1);
	setCookie("g_subcatid",null,-1);
	setCookie("g_tuitionid",null,-1);
	setCookie("laDate",null,-1);
	setCookie("rbDate",null,-1);
	setCookie("browseMode","normal",-1);
	setCookie("programList",null,-1);
}
function DoNothing() {
}
function EnrollNow() {
	_gaq.push(['_trackEvent', 'enroll', 'click', 'open-app-page']);
	document.location.href = "https://www.gobroadreach.com/broadreach-enrollment-application.asp"
}
function Feedback(what) {
	if (what == "show") { jQuery('#feedback').show(400); }
	if (what == "hide") { jQuery('#feedback').hide(400); }
}
function FindTrip(obj) {
	var hasSelection = false;
	if (obj.name == "submit_button") {
		_gaq.push(["_trackEvent", "call-out", "submitted", "find-your-trip"]);
		ClearFilters();
		var thePage; var tmpStr; var tmpArray;
		var age = document.getElementById("g_ageid");		
		var intr = document.getElementById("g_interestid");		
		var reg = document.getElementById("g_regionid");		
		if (reg.selectedIndex > 0) {
			tmpStr = reg[reg.selectedIndex].value; tmpArray = tmpStr.split("#");
			id = tmpArray[0]; thePage = "summer-programs-in-region-" + tmpArray[1] + ".asp";
			setCookie("g_regionid",reg[reg.selectedIndex].value,null); hasSelection = true;
		}
		if (age.selectedIndex > 0) { 
			tmpStr = age[age.selectedIndex].value; tmpArray = tmpStr.split("#");
			id = tmpArray[0]; thePage = "summer-programs-for-" + tmpArray[1] + ".asp";
			setCookie("g_ageid",id,null); hasSelection = true;
		}
		if (intr.selectedIndex > 0) {
			tmpStr = intr[intr.selectedIndex].value; tmpArray = tmpStr.split("#");
			id = tmpArray[0]; thePage = "summer-programs-focused-on-" + tmpArray[1] + ".asp";
			setCookie("g_interestid",intr[intr.selectedIndex].value,null); hasSelection = true;
		}
		if (hasSelection == true) { document.location.href = thePage; }
	} 
}
function FindTripOld(obj) {
	if (obj.name == "submit_button") {
		var lastLink = getCookie("lastlink");
		if (lastLink != "") { document.location.href = lastLink; }
	} else {
		var thePage; var tmpStr = obj[obj.selectedIndex].value;
		var tmpArray = tmpStr.split("#"); var id=tmpArray[0];
		if (obj.name == "g_ageid") { thePage = "summer-programs-for-" + tmpArray[1] + ".asp"; }
		if (obj.name == "g_interestid") { thePage = "summer-programs-focused-on-" + tmpArray[1] + ".asp"; }
		if (obj.name == "g_regionid") { thePage = "summer-programs-in-region-" + tmpArray[1] + ".asp"; }
		setCookie(obj.name,id,null); setCookie("lastlink",thePage,null);
	}
}
function FixName(obj) {
	var thisID = obj.id; var thisValue = obj.value; var newStr = "";
	var strValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz. ";
	if (thisValue.length == 0) { return false; }
	for (i = 0; i < thisValue.length; i++) {
		var strChar = thisValue.charAt(i);
		if (strValidChars.indexOf(strChar) != -1) {
			newStr = newStr + strChar
		}
	}
	document.getElementById(thisID).value = newStr;
}
function FormatPhone(obj) {
	var thisValue = obj.value; var newStr = thisValue.replace(/[^\d]/g,"");
	if (newStr.length == 10) {
		var p1 = Left(newStr,3); var p2 = Left(newStr.replace(p1,""),3); var p3 = Right(newStr,4);
		obj.value = p1 + "-" + p2 + "-" + p3;
	} else {
		obj.value = thisValue;	
	}
}
function getCookie(c_name) {
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++) {
		x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
		y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
		x=x.replace(/^\s+|\s+$/g,"");
		if (x==c_name) { return unescape(y); }
	}
}
function hsResize(w, h) {
	var wAdjust = 0; var hAdjust = 0;
	var exp = hs.getExpander();
	var oldHeight = parseInt(exp.height);
	var oldWidth = parseInt(exp.width);
	if (firstResize) { wAdjust = 11; hAdjust = -5; firstResize = false;}
	var newHeight = (oldHeight + h + hAdjust); var newWidth = (oldWidth + w + wAdjust);
	var cLeft = exp.wrapper.style.left; var cTop = exp.wrapper.style.top;
	cLeft = parseInt(cLeft.replace("px","")); cTop = parseInt(cTop.replace("px",""));
	var newLeft = (cLeft - (w/2)); var newTop = (cTop - (h/2));
	exp.height = newHeight;	exp.width = newWidth;
	exp.resizeTo(newWidth, newHeight)
	if (exp.align = "center") { exp.moveTo(newLeft,newTop); }
}
function InfoRequest(what) {
	if (what == "show") { jQuery('#getBRinfo').show(400); }
	if (what == "hide") { jQuery('#getBRinfo').hide(400); }
}
function isNumeric(strText) {
	var strValidChars = "0123456789.-"; var blnResult = true;
	if (strText.length == 0) return false;
	for (i = 0; i < strText.length && blnResult == true; i++) {
		var strChar = strText.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) { blnResult = false; }
	}
	return blnResult;
}
function Left(str, n) {
   if (n <= 0) return "";
   else if (n > String(str).length) return str;
   else return String(str).substring(0,n);
}
function Login(what) {
	if (what == "show") { jQuery('#credentials').show(400); }
	if (what == "hide") { jQuery('#credentials').hide(400); }
}
function LogOff() {
	document.getElementById("workArea").src = "/portal/quickwork.asp?action=logoff";
}
function OpenLongText(id,typ) {
	var hSpace = window.innerWidth; var vSpace = window.innerHeight;
	if ((hSpace - 300) < 900) { theWidth = hSpace - 200 } else { theWidth = 900 }  
	if ((vSpace - 200) < 500) { theHeight = vSpace - 200 } else { theHeight = 500 }
	isrc = "/_includes/showcontent.asp?fullcontent=" + id + "&ctype=" + typ;
	hs.htmlExpand(null,{objectType:'iframe',src:isrc,dimmingOpacity:.8,outlineType:'rounded-white',wrapperClassName:'borderless no-footer no-header',align:'center',width:theWidth,height:theHeight})
}
function PlayVideo(f,w,h) {
	var objIcon = document.getElementById("vidicon_" + f);
	hs.registerOverlay({html:'<div class="closebutton" onclick="return hs.close(this)" title="Close This Video"></div>',position:'top right',fade:2,useOnHtml:true});
	hs.htmlExpand(objIcon, { preserveContent:false,dimmingOpacity:.7,outlineType:"outer-glow",wrapperClassName:"borderless no-footer no-header",align:"center",objectType:"swf",src:"/_media/player.swf",swfOptions: {version:"8",flashvars:{file:"&file=/_media/" + f + "&autostart=true&backcolor=#000000&frontcolor=#EEEEEE&lightcolor=#000000&screencolor=#000000"},params:{allowscriptaccess:"always",allowfullscreen:"true",wmode:"transparent"}},width:w,height:h+32,objectWidth:w,objectHeight:h+32,maincontentText:"You need to upgrade your Flash player"} )
}
function PrintPage() {
	window.print();
}
function RecoverPassword() {
	var objUid = document.getElementById("uid");
	if (recoverCount == 0) {
		document.getElementById("label_username_").innerHTML = "Email:";
		document.getElementById("loginMessageArea").innerHTML = "Enter your email address above and click 'Recover Password' again.";
		objUid.value = ""; objUid.focus(); recoverCount = 1;
	} else {
		if (validEmail(objUid.value)) {	
			document.getElementById("workArea").src = "/_includes/quickwork.asp?logineml=" + objUid.value;
		} else {
			alert("Please enter a vaild email address.");
			objUid.focus();		
		}
	}
}
function ResetLogin() {
	document.getElementById("label_username_").innerHTML = "Username:";
	document.getElementById("uid").value = "";
	document.getElementById("uid").focus();
	recoverCount = 0;
}
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);
	}
}
function SetConverted(qs) {
	document.getElementById("adwordTracker").src = "http://www.googleadservices.com/pagead/conversion/1072152959/?" + qs
}
function setCookie(c_name,value,exdays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate() + exdays);
	var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
	document.cookie=c_name + "=" + c_value;
}
function ShowArea(area,show) {
	var objArea = document.getElementById(area);
	if (show) { objArea.style.display = "inherit"; }
	else { objArea.style.display = "none"; }
}
function ToggleLogin() {
	jQuery('#credentials').toggle(400);
}
function ValidateFeedback() {
	var frm = document.feedbackform; var comments = frm.fb_comments.value;
	if (frm.fb_type.selectedIndex == 0) { alert("Please let us know what type of feedback this is."); frm.fb_type.focus(); return false; }
	if (comments.length < 4) { alert("We need a little more text than you have entered in teh comments field."); frm.fb_comments.focus(); return false; }
	if ((comments.indexOf("http")>-1) || (comments.indexOf(">")>-1) || (comments.indexOf("<")>-1)) { alert("Sorry, but tags '<>' or hyperlinks 'http' are not allowed in your comments to prevent spamming."); frm.fb_comments.focus(); return false; }
}
function validCC(str) {
	var ccNumb = str.replace(/[-' ']/g,'');
	var valid = "0123456789"; var len = ccNumb.length;
	var iCCN = parseInt(ccNumb); var sCCN = ccNumb.toString();
	sCCN = sCCN.replace (/^\s+|\s+$/g,'');
	var iTotal = 0; var bNum = true; var bResult = false; var temp; var calc;
	for (var j=0; j<len; j++) {
		temp = "" + sCCN.substring(j, j+1);
		if (valid.indexOf(temp) == "-1") {bNum = false;}
	}
	if (!bNum) { return false; }
	if ((len == 0)&&(bResult)) { 
		bResult = false;
	} else {
		if(len >= 15) {
			for(var i=len;i>0;i--) {
				calc = parseInt(iCCN) % 10;
				calc = parseInt(calc);
				iTotal += calc; i--;
				iCCN = iCCN / 10;
				calc = parseInt(iCCN) % 10;
				calc = calc *2;
				switch(calc) {
					case 10: calc = 1; break;
					case 12: calc = 3; break;
					case 14: calc = 5; break;
					case 16: calc = 7; break;
					case 18: calc = 9; break;
					default: calc = calc;
				}
				iCCN = iCCN / 10;
				iTotal += calc;
			}
		if ((iTotal%10)==0) {
			bResult = true;
		} else {
			bResult = false;
		}
	}
}
	return bResult;
}
function validDate(dateStr) {
   var format = "MDY";
   if (format.substring(0, 1) == "Y") {
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") {
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { 
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1);
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}
function validEmail(addr) {
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (e=0; e<invalidChars.length; e++) {
		if (addr.indexOf(invalidChars.charAt(e),0) > -1) { return false; }
	}
	for (e=0; e<addr.length; e++) {
		if (addr.charCodeAt(e)>127) { return false; }
	}
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) { return false; }
	if (atPos == 0) { return false; }
	if (addr.indexOf('@', atPos + 1) > - 1) { return false; }
	if (addr.indexOf('.', atPos) == -1) { return false; }
	if (addr.indexOf('@.',0) != -1) { return false; }
	if (addr.indexOf('.@',0) != -1){ return false; }
	if (addr.indexOf('..',0) != -1) { return false; }
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') { return false; }
	return true;
}
function validPhone(str) {
	var digits = str.replace(/[^\d]/g,"");
	if (digits.length >= 10) { return true; }
	else { return false; }
}
function validTime(thetime) {
	var a,b,c,f,err=0; a=thetime.value;
	if (a.length < 4) { return false; }
	if (a.length > 5) { return false; }
	if (a.length == 4) { b = a.substring(0, 1); c = a.substring(1, 2); f = a.substring(2, 4); }
	if (a.length == 5) { b = a.substring(0, 2); c = a.substring(2, 3); f = a.substring(3, 5); }
	if (/\D/g.test(b)) { return false; }
	if (/\D/g.test(f)) { return false; }
	if (b<0 || b>12) { return false; }
	if (f<0 || f>59) { return false; }
	if (c != ':') { return false; }
	return true;
}
function validUsername(sText) {
	var ValidChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.0123456789";
	var IsGood=true; var Char;
	for (s = 0; s < sText.length && IsGood == true; s++) { 
		Char = sText.charAt(s);
		if (ValidChars.indexOf(Char) == -1) {
			IsGood = false;
		}
	}
	return IsGood;
}

