﻿// JScript File

//For LTrim Function
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;
}

function CheckAlphabetSpace(objID,strControlName)
{
	var alpha=/[a-zA-Z" "]+/;
	
	if(objID.value != "" )
	{
	    TrimBoth(objID);
	    alphaflag=objID.value.match(alpha);	
	    
		if(alphaflag != objID.value)
		{
			alert(strControlName+ ": Should not have any numbers and special characters except Space.")
			objID.focus();
			objID.select();
 			return false;
	     }
	 } 
	return true;   
}

//For trims value from rightside and returns orginal text length
function Rtrim_stringLen(objID)
{			
var chk = 0, len = 0, newlen=0;
if(objID.value.length > 0)
{
len = objID.value.length; 
	for(var i=len-1; i>=0; i--)
	{
        if(objID.value.charAt(i)==" ")
		{
		    if(chk == 1)
		        newlen = newlen +1;
		}
		else
		{
		    newlen = newlen + 1;
		    chk = 1;
		}
	}
}
return newlen;
}

//function checks for the spaces in between
function CheckSpaces(objID,strControlName)     
{
    var trimVal= trimAll(objID.value);
    if(trimVal.length >0)
    {
        for(var i=0;i<trimVal.length;i++)
        {
            if(trimVal.charAt(i) == " ")
            {
                alert(strControlName + " : Spaces are not allowed");
                objID.focus();
                objID.select();
                return false;
            }
        }
    }
    return true;
}
//For trims value from leftside and returns orginal text length
function Ltrim_stringLen(objID)
{			
var chk = 0, len = 0, newlen=0;
if(objID.value.length > 0)
{
len = objID.value.length; 
	for(var i =0; i<=len-1; i++)
	{
        if(objID.value.charAt(i)==" ")
		{
		    if(chk == 1)
		        newlen = newlen +1;
		}
		else
		{
		    newlen = newlen + 1;
		    chk = 1;
		}
	}
}
return newlen;
}

//function that checks for the blank space at starting
function CheckLSpace(objID,strControlName)
{
    var chk = 0, len = 0;
   if(objID.value.length > 0)
    {
        len = objID.value.length; 
	    for(var i =0; i<=len-1; i++)
	    {
            if(objID.value.charAt(i)==  " ")
		    {
		        if(chk != 1)
		        {
		            alert(strControlName + " : Spaces at the start are not allowed");
		            objID.focus();
		            objID.select();
		            return false;
		        }
            }
            else
                chk = 1;
        }
    }
    return true;
 
}

//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 be Numeric only.")
			objID.focus();
 			objID.select();
			return false;
		}
	}
	return true;
}

