﻿// JScript File
function trimString (str) 
{
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
String.prototype.trim = trimString;	


/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
function Trim(TrimString)
{	var tempObj;
	if(TrimString){tempObj = TrimString;TrimString = tempObj.value;}
	if(TrimString == "undefined" || TrimString == null) return null;
	if(TrimString.length == 0)TrimString="";
	else
	{	var Lcont=0,TempStrArray=TrimString.split(" "),Rcont=TempStrArray.length-1;
		while(TempStrArray[Lcont] == "")Lcont++;while(TempStrArray[Rcont] == "")Rcont--;
		if(Rcont<Lcont)TrimString="";else
		for(TrimString = TempStrArray[Lcont], Lcont++ ; Lcont <= Rcont ; Lcont++) TrimString += " " + TempStrArray[Lcont];
	}
	if(tempObj && TrimString != "undefined" && TrimString != null) 
	{	tempObj.value = TrimString;	return tempObj	  }
	else return TrimString;
}

/*---------------------- To Trim all elementes in the form  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// Param 1 : Form object
function FormTrim(oForm)
{	for (i=0; i<=oForm.length-1; i++)
	{	if (oForm[i].type == "text" || oForm[i].type == "textarea")		
			Trim(oForm[i])
	}
}

/*----------------------- To Check integer value -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// Param 1 : Value to check
function IsNumeric(val)
{   if (isNaN(val)) return false;
    if (val.indexOf(".") >= 1) return false
    return true;
}

/*------------------------ To Check decimal part or currency  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// Param 1 : Value to check
// Param 2 : number of fractinal points after dot(.) 
function isDecimal(val, FractionalPart)
{   var Postition = val.indexOf(".")
    if (Postition <= 0) return false;
    var left = val.split(".")[0];
    var right = val.split(".")[1];
    if (!IsNumeric(left)) return false;
    if (!IsNumeric(right)) return false;
    if ((Postition+FractionalPart) != val.length-1) return false
    return true;
}
function isMyDecimal(val, FractionalPart)
{   var Postition = val.indexOf(".")
    //if (Postition <= 0) return false;
    var left = val.split(".")[0];
    if (!IsNumeric(left)) return false;
    if(Postition>0)
    {
        var right = val.split(".")[1];
        if (!IsNumeric(right)) return false;
        if ((Postition+FractionalPart) > val.length-1) return false
    }
    return true;
}
/*------------------------ To Get Query string variable by passing name  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// Param 1 : Pass QueryString name to get value.
function getQueryVariable(variable)
{	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++)
	{	var pair = vars[i].split("=");
		if (pair[0] == variable) return pair[1];
	}
}

/*------------------------ To check valid formatted date enterd by the user ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
// Param 1 : Date value (fortmat dd/MM/yyyy)
function IsDate(val)
{   if (val.split("/").length == 3) 
    {   var DD = val.split("/")[0];
        var MM = val.split("/")[1];
        var YY = val.split("/")[2];
        if (IsNumeric(DD) == false) return false;
        if (IsNumeric(MM) == false) return false;
        if (IsNumeric(YY) == false) return false;
        if (DD > 31) return false;
        if (MM > 12) return false;
        if (YY < 1901) return false;
        if (isLeapYear(DD,MM,YY) == false) return false; else return true;
    }   
    else
        return false;
}
        
/*------------------------ To check valid date, LeapYear (eg-:feb 31) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/        
// Param 1 : DD - Day of the Date (format : 02)
// Param 2 : MM - Month of the Date (format : 04)
// Param 3 : YY - Year of the Date (format : 2007)
function isLeapYear(DD,MM,YY)
{   if(MM == 4 || MM == 6 || MM == 9 || MM == 11) {	if(DD > 30) return false; }
    if(MM == 2)
    {	var modval = parseInt(YY)%4;
	    if(modval == 0)
	    {	if(parseInt(DD) > 29) return false;
	    }
	    else
	    {	if(parseInt(DD) > 28) return false;
	    }
    }; return true;
}

/*------------------------ To check valid date, LeapYear (eg-:feb 31) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/        
// Param 1 : Date1 (format should be dd/MM/yyyy)
// Param 2 : Date2 (format should be dd/MM/yyyy)
// Param 3 : Operator ("<" or "<=" or "==" or ">" or ">=")
// Eg :- DateCompare("01/05/2005", "05/05/2005", "<")
function DateCompare(Date1, Date2, Operator)
{    var FromDate = new Date(Date1)
     var ToDate = new Date(Date2)
     if (Operator == "<") return (FromDate < ToDate)
     if (Operator == "<=") return (FromDate <= ToDate)
     if (Operator == ">") return (FromDate > ToDate)
     if (Operator == ">=") return (FromDate >= ToDate)
     if (Operator == "==") return (FromDate == ToDate)
}

function CompareDate_Today(Date1,Date2,Operator)
   {  
    var First=Date1;                
    var Sec=Date2;
    var FDay,FMonth,FYear,SDay,SMonth,SYear;
    var DMY=Date1.split("/");
    FDay=DMY[0];
    FMonth= DMY[1];
    FYear=DMY[2];
    DMY=Date2.split("/");
    SDay=DMY[0];
    SMonth= DMY[1]
    SYear=DMY[2];
    var FDate=new Date(FMonth+'/'+FDay+'/'+FYear);
    var SDate=new Date(SMonth+'/'+SDay+'/'+SYear);    
    if (Operator == "<") return (FDate < SDate)
    if (Operator == "<=") return (FDate <= SDate)
    if (Operator == ">") return (FDate > SDate)
    if (Operator == ">=") return (FDate >= SDate)
    if (Operator == "==") return (FDate == SDate)
   } 
   function DateDiff(Date1,Date2,Diff)
   { var First=Date1;                
    var Sec=Date2;
    var FDay,FMonth,FYear,SDay,SMonth,SYear;
    var DMY=Date1.split("/");
    FDay=DMY[0];
    FMonth= DMY[1];
    FYear=DMY[2];
    DMY=Date2.split("/");
    SDay=DMY[0];
    SMonth= DMY[1]
    SYear=DMY[2];   
    return ((SYear - FYear) > Diff);
   }