﻿// JScript File

function clearDefault(el) {
        if (el.defaultValue==el.value) 
        {        el.value = ""
        
        }
                   
    }
    
    
/*   
var UpdateInterval = 20;
var PixelPerInterval = 2;
var scrollInterval;

function startSkillScrollUp() {
    scrollInterval = setInterval(function(){scrollskillUp()}, UpdateInterval);
}

function startSkillScrollDown() {
    scrollInterval = setInterval(function(){scrollskillDown()}, UpdateInterval);
}
function scrollskillDown() {
    document.getElementById('ctl00_skills_divSkills').scrollTop += PixelPerInterval;
}

function scrollskillUp() {
    document.getElementById('ctl00_skills_divSkills').scrollTop -= PixelPerInterval;
}

function stop_scrolling() {
    clearInterval(scrollInterval);
}

*/
function toggleCCDiv(divID, upArrowID, downArrowID)
{
    if(document.getElementById(divID).style.display == 'none')
    {
        document.getElementById(divID).style.display = 'block';
        document.getElementById(upArrowID).style.display = 'block';
        document.getElementById(downArrowID).style.display = 'none';
    }
    else
    {
        document.getElementById(divID).style.display = 'none';
        document.getElementById(upArrowID).style.display = 'none';
        document.getElementById(downArrowID).style.display = 'block';
    }
}


 //TimeSheet page uses this function this needs to be changed

function doDecimalTextbox(textBox,e)
     {  
     
        if(e.keyCode==46 ||e.keyCode==8 ||e.keyCode==37 ||e.keyCode==39)
        {          
            return;
        }      
       
        
        var textHandle = textBox.value;     
              
        
      if(textHandle.indexOf(".")== 0)
        {
             textBox.value = '0' + textHandle;    
             textHandle = textBox.value;
        }
        
        if(isNaN(textHandle))
        {
            
            textBox.value = '0';        
        }
        else
        {
            if(textHandle.indexOf(".")!= -1)
            {
                var prfx = textHandle.substring(0,textHandle.indexOf("."));
                if(prfx.length >1)
                {
                    prfx = prfx.substring(0,2);               
                }        
                var sfx = textHandle.substring((textHandle.indexOf(".")+1), textHandle.length);
                if(sfx.length >1)
                {
                    
                    sfx = sfx.substring(0,2);                   
                   
                }
                textBox.value = prfx+"."+sfx;            
            }        
            else if(textHandle.length >12)
            {
                textHandle = textHandle.substring(0,12);               
                textBox.value = textHandle; 
            }
        }    
     } 
     

     function doDecimalNumberTwoDigit(dblNum)
     {  
     
          
        var givenNum = dblNum.toString();     
        var returnNum = 0;      
        
        if(isNaN(givenNum))
        {
            return '0';        
        }
        else
        {
            if(givenNum.indexOf(".")!= -1)
            {
                var prfx = givenNum.substring(0,givenNum.indexOf("."));
                if(prfx.length >1)
                {
                    prfx = prfx.substring(0,2);               
                }        
                var sfx = givenNum.substring((givenNum.indexOf(".")+1), givenNum.length);
                if(sfx.length >1)
                {
                    
                    sfx = sfx.substring(0,2);                   
                   
                }
                returnNum = prfx+"."+sfx;            
            }        
            else if(givenNum.length >12)
            {
                givenNum = givenNum.substring(0,12);               
                returnNum = givenNum; 
            }
            else
            { returnNum = givenNum;}
            
        } 
        return  returnNum;   
     }    
        
 function ToggleGridRows()
 {
    var Grid = null; 
    var Rows = null;
    
    Grid = document.getElementById("ctl00_PageContentHolder_TimesheetItem");   
     
    Rows = Grid.getElementsByTagName('tr');   
                              
    Rows[1].style.display = Rows[1].style.display == '' ? 'none' : '';
    
 }

function HideRate()
{
   
    var Grid = null; 
    var Rows = null;
  
   
    Grid = document.getElementById("ctl00_PageContentHolder_TimesheetItem");    
    Rows = Grid.getElementsByTagName('tr');   
                              
    Rows[1].style.display = Rows[1].style.display == '' ? 'none' : '';

}


var GridView; 
var cellValue

var gridViewCtlId; 
var gridViewCtl = null;

var curSelRow = null; 
var curRowIdx = -1;

var v; 
  

