// Open an URL in a new window without toolbar
// @param: url2open -> The URL
// @param: width -> The window's width
// @param: height -> The window's height

function openWin(url2open,width,height)
{
  aWindow = window.open(url2open,"_blank","left=150,top=125,width="+width+",height="+height+",toolbar=no,menubar=no,status=no,scrollbars=no,personalbar=no,resizable=no");
}

function openWin2(url2open,width,height)
{
  aWindow = window.open(url2open,"_blank","left=150,top=125,width="+width+",height="+height+",toolbar=no,menubar=no,status=no,scrollbars=yes,personalbar=no,resizable=no");
}

// Displays a message in the status bar
// @param: sMsg -> The message

function showStatus(sMsg) {
    window.status = sMsg ;
    return true ;
}



// Checks if a string is numeric (a signed integer)
// @param: sText -> String to check

function IsNumeric(sText)
{
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;

	//Check each character to make sure it is in ValidChars 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
   	{ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}


// Checks if the condition is fulfilled, if not, concatenate the error message to the Entire Error Message
// @param: boolCondition -> The boolean condition to check
// @param: strMessageToAdd -> The condition's error message
// @param: strEntireMessage -> The entire error message to display 

function AddErrorMessage(boolCondition, strMessageToAdd, strEntireErrorMessage)
{
	if (boolCondition) {
		//Error detected
		strEntireErrorMessage = strEntireErrorMessage + "\n" + strMessageToAdd;
	} else {
		//No Error Detected	
	}
	
	return strEntireErrorMessage;
}


// Checks if the recruiting form is filled out properly
// @param: None

function validateformrecruiting(recruitingform)

{

	//This function validates the recruiting form
	var message = "The following errors have been detected:\n"; //Error message
	var beginMessage = message;
	
	message = AddErrorMessage((recruitingform.recruiting_name.value == ""), "- The name field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_email.value == ""), "- The email field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_email.value.indexOf(".") == 0), "- The email field requires a '.' .", message);
	message = AddErrorMessage((recruitingform.recruiting_email.value.indexOf("@") == 0), "- The email field requires a '@' .", message);
	message = AddErrorMessage((recruitingform.recruiting_gender.value == "none"), "- The gender field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightfeet.value == ""), "- The height (feet) field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightfeet.value > 7), "- The height (feet) is greater than 7.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightfeet.value < 3), "- The height (feet) is smaller than 3.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightinches.value == ""), "- The height (inches) field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightinches.value > 11), "- The height (inches) is greater than 11.", message);
	message = AddErrorMessage((recruitingform.recruiting_heightinches.value < 0), "- The height (inches) is negative.", message);
	message = AddErrorMessage((IsNumeric(recruitingform.recruiting_heightinches.value) == false), "- The height (inches) is not a number.", message);
	message = AddErrorMessage((recruitingform.recruiting_weight.value == ""), "- The weight field is empty.", message);
	message = AddErrorMessage((recruitingform.recruiting_weight.value > 400), "- The weight is greater than 400.", message);
	message = AddErrorMessage((recruitingform.recruiting_weight.value < 50), "- The weight is smaller than 50.", message);
	message = AddErrorMessage((recruitingform.recruiting_rowedbefore.value == "none"), "- Your past rowing experience is missing.", message);
	message = AddErrorMessage((recruitingform.recruiting_weightclass.value == "none"), "- Your weight class is missing.", message);

	if (message !== beginMessage)
	{
		alert(message);
	} else {
		document.recruitingform.submit();
	}
}

function validateformstore(store_form)

{

	//This function validates the recruiting form
	var message = "The following errors have been detected:\n"; //Error message
	var beginMessage = message;
	
	message = AddErrorMessage((store_form.store_name.value == ""), "- The name field is empty.", message);
	message = AddErrorMessage((store_form.store_email.value == ""), "- The email field is empty.", message);
	message = AddErrorMessage((store_form.store_email.value.indexOf(".") == 0), "- The email field requires a '.' .", message);
	message = AddErrorMessage((store_form.store_email.value.indexOf("@") == 0), "- The email field requires a '@' .", message);
	message = AddErrorMessage((store_form.store_phone.value == ""), "- The phone field is empty.", message);
	message = AddErrorMessage((store_form.store_street.value == ""), "- The street field is empty.", message);
	message = AddErrorMessage((store_form.store_city.value == ""), "- The city field is empty.", message);
	message = AddErrorMessage((store_form.store_province.value == ""), "- The province field is empty.", message);
	message = AddErrorMessage((store_form.store_postalcode.value == ""), "- The postal code field is empty.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_blackcap.value) == false), "- The black cap field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_whitecap.value) == false), "- The white cap field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_blacktshirt.value) == false), "- The black tshirt field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_whitetshirt.value) == false), "- The white tshirt field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_toque.value) == false), "- The toque field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_mug.value) == false), "- The mug field is not a number.", message);
	message = AddErrorMessage((IsNumeric(store_form.store_tie.value) == false), "- The tie field is not a number.", message);

	if (message !== beginMessage)
	{
		alert(message);
	} else {
		document.store_form.submit();
	}
}


