
//******************************************************************************
//	The following functions are used for the top Navigational Menu
//******************************************************************************

function expand(s,targetDiv)
{
  /*var td = s;
  var d = td.getElementsByTagName("div").item(0);
  td.className = "menuHover";
  d.className = "menuHover";
*/
  var a = s;
  var d = s.getElementsByTagName("div").item(0);
  d.id = targetDiv;
}

function collapse(s,targetDiv)
{
/*
  var td = s;
  var d = td.getElementsByTagName("div").item(0);

  td.className = "menuNormal";
  d.className = "menuNormal";
*/
  var d = s.getElementsByTagName("div").item(0);
  d.id = targetDiv;

}
//******************************************************************************
//	The following functions are used by registration & other types of forms
//******************************************************************************
function validateRequired(field,alerttxt)
{
	with (field)
	{
	if (value==null||value=="")
	{alert(alerttxt);return false;}
	else {return true;}
	}
}
function validateRegistrationForm(thisform)
{
	with (thisform)
	{
		if (validateRequired(fName,"First name must be filled out!")==false)
		  {return false;}
		if (validateRequired(lName,"Last name must be filled out!")==false)
		  {return false;}
		if (validateRequired(email,"Email must be filled out!")==false)
		  {return false;}
		if (validateRequired(Course,"Course must be selected!")==false)
		  {return false;}
	}
}

function validateFeedbackForm(thisform)
{
	with (thisform)
	{
		if (validateRequired(name,"Name is required")==false)
		  {return false;}
		if (validateRequired(email,"Name is required")==false)
		  {return false;}
		if (validateRequired(feedbackTo,"Feedback to field is required")==false)
		  {return false;}
		if (validateRequired(feedback,"Feedback text is required")==false)
		  {return false;}
	}
}

//******************************************************************************
//	The following functions are used by e-mail Subscription Form
//******************************************************************************
	
function clearForm(){
			document.emailForm.FullName.style.backgroundColor = "#999999";
			document.emailForm.FullName.readOnly = true;
			document.emailForm.FullName.value="";
			document.emailForm.Email.style.backgroundColor = "#999999";
			document.emailForm.Email.readOnly = true;
			document.emailForm.Email.value="";
			document.emailForm.OldEmail.style.backgroundColor = "#999999";
			document.emailForm.OldEmail.readOnly = true;
			document.emailForm.OldEmail.value="";
			document.emailForm.Password.style.backgroundColor = "#999999";
			document.emailForm.Password.readOnly = true;
			document.emailForm.Password.value="";
			document.emailForm.PasswordRetype.style.backgroundColor = "#999999";
			document.emailForm.PasswordRetype.readOnly = true;
			document.emailForm.PasswordRetype.value="";
			document.emailForm.OldPassword.style.backgroundColor = "#999999";
			document.emailForm.OldPassword.readOnly = true;
			document.emailForm.OldPassword.value="";
		
}
function selectSubscribe(){
		
			document.emailForm.FullName.style.backgroundColor = "#FFFFFF";
			document.emailForm.FullName.readOnly = false;
			document.emailForm.Email.style.backgroundColor = "#FFFFFF";
			document.emailForm.Email.readOnly = false;			
			document.emailForm.OldEmail.style.backgroundColor = "#999999";
			document.emailForm.OldEmail.readOnly = true;
			document.emailForm.OldEmail.value = "";
			document.emailForm.Password.style.backgroundColor = "#FFFFFF";
			document.emailForm.Password.readOnly = false;
			document.emailForm.Password.value = "";
			document.emailForm.OldPassword.style.backgroundColor = "#999999";
			document.emailForm.OldPassword.readOnly = true;
			document.emailForm.OldPassword.value = "";
			document.emailForm.PasswordRetype.style.backgroundColor = "#FFFFFF";
			document.emailForm.PasswordRetype.readOnly = false;
			document.emailForm.PasswordRetype.value = "";
}
function selectUnsubscribe(){
		
			document.emailForm.FullName.style.backgroundColor = "#FFFFFF";
			document.emailForm.FullName.readOnly = false;
			document.emailForm.Email.style.backgroundColor = "#FFFFFF";
			document.emailForm.Email.readOnly = false;	
			document.emailForm.Password.style.backgroundColor = "#FFFFFF";
			document.emailForm.Password.readOnly = false;			
			document.emailForm.OldEmail.style.backgroundColor = "#999999";
			document.emailForm.OldEmail.readOnly = true;
			document.emailForm.OldEmail.value = "";
			document.emailForm.OldPassword.style.backgroundColor = "#999999";
			document.emailForm.OldPassword.readOnly = true;
			document.emailForm.OldPassword.value = "";
			document.emailForm.PasswordRetype.style.backgroundColor = "#999999";
			document.emailForm.PasswordRetype.readOnly = true;
			document.emailForm.PasswordRetype.value = "";
}

