/**
 * Copyright(C)2008 by SRM Technologies,All right reserved
 *
 * @author Ravishankar.s
 * @created date 11/09/2008
 */
/******************************************************
 * Modification History
 * 
 * Version      Date        Name     Reason For Change
 * -------      ----        ----     -----------------
 * 
 * 
 * 
 * 
 */
/******************************************************  
 */
 
 /*
 global variables
 ----------------
 */
 var jsValidString;
 var jsFlag;
 var jsEmptyFieldsNameDisplay;
 var jsField;
 /*
 checking  wheather the field is empty
 user input
      isEmpty(field1,field2,field3)
      
 maximum no of fields allowed here is 100 and minimum 1
 
 argument types are 
 arg 1)input field names must be seperated by pipe symbol
 arg 2)alert string
 */
 





  
 function isEmpty(jsValue,jsDisplay)
 {
    jsValidString=(jsValue.split("|"));
    jsFlag=true;
    jsEmptyFieldsNameDisplay="";
    jsField="";
    	for(var index=0;index<jsValidString.length;index++)
		{
		 	jsField=document.getElementById(jsValidString[index]);
		 	 var jsFrmTagName = jsField.name;
		 	if(trim(jsField.value)=="")
		 	{
		 	   if(jsFrmTagName == 'yourname') {
					jsFrmTagName = 'name';
			   }
		 	   if(jsFrmTagName == 'accountcountry') {
					jsFrmTagName = 'country';
			   }
			   if(jsFrmTagName == 'accountstate') {
					jsFrmTagName = 'state';
			   }
			   if(jsFrmTagName == 'accountcity') {
					jsFrmTagName = 'city';
			   }
			   if(jsFrmTagName == 'dob') {
					jsFrmTagName = 'Date of birth';
			   }
			    if(jsFrmTagName=='firstdegree'){

                    jsFrmTagName = 'Graduation at SRM';
			   }
			   if(jsFrmTagName=='day'){

                    jsFrmTagName = 'day (Date of birth)';
			   }
			   if(jsFrmTagName=='month'){

                    jsFrmTagName = 'month (Date of birth)';
			   }
			   if(jsFrmTagName=='year'){

                    jsFrmTagName = 'year (Date of birth)';
			   }
		 	   
		 	   jsFlag=false;

			    				
				var firstletter=jsFrmTagName.substring(0,1).toUpperCase();
				var secondletter= jsFrmTagName.substring(1,jsFrmTagName.length);
				
				//jsEmptyFieldsNameDisplay+="\n"+jsEmptyFieldsNameDisplay;
		 	   jsEmptyFieldsNameDisplay+="\n"+firstletter+secondletter;
		 	   
		 	}
		 				
		}
		if(jsFlag==false)
		{	  
		 	 
		    alert(jsDisplay+""+jsEmptyFieldsNameDisplay);
			
		    
		}
		return jsFlag;
		
 } 
 
 
 function isEmptyCheck(jsValue,jsDisplay)
 {
    jsValidString=(jsValue.split("|"));
    jsFlag=true;
    jsEmptyFieldsNameDisplay="";
    jsField="";
    	for(var index=0;index<jsValidString.length;index++)
		{
		 	jsField=document.getElementById(jsValidString[index]);
		 	 var jsFrmTagName = jsField.name;
		 	if(trim(jsField.value)=="")
		 	{
		 	   if(jsFrmTagName == 'nominator_name') {
					jsFrmTagName = 'nominator name';
			   }
			   if(jsFrmTagName == 'nominator_designation') {
					jsFrmTagName = 'nominator designation';
			   }
			   if(jsFrmTagName == 'nominator_company') {
					jsFrmTagName = 'nominator company';
			   }
		 	   if(jsFrmTagName == 'nominator_address') {
					jsFrmTagName = 'nominator address';
			   }
			   if(jsFrmTagName == 'nominator_phone') {
					jsFrmTagName = 'nominator phone';
			   }
			   if(jsFrmTagName == 'nominator_mobile') {
					jsFrmTagName = 'nominator mobile';
			   }
			   if(jsFrmTagName == 'nominator_email') {
					jsFrmTagName = 'nominator email';
			   }
			   if(jsFrmTagName == 'nominator_graduationyear') {
					jsFrmTagName = 'nominator year of graduation';
			   }
			   if(jsFrmTagName == 'nominator_graduation') {
					jsFrmTagName = 'nominator branch';
			   }
			   if(jsFrmTagName == 'nominee_name') {
					jsFrmTagName = 'nominee name';
			   }
			   if(jsFrmTagName == 'nominee_designation') {
					jsFrmTagName = 'nominee designation';
			   }
			   if(jsFrmTagName == 'nominee_company') {
					jsFrmTagName = 'nominee company';
			   }
			    if(jsFrmTagName=='nominee_address'){
                    jsFrmTagName = 'nominee address';
			   }
			   if(jsFrmTagName=='nominee_phone'){
                    jsFrmTagName = 'nominee phone';
			   }
			   if(jsFrmTagName == 'nominee_mobile') {
					jsFrmTagName = 'nominee mobile';
			   }
			    if(jsFrmTagName=='nominee_email'){

                    jsFrmTagName = 'nominee email';
			   }
			   if(jsFrmTagName=='day'){

                    jsFrmTagName = 'day (Date of birth)';
			   }
			   if(jsFrmTagName=='month'){

                    jsFrmTagName = 'month (Date of birth)';
			   }
			   if(jsFrmTagName=='year'){

                    jsFrmTagName = 'year (Date of birth)';
			   }
		 	   if(jsFrmTagName == 'nominee_degree') {
					jsFrmTagName = 'nominee degree';
			   }
			    if(jsFrmTagName=='graduationyear'){
                    jsFrmTagName = 'nominee year of graduation';
			   }
			   if(jsFrmTagName=='nominee_graduation'){
                    jsFrmTagName = 'nominee branch';
			   }
			   if(jsFrmTagName == 'additional_qualification') {
					jsFrmTagName = 'addtional academic qualification';
			   }
			    
		 	   jsFlag=false;

			    				
				var firstletter=jsFrmTagName.substring(0,1).toUpperCase();
				var secondletter= jsFrmTagName.substring(1,jsFrmTagName.length);			
				
		 	    jsEmptyFieldsNameDisplay+="\n"+firstletter+secondletter;
		 	    
		 	}
		 				
		}
		if(jsFlag==false)
		{	  
		 	 
		    alert(jsDisplay+""+jsEmptyFieldsNameDisplay);
			jsEmptyFieldsNameDisplay.select();
		    
		}
		return jsFlag;
		
 } 
 
 /*
 length validation
 -------------------
 arg 1)input field names must be seperated by pipe symbol
 arg 2)length of the given fields
 arg 3)alert string
 
 */
 
 function isInValidLength(jsValue,jsLength,jsDisplay)
 {
   
   jsValidString=(jsValue.split("|"));
   jsFlag=true;
   jsEmptyFieldsNameDisplay="";
   jsField="";
   for(var index=0;index<jsValidString.length;index++)
	{
	  jsField=document.getElementById(jsValidString[index]);
	  if(jsField.value.length>jsLength)
	  {
	     jsFlag=false;
	     jsEmptyFieldsNameDisplay+="\n"+jsField.name;
	  }
	}
	
	if(jsFlag==false)
	{ 
	  alert(jsDisplay);
	}
	return jsFlag;
 }

 
 
 
 /*
 string validation
 ------------------
 arg 1)input field names must be seperated by pipe symbol
 arg 2)alert string  
 */
 function isNumber(jsValue,jsDisplay)
 {
   jsValidString=(jsValue.split("|"));
   jsFlag=true;
   jsEmptyFieldsNameDisplay="";
   jsField="";
   for(var index=0;index<jsValidString.length;index++)
   {
	   jsField=document.getElementById(jsValidString[index]);
	   if(IsNumeric(jsField.value))
	   {
	      jsFlag=false;
	      jsEmptyFieldsNameDisplay+="\n"+jsField.name;
	   }
   }
   
   if(jsFlag==false)
	{ 
	  alert(jsDisplay+" "+jsEmptyFieldsNameDisplay);
	}
	return jsFlag;
	
 }
 
 //
 function isNumbers(jsValue,jsDisplay,jsLength) {
	    
 		var validChars = /[^0-9]/i
 		var jsFieldValue = document.getElementById(jsValue).value;
		if(validChars.test(jsFieldValue))
		{
  			alert(jsDisplay);
  			return false;
		} else {
			return true;
		}
	}
 
 /*
   date validation script
   -----------------------
   arg 1)input field names must be seperated by pipe symbol
   arg 2)alert String
 */
 function isValidDate(jsValue,jsDisplay)
 {
   jsValidString=(jsValue.split("|"));
   jsFlag=true;
   jsEmptyFieldsNameDisplay="";
   jsField="";
     for(var index=0;index<jsValidString.length;index++)
     {
	   jsField=document.getElementById(jsValidString[index]);
	   var jsFrmTagName = jsField.name;
	   
	   if(fnCheckValidDate(jsField))
	   {
	      if(jsFrmTagName == 'dob') 
	      {
			jsFrmTagName = 'Date of birth';
		  }
	   		
          jsFlag=false;

		 
	      jsEmptyFieldsNameDisplay+="\n"+jsFrmTagName;	   
	   }
	 }
	 
	 if(jsFlag==false)
	 { 
	   alert(jsDisplay+" "+jsEmptyFieldsNameDisplay);
	 }
	return jsFlag;
	 
 }
 

 /*
   adding calendar in page
   ------------------------
   arg 1)give the name of the text box which you going to display the date
   arg 2)give the div name(which you going to display the calendar) 
   arg 3)give the button name for this calendar 
   
   div format must be like below
   -----------------------------
   <DIV ID="jsDivName" 
   STYLE="position:absolute;visibility:hidden;background-color:white;layer-background-color:white;">
   </DIV>
 */
 function openCalendar(jsValue,jsButtonName)
 {
   var jsDateFormat='dd-MM-yyyy';
   var jsCalendarName=document.getElementById(jsValue);
   var jsCal= new CalendarPopup();
   jsCal.setCssPrefix("TEST");
   jsCal.showYearNavigation();
   jsCal.select(jsCalendarName,jsButtonName,jsDateFormat);
 }
 
 /*
    email validation
    ----------------
    arg 1)input field names must be seperated by pipe symbol
    arg 2)alert String
 */
 function isValidEmail(jsValue,jsDisplay)
 {
     jsValidString=(jsValue.split("|"));
     jsFlag=true;
     jsEmptyFieldsNameDisplay="";
     jsField="";
	 var jsChapterFields="";
     for(var index=0;index<jsValidString.length;index++)
     {
        jsField=document.getElementById(jsValidString[index]);
        
         if(emailCheck(jsField.value))
	     {
			
		    
		   if(jsField.value != "")
			   {
			   if(jsField.name == 'PEmail' || jsField.name == 'NatPEmail')
				   {
				   
					jsChapterFields = 'President Email'; 
				   }
			   if(jsField.name == 'VEmail' || jsField.name == 'NatVEmail')
				   {
					 jsChapterFields = 'Vice President Email';
				   }
				if(jsField.name == 'TEmail' || jsField.name == 'NatTEmail')
				   {
					 jsChapterFields = 'Treasurer Email';
				   }
				if(jsField.name == 'SEmail' || jsField.name == 'NatSEmail')
				   {
					 jsChapterFields = 'Secretary Email';
				   }

			   }
			   if(jsChapterFields!="")
			   {
				   jsFlag=false;				  
				   jsEmptyFieldsNameDisplay+="\n"+jsChapterFields;
			   }else
				 {
                    jsFlag=false;
				    jsEmptyFieldsNameDisplay+="\n"+jsField.name;
				 }

	     }
     }
     
      if(jsFlag==false)
	  { 
	   alert(jsDisplay+" "+jsEmptyFieldsNameDisplay);
      
	  }
	 return jsFlag;
 }


 /*
    email validation
    ----------------
    arg 1)input field names must be seperated by pipe symbol
    arg 2)alert String
 */
 function isValidChapterEmail(jsValue,jsDisplay)
 {
     jsValidString=(jsValue.split("|"));
     jsFlag=true;
     jsEmptyFieldsNameDisplay="";
     jsField="";
	 var jsChapterFields="";
     for(var index=0;index<jsValidString.length;index++)
     {
        jsField=document.getElementById(jsValidString[index]);
        
         if(jsField.value != "" && emailCheck(jsField.value))
	     {
			
		   if(jsField.value != "")
			   {
			   if(jsField.name == 'PEmail' || jsField.name == 'NatPEmail')
				   {
					 jsChapterFields = 'President Email'; 

				   }
			   if(jsField.name == 'VEmail' || jsField.name == 'NatVEmail')
				   {
					 jsChapterFields = 'Vice President Email';
				   }
				if(jsField.name == 'TEmail' || jsField.name == 'NatTEmail')
				   {
					 jsChapterFields = 'Treasurer Email';
				   }
				if(jsField.name == 'SEmail' || jsField.name == 'NatSEmail')
				   {
					 jsChapterFields = 'Secretary Email';
				   }

			   }
			   if(jsChapterFields!="")
			   {
				   jsFlag=false;				  
				   jsEmptyFieldsNameDisplay+="\n"+jsChapterFields;
			   }else
				 {
                    jsFlag=false;
				    jsEmptyFieldsNameDisplay+="\n"+jsField.name;
				 }

	     }
     }
     
      if(jsFlag==false)
	  { 
	   alert(jsDisplay+" "+jsEmptyFieldsNameDisplay);
      
	  }
	 return jsFlag;
 }
 
 /*
 dont call this function directly call the above openCalendar function
 */
