/*******************************************************************/
/***                                                             ***/
/***   FormValidation_tutor_Gen.js - JavaScript Form Validations ***/
/***   Author	 : Sundarrajan S.                                ***/
/***                                                             ***/
/***   Version   : 1.2                                           ***/
/***   Date      : 03.16.2009                                    ***/
/***   Copyright : 2009 lbn texh solution                        ***/
/***   Website   : http://www.localbiznetwork.com/               ***/
/***                                                             ***/
/*******************************************************************/


function ltrim(str) { 
	for(var k = 0; k < str.length && isWhitespace(str.charAt(k)); k++);
	return str.substring(k, str.length);
}
function rtrim(str) {
	for(var j=str.length-1; j>=0 && isWhitespace(str.charAt(j)) ; j--) ;
	return str.substring(0,j+1);
}
function trim(str) {
	return ltrim(rtrim(str));
}
function isWhitespace(charToCheck) {
	var whitespaceChars = " \t\n\r\f";
	return (whitespaceChars.indexOf(charToCheck) != -1);
}

function isSpaceBetweenWords(str){
	
	var wordString = trim(str);
	var finalString="";
	
	if( (wordString == "" ) || (wordString.length == 0)){
		return wordString;
	}else{

		for(var ws=0; ws<wordString.length; ws++ ){
			//alert(wordString.charAt(ws));
			if(!(wordString.charAt(ws) == ' ' ))
			{
				finalString = finalString + wordString.charAt(ws);
				//alert("***"+finalString+"***");
			} //if

		} // forloop ws
		
	} // if else wordString
	//alert("***"+finalString+"***");
	return finalString;

} // main function



