﻿// JScript File
//functions for delayrequest.aspx page

    /*Gets the stations for a subway line. This function is called from delayRequest.aspx. On selection of a subway route,
    It brings the stations for that route and fills in start and end station dropdowns.*/
    function getStationsForSubway(srcDDL, targetDDL1,targetDDL2 )
    {
          var ajax_caller = new AjaxCaller();
          var line = document.getElementById(srcDDL).options[document.getElementById(srcDDL).selectedIndex].value;
          var randomnumber=Math.floor(Math.random()*11)
	      ajax_caller.postDataReturnText2DDL( 'handler/delayInfoHandler.ashx?rand='+randomnumber+'&line='+line, '', fillstationdropDownList, targetDDL1, targetDDL2);
    }
    
    //fills the station drop down for the selected route
    function fillstationdropDownList(res, targetDDL1, targetDDL2)
    {
        if (res.substring(0,5) == "error")
        {
            window.location= "RequestSubmitted.aspx?output='"+res+"'";
        }
        else
        {
            /* special case - If entry station for start trip is changed after filling the transfers, then final 
            exit station dropdown is enabled and have the stations corresponding to start trip route.*/
            if (targetDDL1 == '') 
            {
                clearDropDown ( targetDDL2 )
                var optionArray = res.split('|');
                var selectBox2 = document.getElementById(targetDDL2);
                var i = 0;
                    addOption(selectBox2,"--Select--","");

                for ( i = 0 ; i < optionArray.length ; i++)
                {
                    var value = optionArray[i];
                    addOption(selectBox2,value,value);
                }
            }
            else
            {
                clearDropDown ( targetDDL1 )
                clearDropDown ( targetDDL2 )
                var optionArray = res.split('|');
                var selectBox = document.getElementById(targetDDL1);
                var selectBox2 = document.getElementById(targetDDL2);
                var i = 0;
                    addOption(selectBox,"--Select--","");
                    addOption(selectBox2,"--Select--","");

                for ( i = 0 ; i < optionArray.length ; i++)
                {
                    var value = optionArray[i];
                    addOption(selectBox,value,value);
                    addOption(selectBox2,value,value);
                }
            }
        }
    }
    
    /*Brings subway lines for start of trip and transfers*/
    function getRouteForSubway(targetDDL)
    {
      var ajax_caller = new AjaxCaller();
      var randomnumber=Math.floor(Math.random()*11)
	  ajax_caller.postDataReturnTextDiv( window.location.protocol+'//'+window.location.hostname+'/delayverify/handler/delayInfoHandler.ashx?rand='+randomnumber+'&reqType=subway', '', fillRouteDropdownList, targetDDL);
    }               
    
    /*call back function to fill subway route.*/
    function fillRouteDropdownList(res, targetDDL)
    {//debugger;
        if (res.substring(0,5) == "error")
        {
            window.location= "RequestSubmitted.aspx?output='"+res+"'";
        }
        else
        {
            var optionArray = res.split('|');
            var selectbox = document.getElementById(targetDDL);
            clearDropDown (targetDDL)
            var i = 0;
            addOption(selectbox,"--Select--","");
            for (  i = 0 ; i < optionArray.length ; i++)
            {
                var text = optionArray[i].split(',')[0];
                var value = optionArray[i].split(',')[1];
                addOption(selectbox,text,value);
            }
        }
    }
   

    function submitRequestandInitialEmail(resp)
    {//debugger;
        window.location= "RequestSubmitted.aspx?output="+resp;
        //alert('Your request has been submitted. ' +resp);
    }
    
    
    function addOption(selectbox,text,value )
    {
        var optn = document.createElement("OPTION");
        optn.text = text;
        optn.value = value;
        selectbox.options.add(optn);
    }
    
    function clearDropDown ( selectboxid )
    {
        var selectBox = document.getElementById(selectboxid);
        
        if (selectBox.selectedIndex != -1)
        {
            while ( selectBox.hasChildNodes())
            {
                selectBox.removeChild(selectBox.childNodes[0]);
            }
        }
    }
    
    
    function getSelectedValue(dropdownId)
    { 
        var selectedValue = "";
    
        if (dropdownId == 'ddlExitSpotExit')
         {
            selectedValue = document.getElementById(dropdownId).options[document.getElementById(dropdownId).selectedIndex].value;
         }
        if (document.getElementById(dropdownId).selectedIndex >0 )
         {
            selectedValue = document.getElementById(dropdownId).options[document.getElementById(dropdownId).selectedIndex].value;
         }
         
        return  selectedValue;
     }
        
    function getselectedTime(dropDownId)
    {
        var selectedValue = "";
        selectedValue = document.getElementById(dropDownId).options[document.getElementById(dropDownId).selectedIndex].value;
        return  selectedValue;
    }
    
    function isTransferRequested(dropdownId)
    {
      if (document.getElementById(dropdownId).selectedIndex >0 )
       {
       return "'true'";
       }
       else
       {
       return "'false'";
       }
    }
    
    function createXMLPacket()
    {
          var xmlString = 
          "<?xml version='1.0'?>"+
          "<delayrequest>"+
            "<profile>" +
            "  <firstname><![CDATA[" + escape(document.getElementById('txtFirstName').value) + "]]></firstname>" +
            "  <lastname><![CDATA[" + escape(document.getElementById('txtLastName').value) + "]]></lastname>" +
            "  <suffix>" + escape(getSelectedValue('ddlSuffix')) + "</suffix>" +
            "  <emailaddress><![CDATA[" + escape((document.getElementById('txtEmailAddress').value).toLowerCase()) + "]]></emailaddress>" +
            "  <date>" + escape(document.getElementById('f_date_b').value) + "</date>" +
            "   <delaylength>"+escape(document.getElementById('txtDelayDuration').value)+"</delaylength>"+
            "   <comments><![CDATA["+escape(document.getElementById('txtComments').value)+"]]></comments>"+
            "</profile>"+
            "<delayinfo id='starttrip' requested='true'>"+
                "<route>"+escape(getSelectedValue('ddlRouteStart'))+"</route>"+
                "<entryspot>"+escape(getSelectedValue('ddlEntrySpotStart'))+"</entryspot>"+
                "<exitspot>"+escape(getSelectedValue('ddlExitSpotExit'))+"</exitspot>"+
                "<entertime>"+escape(getselectedTime('ddlEntryHr')+":"+getselectedTime('ddlEntryMin') +" "+getselectedTime('ddlEntryAmPm'))+"</entertime>"+
                "<exittime>"+escape(getselectedTime('ddlExitHr') +":"+getselectedTime('ddlExitMin')+" "+getselectedTime('ddlExitAmPm'))+"</exittime>"+
            "</delayinfo>"+
            "<delayinfo id='transfer1' requested=" + isTransferRequested('ddlExitSpotXfer1')+ ">"+
                "<route>"+escape(getSelectedValue('ddlRouteXfer1'))+"</route>"+
                "<entryspot>"+escape(getSelectedValue('ddlEntrySpotXfer1'))+"</entryspot>"+
                "<exitspot>"+escape(getSelectedValue('ddlExitSpotXfer1'))+"</exitspot>"+
                "<entertime></entertime>"+
                "<exittime></exittime>"+
            "</delayinfo>"+
            "<delayinfo id='transfer2' requested=" +isTransferRequested('ddlExitSpotXfer2')+ ">"+
                "<route>"+escape(getSelectedValue('ddlRouteXfer2'))+"</route>"+
                "<entryspot>"+escape(getSelectedValue('ddlEntrySpotXfer2'))+"</entryspot>"+
                "<exitspot>"+escape(getSelectedValue('ddlExitSpotXfer2'))+"</exitspot>"+
                "<entertime></entertime>"+
                "<exittime></exittime>"+
            "</delayinfo>"+
            "<delayinfo id='transfer3' requested=" +isTransferRequested('ddlExitSpotXfer3')+ ">"+
                "<route>"+escape(getSelectedValue('ddlRouteXfer3'))+"</route>"+
                "<entryspot>"+escape(getSelectedValue('ddlEntrySpotXfer3'))+"</entryspot>"+
                "<exitspot>"+escape(getSelectedValue('ddlExitSpotXfer3'))+"</exitspot>"+
                "<entertime></entertime>"+
                "<exittime></exittime>"+
            "</delayinfo>"+
          "</delayrequest>";
          return xmlString;
    }
    
    function SendAjaxXMLRequests()
    {
          var ajax_caller = new AjaxCaller();
          var randomnumber=Math.floor(Math.random()*11)
	      ajax_caller.postDataReturnText( 'handler/delayInfoHandler.ashx?rand='+randomnumber+'&delayrequestparam='+createXMLPacket(), '', submitRequestandInitialEmail);
    }
       
    function SendDelayRequest()
    {
//      alert('sending ajax request' + createXMLPacket());
        if (ValidateInputFields()!= true)
        {
            return;
        }
        SendAjaxXMLRequests();
        document.getElementById('btnsubmit').disabled = true;
    }
    

    function DisableXfer1(val)
    {
        document.getElementById('ddlRouteXfer1').disabled = val;
        document.getElementById('ddlEntrySpotXfer1').disabled = val;
        document.getElementById('ddlExitSpotXfer1').disabled = val;
    }
    function DisableXfer2(val)
    {
        document.getElementById('ddlRouteXfer2').disabled = val;
        document.getElementById('ddlEntrySpotXfer2').disabled = val;
        document.getElementById('ddlExitSpotXfer2').disabled = val;
    }
    function DisableXfer3(val)
    {
        document.getElementById('ddlRouteXfer3').disabled = val;
        document.getElementById('ddlEntrySpotXfer3').disabled = val;
        document.getElementById('ddlExitSpotXfer3').disabled = val;
    }

    function OnEntrySpotChange(srcDDL)
    {
        /*special case-If the entry station is changed after selecting the transfers then clear all transfers and 
        final exit. Also enable the final exit.*/
        clearDropDown('ddlEntrySpotXfer1');
        clearDropDown('ddlExitSpotXfer1');
        clearDropDown('ddlRouteXfer2');
        clearDropDown('ddlEntrySpotXfer2');
        clearDropDown('ddlExitSpotXfer2');
        clearDropDown('ddlRouteXfer3');
        clearDropDown('ddlEntrySpotXfer3');
        clearDropDown('ddlExitSpotXfer3');
        clearDropDown('ddlExitSpotExit');
        document.getElementById('ddlExitSpotExit').disabled = false;
        getStationsForSubway('ddlRouteStart','','ddlExitSpotExit');
        /*end - special case*/        
        
        var index = document.getElementById(srcDDL).options.selectedIndex;

        if (index > 0)
        {
            ActivateXfer1(true);
        }
        else
        {
            ActivateXfer1(false);
            ActivateXfer2(false);
            ActivateXfer3(false);
        }

    }
    
    /* val is true or false*/
    function ActivateXfer1( val)
    {
       DisableXfer1(!val); 
       if (val)
       {
            getRouteForSubway('ddlRouteXfer1');
       }
       else
       {
            clearDropDown('ddlRouteXfer1');
       }
    }


    function ActivateXfer2( val)
    {
       DisableXfer2(!val); 
       if (val)
       {
            getRouteForSubway('ddlRouteXfer2');
       }
       else
       {
            clearDropDown('ddlRouteXfer2');
       }
    }


    function ActivateXfer3( val)
    {
       DisableXfer3(!val); 
       if (val)
       {
            getRouteForSubway('ddlRouteXfer3');
       }
       else
       {
            clearDropDown('ddlRouteXfer3');   
       }
    }

    function OnXfer1ExitSpotChange(srcDDL)
    {
        /*special case- when exit spot of transfer1 is changed after selecting transfer 2 or transfer3, 
        then clear transfer2 and 3.*/
        clearDropDown('ddlExitSpotExit');
        clearDropDown('ddlRouteXfer2');
        clearDropDown('ddlEntrySpotXfer2');
        clearDropDown('ddlExitSpotXfer2');
        clearDropDown('ddlRouteXfer3');
        clearDropDown('ddlEntrySpotXfer3');
        clearDropDown('ddlExitSpotXfer3'); 
        /* end */

        var index = document.getElementById(srcDDL).options.selectedIndex;
        if (index > 0 )
        {
            ActivateXfer2(true);
            SetFinalExitDDL(true,document.getElementById(srcDDL).value, document.getElementById(srcDDL).value);
        }
        else
        {
            ActivateXfer2(false);
        }
    }


    function OnXfer2ExitSpotChange(srcDDL)
    {
        clearDropDown('ddlExitSpotExit');
        clearDropDown('ddlEntrySpotXfer3');
        clearDropDown('ddlExitSpotXfer3');
        
        var index = document.getElementById(srcDDL).options.selectedIndex;
        if (index > 0 )
        {
            ActivateXfer3(true);
            SetFinalExitDDL(true,document.getElementById(srcDDL).value, document.getElementById(srcDDL).value);
        }
        else
        {
            ActivateXfer3(false);
            SetFinalExitDDL(true,document.getElementById('ddlExitSpotXfer1').value, document.getElementById('ddlExitSpotXfer1').value);
        }
    }

    function OnXfer3ExitSpotChange(srcDDL)
    {
        var index = document.getElementById(srcDDL).options.selectedIndex;
        if (index > 0 )
        {
            SetFinalExitDDL(true,document.getElementById(srcDDL).value, document.getElementById(srcDDL).value);
        }
        else
        {
            SetFinalExitDDL(true,document.getElementById('ddlExitSpotXfer2').value, document.getElementById('ddlExitSpotXfer2').value);
        }
    }

 
   function onXfer1Linechange()
   {
        clearDropDown('ddlExitSpotExit');
        clearDropDown('ddlRouteXfer2');
        clearDropDown('ddlEntrySpotXfer2');
        clearDropDown('ddlExitSpotXfer2');
        clearDropDown('ddlRouteXfer3');
        clearDropDown('ddlEntrySpotXfer3');
        clearDropDown('ddlExitSpotXfer3'); 
        document.getElementById('ddlExitSpotExit').disabled = false;
        getStationsForSubway('ddlRouteStart','','ddlExitSpotExit');
   }
    
  function onXfer2Linechange()
   {
        clearDropDown('ddlExitSpotExit');
        clearDropDown('ddlRouteXfer3');
        clearDropDown('ddlEntrySpotXfer3');
        clearDropDown('ddlExitSpotXfer3'); 
        
        if (document.getElementById('ddlExitSpotXfer1').selectedIndex != 0)
        {
            SetFinalExitDDL(true,document.getElementById('ddlExitSpotXfer1').value, document.getElementById('ddlExitSpotXfer1').value);
        }
        else
        {
        document.getElementById('ddlExitSpotExit').disabled = false;
        getStationsForSubway('ddlRouteStart','','ddlExitSpotExit');
        }
   }
   
   function onXfer3Linechange()
   {
        clearDropDown('ddlExitSpotExit');
        if (document.getElementById('ddlExitSpotXfer2').selectedIndex != 0)
        {
            SetFinalExitDDL(true,document.getElementById('ddlExitSpotXfer2').value, document.getElementById('ddlExitSpotXfer2').value);
        }
        else if (document.getElementById('ddlExitSpotXfer1').selectedIndex != 0)
        {
            SetFinalExitDDL(true,document.getElementById('ddlExitSpotXfer1').value, document.getElementById('ddlExitSpotXfer1').value);
        }
        else
        {
        document.getElementById('ddlExitSpotExit').disabled = false;
        getStationsForSubway('ddlRouteStart','','ddlExitSpotExit');
        }
   }  
    



    function SetFinalExitDDL(shouldDisable, text2populate, val2populate)
    {
        if (shouldDisable)
        {
            clearDropDown('ddlExitSpotExit');
            addOption(document.getElementById('ddlExitSpotExit'),text2populate,val2populate );
            document.getElementById('ddlExitSpotExit').disabled = shouldDisable;
        }
        else
        {
            clearDropDown('ddlExitSpotExit');
            document.getElementById('ddlExitSpotExit').disabled = !shouldDisable;
        }
    }


    function onstart()
        {  
            // Setting default enter time
            var myDate=new Date();
            var hrs = myDate.getHours();
            var mins = myDate.getMinutes();
             if (mins < 10) 
             {
                mins = "0" + mins;
             }
            var AmOrPm;
            var AmPmIndex = 0;
            
            if ( hrs > 11 )
            {
                AmOrPm = "PM";
            }
            else
            {
                AmOrPm = "AM";
            }
             if ( hrs > 12 )
            {
                hrs= hrs - 12;
            }
            if (hrs == 0)
            {
                hrs = 12;
            }
            
            document.getElementById('ddlEntryHr').value  = hrs;
            document.getElementById('ddlEntryMin').value  = mins;
            document.getElementById('ddlEntryAmPm').value = AmOrPm ;
            
            document.getElementById('ddlExitHr').value = hrs ;
            document.getElementById('ddlExitMin').value  = mins;
            document.getElementById('ddlExitAmPm').value = AmOrPm ;
            
            // set today date in service date field
            var today = new Date();
            var dd = today.getDate();
            var mm = today.getMonth()+1;//January is 0!
            var yyyy = today.getFullYear();
            if(dd<10){dd='0'+dd}
            if(mm<10){mm='0'+mm}
            
            var todayDate = mm+'/'+dd+'/'+yyyy ;
            document.getElementById('f_date_b').value = todayDate;
       }

 

    function validateExitAndEnterTime()
    {
        // Get Exit time
        var exitTime = formattime('ddlExitHr', 'ddlExitMin', 'ddlExitAmPm');

        // Get Enter timr
        var enterTime = formattime('ddlEntryHr', 'ddlEntryMin', 'ddlEntryAmPm');
        
        // Exit time should be greater then enter time
        if ( exitTime <= enterTime )
        {
            return false;
        }
        return true;
    }
     
 
     function formattime(ddlHrId, ddlMinId, ddlAmPmId)
     {
        var selectedTime = new Date();
        var Hr =  (document.getElementById(ddlHrId).value) * 1 ;
        if (document.getElementById(ddlAmPmId).value == 'PM')
        {
            if (document.getElementById(ddlHrId).value == 12 )
            {
            Hr = 12;
            }
            else
            {
            Hr = Hr + 12;
            }
        }
        if ((document.getElementById(ddlAmPmId).value == 'AM') &&  (document.getElementById(ddlHrId).value == 12) )
        {
            Hr = 0;
        }
        selectedTime.setHours(Hr);
        selectedTime.setMinutes(document.getElementById(ddlMinId).value);
        
       return selectedTime;
     }

  
    function  ValidateInputFields()
    {
        var errorMsg = '';
        if (stringEmpty(document.getElementById('txtFirstName').value))
        {
            errorMsg = 'First name is required.<br>';
        }
        if (stringEmpty(document.getElementById('txtLastName').value))
        {
            errorMsg = errorMsg +'Last name is required.<br>';
        }
        if ( !validateEmail(document.getElementById('txtEmailAddress').value))
        {
            errorMsg = errorMsg +'Email address is not valid. <br>';
        }
        if (!validateEmail(document.getElementById('txtConfirmEmail').value))
        {
            errorMsg = errorMsg +'Confirm email address is not valid. <br>';
        }
        if (!compareEmailFields(document.getElementById('txtEmailAddress').value, document.getElementById('txtConfirmEmail').value))
        {
            errorMsg = errorMsg +'Email address doesn\'t match.<br>';
        }
        if (stringEmpty(document.getElementById('f_date_b').value))
        {
            errorMsg = errorMsg +'Service date is required.<br>';
        }
        
        if (!validateExitAndEnterTime())
        {
             errorMsg = errorMsg +'Exit time should be greater then entry time.<br>';
        }
        
        var starttripMsg = IsEntryComplete('ddlRouteStart', 'ddlEntrySpotStart', 'ddlExitSpotExit', 'Start Trip');
        if ( starttripMsg.length > 0 )
        {
             errorMsg = errorMsg + starttripMsg;
        }
      
        var transfer1Msg = IsEntryComplete('ddlRouteXfer1', 'ddlEntrySpotXfer1', 'ddlExitSpotXfer1', 'Transfer 1');
        if ( transfer1Msg.length > 0 )
        {
             errorMsg = errorMsg + transfer1Msg;
        }
        var transfer2Msg = IsEntryComplete('ddlRouteXfer2', 'ddlEntrySpotXfer2', 'ddlExitSpotXfer2', 'Transfer 2');
        if ( transfer2Msg.length > 0 )
        {
             errorMsg = errorMsg + transfer2Msg;
        }
        var transfer3Msg = IsEntryComplete('ddlRouteXfer3', 'ddlEntrySpotXfer3', 'ddlExitSpotXfer3', 'Transfer 3');
        if ( transfer3Msg.length > 0 )
        {
             errorMsg = errorMsg + transfer3Msg;
        }
        if (stringEmpty(document.getElementById('txtDelayDuration').value))
        {
            errorMsg = errorMsg +'Length of delay is required.<br>';
        }
        else  if (!isInteger(Trim(document.getElementById('txtDelayDuration').value)))
        {
            errorMsg = errorMsg +'Length of delay should be in numbers without decimals.<br>';
        }
        
        if ( errorMsg.length > 0)
        {
            document.getElementById('errorDiv').style.display ='block';
            document.getElementById('errorLbl').innerHTML= errorMsg;
            return false;
        }
        
        document.getElementById('errorDiv').style.display ='none';
        return true;
    }
    
    function Trim(stringValue)
    {
        var outString;
        outString = stringValue.replace(/^\s+|\s+$/g, '');
        return outString;
        
    }
    
    function compareEmailFields(email, confirmemail)
    {
        var inemail = trim(email.toLowerCase());
        var inconfirmemail= trim(confirmemail.toLowerCase());
        if ( inemail != inconfirmemail)
        {
            return false;
        }
        return true;
    }

    function validateEmail(str) 
    {
        str = trim(str)
        
        //*** Start *** Email validation using regular expression *** Start ***
        var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
        if(pattern.test(str)){         
            return true;   
        }else{   
            return false; 
        }
        //*** End *** Email validation using regular expression *** End ***
    }
    
    function LTrim( value ) {
        var re = /\s*((\S+\s*)*)/;
        return value.replace(re, "$1");
    }
    // Removes ending whitespaces
    function RTrim( value ) {
        var re = /((\s*\S+)*)\s*/;
        return value.replace(re, "$1");
    }
    // Removes leading and ending whitespaces
    function trim( value ) {
        return LTrim(RTrim(value));
    }

    function stringEmpty ( elementText ) {
        // CHECK THAT THE STRING IS NOT EMPTY
        if ( elementText.length < 1 ) {
            return ( true );
        } else {
            return ( false );
        }
    }

    function IsEntryComplete( routeDDLId, enterStationDDLId, exitStationDDLId, transferNum)
    {
        var eMsg = "";
        
        if (transferNum == 'Start Trip' && (document.getElementById(routeDDLId).selectedIndex == 0) )
        {
             eMsg = eMsg +" Please select station entrance and exit information. <br>";
             return eMsg;
        }
        
        if (document.getElementById(routeDDLId).selectedIndex != 0)
        {
            if (document.getElementById(enterStationDDLId).selectedIndex == 0) 
            {
                eMsg = eMsg +" Please select enter station for "+ transferNum +".<br>";
            }
            
            
            if(transferNum == 'Start Trip')
            {
                if(document.getElementById(exitStationDDLId).value == "")
                {
                 eMsg = eMsg +" Please select exit station. <br>";
                 return eMsg;
                 }
            }
            else if(document.getElementById(exitStationDDLId).selectedIndex == 0)
            {
                eMsg = eMsg +" Please select exit station for "+ transferNum +".<br>";
            }
        }
        return eMsg;
    }

    function limitText(Field, Count, limitNum) {
        limitField = document.getElementById('txtComments');
        limitCount = document.getElementById('txtcountdown');
        limitNum = 250;
	    if (limitField.value.length > limitNum) 
	    {
		    limitField.value = limitField.value.substring(0, limitNum);
	    } 
	    else 
	    {
		    limitCount.value = limitNum - limitField.value.length;
	    }
    }
   
      
    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 month portion
	    curPos=dateString.indexOf(sepChar);
	    cMonth=dateString.substring(0,curPos);
    	
	    cMonth = parseInt(cMonth)-1+'';
    	
	    //extract day portion				
	    endPos=dateString.indexOf(sepChar,curPos+1);			
	    cDate=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 checkdate()
    {   
      var selectedDate = document.getElementById('f_date_b').value;
      
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth()+1;//January is 0!
        var yyyy = today.getFullYear();
        if(dd<10){dd='0'+dd}
        if(mm<10){mm='0'+mm}
        
        var todayDate = mm+'/'+dd+'/'+yyyy ;

        dt1=getDateObject(selectedDate,"/");
        dt2=getDateObject(todayDate,"/");
        var date90daysbeforeToday = dt2.setDate(dt2.getDate() -90);
        
        if(dt1<date90daysbeforeToday)
        {
	        alert("Delay information is availabale upto 90 days old, Please enter service date again");
	        document.getElementById('f_date_b').value = '';
	       return;
	    }
     }
     
 /* START : Integer validation related */
         function isInteger (s)
         {
          var i;
          if (isEmpty(s))
          if (isInteger.arguments.length == 1) return 0;
          else return (isInteger.arguments[1] == true);

          for (i = 0; i < s.length; i++)
          {
             var c = s.charAt(i);
             if (!isDigit(c)) return false;
          }
          return true;
        }
    
       function isEmpty(s)
       {
         return ((s == null) || (s.length == 0))
       }

       function isDigit (c)
       {
         return ((c >= "0") && (c <= "9"))
       }

/* END: Integer validation related */

   
  