function updateValue(theGridID, rowIdx, cellIdx)
    {
       
    var theGrid;
    var myrow;
    var theRateType;
    theGrid = document.getElementById(theGridID);   
    theRateType = document.getElementById("ctl00_PageContentHolder_hdnratetype");   
    
    
    myrow = theGrid.rows[rowIdx]
    
    var count =9; // is the footer row
     
    var total = 0.0;
    var rateTotal = 0.0;
       
    var rowCount  = theGrid.rows.length - 1;// row count should be 8        
         
    var cellCount = myrow.getElementsByTagName('input').length -1; // as this is 0 based
              
   //this is the bit for row total 
    for(var i=0; i< myrow.getElementsByTagName('input').length -1; i++)
    {  
       
        if(myrow.getElementsByTagName('input')[i].value == "") 
        {
            myrow.getElementsByTagName('input')[i].value = "0";
        }
        else
        {            
         if(isNaN(myrow.getElementsByTagName('input')[i].value))
            {
                myrow.getElementsByTagName('input')[i].value = "0";        
            }
       }           
        
        if(myrow.getElementsByTagName('input')[i].value != "0")              
        {
       
            total += (myrow.getElementsByTagName('input')[i].value - 0);  
            
            if (theRateType.value =='D')  
               {
                if (total > 1)
                    {
                        total -= (myrow.getElementsByTagName('input')[i].value - 0);  
                        myrow.getElementsByTagName('input')[i].value = "0";
                        alert("Daily Rate Total for a day cannot exceed more than 1");                        
                    }
               }
            else
                {
                    if (total > 24)
                    {
                        total -= (myrow.getElementsByTagName('input')[i].value - 0);  
                        myrow.getElementsByTagName('input')[i].value = "0";
                        alert("Total hour for day cannot exceed 24 hours");                        
                    }
                
                }
            
        }
        
            
    } 
   //this is rowtotal
   myrow.getElementsByTagName('input')[cellCount].value =  doDecimalNumberTwoDigit(total); 
        
   
        
      //Do the bit for column total start from 2nd row as first row is rate row
      for(var i=2; i<rowCount; i++)
      {
          if(theGrid.rows[i].getElementsByTagName('input')[cellIdx].value != "0")              
            {
                rateTotal += (theGrid.rows[i].getElementsByTagName('input')[cellIdx].value - 0); 
            }
      }
    
     
      theGrid.rows[count].getElementsByTagName('td')[cellIdx+1].innerText = doDecimalNumberTwoDigit(rateTotal); 
      theGrid.rows[count].getElementsByTagName('td')[cellIdx+1].textContent =  doDecimalNumberTwoDigit(rateTotal); 
      
     
      
      
//     //this is for GrandTotal
     total = 0.0;
     //theGrid.rows[count].getElementsByTagName('td').length-2; this was before just check it.
     cellCount = cellCount + 1
    
       for(var i=1; i<cellCount; i++)
       {
       
         if(theGrid.rows[count].getElementsByTagName('td')[i].innerHTML!= "0")             
            {
               
                total += (theGrid.rows[count].getElementsByTagName('td')[i].innerText - 0);  
                
            }
       }
      
       theGrid.rows[count].getElementsByTagName('td')[cellCount].innerText = doDecimalNumberTwoDigit(total); 
       theGrid.rows[count].getElementsByTagName('td')[cellCount].textContent = doDecimalNumberTwoDigit(total);
    
 
//                 
   }
 function clearRateBox(theGridID, rowIdx, cellIdx)
 {
   
    var theGrid1;
    theGrid1 = document.getElementById(theGridID);      
      
    var myrow = theGrid1.rows[rowIdx];
       
    var myceltext = myrow.getElementsByTagName('input')[cellIdx];
    
    if (myceltext.value == "0")    
        {
           
            myceltext.value ='';
        }

 }
 
 
 
    
function clearrateifholiday(theGridID, rowIdx)
{
    var theGrid;
    
    theGrid = document.getElementById(theGridID);   
    var chkSick = null;   
    var myrow = theGrid.rows[rowIdx];
    
    chkSick = document.getElementById("ctl00_PageContentHolder_chkSick");
     
        var cellCount = myrow.getElementsByTagName('input').length;
       
            if(myrow.getElementsByTagName('select')[0].value == "1.0" )
            {
              
                 for(var i=0; i<myrow.getElementsByTagName('input').length; i++)
                    {
       
                        myrow.getElementsByTagName('input')[i].value =  0;  
                        //myrow.getElementsByTagName('input')[cellCount].value =  0; //make the total 0
                        updateValue(theGridID,rowIdx,i);
                        
                        myrow.getElementsByTagName('input')[i].disabled =  true; 
                        myrow.getElementsByTagName('input')[i].className ="timesheetratebox" ;
                        
                           if(chkSick != null)
                           {
                            myrow.getElementsByTagName('select')[1].value = ""; //make the sick value empty
                            myrow.getElementsByTagName('select')[1].disabled =  true;   //make the sick column disable
                            }                                                
                      }
                
            }
            else
            {
                for(var i=0; i<cellCount; i++)
                  {
                   myrow.getElementsByTagName('input')[i].className ="timesheetbox" ; 
                    if(chkSick != null)
                           {
                             myrow.getElementsByTagName('select')[1].disabled  =  false;  //make the sick column enable  
                           }
                    myrow.getElementsByTagName('input')[i].disabled =  false;  
                    myrow.getElementsByTagName('input')[cellCount-1].className = "timesheetratebox"
                   }
                   
            }
                   
}