function validation(){
		
	//alert("i'm n validation part");
	var myString = document.forms[0].Validation.value;
	var err_msg = document.forms[0].display_errors.value;
	//var message="Please enter value to proceed \n";
	var message="";
	var _form   = document.forms[0];

	var count;
	var errorCount;
	var selectCount;
	var checkCount;
	var dpCount=0;
	//alert(myString);
	
	errorCount=0;
	checkCount==0;
	var chkName;
	var chkRadioCount;

	var starthrs="";
	var startmin="";
	var startampm="";
	
	var endhrs="";
	var endmin="";
	var endampm="";

	var tokens = myString.tokenize(",", " ", true);

// Main ForLoop
	for(var dp=0; dp<tokens.length; dp++){
		
/// TextArea Validation
		var textAreaE = _form.getElementsByTagName("textarea");
		var areaLen = textAreaE.length;

		for (var txtArea=0; txtArea<areaLen; txtArea++){
			
			if( isSpaceBetweenWords(tokens[dp]) == textAreaE[txtArea].name )
			{
				var txtAreaName = textAreaE[txtArea].value;
				txtAreaName = trim(txtAreaName);

				if( (txtAreaName == "") || (txtAreaName == " ") )
				{
					message = message + tokens[dp] +",";
					errorCount++;
					//alert(tokens[dp]);
				}
			}
		}


		var checks = document.getElementsByTagName("INPUT");
		var len = checks.length;
		count=0;

/////////////////////////////////////////////////////////////////////////////////////
/// Radio button Validation
		
		for (var radio=0; radio<len; radio++){
		
			if(checks[radio].type == 'radio'){
				chkNameRadio=document.forms[0].elements[checks[radio].name];

				if(count==0){
					chkRadioCount=0;
					
					if( isSpaceBetweenWords(tokens[dp]) == checks[radio].name ){

						for(var meg=0; meg<chkNameRadio.length; meg++){
							if(chkNameRadio[meg].checked){
								chkRadioCount++;
							}
						}
						
						if(chkRadioCount==0){
							message = message + tokens[dp] +",";
							errorCount++;
							//alert(tokens[dp]);
						}
						
					} // tokens check

					count++;
				} // count

			}
		}		

/////////////////////////////////////////////////////////////////////////////////////
/// checkbox button Validation

		for (var chk=0; chk<len; chk++){
		
			if(checks[chk].type == 'checkbox'){
				chkName=document.forms[0].elements[checks[chk].name];
				//chkName=document.myform.Type;

				if(dpCount==0){
					chkDPcount=0;

					if( isSpaceBetweenWords(tokens[dp]) == checks[chk].name ){
					//alert(chkDPcount);
					
						for(var lbn=0; lbn<chkName.length; lbn++){
							//alert(chkName[lbn].checked);						
							if(chkName[lbn].checked){
								chkDPcount++;
							}
						}
						
						if(chkDPcount==0){
							//message = message + "Type " +"\n";
							message = message + checks[chk].name +",";
							errorCount++;
							//alert(checks[chk]);
						}
						break;
						dpCount++;
						
					} // if tokens == check
				} // dpCount
				
			} // if checks
		} // var chk

////////////////////////////////////////////////////////////////////////////////////////////////////
//// Get Element Input Tag Name

		for(var i=0;i<_form.getElementsByTagName('input').length-1;i++) 
		{
			var _item    =_form.getElementsByTagName('input')[i]; 
			var _value   =_item.value; 
			var _checked =_item.checked; 
			var _name    =_item.name; 
	
			var _itemN   =_form.getElementsByTagName('input')[i+1]; 
			var _checkedN=_itemN.checked; 
			var _valueN  =_itemN.value; 
			var _nameN  =_itemN.name; 
			var _classNameN  =_itemN.className; 			
			var _typeN   =_itemN.getAttribute('type');

			if(_typeN == 'password'){
				if( isSpaceBetweenWords(tokens[dp]) == _nameN)
				{
					var pass_fieldName = document.forms[0].elements[ isSpaceBetweenWords(tokens[dp]) ].value;
					pass_fieldName = trim(pass_fieldName);
					if( (pass_fieldName == "") || (pass_fieldName == " ") )
					{
						message = message + tokens[dp] +",";
						errorCount++;
						//alert(tokens[dp]);
					}
				}
				
			}
			else if(_typeN == 'hidden'){} // if _typeN == 'hidden'
			else if(_typeN == 'text'){

//				if(tokens[dp] == _nameN)
				if( isSpaceBetweenWords(tokens[dp]) == _nameN)
				{
					//alert("***"+isSpaceBetweenWords(tokens[dp])+"***");

					var fieldName = document.forms[0].elements[ isSpaceBetweenWords(tokens[dp]) ].value;
					fieldName = trim(fieldName);
					
					if( (fieldName == "") || (fieldName == " ") )
					{
						message = message + tokens[dp] +",";
						errorCount++;
						//alert(tokens[dp]);

					}else if( isSpaceBetweenWords(tokens[dp]) == "Email"){
						var str = fieldName;
						str = trim(str);

						var at="@"
						var dot="."
						var lat=str.indexOf(at)
						var lstr=str.length
						var ldot=str.indexOf(dot)
						var emailCount;
						
						emailCount=0;
						
						if (str.indexOf(at)==-1){
							emailCount++;
						}
						
						if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
							emailCount++;
						}
						
						if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
							emailCount++;
						}
						
						if (str.indexOf(at,(lat+1))!=-1){
							emailCount++;
						}
						
						if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
							emailCount++;						
						}
						
						if (str.indexOf(dot,(lat+2))==-1){
							emailCount++;
						}
						
						if (str.indexOf(" ")!=-1){
							emailCount++;
						}

/// Adding Error Message
						if(emailCount > 0){
							message = message + "Invalid E-mail ID" +",";
							errorCount++;
							//alert("invalid email id");
						}
						
					} // else fieldname
					break;

				} 

			}else if(_typeN == 'checkbox'){
			}else if(_typeN == 'radio'){
			
			} // typeN == radio
			
		} // forloop var i

		
	} // forloop var dp