function selectChangeEmail(){
		
			document.emailForm.FullName.style.backgroundColor = "#FFFFFF";
			document.emailForm.FullName.readOnly = false;
			document.emailForm.Email.style.backgroundColor = "#FFFFFF";
			document.emailForm.Email.readOnly = false;			
			document.emailForm.OldEmail.style.backgroundColor = "#FFFFFF";
			document.emailForm.OldEmail.readOnly = false;			
			document.emailForm.Password.style.backgroundColor = "#FFFFFF";
			document.emailForm.Password.readOnly = false;			
			document.emailForm.OldPassword.style.backgroundColor = "#999999";
			document.emailForm.OldPassword.readOnly = true;
			document.emailForm.OldPassword.value = "";
			document.emailForm.PasswordRetype.style.backgroundColor = "#999999";
			document.emailForm.PasswordRetype.readOnly = true;
			document.emailForm.PasswordRetype.value = "";
}

function selectForgotPassword(){
		
			document.emailForm.FullName.style.backgroundColor = "#FFFFFF";
			document.emailForm.FullName.readOnly = false;
			document.emailForm.Email.style.backgroundColor = "#FFFFFF";
			document.emailForm.Email.readOnly = false;			
			document.emailForm.OldEmail.style.backgroundColor = "#999999";
			document.emailForm.OldEmail.readOnly = true;
			document.emailForm.OldEmail.value = "";
			document.emailForm.Password.style.backgroundColor = "#999999";
			document.emailForm.Password.readOnly = true;
			document.emailForm.Password.value = "";
			document.emailForm.OldPassword.style.backgroundColor = "#999999";
			document.emailForm.OldPassword.readOnly = true;
			document.emailForm.OldPassword.value = "";
			document.emailForm.PasswordRetype.style.backgroundColor = "#999999";
			document.emailForm.PasswordRetype.readOnly = true;
			document.emailForm.PasswordRetype.value = "";
}

