
// Image preload and rollovers ***************************************************************

function imgOn(imgName) {if (document.images) {document[imgName].src = eval(imgName + "on.src");}}
function imgOff(imgName) {if (document.images) {document[imgName].src = eval(imgName + "off.src");}}

function preload(level) {
	var levelPath = "";
	if (level==0) {
		img99off = new Image();
		img99off.src ="images/btn_profiles.jpg";
		img99on = new Image();
		img99on.src ="images/btn_profiles_o.jpg";
	}

	if(level==2)levelPath = "../";

	if (document.images) {
		for(var i=1;i <= 4;i++){
		eval("img" + i + "off = new Image()");
		eval("img" + i + "off.src = '" + levelPath + "images/btn_red.gif'");
		eval("img" + i + "on = new Image()");
		eval("img" + i + "on.src = '" + levelPath + "images/btn_yell.gif'");
		}
		
		img98off = new Image();
		eval("img98off.src ='" + levelPath + "images/btn_signup.gif'");
		img98on = new Image();
		eval("img98on.src ='" + levelPath + "images/btn_signup_o.gif'");	
		
	}
}

// ************************************************************************


// Browser detect *********************************************************************************

var browserN4 = false;
var browserIE = false;
var browserN6 = false;

if(document.layers){
	browserN4 = true;
} else if(document.all) {
	browserIE = true;
} else if(document.getElementById) {
	browserN6 = true;
}

// Style sheet selected based on browser **********************************************************

function writeStyleLink(){
	if(browserN4){myStyle="style_n4.css";}else{myStyle="style.css";}
	var browserStyle = "<link rel='STYLESHEET' type='text/css' href='css/" + myStyle + "'>";
	var printStyle = "<link rel='STYLESHEET' type='text/css' href='css/print.css'>";
	document.write(browserStyle);
}

// Form validation *************************************************************************

var valFailMsg = "The following questions were not completed:\n\n"

function fillform() {
	for ( var i = 1; i <= 14; i++) {
		eval("document.form.q" + i + "[0].checked=true"); 
	}
	//document.form.q12[1].checked=true; 
}

function validate(myform) {
	msg = ""; dq = 0;

	var endNum = 9;
	if(myform.q6[0].checked)var endNum = 6;
	if(myform.q7[0].checked)var endNum = 7;
	if(myform.q8[0].checked)var endNum = 8;

	for ( var i = 1; i <= endNum; i++) {if (!eval("myform.q" + i + "[0].checked") && !eval("myform.q" + i + "[1].checked")){msg += "* Question " + i + "\n";}}
	for ( var i = 10; i <= 14; i++) {if (!eval("myform.q" + i + "[0].checked") && !eval("myform.q" + i + "[1].checked")){msg += "* Question " + i + "\n";}}
	
	if (msg == "") {
		
		// if any of these are answered no
		if((myform.q3[1].checked)||(myform.q4[1].checked)||(myform.q5[1].checked)||(myform.q10[1].checked)||(myform.q11[1].checked)||(myform.q12[1].checked)||(myform.q13[1].checked))dq = 1;
		
		// if all of these are answered no
		if((myform.q6[1].checked)&&(myform.q7[1].checked)&&(myform.q8[1].checked)&&(myform.q9[1].checked))dq = 1;
		
		if(dq == 1){myform.dq.value=1}else{myform.dq.value=0};
		myform.val.value=1;
		return true;
	} else {
		alert(valFailMsg + msg);
		return false;
	}
}


var errColor = "#ffdddd";
var focusColor = "#b4e4ff";
var blurColor = "#edf3fd";

function validate_reg(form) {

	var msg = "";
	
	if(!validName(form.firstName.value)){bgChange(form.firstName,errColor);msg += "* First Name\n";} 
	if(!validName(form.lastName.value)){bgChange(form.lastName,errColor);msg += "* Last Name\n";}
	if(!validEmail(form.email.value)){bgChange(form.email,errColor);msg += "* Email\n";}
	if(!validPhone(form.phone.value)){bgChange(form.phone,errColor);msg += "* Phone\n";}
	if(!form.faHide){
		if((!form.status[0].checked)&&(!form.status[1].checked)&&(!form.status[2].checked)){msg += "* Work time interest\n";}
	}
	if (msg != "") {
		alert("The following fields were not completed correctly: \n\n" + msg);
		return false;
	} else {
		form.val.value = "1";
		return true;
	}
}