function clearrateifsick(theGridID, rowIdx)
{
   
    var theGrid;    
    theGrid = document.getElementById(theGridID);   
    var myrow = theGrid.rows[rowIdx]; 
    
         var cellCount = myrow.getElementsByTagName('input').length;
       
       
            if(myrow.getElementsByTagName('select')[1].value == "1.0" )
            {
              
                 for(var i=0; i<myrow.getElementsByTagName('input').length; i++)
                    {
       
                        myrow.getElementsByTagName('input')[i].value =  0;  
                        //myrow.getElementsByTagName('input')[cellCount].value =  0; //make the total 0
                        updateValue(theGridID,rowIdx,i);
                        
                        myrow.getElementsByTagName('input')[i].disabled =  true; 
                        myrow.getElementsByTagName('input')[i].className ="timesheetratebox" ;
                        
                       
                        myrow.getElementsByTagName('select')[0].value = ""; //make the sick value empty
                        myrow.getElementsByTagName('select')[0].disabled =  true;   //make the sick column disable                                                
                      }
                
            }
            else
            {
                for(var i=0; i<cellCount; i++)
                  {
                   myrow.getElementsByTagName('input')[i].className ="timesheetbox" ; 
                   myrow.getElementsByTagName('select')[0].disabled  =  false;  //make the sick column enable  
                    myrow.getElementsByTagName('input')[i].disabled =  false;  
                    myrow.getElementsByTagName('input')[cellCount-1].className = "timesheetratebox"
                   }
                   
            }
                
       
}

function MarkHoliday()
{
    var Grid = null; 
    var Rows = null;
    var rowCount = 0;
    var chkHoliday = null; 
    var chkSick = null;   
   
    Grid = document.getElementById("ctl00_PageContentHolder_TimesheetItem");   
    chkHoliday = document.getElementById("ctl00_PageContentHolder_chkHoliday");
    chkSick = document.getElementById("ctl00_PageContentHolder_chkSick");
   
    
    Rows = Grid.getElementsByTagName('tr'); 
   
    if (Rows.length == 3)
        {
            if(chkHoliday.checked == false )
                {               
                    document.getElementById("ctl00_PageContentHolder_ResetHoliday").value = "1"
                    document.forms[0].submit(); 
                }
             
        }
  else
  {
 
    if(chkHoliday.checked == true )
    { 
    if (chkSick !=null)
     {chkSick.disabled = true;}
            for(var rowCount=2; rowCount < 10; rowCount++)
            {
                  if (rowCount != 9)// row 9 is the footer so if its not row9 then do this
                   {                  
                      var cellCount = Grid.rows[rowCount].getElementsByTagName('input').length ;  
                                          
                      Grid.rows[rowCount].getElementsByTagName('select')[0].value =  "1.0"; //mark holiday as one day holiday                      
                      Grid.rows[rowCount].getElementsByTagName('select')[0].disabled = true; //mark holiday as disabled
                      if (chkSick !=null)
                      {
                        Grid.rows[rowCount].getElementsByTagName('select')[1].value = "" ; //mark sick empty
                        Grid.rows[rowCount].getElementsByTagName('select')[1].disabled =true;  //make sick column disabled
                       }
                         for(var i=0; i<cellCount; i++) //make all the rate column disable and set it to 0
                         {                        
                            Grid.rows[rowCount].getElementsByTagName('input')[i].value =  0;  
                            Grid.rows[rowCount].getElementsByTagName('input')[i].disabled =  true;                  
                            Grid.rows[rowCount].getElementsByTagName('input')[i].className ="timesheetratebox"     
                         }  
                   }
                  else // to set footer row to 0
                  {
                                  
                     var cellCount = Grid.rows[rowCount].getElementsByTagName('td').length -2; 
                    
                     for(var i=1; i<cellCount; i++) //make all the rate column disable and set it to 0
                         {  
                           
                            
                             Grid.rows[rowCount].getElementsByTagName('td')[i].innerText = '0'; 
                                Grid.rows[rowCount].getElementsByTagName('td')[i].textContent = '0';
                            
                             
                           
                         }  
                  }
                          
            }  
  }
    else
    {
        if (chkSick !=null)
            {chkSick.disabled = false;}
         for(var rowCount=2; rowCount < 9; rowCount++)
            {
                  var cellCount = Grid.rows[rowCount].getElementsByTagName('input').length ;  
                  Grid.rows[rowCount].getElementsByTagName('select')[0].value =  ""; //mark holiday as one day holiday
                  Grid.rows[rowCount].getElementsByTagName('select')[0].disabled = false; //make holiday enabled
                  if (chkSick !=null)
                    {
                    Grid.rows[rowCount].getElementsByTagName('select')[1].value ="";  //mark sick empty; //mark sick empty
                    Grid.rows[rowCount].getElementsByTagName('select')[1].disabled = false; //make sick column disabled
                    }
                     for(var i=0; i<cellCount; i++) //make all the rate column enabled and set it to 0
                     {
                        Grid.rows[rowCount].getElementsByTagName('input')[i].value =  0;  
                        Grid.rows[rowCount].getElementsByTagName('input')[i].disabled =  false;                  
                        Grid.rows[rowCount].getElementsByTagName('input')[i].className ="timesheetbox"  
                           
                     } 
                     Grid.rows[rowCount].getElementsByTagName('input')[cellCount-1].className ="timesheetratebox" 
                  
            }   
        
    }
  
}
}