function fnCheckValidDate(objDate)
	{
	var strDate=objDate;
	var strNum = "1234567890-";
	var numFlag = "";

	var i;
	for(i=0;i<strDate.length;i++) {
		if(strNum.indexOf(strDate.charAt(i)) < 0) {
			return true;
		}
	}
	
	if(strDate.length != 0 && strDate.length == 10) {
		var arrDate=strDate.split("-");
		if(arrDate.length <= 1) {
			return true;
		}
		var intDay=arrDate[0];
		var intMonth=arrDate[1];
		var intYear=arrDate[2];
	
		var intLeap    =intYear%4;
		var arrMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		if (intLeap==0) {
			arrMonth[1]=29;
		}
		if(intMonth<=0 || intMonth>12) {
			return true;
		}
		if(intDay<=0 || intDay>arrMonth[intMonth-1])  {
			return true;
		}
	} else {
		return true;
	}
	return false;
	}
 /*
 
 dont call this method directly call the above function isNotNumber
   
 */
 function IsNumeric(sText)
	{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
	Char = sText.charAt(i); 
	if (ValidChars.indexOf(Char) == -1) 
	{

	IsNumber = false;
	}
	}
	return IsNumber;
	}
	
	
//
	
function isAlphabets(jsValue,jsDisplay) {
 		
 		var validChars = /[^a-zA-Z\s]/i
		var jsFieldValue = document.getElementById(jsValue).value;		
		if(validChars.test(jsFieldValue)) 
		{
  			alert(jsDisplay);  			
  			return false;
		} else {
			return true;
		}
	}
		

