﻿// 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;
}

//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;
}

////Allow Alphabetes and specified special characters
function CheckAlphaSpecialChar(objID, strControlName, spstr) {
    var str = objID.value;
    var validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + spstr;
    if (CheckBlank(objID, strControlName)) {

        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")
            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;
}

//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>15))
		{
			alert(strControlName+ ": Should be valid phone number")
			objID.focus();
 			objID.select();
			return false;

        }
        var trimNum = Ltrim_string(objID);
        if (trimNum.value.charAt(0) == "-") {
            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 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,strControlName)
{
    if(objControl1.checked==false&&objControl2.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)
{
    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;
for (var j=0;j<str.length;j++)
    {
    if(validchars.indexOf(str.charAt(j)) == -1)
	    {
		    alert(strControlName+ ": Should not have any 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();
//	    alert(valbtn);
//	    return false;
//	}
//}
function SetTab(objbtnID, event) {
    var valbtn = document.getElementById(objbtnID);
    if (event.keyCode == 13) {
        valbtn.focus();
        ValidSearch();
        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;
     }

     ////Validation For CheckListBox for Atleast one value
     function ChkList(objID, strControlName) {
         var a = 0;
         var flag = false;
         for (i = 0; i < document.forms[0].length; i++) {
             if (document.forms[0].elements[i].id == objID + "_" + a) {
                 if (document.getElementById(objID + "_" + a).checked == true) {
                     flag = true;
                 }
                 a++;
             }
         }
         if (flag == false) {
             alert(strControlName + ": Select atleast one value.");
             return false;
         }
         return true;
     }


     function showHide(weeklyID) {
         var divs = document.getElementById('ShowHidePanel').getElementsByTagName('div');

         if (document.getElementById(weeklyID).style.display == "block") {
             document.getElementById(weeklyID).style.display = "none";
         }
         else if (document.getElementById(weeklyID).style.display == "none") {
             HideAllPanels(divs.length / 2);
             document.getElementById(weeklyID).style.display = "block";
         }
     }
     function HideAllPanels(NoOfPanel) {
         for (var i = 1; i <= NoOfPanel; i++) {
             var listingID = document.getElementById("link" + i);
             if (listingID != null) {
                 listingID.style.display = "none";
             }
         }
     }