////////////Mark Sick function used in Online Time Sheet

function MarkSick()
{
    var Grid = null; 
    var Rows = null;
    var rowCount = 0;
    var chkSick = null;  
    var chkHoliday = null;  
   
    Grid = document.getElementById("ctl00_PageContentHolder_TimesheetItem");   
    chkSick = document.getElementById("ctl00_PageContentHolder_chkSick");
    chkHoliday = document.getElementById("ctl00_PageContentHolder_chkHoliday");
    
    Rows = Grid.getElementsByTagName('tr');  
    if (Rows.length == 3)
        {
            if(chkSick.checked == false )
                {               
                    document.getElementById("ctl00_PageContentHolder_ResetSick").value = "1"
                    document.forms[0].submit(); 
                }
             
        }
  else
  {
 
    if(chkSick.checked == true )
    {  
     chkHoliday.disabled=true;
            for(var rowCount=2; rowCount < 10; rowCount++)
            {
                  if (rowCount != 9)// row 9 is the footer so if its not row9 then do this
                   {                  
                      var cellCount = Grid.rows[rowCount].getElementsByTagName('input').length ;  
                                          
                      Grid.rows[rowCount].getElementsByTagName('select')[1].value =  "1.0"; //mark sick as one day holiday                      
                      Grid.rows[rowCount].getElementsByTagName('select')[1].disabled =true; //mark sick as disabled
                      Grid.rows[rowCount].getElementsByTagName('select')[0].value =""; //mark holiday empty
                      Grid.rows[rowCount].getElementsByTagName('select')[0].disabled =true;  //make holiday column disabled
                       
                         for(var i=0; i<cellCount; i++) //make all the rate column disable and set it to 0
                         {                        
                            Grid.rows[rowCount].getElementsByTagName('input')[i].value =  0;  
                            Grid.rows[rowCount].getElementsByTagName('input')[i].disabled =  true;                  
                            Grid.rows[rowCount].getElementsByTagName('input')[i].className ="timesheetratebox"     
                         }  
                   }
                  else // to set footer row to 0
                  {
                                  
                     var cellCount = Grid.rows[rowCount].getElementsByTagName('td').length -2; 
                    
                     for(var i=1; i<cellCount; i++) //make all the rate column disable and set it to 0
                         {  
                           
                            
                             Grid.rows[rowCount].getElementsByTagName('td')[i].innerText = '0'; 
                                Grid.rows[rowCount].getElementsByTagName('td')[i].textContent = '0';
                           
                         }  
                  }
                          
            }  
  }
    else
    {
       chkHoliday.disabled = false;
         for(var rowCount=2; rowCount < 9; rowCount++)
            {
                  var cellCount = Grid.rows[rowCount].getElementsByTagName('input').length ;  
                  Grid.rows[rowCount].getElementsByTagName('select')[1].value =  ""; //mark sick as one day holiday
                  Grid.rows[rowCount].getElementsByTagName('select')[1].disabled = false; //make sick enabled
                  Grid.rows[rowCount].getElementsByTagName('select')[0].value ="";  //mark holudy empty; //mark sick empty
                  Grid.rows[rowCount].getElementsByTagName('select')[0].disabled = false; //make holuday column disabled
                     for(var i=0; i<cellCount; i++) //make all the rate column enabled and set it to 0
                     {
                        Grid.rows[rowCount].getElementsByTagName('input')[i].value =  0;  
                        Grid.rows[rowCount].getElementsByTagName('input')[i].disabled =  false;                  
                        Grid.rows[rowCount].getElementsByTagName('input')[i].className ="timesheetbox"  
                           
                     } 
                     Grid.rows[rowCount].getElementsByTagName('input')[cellCount-1].className ="timesheetratebox" 
                  
            }   
        
    }
  
}
}
