﻿//Trimming values
function trim(str)
{
	var str1=str.replace(/\S/g,"|");
	var i=str1.indexOf("|")-1;
	var j=str1.lastIndexOf("|")+1;
	var trimStr=str.substring(0,i).replace(/\s/g,"") + str.substring(i+1,j)
    trimStr = trimStr + str.substring(j).replace(/\s/g,"");
	return trimStr;
}

//Trimming values with space
function trimfull(str)
{
	var str1=str.replace(/\S/g,"|");
	var i=str1.indexOf("|")-1;
	var j=str1.lastIndexOf("|")+1;
	var trimStr=str.substring(0,i).replace(/\s/g,"") + str.substring(i+1,j)
    trimStr = trimStr + str.substring(j).replace(/\s/g,"");
    trimStr = trimStr.replace(' ','');
	return trimStr;
}

function compareDateStrings(Date1, Date2) {

 if (Date.parse(Date1) <= Date.parse(Date2)) 
    return 1;
 else
    return -1;
}


//Email Validation
function checkMail(txtEmail)
{
    var strEmail,tempStr,countI,countJ;
	strEmail="";
	tempStr=txtEmail;
	
	for(countI=0;countI<tempStr.length;countI++)
	{
		if(tempStr.charAt(countI)==' ') 
			continue;
		else
			break
	}
	
	for(countJ=tempStr.length-1;countJ>=0;countJ--)
	{
		if(tempStr.charAt(countJ)==' ') 
			continue;
		else
			break
	}
	strEmail=tempStr.substring(countI,countJ+1);
	
	var SPLCHARS;
	SPLCHARS="'~!#$%^&*()`:\"<>?,/|\\"
	if(disallowChar(txtEmail,SPLCHARS) == false || countChar(txtEmail,"@") >1)
	{
		return false;
	}
	
	if(strEmail.indexOf("@") == -1 || strEmail.indexOf(".") == -1 || strEmail.indexOf(" ") != -1 || strEmail.indexOf("@") > strEmail.lastIndexOf(".") || strEmail.lastIndexOf(".")==strEmail.length-1) 
	{
		return false;
	}

 	var afterat = strEmail.substring(strEmail.indexOf("@")+1,strEmail.indexOf("@")+2);
	if(afterat == ".")
	{
		return false;
	}
 
	return true;
}


//This function is used to check for the allowable characters
//FieldValue - The text entered by the user
//Chars - list of allowable characters
function allowChar(FieldValue,Chars)
{
	var FieldLen = FieldValue.length;
	for(i=0;i<FieldLen;i++)
	{
		var FieldChar = FieldValue.charAt(i);
		if(Chars.indexOf(FieldChar) < 0)
		{
			return false;
		}
	}
	return true;
}

//This function is used to check for the disallowable characters
//FieldValue - The text entered by the user
//Chars - list of allowable characters
function disallowChar(FieldValue,Chars)
{
	var FieldLen = FieldValue.length;
	for(i=0;i<FieldLen;i++)
	{
		var FieldChar = FieldValue.charAt(i);
		if(Chars.indexOf(FieldChar) >= 0)
		{
			return false;
		}
	}
	return true;
}


//To count the no. of occurences of a character
//str - the text entered by user 
//chr - character to check
function countChar(str,chr)
{
	var pos,cnt;
	cnt=0;
	while((pos=str.indexOf(chr)) != -1)
	{
		cnt++;
		str=str.substring(pos+1);
	}
	return cnt;
}


//date validation starts for mmm-yyyy format
function checkDateFormat2(FieldValue)
{
	var strMonths = "jan#feb#mar#apr#may#jun#jul#aug#sep#oct#nov#dec";
   	if(!(FieldValue.match(/\w\w\w-\d\d\d\d/gi))||(strMonths.match(FieldValue.substring(0,3).toLowerCase())!=FieldValue.substring(0,3).toLowerCase())||(FieldValue.substring(4,8)<1900)||(FieldValue.length>8))
   	{
		return false;
	}else {
		return true;
	}
}