function isAlphabetsComma(jsValue,jsDisplay) {
 		
 		var validChars = /[^a-zA-Z,\s]/i
		var jsFieldValue = document.getElementById(jsValue).value;
		
		if(validChars.test(jsFieldValue)) 
		{
  			alert(jsDisplay);
  			return false;
		} else {
			return true;
		}
	}


// TO VALIDATE IMAGE

function ValidateImage(jsvalue)
	{
		
		var Split=jsvalue.split("|");
		var FileName="";
		
		var checkflag=false;
		for(var i=0; i<Split.length ; i++)
		{
		
			FileName = document.getElementById(Split[i]).value;
			
			if(FileName !="")
			{
				
			FileName = FileName.substring(FileName.lastIndexOf('\\') + 1);	
			
			var FileExt = FileName.substring(FileName.lastIndexOf('.') + 1);	

			FileExt=FileExt.toLowerCase();
			
			
			if ((FileExt == 'gif') || (FileExt == 'jpeg') || (FileExt == 'jpg'))
				{					
				//return true;			
				

				}else
					{	
					alert('Upload Valid Image File');	
					document.getElementById(Split[i]).focus();					
					return false;
					
					}
				}				
					
			}
		
			
			return true;
		
		}
	
// TO VALIDATE NOMINATION DOCUMENT