// regexp for international users (not restrictive/us-centric)
function validName(myString) {regExp = /^[A-Z]./i; return(regExp.exec(myString));}
function validEmail(myString) {regExp = /[\w\.\-]{2,}\@[\w\-]{2,}\.[a-z]{2,3}/i; return(regExp.exec(myString));}
function validPhone(myString) {regExp = /^[0-9\(\+][0-9\.\s\-\+\(\)]+$/; return(regExp.exec(myString));}
function validZip(myString) {regExp = /(^\d{5}$)|(^\d{5}-\d{4}$)/; return(regExp.exec(myString));}

function validMonth(myString) {regExp = /(^\d{1,2}$)/; return(regExp.exec(myString));}
function validDay(myString) {regExp = /(^\d{1,2}$)/; return(regExp.exec(myString));}
//function validYear(myString) {regExp = /(^\d{4}$)/; return(regExp.exec(myString));}
function validYear(myString) {regExp = /(^2{1}0{1}[0-9]{2}$)/; return(regExp.exec(myString));}

function bgChange(myField,myColor) {if (!document.layers){myField.style.background = myColor;}}

function checkDate(myDate){
	var date = new Date(myDate);
	var now = new Date();
	var diff = date.getTime() - now.getTime();
	var days = (Math.floor(diff / (1000 * 60 * 60 * 24))+1);
	var mssg = "Reminder can not be set for this date";
	if (document.form.remindDays.options[document.form.remindDays.selectedIndex].value == "-1"){
		if (days <= 1){
			alert(mssg);
			document.form.remindDays.selectedIndex = 0;
			return false;
		}
	}
	if (document.form.remindDays.options[document.form.remindDays.selectedIndex].value == "-3"){
		if (days < 3){
			alert(mssg);
			document.form.remindDays.selectedIndex = 0;
			return false;
		}
	}
	if (document.form.remindDays.options[document.form.remindDays.selectedIndex].value == "-7"){
		if (days < 7){
			alert(mssg);
			document.form.remindDays.selectedIndex = 0;
			return false;
		}
	}
}


function validate_login(form) {

	var msg = "";
	if(form.strUsername.value==""){bgChange(form.strUsername,errColor);msg += "* Username\n";}
	if(form.strPassword.value==""){bgChange(form.strPassword,errColor);msg += "* Password\n";}
	if (msg != "") {
		alert("The following field(s) were not completed correctly: \n\n" + msg);
		return false;
	} else {
		return true;
	}
}


function validate_edit(form) {
	var msg = "";
	if(form.description.value==""){bgChange(form.description,errColor);msg += "* Description\n";}
	if(form.location_name.value==""){bgChange(form.location_name,errColor);msg += "* Location Name\n";}
	if(form.location_addr.value==""){bgChange(form.location_addr,errColor);msg += "* Location Address\n";}
	if(form.city.value==""){bgChange(form.city,errColor);msg += "* City\n";}
	if(form.state.options[form.state.selectedIndex].value == ""){bgChange(form.state,errColor);msg += "* State\n";}
	if(!validZip(form.zip.value)){bgChange(form.zip,errColor);msg += "* Postal Code\n";}	
	if(!validMonth(form.strMonth.value)||(form.strMonth.value > 12)||(form.strMonth.value < 1)){bgChange(form.strMonth,errColor);msg += "* Month\n";}	
	if(!validDay(form.strDay.value)||(form.strDay.value > 31)||(form.strDay.value < 1)){bgChange(form.strDay,errColor);msg += "* Day\n";}
	if(!validYear(form.strYear.value)||(form.strYear.value < 2004)){bgChange(form.strYear,errColor);msg += "* Year\n";}
	if(form.eTimeStart.value==""){bgChange(form.eTimeStart,errColor);msg += "* Start Time\n";}
	if(form.eTimeEnd.value==""){bgChange(form.eTimeEnd,errColor);msg += "* End Time\n";}
	if(isNaN(form.regLimit.value)|| form.regLimit.value=="" || form.regLimit.value==0){bgChange(form.regLimit,errColor);msg += "* Registration Number Limit\n";}


	if (msg != "") {
		alert("The following field(s) were not completed correctly: \n\n" + msg);
		return false;
	} else {
		form.eDate.value = form.strMonth.value + "/" + form.strDay.value + "/" + form.strYear.value;
		return true;
	}
}

function confirmClose(myForm) {
	var message= "Click OK to confirm this event will be closed";
	if (myForm.checked) {
		if (confirm(message)){
			myForm.checked = true;
		}else{
			myForm.checked = false;
		}
	}
}

function getY(obj) {
	if(document.layers){
  		return eval(obj).y;     
		//return eval(obj).pageY;  //************* y for image pos, pageY for layer pos
	} else {
  		return( obj.offsetParent==null ? obj.offsetTop : obj.offsetTop+getY(obj.offsetParent) );
	}
}

function writeBackTop(){
	//alert(getY(document.images['posImgBot']));
	currBot = getY(document.images['posImgBot']);
	if (currBot > 490) {
		if(document.layers){
			// document.divtop.display = 'inline'; //does not work
		} else if(document.all) {
			document.all.divtop.style.display = 'inline';
		} else if(document.getElementById) {
			document.getElementById("divtop").style.display = 'inline';
		}
	}
}