/*
//// Get Element Input Select Tag Name
		var s = document.getElementsByTagName('select');
		//alert("s length *** "+s.length);

		if (s.length > 0){
			for (var i=0,select; select = s[i]; i++)
			{
				for(var dpt=0; dpt<tokens.length; dpt++){
					
					//alert();
					if( isSpaceBetweenWords(tokens[dpt]) == s[i].name){
						if(select.multiple == true)
						{
							//alert("multiple select ***"+s[i].name+" *** "+s[i].value);
							if(s[i].value == "")
							{
								//message = message + s[i].name +"\n";
								message = message + tokens[dpt] +",";
								errorCount++;
								//alert(tokens[dpt]);
							}
						}else{
						//alert("else select ***"+s[i].name+" *** "+s[i].value);
							if(s[i].value == "")
							{
								//message = message + s[i].name +"\n";
								message = message + tokens[dpt] +",";
								errorCount++;
								//alert(tokens[dpt]);
							}else{
							}
						}
					}
				}
			}
		} //
*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	var timing_cnt=0;
	
	/// Affiliation
	var MornFrom = document.forms[0].MornFrom.value;
	var MornTo = document.forms[0].MornTo.value;
	var EvenFrom = document.forms[0].EvenFrom.value;
	var EvenTo = document.forms[0].EvenTo.value;
	
	if( (MornFrom == "") && (MornTo == "") && (EvenFrom == "") && (EvenTo == "") ){
		if(MornFrom == ""){ message = message + "MornFrom" +","; errorCount++; }
		if(MornTo == ""){ message = message + "MornTo" +","; errorCount++; }
		if(EvenFrom == ""){ message = message + "EvenFrom" +","; errorCount++; }
		if(EvenTo == ""){ message = message + "EvenTo" +","; errorCount++; }
	}else{
		//alert("***"+MornFrom+"***"+MornTo+"***"+EvenFrom+"***"+EvenTo+"***");
		
		if( (MornFrom != "") && (MornTo == "") ){
			//alert("Please select MornTo");
			message = message + "MornTo" +","; errorCount++;
		}
		
		if( (MornFrom == "") && (MornTo != "") ){
			//alert("Please select MornFrom");
			message = message + "MornFrom" +","; errorCount++;
		}

//alert("***"+EvenFrom+"***"+EvenTo+"***");
		if( (EvenFrom == "") && (EvenTo != "") ){
			//alert("Please select EvenFrom");
			message = message + "EvenFrom" +","; errorCount++;
		}
		
		if( (EvenFrom != "") && (EvenTo == "") ){
			//alert("Please select EvenTo");
			message = message + "EvenTo" +","; errorCount++;
		}
		



		if( (MornFrom != "") && (MornTo != "") )
		{
			if( MornFrom == MornTo ){
				message = message + "Morn_notless" +",";
				errorCount++;
			}
			
			if( MornFrom.substring(0,MornFrom.length-2) > MornTo.substring(0,MornTo.length-2) ){
				message = message + "Morn_notless" +",";
				errorCount++;
			}
		}
	
		if( (EvenFrom != "") && (EvenTo != "") )
		{
			
			if( EvenFrom == EvenTo ){
				message = message + "Even_notless" +",";
				errorCount++;
			}
			
			if( EvenFrom.substring(0,EvenFrom.length-2) > EvenTo.substring(0,EvenTo.length-2) ){
				message = message + "Even_notless" +",";
				errorCount++;
			}
		}


	}
	

/*
		if( (MornFrom != "") && (MornTo != "") )
		{
			if( MornFrom.substring(0,MornFrom.length-2) > MornTo.substring(0,MornTo.length-2) ){
				message = message + "Morn_notless" +",";
				errorCount++;
			}
		}
	
		if( (EvenFrom != "") && (EvenTo != "") )
		{
			if( EvenFrom.substring(0,EvenFrom.length-2) > EvenTo.substring(0,EvenTo.length-2) ){
				message = message + "Even_notless" +",";
				errorCount++;
			}
		}
*/

	