//Allow only Numbers (in amount format) having decimal in TextBox
function CheckAmount(objID,strControlName)
	{	
		if (objID.value!="")
		{
			var num=/[0-9.0-9]+/
			numflag=objID.value.match(num);	
			if(numflag !=objID.value){
			alert(strControlName+ ": Should be Numeric only.")
			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 only.")
			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.")
			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;
} 

//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;
}


function TrimBoth(objID)
{
    return LTrim(RTrim(objID));
}

//Right Trim
function RTrim(objID)
{
    var Len = 0;
    var ch=0;
    
    for(l=0; l<objID.value.length; l++)
    {
        if(objID.value.charAt(l)==" " && ch==0)
        {
            Len=Len+1;
        }
        else if( objID.value.charAt(l)!=" ")
        {
            ch=ch+1;
        }
    }
    objID.value=objID.value.substring(Len,objID.value.length);
    return objID;
}

//Left Trim
function LTrim(objID)
{
    var Len = 0;
    var ch=0;
    
    for(i=0;i<objID.value.length;i++)
    {   
        if(objID.value.charAt([objID.value.length-1-i])==" " && ch==0)
        {
            Len+=1;
        }
        else
        {
            ch+=1;
        }  
    }
    objID.value=objID.value.substring(0,objID.value.length-Len);
    return objID;
}
//Allow only specified special characters :: CheckSpecialChar(obj,"Other Details","-/()")
function CheckHtmlChar(objID,strControlName)
{
    var alpha=/[<>]+/;
	
	if(objID.value != "" )
	{
	    TrimBoth(objID);
	    alphaflag=objID.value.match(alpha);	
	   
		if(alphaflag == objID.value)
		{
			alert(strControlName+ ": should be in proper format.")
			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(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 valid Email")
		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 valid Email")
	    objID.focus();
		objID.select();
		return false;
	}
	if(objID.value.indexOf("..") >= 1)  
	{
	    alert(strControlName + ": should be valid Email")
	    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;
		}
		if((objID.value.length<6) || (objID.value.length>=18))
		{
			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<6)&&(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+ ":It should 10 or 12 digits number");
objControl.focus();
objControl.select();
return false;
}

return true;
}

function MobileCheckLength_New(objControl,strControlName)
{
if(objControl.value.length<10||objControl.value.length>10)
{
alert(strControlName+ ":It should 10 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;
}   

function MobileCheckLength(objControl,strControlName)
{
if(objControl.value.length>12||objControl.value.length<10||objControl.value.length==11)
{
alert(strControlName+ ":It should 10 or 12 digits number");
objControl.focus();
objControl.select();
return false;
}

return true;
}


/////////Checking:for no single radio button is selected
function RadioCheck(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 RadioCheck1(objControl1,objControl2,objControl3, strControlName)
{
    if(objControl1.checked==false&&objControl2.checked==false&&objControl3.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 findDateDifference(x1, x2)
{debugger;
    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;
}

function CheckMaxCharLimit(objID,str,strControlName)
{
	charlength=Ltrim_string(objID.value).length;
	 
		if(charlength > str){
			alert(strControlName+": Should be " +str+ " characters only.")
			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;
for (var j=0;j<str.length;j++)
    {
    if(validchars.indexOf(str.charAt(j)) == -1)
	    {
		    alert(strControlName+ ": should have only '" + spstr + "' special characters")
		    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=Rtrim_stringLen(objID);
	if(objID.value!="")
	{
		if(charlength < NoOfCharacters)
		{
		    alert(strControlName + ": Cannot be less than " + NoOfCharacters  + " characters!");
		    objID.focus();
		    objID.select();
		    return false;
		}
	}
	if(objID.value.length != charlength)
	{
		alert(strControlName + ": Blank spaces are not allowed.");
		objID.focus();
		objID.select();
		return false;
    }
    if(objID.value.length != Ltrim_stringLen(objID))
	{
		alert(strControlName + ": Blank spaces are not allowed.");
		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;
	}
}

//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;
    }
    
    
function ClearText(objID,DefaultName)
    {
	    var textname = document.getElementById(objID);
	    if (textname.value == DefaultName)
	        textname.value="";
	   // document.getElementById(objID).focus();
   }
   
function FillText(objID,DefaultName)
{
    var textname=document.getElementById(objID);
	if (textname.value == "")
	    textname.value = DefaultName;
}


function SetTab(objbtnID,event)
{
	var valbtn=document.getElementById(objbtnID);	
	if(event.keyCode==13)
	{
	    valbtn.focus();
	    valbtn.click();
	    return false;
	}
}


///This function check radio buttons for selection
    function ChkRadio(radio,radioName)
    {
        var radioChoice =false;
        for( i=0; i<radio.length;i++)
        {
            if(radio[i].checked)
            {
                radioChoice = true;
                break;
            }
        }
        if(!radioChoice)
        {
            alert(radioName+ " : Select the proper choice");
            return false;
        }
        return true;
    }
    
    
///This function checks the Birth date validation    
     function checkBirthDate(objID,strControlName)
    {
   
                var dt =new Date();
                var x1 = dt.getDate() +"/"+ (dt.getMonth()+1)+"/"+ dt.getFullYear();
                var x2 = objID.value;
                var ssdate = new String(x1);
                var ssdatee = new String(x2);
            			
                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;
                }
                if(diff >= 0)
                {
                    alert(strControlName + ": can not be equal to or greater than Current date");
                    objID.focus();
                    objID.select();
                    return false;
                }
                return true;
    }
    
    //For trimming String
function trimAll(sString) 
    {
        while (sString.substring(0,1) == ' ')
            {
            sString = sString.substring(1, sString.length);
            }
        while (sString.substring(sString.length-1, sString.length) == ' ')
            {
            sString = sString.substring(0,sString.length-1);
            }
        return sString;
     }   

function CheckTwoDaten(objID1,objID2,Mindate, strControlName1,strControlName2)
{ 
   var FromDate = GetDate(objID1);
   var ToDate = GetDate(objID2);
  
   if(FromDate > ToDate)
   {
        alert("Please select evaluation date from " + Mindate + " To " + objID2 + " range.");
        return false;
   }
   return true;
}

function CheckTwoDatent(objID1,objID2,Maxdate, strControlName1,strControlName2)
{
   var FromDate = GetDate(objID1);
   var ToDate = GetDate(objID2);
  
   if(FromDate > ToDate)
   {
        alert("Please select evaluation date from " + objID1 + " To " + Maxdate + " range.");
        return false;
   }
   return true;
}

function CheckTwoDate(objID1,objID2,strControlName1,strControlName2)
{
   var FromDate = GetDate(objID1.value);
   var ToDate = GetDate(objID2.value);
  
   if(FromDate > ToDate)
   {
        alert("From Date cannot be greater than To Date");
        return false;
   }
   return true;
}

function CheckTwoDates(objID1,objID2,strControlName1,strControlName2)
{
   var FromDate = GetDate(objID1); // new Date(objID1);  
   var ToDate = GetDate(objID2); //new Date(objID2);//
  
   if(FromDate > ToDate)
   {
        alert(strControlName1 + " cannot be greater than " + strControlName2);
        return false;
   }
   return true;
}

function CheckTwoDateRoll(objID1,objID2,strControlName1,strControlName2)
{
   var FromDate = GetDate(objID1);
   var ToDate = GetDate(objID2.value);
  
   if(FromDate > ToDate)
   {
        alert("From Date cannot be greater than To Date");
        return false;
   }
   return true;
}

function GetDate(strDate)
{
	var arrDate = strDate.split("/");
	var tDate = new Date( arrDate[2]+ '/' + arrDate[1]+'/'+ arrDate[0]);
	return tDate;
}

// validation for invalid characters
function validchars(x){	
    var Str = new String("Insert|Update|Select|Delete|Truncate|<applet|<meta|xml|blink|<link|<style|javascript|<img|script|<embed|<object|<iframe|<frame|<frameset|ilayer|layer|bgsound|title|shutdown|drop|fuck|&#|<|>')|('");
	var stringarray = Str.split("|");
    var i = 0;
    //var txtMessage = document.getElementById("message");

    while(i < stringarray.length)
    {
	    if(x.value.toUpperCase().indexOf(stringarray[i].toUpperCase(), 0) > -1)
	    {
		    alert("Please enter valid details!")
		    //txtMessage.focus();
		    x.focus();
		    return false;
		}
		i++;
    }
	return true;
}

function DisableText(event)
{
  if(event.keyCode!=13)
  {
    return false;
  }
   return true;
}

function CheckAlphaSpecialChar(objID,strControlName,spstr)
{
var str=objID.value;
var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;

for (var j=0;j<str.length;j++)
if(validchars.indexOf(str.charAt(j)) == -1)
	{
		alert(strControlName+ ": should be Alphabets only.")
		objID.focus();
 		objID.select();
		return false;
	}
	return true;
} 



function testme(testvariable)
{
  alert(testvariable);
}