function selectChangePassword(){
		
			document.emailForm.FullName.style.backgroundColor = "#FFFFFF";
			document.emailForm.FullName.readOnly = false;
			document.emailForm.Email.style.backgroundColor = "#FFFFFF";
			document.emailForm.Email.readOnly = false;
			document.emailForm.Password.style.backgroundColor = "#FFFFFF";
			document.emailForm.Password.readOnly = false;			
			document.emailForm.PasswordRetype.style.backgroundColor = "#FFFFFF";
			document.emailForm.PasswordRetype.readOnly = false;			
			document.emailForm.OldPassword.style.backgroundColor = "#FFFFFF";
			document.emailForm.OldPassword.readOnly = false;			
			document.emailForm.OldEmail.style.backgroundColor = "#999999";
			document.emailForm.OldEmail.readOnly = true;
			document.emailForm.OldEmail.value = "";
}
function submitForm() {
			var result=1;
			var confirmStr;
			
			if (document.emailForm.FullName.value == "" || document.emailForm.Email.value == "") {
				alert("The Full Name and email address must be provided");
				document.emailForm.FullName.focus();
				return false;
			}
			
			result=checkText(document.emailForm.FullName);
			
			if(result != 0){
				result=checkEmail(document.emailForm.Email);
			}
//subscribe start
			if(document.emailForm.SubscriptionOptions.value=="Subscribe"){
				if(document.emailForm.Password.value=="" && result == 1){
					document.emailForm.Password.focus();
					alert("Password not found");
					return false;
				}
				else{
					if(result!=0){
						result=checkPassword(document.emailForm.Password);
					}
					if(document.emailForm.PasswordRetype.value=="" && result == 1){
						document.emailForm.PasswordRetype.focus();
						alert("You forgot to retype the password");
						return false;
					}
					else{
							if(result!=0){
								result=checkPassword(document.emailForm.PasswordRetype);
							}
							if((document.emailForm.Password.value != document.emailForm.PasswordRetype.value) && result !=0 ){
								document.emailForm.Password.value="";
								document.emailForm.PasswordRetpye="";
								document.emailForm.Password.focus();
								alert("Password not matched");
								return false;
						}	
					}
				}
//confirm entries				
				if(result!=0){
					confirmStr="";
					confirmStr="Please confirm your entries";
					confirmStr=confirmStr+"\n"+"Full Name = "+document.emailForm.FullName.value;
					confirmStr=confirmStr+"\n"+"Email Address = "+document.emailForm.Email.value;
					if (confirm(confirmStr))
						result=1;
					else
						result=0;
				}
			}
//subscribe end
//unsubscribe start
		if(document.emailForm.SubscriptionOptions.value=="Unsubscribe"){
				if(document.emailForm.Password.value=="" && result == 1){
					document.emailForm.Password.focus();
					alert("Password not found");
					return false;
				}
				else{
					if(result!=0){
						result=checkPassword(document.emailForm.Password);
					}
				}
				if(result!=0){
					confirmStr="";
					confirmStr="Please confirm your entries";
					confirmStr=confirmStr+"\n"+"Full Name = "+document.emailForm.FullName.value;
					confirmStr=confirmStr+"\n"+"Email Address = "+document.emailForm.Email.value;
					if (confirm(confirmStr))
						result=1;
					else
						result=0;
				}
		}
		
		if(document.emailForm.SubscriptionOptions.value=="ChangeEmail"){
				if(result!=0){
					if(document.emailForm.OldEmail.value!=""){
						result=checkEmail(document.emailForm.OldEmail);
					}else{
						alert("Old Email Address not found");
						document.emailForm.OldEmail.focus();
						return false;
					}
					if(document.emailForm.Password.value=="" && result == 1){
						alert("No Password found");
						document.emailForm.Password.focus();
						return false;
					}
					else{
						if(result!=0){
							result=checkPassword(document.emailForm.Password);
						}
					}
				}
				if(document.emailForm.Email.value==document.emailForm.OldEmail.value && result!=0){
					alert("The old and new email addresses cannot be same");
					result=0;
				}
				if(result!=0){
					confirmStr="";
					confirmStr="Please confirm your entries";
					confirmStr=confirmStr+"\n"+"Full Name = "+document.emailForm.FullName.value;
					confirmStr=confirmStr+"\n"+"New Email Address = "+document.emailForm.Email.value;
					confirmStr=confirmStr+"\n"+"Old Email Address = "+document.emailForm.OldEmail.value;
					
					if (confirm(confirmStr))
						result=1;
					else
						result=0;
				}
				
		}
		if(document.emailForm.SubscriptionOptions.value=="ChangePassword"){

			if(document.emailForm.Password.value=="" && result ==1){
					alert("You forgot to type the password");
					return false;
			}
			else{
					if(result!=0){
						result=checkPassword(document.emailForm.Password);
					}
			}
			if(document.emailForm.PasswordRetype.value=="" && result ==1){
					alert("You forgot to retype the password");
					return false;
			}
			else{
					if(result!=0){
						result=checkPassword(document.emailForm.PasswordRetype);
					}
			}
			if(document.emailForm.OldPassword.value=="" && result==1){
					alert("Previous password is needed");
					return false;
			}
			if(result!=0){
					result=checkPassword(document.emailForm.OldPassword);
			}
			if(document.emailForm.Password.value != document.emailForm.PasswordRetype.value && result !=0){
						document.emailForm.Password.value="";
						document.emailForm.PasswordRetype.value="";
						document.emailForm.Password.focus();
						alert("Password not matched");
						return false;
			}
				if(result!=0){
					confirmStr="";
					confirmStr="Please confirm your entries";
					confirmStr=confirmStr+"\n"+"Full Name = "+document.emailForm.FullName.value;
					confirmStr=confirmStr+"\n"+"Email Address = "+document.emailForm.Email.value;
					
					if (confirm(confirmStr))
						result=1;
					else
						result=0;
				}
			
		}
		if(document.emailForm.SubscriptionOptions.value=="ForgotPassword"){
				if(result!=0){
					confirmStr="";
					confirmStr="Please confirm your entries";
					confirmStr=confirmStr+"\n"+"Full Name = "+document.emailForm.FullName.value;
					confirmStr=confirmStr+"\n"+"Email Address = "+document.emailForm.Email.value;
					
					if (confirm(confirmStr))
						result=1;
					else
						result=0;
				}
	
		}
		
		if(result != 0){
			return true;
		}else{
			return false;
		}
}
	