////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	var affiliation_cnt=0;
	var course_cnt=0;
	
	/// Affiliation
	var affiliation0 = document.forms[0].affiliation0.value;
	var affiliation1 = document.forms[0].affiliation1.value;
	var affiliation2 = document.forms[0].affiliation2.value;
	var affiliation3 = document.forms[0].affiliation3.value;
	if(affiliation0 == ""){ affiliation_cnt++; }
	if(affiliation1 == ""){ affiliation_cnt++; }
	if(affiliation2 == ""){ affiliation_cnt++; }
	if(affiliation3 == ""){ affiliation_cnt++; }

	if(affiliation_cnt == 4) {
		message = message + "affiliation" +",";
		errorCount++;
		//alert("subject");
	}

	/// Course
	var course0 = document.forms[0].course0.value;
	var course1 = document.forms[0].course1.value;
	var course2 = document.forms[0].course2.value;
	var course3 = document.forms[0].course3.value;
	if(course0 == ""){ course_cnt++; }
	if(course1 == ""){ course_cnt++; }
	if(course2 == ""){ course_cnt++; }
	if(course3 == ""){ course_cnt++; }

	if(course_cnt == 4) {
		message = message + "course" +",";
		errorCount++;
		//alert("subject");
	}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	var class_affiliation_cnt = 0;
	var class_course_cnt = 0;
	var class_subject_cnt = 0;
	
	/// Class Affiliation
	var class_affiliation0 = document.forms[0].class_affiliation0.value;
	var class_affiliation1 = document.forms[0].class_affiliation1.value;
	var class_affiliation2 = document.forms[0].class_affiliation2.value;
	var class_affiliation3 = document.forms[0].class_affiliation3.value;
	var class_affiliation4 = document.forms[0].class_affiliation4.value;
	
	/// Class Course
	var class_course0 = document.forms[0].class_course0.value;
	var class_course1 = document.forms[0].class_course1.value;
	var class_course2 = document.forms[0].class_course2.value;
	var class_course3 = document.forms[0].class_course3.value;
	var class_course4 = document.forms[0].class_course4.value;
	
	if(class_course0 == "Select"){ class_course_cnt++; }
	if(class_course1 == "Select"){ class_course_cnt++; }
	if(class_course2 == "Select"){ class_course_cnt++; }
	if(class_course3 == "Select"){ class_course_cnt++; }
	if(class_course4 == "Select"){ class_course_cnt++; }

	if(class_course_cnt == 5) {
		message = message + "class_course" +",";
		errorCount++;
		//alert("subject");
	}

/// Class Subject
	var class_subject0 = document.forms[0].class_subject0.value;
	var class_subject1 = document.forms[0].class_subject1.value;
	var class_subject2 = document.forms[0].class_subject2.value;
	var class_subject3 = document.forms[0].class_subject3.value;
	var class_subject4 = document.forms[0].class_subject4.value;
	
	if(class_subject0 == "Select"){ class_subject_cnt++; }
	if(class_subject1 == "Select"){ class_subject_cnt++; }
	if(class_subject2 == "Select"){ class_subject_cnt++; }
	if(class_subject3 == "Select"){ class_subject_cnt++; }
	if(class_subject4 == "Select"){ class_subject_cnt++; }

	if(class_subject_cnt == 5) {
		message = message + "class_subject" +",";
		errorCount++;
		//alert("subject");
	}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	var sub_row_err_message="";
	sub_row_err_message="Please select the following:\n";
	