//date validation starts for dd-mmm-yyyy format
function checkDateFormat(FieldValue)
{
	var strMonths = "jan#feb#mar#apr#may#jun#jul#aug#sep#oct#nov#dec";
   	if(!(FieldValue.match(/\d\d-\w\w\w-\d\d\d\d/gi))||(FieldValue.substring(0,FieldValue.length-9)>31)||(strMonths.match(FieldValue.substring(3,FieldValue.length-5).toLowerCase())!=FieldValue.substring(3,FieldValue.length-5).toLowerCase())||(FieldValue.substring(7,FieldValue.length)<1900)||(FieldValue.length>11))
   	{
		return false;
	}
	else
	{
		if (checkDate(FieldValue) == false)
		{
			return false;
		}
	}
}
	   
 

function LeapYear(intYear) 
{
	if (intYear % 100 == 0) 
	{
		if (intYear % 400 == 0) { return true; }
	}
	else 
	{
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}

//Checks for greater than current date (mm-dd-yyyy format)
function checkCurrentDate(FieldValue) 
{
	var strDate = FieldValue.substring(0,2)+" "+FieldValue.substring(3,5)+" "+FieldValue.substring(6,10);
		
	//Getting Current Date - starts
	function makeArray()
	{
		for (i = 0; i<makeArray.arguments.length; i++)
			this[i + 1] = makeArray.arguments[i];
	}
	var months = new makeArray('Jan','Feb','Mar','Apr','May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec');
	var date = new Date();
	var day = date.getDate();
	var month = date.getMonth() + 1;
	var yy = date.getYear();
	var year = (yy < 1000) ? yy + 1900 : yy;
//	var currdt = months[month]+" "+day+" "+year;
	var currdt = month+" "+day+" "+year;
	//Getting Current Date - ends
	
	if (Date.parse(strDate) <= Date.parse(currdt)) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}
//Added for mm-yyyy format
function checkCurrentDate2(FieldValue) 
{
	var strDate = FieldValue.substring(0,3)+" "+"01"+" "+FieldValue.substring(4,11);
		
	//Getting Current Date - starts
	function makeArray()
	{
		for (i = 0; i<makeArray.arguments.length; i++)
			this[i + 1] = makeArray.arguments[i];
	}
	var months = new makeArray('Jan','Feb','Mar','Apr','May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec');
	var date = new Date();
	var day = date.getDate();
	var month = date.getMonth() + 1;
	var yy = date.getYear();
	var year = (yy < 1000) ? yy + 1900 : yy;
	var currdt = months[month]+" "+day+" "+year;
	//Getting Current Date - ends
	
	if (Date.parse(strDate) <= Date.parse(currdt)) 
	{
		return true;
	}
	else 
	{
		return false;
	}
}

function checkAlphaNumeric(FieldValue)
{
	var CharsToAllow = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}
function checkAlpha1(FieldValue)
{
	var CharsToAllow = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}
function checkAlphaNumeric1(FieldValue)
{
	var CharsToAllow = "0123456789-";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}

function checkName(FieldValue)
{
	var CharsToAllow = "'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}

function checkValidUserName(FieldValue)
{
	var CharsToAllow = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}

function checkInvalidEntry(FieldValue)
{
	var CharsToDisAllow = "<>";	
	if(disallowChar(FieldValue,CharsToDisAllow) == false)
		return false;
	else
		return true;
}

function checkPassword(FieldValue)
{	
	//Password should contain only the characters given below
	var PwdSet = "!@#$%^&*.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	if(allowChar(FieldValue,PwdSet) == false)
	{
		return false;
	}
	else
	{
		return true;
	}
}
function checkFundName(FieldValue)
{	
	//Password should contain only the characters given below
	var PwdSet = "-.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
	if(allowChar(FieldValue,PwdSet) == false)
	{
		return false;
	}
	else
	{
		return true;
	}
}
function checkAlphaNumOccurence(FieldValue)
{
	//Password should have atleast one alphabet and atleast one number

	//Checking whether any Number exists in the input
	var NumberSet = "0123456789";
	var NumberFlag = "false";
	for(i=0; i<FieldValue.length; i++)
	{
		var FieldChar = FieldValue.charAt(i);
		if(NumberSet.indexOf(FieldChar) >= 0)
		{
			NumberFlag = "true";
			break;
		}
	}
	
	//Checking whether any Alphabet exists in the input
	var AlphabetSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var AlphabetFlag = "false";
	for(i=0; i<FieldValue.length; i++)
	{
		var FieldChar = FieldValue.charAt(i);
		if(AlphabetSet.indexOf(FieldChar) >= 0)
		{
			AlphabetFlag = "true";
			break;
		}
	}
	
	if(NumberFlag == "false" || AlphabetFlag == "false")
	{
		return false;
	}
	else if(NumberFlag == "true" && AlphabetFlag == "true")
	{
		return true;
	}
}

function checkNumeric(FieldValue)
{
	var CharsToAllow = "0123456789 ";
	if(allowChar(FieldValue,CharsToAllow) == false)
		return false;
	else
		return true;
}

  

//returns false if Date1 < Date2
function compareDate(Date1, Date2) 
{
	var strDate1 = Date1.substring(3,6)+" "+Date1.substring(0,2)+" "+Date1.substring(7,11);
	var strDate2 = Date2.substring(3,6)+" "+Date2.substring(0,2)+" "+Date2.substring(7,11);
		
	if(Date.parse(strDate1) < Date.parse(strDate2)) 
	{
		return false;
	}
	else 
	{
		return true;
	}
}

  


function checkTelephone(Tel1,Tel2,Tel3)
{
	if(Tel1.length == 0 || Tel2.length == 0 || Tel3.length == 0)
	{
		return false;
	}
	else
	{
		if(checkNumeric(Tel1) == false || checkNumeric(Tel2) == false || checkNumeric(Tel3) == false)
		{
			return false;
		}
	}	
}


//Check for mobile number validation
function checkMobile(Tel1,Tel2)
{
	if(Tel1.length == 0 || Tel2.length == 0)
	{
		return false;
	}
	else
	{
		if(checkNumeric(Tel1) == false || checkNumeric(Tel2) == false)
		{
			return false;
		}
	}	
}

 
function getResln()
{
	
	var txtReslnVal = "";
	if (screen.width >=1024) {
		txtReslnVal = "_1024";
	}else if (screen.width <=800) {
		txtReslnVal = "_800";
	}else {
		txtReslnVal = "_800";
	}

return txtReslnVal;
}

function checkValidName(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[a-zA-Z]+[a-zA-Z0-9\s']*$/gi))
			return false;
		else
			return true;
	}
}
 
function checkValidNameAlpha(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[a-zA-Z]+[a-zA-Z\s']*$/gi))
			return false;
		else
			return true;
	}
}

function checkValidNameDot(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[a-zA-Z]+[a-zA-Z0-9\s]*.[a-zA-Z]+$/gi))
			return false;
		else
			return true;
	}
}

function checkNonNumeral(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/[a-zA-Z]+/gi))
			return false;
		else
			return true;
	}
}

function checkValidTextArea(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/[a-zA-Z]+/gi))
			return false;
		else
			return true;
	}
}

function checkPositiveNumbers(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[1-9]+[0-9]*$/gi))
			return false;
		else
			return true;
	}
}

function checkValidPassAns(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[a-zA-Z0-9\s']*$/gi))
			return false;
		else
			return true;
	}
}

function checkAlphaNumPunctuations(fieldValue,punctuations)
{
	var allowChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + punctuations ;
	
	return allowChar(fieldValue,allowChars) ;
}

function checkPlainAddress(fieldValue)
{
	return checkAlphaNumPunctuations(fieldValue," .;':,#/-");
}

function checkPlainPhone(phone)
{
				
		  var regex = /^(([(]\d+[)])|(\d+))(-?((\d+)|([(]\d+[)])))*$/i ;
		  
		  return regex.test(phone) ;
}

function checkPositiveDecimal(FieldValue)
{
	if (trim(FieldValue).length > 0) 
	{
		if(!FieldValue.match(/^[1-9][0-9]*.?[0-9]{0,2}$/gi))
			return false;
		else
		    return true;
	}
}

 
 
