/**************************************/
// $Revision: 2 $
// $Author: Rania.dib $
// $Date: 1/18/06 4:18p $
/**************************************/
var startPoint = 7;
var count = startPoint + 1;
var amountControlID = "_ctl0_SelectedToPayAmount";
var step2ControlID = "_ctl0_GoToOnlinePaymentStep2";

function SelectDeselectAll(chkVal, idVal)
{
    var frm = document.forms[0];
    var spanSelectedToPayAmount = document.getElementById(amountControlID);          
    var total = parseFloat(FilterNum(spanSelectedToPayAmount.innerText));

    if(total > 0 && chkVal)    
    {
      spanSelectedToPayAmount.innerText = 0;
      count = startPoint;
    }
    
    for (i=startPoint; i<frm.length; i++)
    {
        if (idVal.indexOf ('ckbSelectAll') != -1)
        {  
            if(chkVal == true)
            {
                frm.elements[i].checked = true;
            }
            else
            {
                frm.elements[i].checked = false;
            }
            if(i > startPoint)
            {              
              CalculateTotal(frm.elements[i].checked, frm.elements[i].id);
            }

        }
    }              
}

function CalculateTotal(chkVal, idVal)
{      
      var frm = document.forms[0];
      var idSpan = idVal.replace("ckbSelectThis", "lblTotal");      
      var spanStep2 = document.getElementById(step2ControlID);
      var spanSubTotalElement = document.getElementById(idSpan);
      var subtotal = parseFloat(FilterNum(spanSubTotalElement.innerText));
      var spanSelectedToPayAmount = document.getElementById(amountControlID);          
      var total = parseFloat(FilterNum(spanSelectedToPayAmount.innerText));
      
      var ckbSelectedElement = document.getElementById(idVal);
      
      if(ckbSelectedElement.checked) 
      {         
        total += subtotal;
        count++;
      }
      else
      {        
        frm.elements[startPoint].checked = false;
        count--
        total -= subtotal;
      }

      if(count == frm.length)
      {
        frm.elements[startPoint].checked = true;
      }
      
      if(total > 0)
      {
        spanStep2.style.visibility="visible";
      }
      else
      {
        spanStep2.style.visibility="hidden";
      } 
      
      spanSelectedToPayAmount.innerText = "$" + formatNumber(total, 2, "");
    
}

function BuildQueryString()
{
    var frm = document.forms[0];
    var strSelected = "";
    
    for (i=startPoint; i<frm.length; i++)
    {
        idVal = frm.elements[i].id;
        
        if (frm.elements[i].checked)
        {  
          idInvoiceNo = idVal.replace("ckbSelectThis", "lblInvoiceNumber");      
          spanInvoiceNoElement = document.getElementById(idInvoiceNo);
          strInvoiceNo = spanInvoiceNoElement.innerText;
          
          idSubTotal = idVal.replace("ckbSelectThis", "lblTotal");      
          spanSubTotalElement = document.getElementById(idSubTotal);
          strSubtotal = FilterNum(spanSubTotalElement.innerText);
                                                            
          if(i > startPoint)
          {
            strSelected += "$" + strInvoiceNo + "$" + strSubtotal;
          }
        }
    }  

  document.getElementById("hideSelectedToPay").value = strSelected;

}

function formatNumber(Number,Decimals,Separator)
{

 Number += ""         
 Decimals += ""       
 Separator += ""       
 if((Separator == "") || (Separator.length > 1))
  Separator = "."
 if(Number.length == 0)
  Number = "0"
 var OriginalNumber = Number  
 var Sign = 1
 var Pad = ""
 var Count = 0

 if(parseFloat(Number)){
  Number = parseFloat(Number)} else {
  Number = 0}

 if((parseInt(Decimals,10)) || (parseInt(Decimals,10) == 0)){
  Decimals = parseInt(Decimals,10)} else {
  Decimals = 2}
 if(Number < 0)
 {
  Sign = -1         
  Number *= Sign    
 }
 if(Decimals < 0)
  Decimals *= -1    
 
 Number = "" + Math.floor(Number * Math.pow(10,Decimals + 1) + 5)
 if((Number.substring(1,2) == '.')||((Number + '')=='NaN'))
  return(OriginalNumber) 

 if(Number.length < Decimals +1) 
 {
  for(Count = Number.length; Count <= Decimals; Count++)
   Pad += "0"
 }
 Number = Pad + Number 
 if(Decimals == 0){
  Number = Number.substring(0, Number.length -1)} else {
  Number = Number.substring(0,Number.length - Decimals -1) +
          Separator +
          Number.substring(Number.length - Decimals -1,
          Number.length -1)}
 if((Number == "") || (parseFloat(Number) < 1))
  Number="0"+Number 
 if(Sign == -1)
  Number = "-" + Number  
 return(Number)
}

function FilterNum(str) 
{
  re = /^\$|,/g;
  return str.replace(re, "");
}
