/****************************************************
* Common javascript functions 
****************************************************/
var bg = '#CCCCCC';	// background colour for input fields
var bad = '#FFCC66'; // colour to indicate bad field


// Check if value entered into registration form
function validateRegForm() {
	var ok = true;
	
	// EMAIL	
	if (!exists(document.regform.email.value)) {
		ok = false;
		badField("email","eml");
	} else {
		goodField("email","eml");
		apos=document.regform.email.value.indexOf("@");
		dotpos=document.regform.email.value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
	  		badField("email","eml");
			ok = false;
		}
	}

	// LAST NAME
	if (!exists(document.regform.lastname.value)) {
		ok = false;
		badField("lastname","eln");
	} else
		goodField("lastname","eln");
	
	// FIRST NAME
	if (!exists(document.regform.firstname.value)) {
		ok = false;
		badField("firstname","efn");
	} else
		goodField("firstname","efn");
	
	if ((!exists(document.regform.eventname.value)) || (document.regform.eventname.value == "0") || (document.regform.eventname.value == " ") || (document.regform.eventname.value == "")) {
		ok = false;
		badField("eventname","evt");
	} else
		goodField("eventname","evt");
 
	return ok;
}

// Check if value entered into admin login form
function validateLoginForm() {
	var validForm = true;
	var errmsg = document.getElementById("errormsg");
	errmsg.style.visibility = "hidden";
	errmsg.innerHTML = "";	
	if (!exists(document.flogin.fuser.value)) {
		validForm = false;
		errmsg.innerHTML = 'Enter user name. ';
	} 
	if (!exists(document.flogin.fpw.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter password. ';
	}
	if (!validForm) {
		errmsg.style.visibility = "visible";
	}
	return validForm;
}


// Check if value entered into admin login form
function validateQuestion() {
	var validForm = true;
	var errmsg = document.getElementById("errormsg");
	errmsg.style.visibility = "hidden";
	errmsg.innerHTML = "";	
	if (!exists(document.askquestion.yourname.value)) {
		validForm = false;
		errmsg.innerHTML = 'Enter your name. ';
	} 
	if (!exists(document.askquestion.youremail.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your email. ';
	} else {
		apos=document.askquestion.youremail.value.indexOf("@");
		dotpos=document.askquestion.youremail.value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
	  		errmsg.innerHTML = errmsg.innerHTML + "Enter a valid email.";
			validForm = false;
		}
	}
	if ((!exists(document.askquestion.eventname.value)) || (document.askquestion.eventname.value == "0") || (document.askquestion.eventname.value == " ") || (document.askquestion.eventname.value == "")) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Select an event. ';
	}
	if (!exists(document.askquestion.yourquestion.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your question. ';
	}
	if (!validForm) {
		errmsg.style.visibility = "visible";
	}
	return validForm;
}

// Check if value entered into notification form
function validateNotForm() {
	var validForm = true;
	var errmsg = document.getElementById("errormsg");
	errmsg.innerHTML = "";	

	if (!exists(document.regform.firstname.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your first name. ';
	} 
	if (!exists(document.regform.lastname.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your last name. ';
	}
	if (!exists(document.regform.email.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your email. ';
	} else {
		apos=document.regform.email.value.indexOf("@");
		dotpos=document.regform.email.value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
	  		errmsg.innerHTML = errmsg.innerHTML + "Enter a valid email.";
			validForm = false;
		}
	}
	if (!exists(document.regform.city.value)) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Enter your city. ';
	}
	if ((!exists(document.regform.province.value)) || (document.regform.province.value == "0")) {
		validForm = false;
		errmsg.innerHTML = errmsg.innerHTML + 'Select province. ';
	} 
	return validForm;
}

// Check if value entered into notification form
function validateSel() {
	var validForm = true;
	if ((!document.sellist.noqc.checked) && (!document.sellist.pastonly.checked) && (document.sellist.selection.value == "0")) {
		validForm = false;
		alert ('Select something and then submit');
	} 
	if (document.sellist.selection.value != "0") {
		document.sellist.noqc.checked = false;
		document.sellist.pastonly.checked = false;
	}
	return validForm;
}

// Validate the email messages selection
function validateMsg() {
	var validForm = false;
	var chosen = 0;
	j = document.wremail.r1.length;
	
	if (!j)	 {	// only 1
		if (document.wremail.r1.checked) 
			validForm = true;
	} else {	// more than 1 message
		for (var i = 0; i< j; i++) {
			if (document.wremail.r1[i].checked) {
				validForm = true;
				chosen = i;
			}
		}
	}
	if (!validForm)  
		alert ('Select a message to edit or check to enter new message.');
		
	else { // check that description and message are entered
		if (chosen == 0) { 		// no existing messages
			if ((document.wremail.desclist.value == '') || (document.wremail.msglist.value == '')) {
				alert ('Enter the description and message.')
			}
		} else {
			if ((document.wremail.desclist[chosen].value == '') || (document.wremail.msglist[chosen].value == '')) {
				alert ('Enter the description and message.')
			}
		}
	}
	return validForm;
}

// Validate the download presentation form
function validatePres() {
	var validForm = true;
	if ((!document.getElementById("r3-yes").checked) && (!document.getElementById("r3-no").checked)) {
		validForm = false;
		document.getElementById("er3").innerHTML = '&nbsp;Would you like the presentation? (.ppt).';
	} else {
		document.getElementById("er3").innerHTML = '&nbsp;';
	}
	
	if ((exists(document.getpres.fb.value)) && (!document.getElementById("r2-yes").checked) && (!document.getElementById("r2-no").checked))  {
		validForm = false;
		document.getElementById("er2").innerHTML = '&nbsp;Can we share your feedback?';
		document.getElementById("fb").style.backgroundColor = '#FFCC66';
	} else {
		document.getElementById("er2").innerHTML = '&nbsp;';
		document.getElementById("fb").style.backgroundColor = '#CCCCCC';
	}
	
	if ((!document.getElementById("r1-yes").checked) && (!document.getElementById("r1-no").checked)) {
		validForm = false;
		document.getElementById("er1").innerHTML = '&nbsp;Let us know if you attended. ';
	} else {
		document.getElementById("er1").innerHTML = '&nbsp;';
	}
	
	if ((!exists(document.getpres.eventname.value)) || (document.getpres.eventname.value == 0))  {
		validForm = false;
		document.getElementById("evt").innerHTML = '&nbsp;Event is required. ';
		document.getElementById("eventname").style.backgroundColor = '#FFCC66';
		document.getElementById("eventname").focus(); 
	} else {
		document.getElementById("evt").innerHTML = '&nbsp;';
		document.getElementById("eventname").style.backgroundColor = '#CCCCCC';
	}
	
	if (!exists(document.getpres.email.value)) {
		validForm = false;
		document.getElementById("eml").innerHTML = '&nbsp;Email is required. ';
		document.getElementById("email").style.backgroundColor = '#FFCC66'; 
		document.getElementById("email").focus(); 
			
	} else {
		document.getElementById("eml").innerHTML = '&nbsp;';
		document.getElementById("email").style.backgroundColor = '#CCCCCC'; 
		apos=document.getpres.email.value.indexOf("@");
		dotpos=document.getpres.email.value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
	  		document.getElementById("eml").innerHTML = '&nbsp;Enter a valid email. ';
			document.getElementById("email").style.backgroundColor = '#FFCC66'; 
			document.getElementById("email").focus(); 
			validForm = false;
		}
	}
	
	if (!exists(document.getpres.lastname.value)) {
		validForm = false;
		document.getElementById("eln").innerHTML = '&nbsp;Last name is required. ';
		document.getElementById("lastname").style.backgroundColor = '#FFCC66'; 
		document.getElementById("lastname").focus(); 
	} else {
		document.getElementById("eln").innerHTML = '&nbsp;';
		document.getElementById("lastname").style.backgroundColor = '#CCCCCC'; 
	}

	if (!exists(document.getpres.firstname.value)) {
		validForm = false;
		document.getElementById("efn").innerHTML = '&nbsp;First name is required. ';
		document.getElementById("firstname").style.backgroundColor = '#FFCC66';
		document.getElementById("firstname").focus(); 
	} else {
		document.getElementById("efn").innerHTML = '&nbsp;';
		document.getElementById("firstname").style.backgroundColor = '#CCCCCC';
	}
	return validForm;
}

// Set a bad input field with message, colour and focus
function badField(what,msg) {
	document.getElementById(what).focus();
	document.getElementById(msg).innerHTML = '* Required field.';
	document.getElementById(what).style.backgroundColor = bad;
}

// Reset input field
function goodField(what,msg) {
	document.getElementById(msg).innerHTML = ' ';
	document.getElementById(what).style.backgroundColor = bg;
}
// Check if value entered into field
function exists(inputValue) {
	var aCharExists = false;
	for (var i=0; i<= inputValue.length; i++) {
		if (inputValue.charAt(i) != " " && inputValue.charAt(i) != "") {
			aCharExists = true;
			break
		}
	}
	return aCharExists;
}

function get_textboxes() {
	 
	
	 return textboxes;
}

// Toggle division
function toggleDiv(whichone) {  
	if (document.getElementById(whichone).style.display == "block")
		document.getElementById(whichone).style.display = "none";
	else	
		document.getElementById(whichone).style.display = "block";
}
// Hide division
function hideDiv(whichone) {  
	document.getElementById(whichone).style.display = "none";
}

// Show division
function showDiv(whichone) {  
	document.getElementById(whichone).style.display = "block";
}

// Common dreamweaver functions
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Change characteristics of submit button on hover and on mouse out
function hoverButton(what) {
	document.getElementById(what).style.color = '#FFCC66';
	document.getElementById(what).style.backgroundColor = '#336699';
}
function outButton(what) {
	document.getElementById(what).style.color = '#336699';
	document.getElementById(what).style.backgroundColor = '#FFCC66';
}