function ValidateNominationForm(jsvalue)
{
	
	var Split=jsvalue.split("|");
	var FileName="";
	
	var checkflag=false;
	for(var i=0; i<Split.length ; i++)
	{
	
		FileName = document.getElementById(Split[i]).value;
		
		if(FileName !="")
		{
			
		FileName = FileName.substring(FileName.lastIndexOf('\\') + 1);	
		
		var FileExt = FileName.substring(FileName.lastIndexOf('.') + 1);	

		FileExt=FileExt.toLowerCase();		
		
		if ((FileExt == 'txt') || (FileExt == 'doc') || (FileExt == 'rtf')|| (FileExt == 'xls'))
		   {					
			//return true;			
			

			}else
				{	
				alert('Upload valid file');	
				document.getElementById(Split[i]).focus();					
				return false;
				
				}
			}				
				
		}	
		
		return true;
	
}
// TO VALIDATE NOMINATION IMAGE
function ValidateNominationImage(jsvalue)
{
	
	var Split=jsvalue.split("|");
	var FileName="";
	
	var checkflag=false;
	for(var i=0; i<Split.length ; i++)
	{
	
		FileName = document.getElementById(Split[i]).value;
		
		if(FileName !="")
		{
			
		FileName = FileName.substring(FileName.lastIndexOf('\\') + 1);	
		
		var FileExt = FileName.substring(FileName.lastIndexOf('.') + 1);	

		FileExt=FileExt.toLowerCase();			
		if ((FileExt == 'jpeg')||(FileExt == 'jpg'))
		   {					
			//return true;			
			

			}else
				{	
				alert('Upload valid photo');	
				document.getElementById(Split[i]).focus();					
				return false;
				
				}
			}				
				
		}	
		
		return true;
	
}


	// TO VALIDATE PDF FILE

