﻿// JScript File
//For LTrim Function

function LTrim(objID) {
   
    var Len = 0;
    var ch = 0;

    for (i = 0; i < objID.length; i++) {
        if (objID.charAt([objID.length - 1 - i]) == " " && ch == 0) {
            Len += 1;
        }
        else {
            ch += 1;
        }
    }
    objID = objID.substring(0, objID.length - Len);
    return objID;
}
function Ltrim_string(objID)
{
var j = 0,k=0;
if(objID.length>0)
{
	for(var i=0;i<objID.length && k<objID.length;i++)
	{
		if(objID.charAt(i)==" ")
		{
		j++;
		}
		else
		{
		k = objID.length;
		}
	}
	objID =objID.substring(j,objID.length);
}
	return objID;
}


//Blank Check
function CheckBlank(objID,strControlName) {
   
  if (Ltrim_string(objID.value)=="")
   {
		alert(strControlName+": Cannot be left blank");
		objID.value="";
		objID.focus();
		return false;
	}
	return true;
}

//Allow only Numbers in TextBox
function CheckNumeric(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value){
			alert(strControlName+ ": Should not have any special characters or alphabates or space.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

//
function CheckAlphabets(objID,strControlName)
{
	var alpha=/[a-zA-Z]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be alphabets without space.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

//function to check alphabets with space
function CheckAlphabetsWithSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z ]+/;
	alphaflag=objID.value.match(alpha);	
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should be alphabets only with or without space.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

//Validation For Drop-Down List
function CheckDropDown(objID,strControlName)
{
	   if(objID.options[0].selected=="true" || objID.selectedIndex == 0)
	   {
		alert(strControlName+ ": Select a proper option.");
		objID.focus();
		return false;
	}
	return true;
} 

function CheckNumericSpecialChar(objID,strControlName,spstr)
{
    Ltrim_string(objID);
	var str=objID.value;
	var validchars = "1234567890" + spstr;

	for (var j=0;j<str.length;j++)
	if(validchars.indexOf(str.charAt(j)) == -1)
	{
	    alert(strControlName + ": Should not have any special characters or alphabets or space other than \"" + spstr + "\"")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 




////Allow Alphabetes and specified special characters
function CheckAlphaSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;

for (var j=0;j<str.length;j++)
if(validchars.indexOf(str.charAt(j)) == -1)
	{
	    alert(strControlName + ": Should not have any special characters or numbers other than \"" + spstr + "\"")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 

//Check for Decimal Numbers
function CheckDecimal(objID,strControlName)
{	
	var iCount=0;
	Temp =objID.value;	
	if(Temp.length==0)
	{
		Temp = 0;
		return true;
	}
	var validchars = "1234567890.";
	for(var j=0;j<Temp.length && iCount < 2;j++)
	{
		if(validchars.indexOf(Temp.charAt(j)) == -1)
		{
		alert(strControlName+ ": Should have decimal values only");
			objID.focus();
 			objID.select();		
			return false;
		}
		else if(Temp.charAt(j)==".")
			iCount++;
	}
	if(iCount > 1)
	{
		alert(strControlName+ ": Should have decimal values only");
		objID.focus();
 		objID.select();	
		return false;
	}
	return true;
}

//Validation For Single EMail-Id
function CheckMail(objID,strControlName)
{
	var email =/[-a-zA-Z0-9_\.']+@[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/;
	var eflag = objID.value.match(email);
	if (!CheckBlank(objID,strControlName))
    {
	    objID.focus();
		objID.select();
		return false;
	}
	if(eflag!=objID.value)
	{
		alert(strControlName+ ": Should be in proper format")
		objID.focus();
		objID.select();
		return false;
	}
	else if(objID.value.indexOf(".")==0)
	{
		alert(strControlName +": Should be in proper format")
		objID.focus();
		objID.select();
		return false;
    }

	var LastIndex = objID.value.lastIndexOf(".");
	var FirstIndex = objID.value.indexOf(".");
    
	if((LastIndex - FirstIndex) == 1 || (objID.value.length-1 == LastIndex)) // in case of ids like  abc@abc..abc and abc@abc.abc.
	{
	    alert(strControlName + ": Should be in proper format")
	    objID.focus();
		objID.select();
		return false;
	}
	if ((objID.value.indexOf("..") >= 1) || (objID.value.indexOf(".@") >= 1) || (objID.value.indexOf("@.") >= 1))
	{
	    alert(strControlName + ": Should be in proper format")
	    objID.focus();
		objID.select();
		return false;
	}
	return  true;
} 


//Validation For Phone No
function CheckPhone(objID,strControlName)
{
		var num=/[0-9\-\+\/\"("\")"\s]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		if(numflag != objID.value)
		{
			alert(strControlName+ ": Should be valid phone number")
			objID.focus();
 			objID.select();
			return false;
		}
	}
		return true;
} 

/////////Checking:for phone number
function PhoneCheck(objID,strControlName)
{
    var num=/[0-9\-\+\/\"("\")"\s]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		if((numflag != objID.value)&&(objID.value.length<=7)&&(objID.value.length>=18))
		{
			alert(strControlName+ ": Should be valid phone number")
			objID.focus();
 			objID.select();
			return false;
		}
	}
		return true;
}  

////////Checking:for mobile number with specified length
function MobileCheckLength(objControl,strControlName)
{
if(objControl.value.length>12||objControl.value.length<10||objControl.value.length==11)
{
alert(strControlName+ ": Should 10 or 12 digits number");
objControl.focus();
objControl.select();
return false;
}

return true;
}

///function to check mobile number

function CheckMobile(objID,strControlName)
{
		var num=/[0-9\+]+/
		numflag=objID.value.match(num);	
		if (objID.value!="")
		{
		if(numflag != objID.value){
			alert(strControlName+ ": Should be valid mobile number")
			objID.focus();
 			objID.select();
			return false;
			}
			}
		return true;
} 
	
////function to check specified length-length can be pass by passing values to the parameter
function LengthCheck(objControl,strControlName,strlength)
{
    if(objControl.value.length!=strlength)
    {
    alert(strControlName+": Should be "+strlength+" digits number");
    objControl.focus();
    return false;
    }  
    return true;
}   

/////////Checking:for no single radio button is selected
function RadioCheck(objControl1,objControl2,objControl3,objControl4,strControlName)
{
    if(objControl1.checked==false&&objControl2.checked==false&&objControl3.checked==false&&objControl4.checked==false)
    {
    alert(strControlName+": Select a proper choice");
    objControl1.focus();
    objControl1.select();
    return false;
    }
    
return true;
}

 ////returns the difference between 2 dates  dates should be in dd/mm/yyyy format
 function RadioCheck1(objControl1,objControl2,strControlName)
{
    if(objControl1.checked==false&&objControl2.checked==false)
    {
    alert(strControlName+": Select a proper choice");
    objControl1.focus();
    objControl1.select();
    return false;
    }
    
return true;
}
 
 
 
function findDateDifference(x1, x2)
{
    
   
    var ssdate = new String(x1.value);
    var ssdatee = new String(x2.value);
			
    var SDate= new Array(3);
    SDate = ssdate.split("/");
    var ssdate1 =new String(SDate[1] + "/" +  SDate[0] + "/" + SDate[2]);
	
    var SDate1= new Array(3);
    SDate1 = ssdatee.split("/");
    var ssdate2 =new String(SDate1[1] + "/" +  SDate1[0] + "/" + SDate1[2]);
	
    var one_day=1000*60*60*24;
				
    var objDate1=new Date(ssdate1);
    var objDate2=new Date(ssdate2);
    var diff = (objDate2.getTime()-objDate1.getTime())/one_day;
    if(parseInt( SDate1[2] % 4) > 0)
    {
        diff = parseInt(diff)+1;
    }
    return diff;
}

//Validation For Character Limit
function CheckCharLimit(objID,str,strControlName)
{
	charlength=Ltrim_string(objID.value).length;
		if(charlength < str){
			alert(strControlName+": Should have atleast " +str+ " characters.")
			objID.focus();
 			objID.select();
			return false;
	}
	return true;
}

//Allow only specified special characters
function CheckSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" + spstr; //1234567890
for (var j=0;j<str.length;j++)
    {
    if(validchars.indexOf(str.charAt(j)) == -1)
	    {
	        //alert(strControlName+ ": should not have any special characters")
	        alert(strControlName + ": Cannot have special characters other than \"" + spstr + "\"");
		    objID.focus();
 		    objID.select();
		    return false;
	    }
	}
	return true;
} 


//Allow only specified special characters
function CheckSpecialCharacters(objID,strControlName)
{
var str=objID.value;

var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";//
if(str.length!="")
{
    for (var j=0;j<str.length;j++)
        {
        if(validchars.indexOf(str.charAt(j)) == -1)
	        {
		        alert(strControlName+ ": Should not have spaces or any special characters or numbers")
		        objID.focus();
 		        objID.select();
		        return false;
	        }
	    }
}
	return true;
} 

//Validation when for confirm password
function confpswdchk(pass, confpass,msg)
{
	if(confpass.value != pass.value){
		alert(msg);
		confpass.focus();
		confpass.select();
		return false;
	}
	return true;
}

//Check the TextBox Length
function charlencheck(objID,strControlName,NoOfCharacters)
{
	charlength=objID.value.length;
	if(objID.value!="")
	{
		if(charlength < NoOfCharacters)
		{
		alert(strControlName + " Cannot be less than " + NoOfCharacters  + " characters!");
		objID.focus();
		objID.select();
		return false;
		}
	}
	return true;
}

function CharMaxLengthCheck(objID,strControlName,NoOfCharacters)
{

    charlength=objID.value.length;
	if(objID.value!="")
	{
		if(charlength > NoOfCharacters)
		{
		alert(strControlName + " Cannot be more than " + NoOfCharacters  + " characters!");
		objID.focus();
		objID.select();
		return false;
		}
	}
	return true;


}

//Do not allow only Numbers in TextBox
function CheckUserName(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9]+/
			numflag=objID.value.match(num);	
			if(numflag ==objID.value){
			alert(strControlName+ ": Should be AlphaNumeric.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

//Allow AlphaNumeric characters
//function CheckAlphaNumeric(objID,strControlName)
//{
//	var alpha=/[a-zA-Z0-9\'\-\/&\s]+/;
//	alphaflag=objID.value.match(alpha);	
//		if(alphaflag != objID.value)
//		{
//			alert(strControlName+ ": should be AlphaNumeric characters only.")
//			objID.focus();
// 			objID.select();
//			return false;
//	}
//	else
//	{
//	return true;
//	}
//}
function CheckAlphaNumeric(objID, strControlName) {
    var alpha = /[a-zA-Z0-9]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        alert(strControlName + ": Should not have any special characters or spaces.")
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}

function CheckAlphaNumericHyphen(objID, strControlName) {
    
    var alpha = /[a-zA-Z0-9_]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        alert(strControlName + ": Should not have any special characters or spaces except _")
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}


////Allow AlphaNumeric characters with space
//function CheckAlphaNumeric(objID, strControlName) {
//    var alpha = /[a-zA-Z0-9 ]+/;
//    alphaflag = objID.value.match(alpha);
//    if (alphaflag != objID.value) {
//        alert(strControlName + ": should be AlphaNumeric characters with or without space only.")
//        objID.focus();
//        objID.select();
//        return false;
//    }
//    else {
//        return true;
//    }
//}

function CheckAlphaNumericWithSpace(objID, strControlName) {
    var alpha = /[a-zA-Z0-9 \n\r]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        alert(strControlName + ": Should be AlphaNumeric characters with or without space only.")
        objID.focus();
        objID.select();
        return false;
    }
    else {
        return true;
    }
}



//Allow only specified special characters
function CheckSpaceChar(objID,strControlName)
{
var str=objID.value;
var validchars = " ";
for (var j=0;j<str.length;j++)
if(validchars.indexOf(str.charAt(j)) == 0)
	{
		alert(strControlName+ ": Should not have any spaces.")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 

// Check the Login Name & Password for not being same.
function ChkPwdAndLoginName(password,login)
 {  
    if(password.value.toLocaleLowerCase() == login.value.toLocaleLowerCase())
    {
       alert("Password and User Name cannot be same.");
       password.focus();
       password.select();
       return false;
    }
    return true;
 }
 
//For PMS=Check while adding Transaction 
function QuantityCheck(objID,name)
{

    if(objID.value == 0)
    {
        alert(name + ": Cannot be zero");
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}


function decimalNoCheck(objID,noOfDecimalDigits,MaxNo,objName)
{
 var val1 = objID.value.indexOf(".");
 var val2 = eval(objID.value.length) - eval(val1)-1;
    if(val1 !="-1")
    {
        if(val1 > MaxNo)
        {
            alert(objName + " Cannot be more than " + MaxNo + " digits before decimal!");
            objID.focus();
		    objID.select();
            return false;  
        }
	    if(val2 > noOfDecimalDigits)
	    {
		    alert( objName +" Can be " + noOfDecimalDigits + " decimals only!");
		    objID.focus();
		    objID.select();
		    return false;
	    }
    }
    else
    {
        if(objID.value.length > MaxNo)
	    {
	        alert(objName + " Cannot be more than " + MaxNo + " digits!");
	        objID.focus();
	        objID.select();
	        return false;
	    }
    }
    return true;
}

////validation for WebSite
function CheckWeb(objID,strControlName)
{
    //var web = /[w][w][w]\.+[-a-zA-Z0-9]+\.[-a-zA-Z0-9\.]+/gi;
    var web = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
	var eflag = objID.value.match(web);
	if(objID.value!=''){
	if(eflag!=objID.value){
		alert(strControlName+ ": Should have valid address.")
		objID.focus();
		objID.select();
		return false;
		}
	}
	return true;
}

// Function to set maxlenght character to text area control
function chkMaxValue(text,long) 
{
	var maxlength = new Number(long); // Change number to your max length.
	if (text.value.length > maxlength){
		text.value = text.value.substring(0,maxlength);
		alert(" Only " + long + " chars");
	}
}

function CheckFutureDate(objDate)
{
   
  
    var ToDaysDate = new Date();        
    var strTrnDt = getDateObject(objDate.value,"/");
    var month = ToDaysDate.getMonth()+ 1;
    var year = ToDaysDate.getFullYear();
    var day = ToDaysDate.getDate();
    var strTodaysDate = day + "/" + month + "/" + year;
    if (strTrnDt > getDateObject(strTodaysDate,"/"))      
    { 
      alert("Can not select future date");  
      objDate.focus();        
      return false;
    }
    return true;
}

function getDateObject(dateString,dateSeperator)
{ 
   
    //This function return a date object after accepting 
    //a date string ans dateseparator as arguments
    var curValue=dateString;
    var sepChar=dateSeperator;
    var curPos=0;
    var cDate,cMonth,cYear;
    //extract day portion
    curPos=dateString.indexOf(sepChar);		                                    
    cDate=dateString.substring(0,curPos); 	                                
    //extract month portion	
    endPos=dateString.indexOf(sepChar,curPos+1);	                   	                    	
    cMonth=dateString.substring(curPos+1,endPos);
   //extract year portion				
    curPos=endPos;
    endPos=curPos+5;
    cYear=curValue.substring(curPos+1,endPos);                 	
    //Create Date Object	                   
    dtObject=new Date(cYear,cMonth,cDate);	
    return dtObject;
} 

function CheckFromDateToDate(Dt1,Dt2)
{
    if(Dt1.value!="")
        {
          if(!CheckFutureDate(Dt1))
            return false;
          else if(Dt2.value=="")
            {
                alert("Please Select To date");
                return false;
            }
        }
    
    if(Dt2.value !="")
        {
           if(!CheckFutureDate(Dt2))
                return false;
            else if(Dt1.value=="")
              { 
                 alert("Please Select From Date");
                 return false;
              }
        }
        
//    var difference = findDateDifference(txtFromDate,txtToDate);
//    if (difference < 0)
//    {
//    alert("From Date should be Less than to Date");
//    txtToDate.focus();
//    return false;
//    }   

    return true;
}





function CheckDropDown1(objID1,objID2,strControlName1,strControlName2)
{
	   if(objID1.value=="Other")
	   {
	        if(!CheckBlank(objID2,strControlName2))
	        {
	        return false;
	        }
	   }
	return true;
} 


function Trim(Temp)
			{
			    Temp = document.getElementById(Temp);
			    if (Temp != null)
			{
			    Temp.value = Ltrim_string(Temp.value);
			    Temp.value = LTrim(Temp.value);

			if (Temp.value.length == 0) {
			    Temp.value = "";
			}
			return true;
			}
			}




			function CharMinLengthCheck(objID, strControlName, NoOfCharacters) {

			    charlength = objID.value.length;
			    if (objID.value != "") {
			        if (charlength < NoOfCharacters) {
			            alert(strControlName + ": Should be atleast " + NoOfCharacters + " digits!");
			            objID.focus();
			            objID.select();
			            return false;
			        }
			    }
			    return true;


			}

			function CharMinLengthCheckAddress(objID, strControlName, NoOfCharacters) {

			    charlength = objID.value.length;
			    if (objID.value != "") {
			        if (charlength < NoOfCharacters) {
			            alert(strControlName + ": Should be atleast " + NoOfCharacters + " characters!");
			            objID.focus();
			            objID.select();
			            return false;
			        }
			    }
			    return true;


			}


			function CheckBlankFreeTextbox(objID, strControlName) {
			    if (Ltrim_string(objID.value) == "") {
			        alert(strControlName + ": Cannot be left blank");
			        objID.value = "";
			        //objID.focus();
			        return false;
			    }
			    return true;
			}
			
			
			function CheckAlphaNumericWithSpaceRecUsages(objID, strControlName) {
    var alpha = /[a-zA-Z0-9 .,\n\r]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        alert(strControlName + ": Should not allow special characters other than . ,")
        objID.focus();
        objID.select();
        return false;
    }
    else {
        return true;
    }
}

//Check Keywords
function Checkkeywords(strlong,strlabel)
{
	var strkeywords="insert|update|select|<applet|<meta|xml|blink|<link|<style|javascript|<img|script|<embed|<object|<iframe|<frame|<frameset|ilayer|layer|bgsound|title|fuck|input|&gt;|&lt;";
	var strname = strlong.value.toLowerCase();
	
	if(strname != "")
	{
	    var arrayshort = strkeywords.split("|");
	    for (var i =0; i < arrayshort.length;i++)
	    {
		    //var re = new RegExp(arrayshort[i]);
		    var re = arrayshort[i];
		    var result = strname.match(re);
		    if(result)
		    {
		        alert(strlabel + ": Should be valid");
		        //alert(strlabel + " " + "cannot have key word \"" + arrayshort[i] +"\"" );
		        strlong.focus();
		        strlong.select();
		        return false;
		    }
	    }
	}
return true;
}

//Check Keywords in Free Textbox
function Checkkeywordsforfreetextbox(strlong,strlabel)
{
	var strkeywords="insert|update|select|<applet|<meta|xml|blink|<link|<style|javascript|<img|script|<embed|<object|<iframe|<frame|<frameset|ilayer|layer|bgsound|title|fuck|input|&gt;|&lt;";
	var strname = strlong.innerText.toLowerCase();
	
	if(strname != "")
	{
	    var arrayshort = strkeywords.split("|");
	    for (var i =0; i < arrayshort.length;i++)
	    {
		    //var re = new RegExp(arrayshort[i]);
		    var re = arrayshort[i];
		    var result = strname.match(re);
		    if(result)
		    {
		        alert(strlabel + ": Should be valid");
		        //alert(strlabel + " " + "cannot have key word \"" + arrayshort[i] +"\"" );
		        //strlong.focus();
		        strlong.select();
		        return false;
		    }
	    }
	}
return true;
}

// Check for name
function CheckForName(objID,strControlName)
{
    var alpha=/[a-zA-Z']+/;
    alphaflag=objID.value.match(alpha);	
	    if(alphaflag != objID.value)
	    {
		    alert(strControlName+ ": Should not have numbers and special characters.")
		    objID.focus();
		    objID.select();
		    return false;
    }
    return true;
}

//*************************************************************************
//	just to return javascript Date object
//  input parameter is string dd/MM/yyyy format
//*************************************************************************
function GetDate(strDate)
{
	var arrDate = strDate.split("/");
	var tDate = new Date( arrDate[2]+ '/' + arrDate[1]+'/'+ arrDate[0]);
	return tDate;
}
//*************************************************************************


function CheckTwoDate(objID1,objID2,strControlName1,strControlName2)
{
   var FromDate = GetDate(objID1.value);
   var ToDate = GetDate(objID2.value);
  
   if(FromDate > ToDate)
   {
        alert(strControlName1 + " Cannot be greater than " + strControlName2);
        return false;
   }
   return true;
}

//alert for serverside validation
function AlertMessage(strMessage,Control)
{
    alert(strMessage);
    var ctl = document.getElementById(Control); 
    ctl.focus();
    ctl.select();
    ctl.style.borderColor = "#C51603";
    return false;
}

function CheckAlphaNumericHyphenSpace(objID, strControlName) {

    var alpha = /[a-zA-Z0-9- ]+/;
    alphaflag = objID.value.match(alpha);
    if (alphaflag != objID.value) {
        alert(strControlName + ": Should not have any special characters or spaces except -")
        objID.focus();
        objID.select();
        return false;
    }
    return true;
}

function CheckPreviousDate(objID1, strControlName1) {
    
    var ToDate = GetDate(objID1.value);
    var CurrentDate = new Date();

    var month = CurrentDate.getMonth() + 1;
    var year = CurrentDate.getFullYear();
    var day = CurrentDate.getDate();

    var CurrentDate11 = day + "/" + month + "/" + year;

    var month1 = ToDate.getMonth() + 1;
    var year1 = ToDate.getFullYear();
    var day1 = ToDate.getDate();

    var ToDate11 = day1 + "/" + month1 + "/" + year1;
    
    if (ToDate11 != CurrentDate11) 
    { 
        if (ToDate < CurrentDate) 
        {
            alert("Can not select previous date");
            objID1.focus();
            return false;
        }
    }
    
    return true;
}