////////////////////////////////////////////////////////////////////////////////////////////////
/// FIRST ROW
	if( (class_course0 != "Select") && (class_subject0 == "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Subject on the first row" +"\n";
		errorCount++;
	}else if( (class_course0 == "Select") && (class_subject0 != "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Class/Course on the first row" +"\n";
		errorCount++;
	}
											   
	if( (class_course1 != "Select") && (class_subject1 == "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Subject on the second row" +"\n";
		errorCount++;
	}else if( (class_course1 == "Select") && (class_subject1 != "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Class/Course on the second row" +"\n";
		errorCount++;
	}
		
	if( (class_course2 != "Select") && (class_subject2 == "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Subject on the third row" +"\n";
		errorCount++;
	}else if( (class_course2 == "Select") && (class_subject2 != "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Class/Course on the third row" +"\n";
		errorCount++;
	}
	
	if( (class_course3 != "Select") && (class_subject3 == "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Subject on the fourth row" +"\n";
		errorCount++;
	}else if( (class_course3 == "Select") && (class_subject3 != "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Class/Course on the fourth row" +"\n";
		errorCount++;
	}
	
	if( (class_course4 != "Select") && (class_subject4 == "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Subject on the fifth row" +"\n";
		errorCount++;
	}else if( (class_course4 == "Select") && (class_subject4 != "Select"))
	{
		sub_row_err_message = sub_row_err_message + "Class/Course on the fifth row" +"\n";
		errorCount++;
	}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	if(sub_row_err_message == "Please select the following:\n"){
	}else{
		alert(sub_row_err_message);
	}


//class_subject
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// Passward confirmation

/// Passward confirmation
var pass_cnt=0;

if(document.forms[0].password.value != ""){
	if(document.forms[0].confirm_password.value != ""){
		if( (document.forms[0].password.value == "") && (document.forms[0].confirm_password.value != "") ){
			message = message + "password" +",";
			errorCount++;
		}
		pass_cnt++;
	}
}

if(document.forms[0].password.value != ""){
	if( (document.forms[0].password.value == "") && (document.forms[0].confirm_password.value != "") ){
		message = message + "confirm_password" +",";
		errorCount++;
	}
	pass_cnt++;
}

if (pass_cnt == 2){
	if(document.forms[0].password.value == document.forms[0].confirm_password.value) {}else{
		message = message + "pass_not_match" +",";
		errorCount++;
		//alert("password not match");
	} 
}
  

///////////////////////////////////////////////////////////////////////////////////////////////
/// email validation
	var emailID = document.forms[0].tutorid;
	
	if (!(emailID.value=="")){
		if (echeck(emailID.value)==false){
			message = message + "emailformat" +",";
			errorCount++;
			//alert("email format not match");
		}
	}

///////////////////////////////////////////////////////////////////////////////////////////////
//// Upload Photo Area
var photo = document.forms[0].theFile.value;
var imagePath = document.forms[0].theFile.value;
var pathLength = imagePath.length;
var lastDot = imagePath.lastIndexOf(".");
var fileType = imagePath.substring(lastDot,pathLength);
//if((fileType == ".gif") || (fileType == ".jpg") || (fileType == ".png") || (fileType == ".GIF") || (fileType == ".JPG") || (fileType == ".PNG")) {

if( (fileType == ".jpg") || (fileType == ".JPG") || (fileType == ".GIF") || (fileType == ".gif") ) {
//if( (fileType == ".jpg") || (fileType == ".gif") ) {
	//return true;
} else if( (fileType == "") ) {
	message = message + "photo" +",";
	errorCount++;
	//alert("photo null");

} else {
	//alert("We supports .JPG, .PNG, and .GIF image formats. Your file-type is " + fileType + ". If you are having difficulties with this step, please send an e-mail to trevor@trevor.net.");
	message = message + "photoformat" +",";
	errorCount++;
	//alert("photoformat invalid");
}


///////////////////////////////////////////////////////////////////////////////////////////////
//// Upload Photo Area
var resume2 = document.forms[0].theFile2.value;
var resumePath2 = document.forms[0].theFile2.value;
var pathLength2 = resumePath2.length;
var lastDot2 = resumePath2.lastIndexOf(".");
var fileType2 = resumePath2.substring(lastDot2,pathLength2);
//if((fileType == ".gif") || (fileType == ".jpg") || (fileType == ".png") || (fileType == ".GIF") || (fileType == ".JPG") || (fileType == ".PNG")) {

if( (fileType2 == ".DOC") || (fileType2 == ".doc") ) {
} else if( (fileType2 == "") ) {
	message = message + "resume" +",";
	errorCount++;
} else {
	message = message + "resumeformat" +",";
	errorCount++;
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}
///////////////////////////////////////////////////////////////////////////////////////////////



///////////////////////////////////////////////////////////////////////////////////////////////
// Error Count 	
//alert(errorCount);
	if(errorCount > 0){
			var error_message="Please enter the following values to proceed: \n";

			var error_msg = err_msg.tokenize(",", " ", true);
			//alert(error_msg.length+" *** error_msg *** "+error_msg);
		
			var msg_error = message.tokenize(",", " ", true);            
			//alert(msg_error.length+" *** "+msg_error);
			
			for(var em=0; em<error_msg.length; em+=2){
				for(var mse=0; mse<msg_error.length; mse++){
					if( error_msg[em] == msg_error[mse] )
					{
						//alert("val *** "+error_msg[em]);
						error_message = error_message + error_msg[em+1] +"\n";
					}
				}
			}

			alert(error_message);
            return false;

	}else if(errorCount == 0){
			//alert("no error");
			//return false;
			return true;
	}


}