function ValidatePdf(jsvalue)
	{
		
		var Split=jsvalue.split("|");
		var FileName="";
		
		var checkflag=false;
		for(var i=0; i<Split.length ; i++)
		{
		
			FileName = document.getElementById(Split[i]).value;
			
			if(FileName !="")
			{
				
			FileName = FileName.substring(FileName.lastIndexOf('\\') + 1);	
			
			var FileExt = FileName.substring(FileName.lastIndexOf('.') + 1);	

			FileExt=FileExt.toLowerCase();
			
			
			if ((FileExt == 'pdf'))
				{					
				//return true;			
				

				}else
					{	
					alert('Upload Valid pdf File');	
					document.getElementById(Split[i]).focus();					
					return false;
					
					}
				}				
					
			}
		
			
			return true;
		
		}

//
function checkDegreeMethod(jsValue){
		var jsFieldValue="";
	    var fieldvalue=true;
		jsValidString=(jsValue.split("|"));
  	    for(var index=0;index<jsValidString.length;index++)
       	{
       	     jsFieldValue=document.getElementById(jsValidString[index]);
    //   	      alert( jsValidString[index] + ":" + jsFieldValue.value);
       	    if(!isSelectedCheck(jsFieldValue.value))
	        {
	//            alert("select the Combo");
	        	return false;
	        }
	         
	 	}
	// 	alert("True");
	 	return fieldvalue;
	}	
	
function isSelectedCheck(jsField){
	   if(jsField=="")
        {
     //   	alert( " isSelectedCheck select the Combo");
          	return false;
        } 
        else
        {
    //    	alert(jsField + "isSelectedCheck True");
         	return true;
        }
     }
  
        	
	
/*
  dont call this method directly call the above isValidEmail
*/

function emailCheck(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {

//alert("Email address seems incorrect (check @ and .'s)");
return true;
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
//alert("Ths username contains invalid characters.");
return true;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
//alert("Ths domain name contains invalid characters.");
return true;
   }
}
if (user.match(userPat)==null) {

//alert("The username doesn't seem to be valid.");
return true;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
//alert("Destination IP address is invalid!");
return true;
   }
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
//alert("The domain name does not seem to be valid.");
return true;
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
//alert("The address must end in a well-known domain or two letter " + "country.");
return true;
}
if (len<2) {
//alert("This address is missing a hostname!");
return true;
}
return false;
}

function trim(temp) {
	return temp.replace(/^\s+/, '').replace(/\s+$/, '');
}

//script used to forward the page
 function callLandingPage()
 {
   window.location.href="index.jsp";
 }	
 	
	