﻿// JScript File


// JScript common file

	var str = "www.yahoo.net"
	var a1 = "  ";
	var i = 0;
	function blockError()
	{return true;}
    window.onerror = blockError;
	
	
	//*****************************************************************************	
	//Use to set message in status bar
	function StatusbarMessage()
	{
		window.status = '';
		//str.substring(i,str.length) + a1 + str.substring(0,i) + "  |  " 
		+ Date()
		i++;
		if (i > str.length)
			i = 0;
		window.setTimeout("StatusbarMessage()", 1000)
	}
	StatusbarMessage()
	
	//********************* Trim() ****************************************
	
	//Trim both side blanks
	function trimAll(stringToTrim) 
	{
	    return stringToTrim.replace(/^\s+|\s+$/g,"");
    }
    //Trim left hand side blanks
    function ltrim(stringToTrim) 
    {
	    return stringToTrim.replace(/^\s+/,"");
    }
    //Trim right hand side blanks
    function rtrim(stringToTrim) 
    {
	    return stringToTrim.replace(/\s+$/,"");
    }

    //*******************************************************************

    // This function dose not allow initial zero value in the textbox	
    function ZeroNotAllow(id)
    {
    //alert(val);
         var jobvalue;
         jobvalue=trimAll(document.getElementById(id).value);
        // alert(jobvalue);
         if(jobvalue==0)
         {
             if(jobvalue != "")
             {
             alert("Initial value can't be 0");
             document.getElementById(id).value="";
             }
             document.getElementById(id).focus(); 
             return false;
         }
    }

	//Enable entering only numeric values
	function NumberOnly()
	{
	    
        if(event.keyCode > 47 && event.keyCode < 58)
        {
           return true;
        }
        else
        {
          return false;
        }
	}
	function DateOnly()
	{	   
	    if(event.keyCode > 46 && event.keyCode < 58)
        {
           return true;
        }
        else
        {
          return false;
        }
	}
	//Enable entering only date values
	

   //Enable entering only textual values
    function TextOnly()
    { 
        if ((event.keyCode >=65  && event.keyCode <=90)||event.keyCode==32 || event.keyCode==8 || event.keyCode==46 || event.keyCode==37 || event.keyCode==39 || event.keyCode==9)
			event.returnValue = true;
        else
	        event.returnValue = false;
	
   }
     //Disable single quote
    function NoQuotes()
	{
	   
	    if(event.keyCode==222 || event.keyCode==220)
	        return false;
	    return true;
	}

    
    //************************************************************************************************
    //Date Validation in mm/dd/yyyy format. [Begin]

    // Declaring valid date character, minimum year and maximum year
   var dtCh= "/";
        var minYear=1900;
        var maxYear=2100;

        function ValidateDate_mmddyyyy(id){
         var dt=document.getElementById(id);
	       if (isDate1(dt.value)==false){
		        dt.focus()
		        return false
	        }
            return true
         }


        function isInteger1(s){
	        var i;
            for (i = 0; i < s.length; i++){   
                // Check that current character is number.
                var c = s.charAt(i);
                if (((c < "0") || (c > "9"))) return false;
            }
            // All characters are numbers.
            return true;
        }

        function stripCharsInBag1(s, bag){
	        var i;
            var returnString = "";
            // Search through string's characters one by one.
            // If character is not in bag, append to returnString.
            for (i = 0; i < s.length; i++){   
                var c = s.charAt(i);
                if (bag.indexOf(c) == -1) returnString += c;
            }
            return returnString;
        }

        function daysInFebruary1 (year){
	        // February has 29 days in any year evenly divisible by four,
            // EXCEPT for centurial years which are not also divisible by 400.
            return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
        }
        function DaysArray1(n) {
	        for (var i = 1; i <= n; i++) {
		        this[i] = 31
		        if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		        if (i==2) {this[i] = 29}
           } 
           return this
        }

        function isDate1(dtStr){
	        var daysInMonth = DaysArray1(12)
	        var pos1=dtStr.indexOf(dtCh)
	        var pos2=dtStr.indexOf(dtCh,pos1+1)
	        var strMonth=dtStr.substring(0,pos1)
	        var strDay=dtStr.substring(pos1+1,pos2)
	        var strYear=dtStr.substring(pos2+1)
	        strYr=strYear
	        if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	        if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	        for (var i = 1; i <= 3; i++) {
		        if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	        }
	        month=parseInt(strMonth)
	        day=parseInt(strDay)
	        year=parseInt(strYr)
	        if (pos1==-1 || pos2==-1){
		        jAlert("The date format should be : mm/dd/yyyy")
		        return false
	        }
	        if (strMonth.length<1 || month<1 || month>12){
		        jAlert("Please enter a valid month")
		        return false
	        }
	        if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary1(year)) || day > daysInMonth[month]){
		        jAlert("Please enter a valid day")
		        return false
	        }
	        if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		        jAlert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		        return false
	        }
	        if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag1(dtStr, dtCh))==false){
		        jAlert("Please enter a valid date")
		        return false
	        }
        return true
        }
    //Date Validation in mm/dd/yyyy format.[End]
    //**************************************************************************************************

    //**************************************************************************************************
    //Date validation in dd/mm/yyyy format. [Begin]
    // Declaring valid date character, minimum year and maximum year
    var dtCh= "/";
    var minYear=1900;
    var maxYear=2100;

    function ValidateDate_ddmmyyyy(id)
    {
	    var dt=document.getElementById(id);
	    if (isDate(dt.value)==false){
		    dt.focus()
		    return false
	    }
        return true
     }
     
    function isInteger(s){
	    var i;
        for (i = 0; i < s.length; i++){   
            // Check that current character is number.
            var c = s.charAt(i);
            if (((c < "0") || (c > "9"))) return false;
        }
        // All characters are numbers.
        return true;
    }

    function stripCharsInBag(s, bag){
	    var i;
        var returnString = "";
        // Search through string's characters one by one.
        // If character is not in bag, append to returnString.
        for (i = 0; i < s.length; i++){   
            var c = s.charAt(i);
            if (bag.indexOf(c) == -1) returnString += c;
        }
        return returnString;
    }

    function daysInFebruary (year){
	    // February has 29 days in any year evenly divisible by four,
        // EXCEPT for centurial years which are not also divisible by 400.
        return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    }
    function DaysArray(n) {
	    for (var i = 1; i <= n; i++) {
		    this[i] = 31
		    if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		    if (i==2) {this[i] = 29}
       } 
       return this
    }

    function isDate(dtStr){
	    var daysInMonth = DaysArray(12)
	    var pos1=dtStr.indexOf(dtCh)
	    var pos2=dtStr.indexOf(dtCh,pos1+1)
	    var strDay=dtStr.substring(0,pos1)
	    var strMonth=dtStr.substring(pos1+1,pos2)
	    var strYear=dtStr.substring(pos2+1)
	    strYr=strYear
	    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	    for (var i = 1; i <= 3; i++) {
		    if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	    }
	    month=parseInt(strMonth)
	    day=parseInt(strDay)
	    year=parseInt(strYr)
	    if (pos1==-1 || pos2==-1){
		    alert("The date format should be : dd/mm/yyyy")
		    return false
	    }
	    if (strMonth.length<1 || month<1 || month>12){
		    alert("Please enter a valid month")
		    return false
	    }
	    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		    alert("Please enter a valid day")
		    return false
	    }
	    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		    alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		    return false
	    }
	    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		    alert("Please enter a valid date")
		    return false
	    }
    return true
    }
    //Date validation in dd/mm/yyyy format. [End]
    //**************************************************************************************************
    
    //Get substring  from a string
    function Getsubstring(str,startPos,endPos)
    {   
         var iLen;
        if (endPos <= 0)     // Invalid bound, return blank string
           return "";
        else { 
           iLen = String(str).length;
           return String(str).substr(startPos, endPos);
        }
    }
    
    //Cuts up a string into pieces
    function Split(str,delimiter)
    {
        return str.split(delimiter)
    }
    
    //Reverse an input string
    function reverse(str) 
    { 
      var outp = "";

      for (i = 0; i <= str.length; i++) 
      { 
        outp = str.charAt (i) + outp 
      } 

      return outp 
    } 
    
    //Round numbers to 2 decimal points
    function round2(num) 
    { 
      ans = num * 1000 
      ans = Math.round(ans /10) + "" 
      while (ans.length < 3) {ans = "0" + ans} 
      len = ans.length 
      ans = ans.substring(0,len-2) + "." + ans.substring(len-2,len)
      return ans 
    } 


  //Check the validity of the email id
    function CheckEMail(mailids)
    {
        var arr = new Array(
        '.com','.net','.org','.biz','.coop','.info','.museum','.name','.pro',
        '.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag','.ai','.al',
        '.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw','.az','.ba','.bb',
        '.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm','.bn','.bo','.br','.bs',
        '.bt','.bv','.bw','.by','.bz','.ca','.cc','.cd','.cf','.cg','.ch','.ci',
        '.ck','.cl','.cm','.cn','.co','.cr','.cu','.cv','.cx','.cy','.cz','.de',
        '.dj','.dk','.dm','.do','.dz','.ec','.ee','.eg','.eh','.er','.es','.et',
        '.fi','.fj','.fk','.fm','.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh',
        '.gi','.gl','.gm','.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy',
        '.hk','.hm','.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io',
        '.iq','.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
        '.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li','.lk',
        '.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg','.mh','.mk',
        '.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt','.mu','.mv','.mw',
        '.mx','.my','.mz','.na','.nc','.ne','.nf','.ng','.ni','.nl','.no','.np',
        '.nr','.nu','.nz','.om','.pa','.pe','.pf','.pg','.ph','.pk','.pl','.pm',
        '.pn','.pr','.ps','.pt','.pw','.py','.qa','.re','.ro','.rw','.ru','.sa',
        '.sb','.sc','.sd','.se','.sg','.sh','.si','.sj','.sk','.sl','.sm','.sn',
        '.so','.sr','.st','.sv','.sy','.sz','.tc','.td','.tf','.tg','.th','.tj',
        '.tk','.tm','.tn','.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug',
        '.uk','.um','.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu',
        '.ws','.wf','.ye','.yt','.yu','.za','.zm','.zw');

        var sd = mailids;
       
        var ids = sd.split("\n");
        var val = true;
 
        for(var j=0; j<ids.length; j++)
        {
	        var mai = ids[j];
	        var dot = mai.lastIndexOf(".");
	        var ext = mai.substring(dot,mai.length);
	     
	        var at = mai.indexOf("@");

	        if(dot > 5 && at >1)
	        {
		        for(var i=0; i<arr.length; i++)
		        {
			        if(ext == arr[i])
			        {
			        val = true;
			        break;
			        }
			        else
			        {
			        val = false;
			        }
		        }
		        if(val == false)
		        {
			        return false;
		        }
	        }
	        else
	        {
	          return false;
	        }
        }

        return true;
    }
    
 
  
  
    //Random password generator
    var keylist="abcdefghijklmnopqrstuvwxyz123456789"
    var temp=''
    function generatepass(plength)
    {
        temp=''
        for (i=0;i<plength;i++)
        temp+=keylist.charAt(Math.floor(Math.random()*keylist.length))
        return temp
    }

    //Check or Uncheck all the page checkboxes
   function checkall(spanChk)
           {
                  var oItem = spanChk.children; 

                    var theBox= (spanChk.type=="checkbox") ? 
                      spanChk : spanChk.children.item[0];
                     xState=theBox.checked; 
                     elm= theBox.form.elements;             
               for(i=0;i<elm.length;i++)
               if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
                 {
                        if(elm[i].checked!=xState)
                            elm[i].checked=xState;
                 }
           }

    //Print the contents of page by Id
     function printPartOfPage(elementId)
    {
     var printContent = document.getElementById(elementId);
     var windowUrl = 'about:blank';
     var uniqueName = new Date();
     var windowName = 'Print' + uniqueName.getTime();
     var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');
     printWindow.document.write(printContent.innerHTML);
     printWindow.document.close();
     printWindow.focus();
     printWindow.print();
     printWindow.close();
    }
    
    //Compare date from current date
    //id : Textbox Id; dateformat : dd/mm/yyyy or mm/dd/yyyy
  function dateCompare(id,dateformat)
    {
        
       var arr=Split(document.getElementById(id).value, "/")
      
        var myDate=new Date();
      
        if (dateformat == 'dd/mm/yyyy')
        {
            if(ValidateDate_ddmmyyyy(id)== false)
            {
                return false; 
            }
            myDate.setFullYear(arr[2],arr[1]-1,arr[0]);
        }
        else if (dateformat == 'mm/dd/yyyy')
        {
       
             if(ValidateDate_mmddyyyy(id)== false)
             {
                return false; 
             }
             myDate.setFullYear(arr[2],arr[0]-1,arr[1]);
        }
        else
        {
           return false;
        }
        
        var today = new Date();
        if (myDate>today)
        {
        alert("date '" + document.getElementById(id).value + "' can't be greater than current date ");
        document.getElementById(id).focus();
        return false;
        }
        else
        {
        return true;
        }
    }
    
     function twodateCompare(id,id1,dateformat)
    {
    //alert(id);
       // alert(id1);
       //  alert(dateformat);
        
        
       var arr=Split(document.getElementById(id).value, "/")
       var arr1=Split(document.getElementById(id1).value, "/")
       
      
        var myDate=new Date();
      
        if (dateformat == 'dd/mm/yyyy')
        {
            if(ValidateDate_ddmmyyyy(id)== false)
            {
                return false; 
            }
            myDate.setFullYear(arr[2],arr[1]-1,arr[0]);
        }
        else if (dateformat == 'mm/dd/yyyy')
        {
       
             if(ValidateDate_mmddyyyy(id)== false)
             {
                return false; 
             }
             myDate.setFullYear(arr[2],arr[0]-1,arr[1]);
        }
        else
        {
           return false;
        }
         // alert(myDate);
        var today = new Date();
      
         if (dateformat == 'dd/mm/yyyy')
        {
            if(ValidateDate_ddmmyyyy(id1)== false)
            {
                return false; 
            }
            today.setFullYear(arr1[2],arr1[1]-1,arr1[0]);
        }
        else if (dateformat == 'mm/dd/yyyy')
        {
       
             if(ValidateDate_mmddyyyy(id1)== false)
             {
                return false; 
             }
             today.setFullYear(arr1[2],arr1[0]-1,arr1[1]);
        }
        else
        {
           return false;
        }
        // alert(today);
       
        
        if (myDate>today)
        {
            //alert("from date '" + document.getElementById(id).value + "' can't be greater than To date ");
            //document.getElementById(id).focus();
        return false;
        }
        else
        {
         return true;
        }
    }
    
    //Check empty textbox value 
    function CheckEmptyTextbox(ControlsID)
    {
        var msg = ControlsID
        var arrAll=Split(msg, ",")
         for (ix=0; ix < arrAll.length; ix++) 
         {
            var arrControl=Split(arrAll[ix], ";")
            if (trimAll(document.getElementById(arrControl[0]).value) == "")
             {
             alert(arrControl[1]);
             document.getElementById(arrControl[0]).focus();
             return false;
             }
         }
         return true;
    }
    
    //Remove blank space in between a string if it's more than one time
    function Remove_inner_twospace(Value) 
    {
        Value = Value.replace(/\s+/g, ' ');
        return Value;
    }
    
    function isDate1BeforeOrEqualToDate2(strDate1,strDate2)
    {
              
              var arrDate1=new Array();
              var arrDate2=new Array();
                          
              arrDate1=strDate2.split("/");
              arrDate2=strDate1.split("/");
              alert(arrDate1[0]);
              //alert(arrDate1[0]+' '+arrDate1[1]+' 'arrDate1[2]);
              //alert(arrDate2[0]+' '+arrDate2[1]+' 'arrDate2[2]);
    
                  if(parseInt(arrDate1[2])< parseInt(arrDate2[2]))
                   {
                      return true;
                   } 
                   else
                   {
                     if(parseInt(arrDate1[2])>parseInt(arrDate2[2]))
                     {
                        return false;
                     }
                     else
                     {
                        if(parseInt(ReturnMonthNo(arrDate1[1]),10)<parseInt(ReturnMonthNo(arrDate2[1]),10))
                        {
                        
                            return true;
                        }
                        else
                        {
                              if(parseInt(ReturnMonthNo(arrDate1[1]),10)==parseInt(ReturnMonthNo(arrDate2[1]),10))
                              {
                              
                                 if(parseInt(arrDate1[0],10)<parseInt(arrDate2[0],10))
                                 {
                                        return true;
                                 }
                                 else
                                 {
                                     if(parseInt(arrDate1[0],10)==parseInt(arrDate2[0],10))
                                     {
                                     
                                        return true;
                                     }
                                     else
                                     {
                                        return false;
                                     }
                                  }
                              }
                              else
                              {
                                   return false;
                              }
                        }
                     }

                  }
            return false;              
    }
function ReturnMonthNo(month)
    {
       var gMonths=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
        for(var i in gMonths)
        {
            if(gMonths[i]== month)
            {
                month=++i;
                return month;
            }
        }
    } 
