﻿ // To open the Helpfile 
        function OpenHelp()
        {
          window.open("EDPHelpFile.aspx?param=report1&param1=page3","HelpFile", "width=760px;height=760px;scrollbars=1;resizable=yes;");
        }
			
		// To popup the calender control	
        function calendarPicker(strField)
		{  
			window.open('calender.aspx?field=' + strField+'&field1=','calendarPopup','width=240px,height=210px');
		}
		
		function calendarPicker1(strField)
		{  
			window.open('calender.aspx?field=' + strField+'&field1='+document.getElementById("txtfromdate").value,'calendarPopup','width=240px,height=210px');
		}
		
		function gridZoneClear()
		{
		    document.getElementById("zones").checked = false;
	        document.getElementById("terminals").checked = false;
	        document.getElementById("storages").checked = false;
	        
	        var chart = document.getElementById("Chart1");           
            chart.height = 0;
		   	
		}
		function gridTerminalclear()
		{
		
			  document.getElementById("zones").checked = false;
		      document.getElementById("terminals").checked = false;
		      document.getElementById("storages").checked = false;
	
		     var chart = document.getElementById("Chart1");           
            chart.height = 0;				
		}
		
		function  SelectedTime_Change()
	    {    	
	        document.getElementById("txtfromdate").value="";
	        document.getElementById("txtToDate").value="";
		    document.getElementById("selectedIndex").value = "";
		    var chart = document.getElementById("Chart1");           
            chart.height = 0;
	    }
	    function  Selectedlatest_Change()
	    {    	
		    var chart = document.getElementById("Chart1");           
            chart.height = 0;
	    }
	    function  SelectedTerminal_Change()
	    { 
	    
		    if(document.getElementById("zones").checked == true)
		    {
		    
		        var checkboxid =document.getElementById("ZoneIDHiddenField").value;
	            var checkboxidarray=checkboxid.split(',');
    		
                 for(i=1; i< checkboxidarray.length; i++)
                 {
        		    
                    checkbox = document.getElementById(checkboxidarray[i]);
                    checkbox.checked = true;
                 }
                 var checkboxid =document.getElementById("TerminalHiddenField").value;
		         var checkboxidarray=checkboxid.split(',');        		 
		         for(i=1; i< checkboxidarray.length; i++)
		         {        		    
		            checkbox = document.getElementById(checkboxidarray[i]);
		            checkbox.checked = false;
		         }	
		    }
		    
		    if(document.getElementById("terminals").checked == true)
		    {
		         var checkboxid =document.getElementById("TerminalHiddenField").value;
		         var checkboxidarray=checkboxid.split(',');        		 
		         for(i=1; i< checkboxidarray.length; i++)
		         {        		    
		            checkbox = document.getElementById(checkboxidarray[i]);
		            checkbox.checked = true;
		         }		    
		          var checkboxid =document.getElementById("ZoneIDHiddenField").value;
	              var checkboxidarray=checkboxid.split(',');
    		
                 for(i=1; i< checkboxidarray.length; i++)
                 {
        		    
                    checkbox = document.getElementById(checkboxidarray[i]);
                    checkbox.checked = false;
                 }
		    }
		    
		    if( document.getElementById("storages").checked == true)
		    {
		         var checkboxid =document.getElementById("ZoneIDHiddenField").value;
	             var checkboxidarray=checkboxid.split(',');
    		
                 for(i=1; i< checkboxidarray.length; i++)
                 {
        		    
                    checkbox = document.getElementById(checkboxidarray[i]);
                    checkbox.checked = false;
                 }
		         var checkboxid =document.getElementById("storagesHiddenField").value;
		         var checkboxidarray=checkboxid.split(',');        		 
		         for(i=1; i< checkboxidarray.length; i++)
		         {        		    
		            checkbox = document.getElementById(checkboxidarray[i]);
		            checkbox.checked = true;
		         }	
		         var checkboxid =document.getElementById("TerminalHiddenField").value;
		         var checkboxidarray=checkboxid.split(',');        		 
		         for(i=1; i< checkboxidarray.length; i++)
		         {        		    
		            checkbox = document.getElementById(checkboxidarray[i]);
		            checkbox.checked = false;
		         }	
		    }
		    
		    var checkboxid = document.getElementById("totalsupply").value;
		    checkbox = document.getElementById(checkboxid);
		    checkbox.checked = false;
		     var chart = document.getElementById("Chart1");           
            chart.height = 0;
		    
	    }
		
		function FillDate()
		{
		    document.getElementById("txtToDate").value = document.getElementById("txtfromdate").value;
		}
		
		// To clear the radio button options
		function CheckChange()
		{   		
		  document.getElementById("LastUpdateRadio").checked = false;
		  document.getElementById("LastHourRadio").checked = false;
		  document.getElementById("LastDayRadio").checked = false;	  			  
		  document.getElementById("selectedIndex").value = "dateoption"; 
		    var chart = document.getElementById("Chart1");           
            chart.height = 0;
		}		
		
		// To clear terminal grid checkboxes and radio buttons
	
		// To validate the Formula for Doenload
		
		function zonecount()
		{
		    var checkboxid =document.getElementById("ZoneIDHiddenField").value;
		    var checkboxidarray=checkboxid.split(',');
		    var j=0; 
		     for(i=1; i< checkboxidarray.length; i++)
		     {    		    
		        checkbox = document.getElementById(checkboxidarray[i]);
		        if(checkbox.checked == true)
	            {
		         j++;
	            }
		     }	    
	        return j;		
		}
		
		function terminalcount()
		{
		    var checkboxid =document.getElementById("TerminalHiddenField").value;
		    var checkboxidarray=checkboxid.split(',');
		    var j=0; 
		     for(i=1; i< checkboxidarray.length; i++)
		     {    		    
		        checkbox = document.getElementById(checkboxidarray[i]);
		        if(checkbox.checked == true)
	            {
		         j++;
	            }
		     }		    	        	     	       
	        return j;				
		}
		
		
		/// Function addes to count the total  supply entry name also GPIN 134 
		
		function totalcount()
		{
		  var checkboxid = document.getElementById("totalsupply").value;
		  var j = 0;
		  checkbox = document.getElementById(checkboxid);
		  if(checkbox.checked == true)
		  {
		     j = 1;
		  }		  
		  return j; 
		}
		
		function CheckFormula()
		{		  
		    
		    if( document.getElementById("selectedIndex").value == "dateoption")
		    {
		       
		        var alloweddownloadsize = Number(document.getElementById("hdndownloadsize").value)*1024*1024;
		        var nofoslotsperday = document.getElementById("hdnnoofslots").value;
		        var recordsize = document.getElementById("hdnrecordsize").value;
		        var totaldays = dateDiff();
		        var noofterminalsselected = terminalcount();
		        var noofzonesselected = zonecount();
		        var nooftotalsupply = totalcount();
		        var totalselectedzones = noofterminalsselected + noofzonesselected + nooftotalsupply; 	    
    		    if(totaldays>0)
    		    {
		            if(noofterminalsselected != 0 || noofzonesselected !=0)
		            {		       
		                var actualdownloadsize = (totalselectedzones*nofoslotsperday*recordsize*totaldays);		        
		            }
		               		        
		            if(actualdownloadsize>alloweddownloadsize)
		            {
		                alert("The no of days chosen for download is more");		                
		                return false;
		            }		  
		            if(terminalcount() == 0 && zonecount() == 0 && totalcount() == 0)
	   	            {		    
	   	                alert("Please select at least one System Entry Name");
	   	                return false;
	   	            }   		         
		            return true;	          
		        }
	                  
		    } 
		    
		    
		    /// Added the if loop for displaying the Alert message for no selection of system entry names GPIN:134
		    if(terminalcount() == 0 && zonecount() == 0 && totalcount() == 0)
		   	{		    
		   	    alert("Please select at least one System Entry Name");
		   	    return false;
		   	}
		   	return true;     		   
		}
		
		function dateDiff()
		{
		    var  from = document.getElementById("txtfromdate").value;
		    var  to = document.getElementById("txtToDate").value;		    	   
		    
		    var noofdays = diff(from,to);		    		    	   
		   
		    return noofdays;
		}
		
		
        function diff(date1, date2)

        {

            var d1= date1.substring(0,2);

            var d2= date1.substring(3,6);

            var d3from= date1.substring(7); 

            var dmnth = convertMonth(d2);

            var noDays = getDays(dmnth);
            
            var noFromDays = Number(noDays) + Number(d1);

            d1= date2.substring(0,2);

            d2= date2.substring(3,6);

            var d3to= date2.substring(7); 

            var diff = 0;

            diff = Number(d3to) - Number(d3from);

            if(diff > 1)

            {          

            return false;

            }

            var noToDays;

            dmnth = convertMonth(d2);

            noDays = getDays(dmnth);

            noToDays = Number(noDays) + Number(d1);

            if(diff == 0)

            diff = Number(noToDays) - Number(noFromDays);

            else

            {

            if(leapYear(d3from))

            diff = 366;

            else 

            diff = 365;


            diff = Number(diff+ noToDays) - Number(noFromDays) ;

            }

            return diff;

        }



        function getDays(month, year)
        {

            flag = leapYear(year);

            var dd = 0;

            var ar = new Array(12);

            ar[0] = 0; // January

            ar[1] = 31 // February

            ar[2] = (flag) ? 60 : 59; // March

            ar[3] = ar[2]+31; // April

            ar[4] = ar[3]+30; // May

            ar[5] = ar[4]+31; // June

            ar[6] = ar[5]+30; // July

            ar[7] = ar[6]+31; // August

            ar[8] = ar[7]+31; // September

            ar[9] = ar[8]+30; // October

            ar[10] = ar[9]+31; // November

            ar[11] = ar[10]+30; // December

            return ar[month-1];

        }

        function leapYear(year)

        {
            if(year % 4 == 0)

            {
                return true;
            }
            else
                return false;
        }  

        		
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// To validate the from Date and To Date
		function ToDateBlankValidation(source, arguments)
		{
		    if(document.getElementById("selectedIndex").value == "dateoption" && document.getElementById("txtfromdate").value != "" && isDate(document.getElementById("txtfromdate").value) && isValid("txtfromdate","hdnCurrentDate",false) == 1)		     
		    {		   
	            if(document.form1.txtToDate.value != "")
	            {
	                arguments.IsValid=true;
	            }
	            else
	            {				
		            arguments.IsValid=false;			        
	            }		            	        
		    }		   
		}
		      
		function FromDateBlankValidation(source, arguments)
		{
		    if(document.getElementById("selectedIndex").value == "dateoption")
		    {
		        if(document.form1.txtfromdate.value != "")
		        {
		            arguments.IsValid=true;
		        }
		        else
		        {				
			        arguments.IsValid=false;			        
		        }		        
		    }
		}      
		
		function ValidateDate(source, arguments)
        {
           
    	    
			var from = "txtfromdate";
			var to = "txtToDate";
			var bFlag = "false";
			
			if(isDate(document.getElementById(from).value) && isDate(document.getElementById(to).value) && isValid("txtfromdate","hdnCurrentDate",false) == 1)
			{
			
            var isV = isValid(from, to, bFlag);

		    if(isV==1)
		    {
			    arguments.IsValid=true;
		    }
		    else
		    {				
			    arguments.IsValid=false;
		    }
		    }	   
    			
		}
		
		function FormToFormatValidator(source, arguments)
		{
		    var from = "txtfromdate";			
			var flag = true;		
				
			if(!isDate(document.getElementById(from).value))
			{
			flag = false;
			}
				
			if(flag == true)
			{
			 arguments.IsValid=true;
			}
			 else
		    {				
			    arguments.IsValid=false;
		    }
		}
		
		function ToDateFormatValidation(source, arguments)
		{
		    var to = "txtToDate";
			var flag = true;	
		   
	        if(document.getElementById("selectedIndex").value == "dateoption" && document.getElementById("txtfromdate").value != "" && isDate(document.getElementById("txtfromdate").value) && isValid("txtfromdate","hdnCurrentDate",false) == 1)		     
	        {	            	   
	            if(!isDate(document.getElementById(to).value))
			    {
			        flag = false;
			    }	
			    if(flag == true)
			    {
			     arguments.IsValid=true;
			    }
			     else
		        {				
			        arguments.IsValid=false;
		        }	
		    }
		}
		
		
		function ValidateFromDate(source, arguments)
        {      
    	  
			var from = "txtfromdate";
			var to = "hdnCurrentDate";
			var bFlag = "true";
			if(isDate(document.getElementById(from).value))
			{
                var isV = isValid(from, to, bFlag);           
		        if(isV==1)
		        {
			        arguments.IsValid=true;			    
		        }
		        else
		        {				
			        arguments.IsValid=false;
		        }
    		} 	
    	
		}
		
		function ValidateToDate(source, arguments)
        {   
			var from = "txtToDate";
			var to = "hdnCurrentDate";
			var bFlag = "true";
			
			if(document.getElementById("selectedIndex").value == "dateoption" && document.getElementById("txtfromdate").value != "" && isDate(document.getElementById("txtfromdate").value) && isValid("txtfromdate","hdnCurrentDate",false) == 1)		     
	        {
	        			
			    if(isDate(document.getElementById(from).value) && isValid("txtfromdate","txtToDate",false)== 1 )
			    {
                    var isV = isValid(from, to, bFlag);

		            if(isV==1)
		            {
			            arguments.IsValid=true;
		            }
		            else
		            {				
			            arguments.IsValid=false;
		            }
    		    }
    		}
    	
    			
		}		
	  
	
		function isValid(from, to, flag)		
		{
		    var msg = "";
		    var isV=0;
		    
		    var fromDate=document.getElementById(from).value;		    
		    var toDate=document.getElementById(to).value;		    
	        
		    if((fromDate != "" && toDate != "") || (fromDate == "" && toDate == ""))
		    {
		        var MonthArray=new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
    			
    		    
		        var fromDateArray=fromDate.split("-");
		        var fromMonth = 0;
    		    
    	    
		        var toDateArray=toDate.split("-");
		        var toMonth = 0;
		        var count = 0;
    		    
		        var flag1= true;

			
			    if(isV == 0)
			    {
    			
		            for(var index=0; index < 12; index++)
		            {
        		
		              if(fromDateArray[1].toUpperCase() == MonthArray[index])
		              {		
    		    
		                fromMonth=index + 1;
		                count = count + 1;
    		            
		              }
		              if(toDateArray[1].toUpperCase()==MonthArray[index])
		              {
		                toMonth=index+1;
		                count = count + 1;
    		            
		              }
		              if(count == 2)
		                break;
        			  
		            }
    		        
		            if( fromDateArray[2] >  toDateArray[2])
		            {				
    		            
			            isV=0;
		            }
		            else if( fromMonth > toMonth && fromDateArray[2] ==  toDateArray[2])
		            {
        			    
			            isV=0;
		            }
		            else if( fromDateArray[0] >  toDateArray[0] && fromMonth == toMonth && fromDateArray[2] ==  toDateArray[2])
		            {
        				
			            isV=0;
		            }
		            else
		            {	
    		           
		               isV=1;
		            }
		        }
		        else
		        {
    		        
		            if(msg != "" && flag == "true")
		            {		            
		                alert(msg);
		            }
		            if(flag1)
		                isV = 0;
    		            
		        }
		    }
		    else
		    {
		        if(from == "" && flag == "true")
		            alert("From Date cannot be empty");
		        if(to == "" && flag == "true")
		            alert("To Date cannot be empty");
		            
		        isV = 1;
		    }
		    return isV;
		}
		
	
		function isDate(field,checkFlag)
        {
              var date=field;
              if(checkFlag == true)
              {
                  if(date.length == 0)
                  {                    
                    return false;
                  }
              }
              if(date.length > 0)
              {
                        var d1=date.substring(0,2)
                        var d2=date.substring(3,6)
                        var d3=date.substring(7,11)

                        var day  = 0;

                        
                        day  =Number(d1);
                        
                        var month= 0;
                        
                        month = Number(convertMonth(d2.toUpperCase()));
                        

                        var year =Number(d3);
                        if( isNaN(day) || isNaN(month) || isNaN(year))
                          {
                          
                          return false;
                          }
                         separator=date.substring(2,3)
                         separator1=date.substring(6,7)
                        if(separator != "-" || separator1 != "-" )
                        {                              
                              return false;
                        }
                      if(day<1 || day > 31)
                      {                          
                          return false;
                      }
                      if(month<1 || month > 12)
                      {                          
                          return false;
                      }
                      if(month==2 && day>29)
                      {                          
                          return false;
                      }

                      if ( !((year % 4 == 0) && (!(year % 100 == 0) || (year % 400 == 0) ) ) && (month == 2) && (day > 28)) 
                      {                          
                          return false;
                      }


                      if((month==4 || month==6 || month==9 || month==11) &&  ( day > 30))
                      {                          
                          return false;
                      }
                      
              }
              return true;
        }
		
		function convertMonth(d2)
        {
            var dateMap = new Array();
            for (var i=0; i < 12; i++) 
            {
                dateMap[i] = new Array(1)
            }
            dateMap[0][0]="JAN";
            dateMap[0][1]="01";
            dateMap[1][0]="FEB";
            dateMap[1][1]="02";
            dateMap[2][0]="MAR";
            dateMap[2][1]="03";
            dateMap[3][0]="APR";
            dateMap[3][1]="04";
            dateMap[4][0]="MAY";
            dateMap[4][1]="05";
            dateMap[5][0]="JUN";
            dateMap[5][1]="06";
            dateMap[6][0]="JUL";
            dateMap[6][1]="07";
            dateMap[7][0]="AUG";
            dateMap[7][1]="08";
            dateMap[8][0]="SEP";
            dateMap[8][1]="09";
            dateMap[9][0]="OCT";
            dateMap[9][1]="10";
            dateMap[10][0]="NOV";
            dateMap[10][1]="11";
            dateMap[11][0]="DEC";
            dateMap[11][1]="12";
            for (var i=0; i < 12; i++) 
            {
                  if(d2.toUpperCase() == dateMap[i][0])
                  {
                       return dateMap[i][1];
                  }
            }
        }
        
        
        
        function	 RemoveRow()
        {

            try
            {
            var ctab=document.getElementById("Calendar2");			
                if(ctab.cells[7].className =="calendertext" && ctab.cells[8].className =="calendertext" && ctab.cells[9].className =="calendertext" && ctab.cells[10].className =="calendertext" && ctab.cells[11].className =="calendertext" && ctab.cells[12].className =="calendertext" && ctab.cells[13].className =="calendertext")
                {

                ctab.deleteRow(1);

                }
                if(ctab.cells[42].className =="calendertext" && ctab.cells[43].className =="calendertext" && ctab.cells[44].className =="calendertext" && ctab.cells[45].className =="calendertext" && ctab.cells[46].className =="calendertext" && ctab.cells[47].className =="calendertext" && ctab.cells[48].className =="calendertext")
                {
                 ctab.deleteRow(6);

                }
            }
            catch(e)
            {

            }
        }        
        
       
