function getCookie(c_name)
{
  if (document.cookie.length>0)
  {
    c_start=document.cookie.indexOf(c_name + "=");
    if (c_start!=-1)
    { 
      c_start=c_start + c_name.length+1; 
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) c_end=document.cookie.length;
      return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
  return "";
}

function setCookie(c_name,value,expiredays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+expiredays);
  document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString() + ";path=/");
}

function CheckLoginFailed(areaCode) {
    if (getCookie('LoginError') == '1') {
        if (getCookie('LoginArea') == areaCode) {
            document.write('Login failed!');
            setCookie('LoginError', '', new Date());
        }
    }
}


function dologin(pageId, loginctrl, passwordctrl, btnlogin, errorctrl, refresh)
{
  btn = document.getElementById(btnlogin);
  if (btn)
  {
    btn.setAttribute('disabled', 'disabled');
  }
  var user = document.getElementById(loginctrl);
  var password = document.getElementById(passwordctrl);
  if (TopLoginControl.DoLogin(user.value, password.value).value == true)
  {
    for (i=0; i < LoginDivs.length; i++)
    {
      parts = LoginDivs[i].split('|');
      div = document.getElementById(parts[0]);
      if (div)
      {
        macroname = parts[1];
        res = TopLoginControl.RenderMacro(macroname, pageId);
        div.innerHTML = res.value;
      }
    }
    if(pageId == 1075 && refresh)
    {
      //location.reload(false);
      location.href = location.href;
    }
    setPreferredAirport();
    res = true;
  } else
  {
    password.value = '';
    //alert('Invalid Username and Password. Please try again.');
    document.getElementById(errorctrl).innerHTML = 'Invalid Username and Password.';
    res = false;
  }
  if (btn)
  {
    btn.removeAttribute('disabled');
  }
  return res;
}

function dologout(pageId)
{
  TopLoginControl.DoLogout();

  for (i=0; i < LoginDivs.length; i++)
  {
    parts = LoginDivs[i].split('|');
    div = document.getElementById(parts[0]);
    if (div)
    {
      macroname = parts[1];
      res = TopLoginControl.RenderMacro(macroname, pageId);
      div.innerHTML = res.value;
    }
  }
  if(pageId == 1075)
  {
    //location.reload(false);
    location.href = location.href;
  }
  return false;
}

 function removeAllItems(obj)
 {
   rows = obj.length;
   if (rows > 0)
   {
     while (obj.length > 0)
     {
       obj.remove(0);
     }
   }
 }
   
function addOption (combo, option_value, option_text)
{
  var optionToAdd = document.createElement("option");
  optionToAdd.text = option_text;
  optionToAdd.value = option_value;
  combo.options.add(optionToAdd);   
}       

function doLoadVoucherTypes(lotnames, vouchertypes)
{
  var combo = document.getElementById(vouchertypes); 
  removeAllItems(combo);
  var res = PrepaidVoucherForm.GetVouchersType(document.getElementById(lotnames).value);
  addOption(combo, 0, "Select..");
  for (count = 0; count < res.value.length ; count++) 
  {                
     addOption(combo, res.value[count].Key, res.value[count].Value);
  }         
  return false;
}
   
function doLoadPackData(rateId, combo_days, combo_packs)
{
  var combo1 = document.getElementById(combo_days);
  var combo2 = document.getElementById(combo_packs);
  removeAllItems(combo1);
  removeAllItems(combo2);                                                   
 // var ds = new Ajax.Web.DataSet();
  var res = PrepaidVoucherForm.GetPackData(rateId);   
  if (res.value.Tables[0].Rows.length > 0)
  {
     var row = res.value.Tables[0].Rows[0];
     var daysPerPack = row.DaysPerPack;            

     addOption(combo1, daysPerPack, daysPerPack);
            
     //populate number of packs
     var minimumPacks = row.MinimumPacks; 
     for ( count = minimumPacks; count <= 10 ; count++) 
     {   
       addOption(combo2, count, count);             
     }  
  }        
}     


function doDisplayBillingCharges(combo_service, combo_shipping, combo_packs, combo_days, continuefunction)
{
  
  var shipping = document.getElementById(combo_shipping).value;
  var serviceClassDropDown = document.getElementById(combo_service);
  var numberPacksDropDown = document.getElementById(combo_packs);
  var daysPerVoucherPackDropDown = document.getElementById(combo_days);   
            
  var quantity = numberPacksDropDown.value * daysPerVoucherPackDropDown.value;  
  var res = PrepaidVoucherForm.GetBillingCharges(serviceClassDropDown.value, quantity, shipping); 
  if (res.value.Tables[0].Rows.length > 0)
  { 
    var row = res.value.Tables[0].Rows[0];   
    continuefunction(row);
  }
}

function formatAsMoney(mnt)
{
  mnt -= 0;
  mnt = (Math.round(mnt*100))/100;
  return (mnt == Math.floor(mnt))?mnt + '.00':((mnt*10 == Math.floor(mnt*10))?mnt + '0':mnt);
}

function doRecalculate(services, prefixlength, totaledit, totallabel)
{
  var pnl = document.getElementById(services);
  var checkboxes = pnl.getElementsByTagName("input");
  var ids="";
  var lbl = document.getElementById(totallabel);
  var total = Number(document.getElementById(totaledit).value.replace(',', '.'));   

  for (var i = 0; i < checkboxes.length; i++) {
 
    if (checkboxes[i].checked)
    {
      id = checkboxes[i].getAttribute("id").substring(prefixlength);
      val = checkboxes[i].getAttribute("value");
 
      if ( ids != "") 
        ids = ids + ";"
    
      ids = ids + id;
      total = total + Number(val.replace(',', '.'));
    }
  }   
  //lbl.innerHTML = "$" + String(total).substring(0, String(total).indexOf(".") + 3);
  lbl.innerHTML = "$" + formatAsMoney(total);
  DiscountedServicesControl.CalculateAdditionalAmount(ids);
}

function doInsertSignUpEmail(emailctrl, msgctrl, url)
{             
  var email = document.getElementById(emailctrl).value;
  var res = SignUpSpecialsControl.DoSignUp(email);
  var msg = document.getElementById(msgctrl);
  if (res.value == '')
  {
    msg.style.color='green';
    msg.innerHTML='Email address is saved';
    document.getElementById(emailctrl).value='';
    //location.href = url;
  }
  else
  {
    msg.style.color='red';
    msg.innerHTML=res.value;
  }
}

function doCancelReservation(resultctrl, resId, ln, card)
{           
   var msg = document.getElementById(resultctrl);  
   var res = ReservationCancelControl.DoCancelReservation(resId, ln, card);
   msg.innerHTML=res.value;
}