//Email Form
f
function validateformemail(email_form)

{

	//This function validates the recruiting form
	var message = "The following errors have been detected:\n"; //Error message
	var beginMessage = message;
	
	message = AddErrorMessage((email_form.e_name.value == ""), "- Your name is missing.", message);
	message = AddErrorMessage((email_form.e_address.value == ""), "- Your email address is missing.", message);
	message = AddErrorMessage((email_form.e_address.value.indexOf(".") == 0), "- Your email address requires a '.' .", message);
	message = AddErrorMessage((email_form.e_address.value.indexOf("@") == 0), "- Your email address requires a '@' .", message);
	message = AddErrorMessage((email_form.e_recipient.value == ""), "- The recipient email address is missing.", message);
	message = AddErrorMessage((email_form.e_recipient.value.indexOf(".") == 0), "- The recipient email address requires a '.' .", message);
	message = AddErrorMessage((email_form.e_recipient.value.indexOf("@") == 0), "- The recipient email address requires a '@' .", message);	
	message = AddErrorMessage((email_form.e_subject.value == ""), "- The subject is missing.", message);
	message = AddErrorMessage((email_form.e_message.value == ""), "- Your message is missing.", message);
	message = AddErrorMessage((email_form.e_captcha.value == ""), "- The Code is missing.", message);

	if (message !== beginMessage)
	{
		alert(message);
	} else {
		document.contact_form.submit();
	}
}

// Weblogin functions

	function getElementById(id){
		var o, d=document;
		if (d.layers) {o=d.layers[id];if(o) o.style=o};
		if (!o && d.getElementById) o=d.getElementById(id);
		if (!o && d.all) o = d.all[id];
		return o;
	}
	function webLoginShowForm(i){
		var a = getElementById('WebLoginLayer0');
		var b = getElementById('WebLoginLayer2');
		if(i==1 && a && b) {
			a.style.display="block";
			b.style.display="none";
			document.forms['loginreminder'].txtpwdrem.value = 0;
		}
		else if(i==2 && a && b) {
			a.style.display="none";
			b.style.display="block";	
			document.forms['loginreminder'].txtpwdrem.value = 1;
		}
	};		
	function webLoginCheckRemember () {
		if(document.loginfrm.rememberme.value==1) {
			document.loginfrm.rememberme.value=0;	
		} else {
			document.loginfrm.rememberme.value=1;
		}
	}
	function webLoginEnter(nextfield,event) {
		if(event && event.keyCode == 13) {
			if(nextfield.name=='cmdweblogin') {
				document.loginfrm.submit();
				return false; 
			}
			else {
				nextfield.focus();
				return false; 
			}
		} else {
			return true;
		}
	}

//Online Store
	function validatekeyup(event) {
		updateprice(document.store_form);
	}
	
	function displayzeros(number) {
		var newnumber = number*10;
		var modulo = (newnumber % 10);
		switch (modulo)
		{
		  case 1:
		  case 2:
		  case 3:
		  case 4:
		  case 5:
		  case 6:
		  case 7:
		  case 8:
		  case 9:
		    number = number + '0';
		    break
		  case 0:
		    number = number + '.00';
		    break
		}
		return number;

	}

	function updateprice(form) {
	
		var b_cap = Math.round(form.store_blackcap.value);
		var w_cap = Math.round(form.store_whitecap.value);
		var b_ts = Math.round(form.store_blacktshirt.value);
		var w_ts = Math.round(form.store_whitetshirt.value);
		var toque = Math.round(form.store_toque.value);
		var mug = Math.round(form.store_mug.value);
		var tie = Math.round(form.store_tie.value);
		var items = b_cap+w_cap+b_ts+w_ts+toque+mug+tie;
		
		var p_subtotal =(b_cap*20);
		p_subtotal+=(w_cap*20);
		p_subtotal+=(b_ts*20);
		p_subtotal+=(w_ts*20);
		p_subtotal+=(toque*20);
		p_subtotal+=(mug*20);
		p_subtotal+=(tie*30);
		p_subtotal=Math.round(p_subtotal*100)/100;
		
		var p_shipping = 0.00;
		if (items > 0)
		{
			p_shipping = 14.95;
		}
		
		var p_grandtotal = Math.round(100*(p_subtotal+p_shipping))/100;
		
		document.getElementById('subtotal').innerHTML = displayzeros(p_subtotal);
		document.getElementById('shipping').innerHTML = displayzeros(p_shipping);
		document.getElementById('grandtotal').innerHTML = displayzeros(p_grandtotal);
		
		form.store_subtotal.value = p_subtotal;
		form.store_shipping.value = p_shipping;
		form.store_grandtotal.value = p_grandtotal;
	}

//McGill Results
	function SetResultsAction(action) {
		document.results_hidden.action = action;
		document.results_hidden.submit();
	}