function checkEmail(field){
	  var s = 0;
	  var str2;
	  var a='';
	  var b='';
	  var result = 1;
	  // \ is being used to escape \ and " in the following special char string
	  var checkStr=";:'<>,?/~`!#$%^&*(){}[]\\\"|+= ";
	  var correctStr="_-";
	  str2=field.value;
	  var temp="";
	  var userName="";
	  var index=0;
	  var index2=0;
	  
	  userName=str2.substr(0,str2.indexOf("@"));
//check for any special character
/*  		if(str2.indexOf(b.charAt(0))!= -1 || str2.indexOf(a.charAt(0))!= -1){
	  		alert("Use of special characters in email2 is not allowed");
  			result=0;
		}else{*/
		   for(s=0;s<checkStr.length;s++){
			  	if(str2.indexOf(checkStr.charAt(s))!= -1){
			  		alert("Use of special characters in email is not allowed");
			  		result=0;	
			  		break;
		  		}
		  }
//		}
	  if((userName.indexOf("-")==0 || userName.indexOf("_")==0) && result!=0){
			alert("Enter a valid email address");
			field.focus();
			field.blur();
			field.select();
			result=0;
	  }
//check for "@" character		
  		temp=str2.substr(str2.indexOf("@")+1);
		if (field.value.indexOf("@") < 1 && result != 0) {
			alert("Enter a valid e-mail address");
			field.focus();
			field.blur();
			field.select();
			result=0;
  		}else{
			if (temp.indexOf("@") >= 0 && result != 0) {
			alert("Enter a valid e-mail address");
			field.focus();
			field.blur();
			field.select();
			result=0;
			}
  		}
//check for "."character
			if(result!=0){
				if((temp.charAt(0)==".") || (temp.charAt(temp.length-1)==".")){
					alert("Enter a valid e-mail address");
					field.focus();
					field.blur();
					field.select();
					result=0;
			   }else{
//check for any mistyping in like "username@domain..com"			
				   for(s=1;s<temp.length;s++){
				   		if(temp.charAt(s)=="." && temp.charAt(s-1)=="." && result!=0){
							alert("Enter a valid e-mail address");
							field.focus();
							field.blur();
							field.select();
							result=0;
							break;
				   		}		   		
				   	}
			   }
		   }
		   if(temp.indexOf(".")==-1 && result!=0){
		   			alert("Enter a valid e-mail address");
						field.focus();
						field.blur();
						field.select();
						result=0;
		   }
  		return result;
}

function checkText(field){
	  var s = 0;
	  var str2;
	  var a='\"';
	  var b='\\';
	  var result = 1;
	  var checkStr=";:'<>,?/~`!@#$%^.&*()_-{}[]\|+=";
	  str2=field.value;

  		if(str2.indexOf(b.charAt(0))!= -1 || str2.indexOf(a.charAt(0))!= -1){
	  		alert("Use of special characters as a Full Name is not allowed");
  			result=0;
		}else{
		   for(s=0;s<checkStr.length;s++){
			  	if(str2.indexOf(checkStr.charAt(s))!= -1){
			  		alert("Use of special characters as a Full Name is not allowed");
			  		result=0;	
			  		break;
		  		}
		  }
		}
  		return result;
}

function checkPassword(field){
	  var s = 0;
	  var str2;
	  var a='\"';
	  var b='\\';
	  var result = 1;
	  var checkStr=";:'<>,?/~`!@#$%^.&*()_-{}[]\|+= ";
	  str2=field.value;

  		if(str2.indexOf(b.charAt(0))!= -1 || str2.indexOf(a.charAt(0))!= -1){
	  		alert("Use of special characters as a Password is not allowed");
  			result=0;
		}else{
		   for(s=0;s<checkStr.length;s++){
			  	if(str2.indexOf(checkStr.charAt(s))!= -1){
			  		alert("Use of special characters as a Password is not allowed");
			  		result=0;	
			  		break;
		  		}
		  }
		}
  		return result;
}


function isEmail(str) {
	  var s = 0;
	  var str2;
	  var a='\"';
	  var b='\\';
	  var result = 1;
	  var checkStr=";:'<>,?/~`!@#$%^.&*()_-{}[]\|+= ";
	  str2=str;
	  alert(str2);

  		if(str2.indexOf(b.charAt(0))!= -1 || str2.indexOf(a.charAt(0))!= -1){
	  		alert("Enter a valid email4 address");
  			result=0;
		}else{
		   for(s=0;s<checkStr.length;s++){
			  	if(str2.indexOf(checkStr.charAt(s))!= -1){
			  		alert("Enter a valid email5 address");
			  		result=0;	
			  		break;
		  		}
		  }
		}
  		return result;
}

function subscribeAction()
{
var value = document.emailForm.SubscriptionOptions.value;
if(value == 'Subscribe')
{
selectSubscribe();
}
else if(value == 'Unsubscribe'){
selectUnsubscribe();
}
else if(value == 'ChangePassword'){
selectChangePassword();
}
else if(value == 'ChangeEmail'){
selectChangeEmail();
}
else if(value == 'ForgotPassword'){
selectForgotPassword();
}
else if(value == 'SelectOne'){
clearForm();
}

}