﻿// JScript File
var packagePrice=0;
var avgprice=0;
var transferPrice=0;
var carPrice=0;
var laggagePrice=0;
var mealPrice=0;
var attractionPrice=0;
var airportHotelPrice=0;
var airportCarPrice=0;
var airportLoungePrice=0;
var tempPackPrice=0;
var flagMeal=true;
var flagLuggage=true;
var flag=true;
var roomListID=0;
var airportHotelID=0;
var insurancePrice=0;

var webpriceid;
var hdnwebpriceid;
var hdntotprice;


function selectcaritem(item)
{
    try
    {
    document.getElementById("hdnselectcaritem").value = item;
    }
    catch(ex)
    {}
}

Init=function() 
{ 
   if (window.XMLHttpRequest) { // Non-IE browsers 
      _req = new XMLHttpRequest(); 
   } 
   else if (window.ActiveXObject){ // IE 
      _req = new ActiveXObject("Microsoft.XMLHTTP"); 
   } 
} 

processStateChangeUpsale = function()
{ 	
   if (_req.readyState == 4){
      if (_req.status == 200) { 
         if(_req.responseText=="") 
            return false; 
         else            
            eval(_req.responseText);             
          
      } 
   } 
} 

SendQueryUpsale=function(pk,type,flag) //get departure 
{ 
  Init();  
   if (type == "")
   {      
      return; 
   }    
   
    var today = new Date();
   var url="GetUpsaleData.aspx?pk="+pk+"&type="+type+"&flag="+flag+"&Hotelpk="+airportHotelID+"&tm="+today.getMilliseconds();

   if(_req!=null) 
   { 		
      _req.onreadystatechange = processStateChangeUpsale; 
      _req.open("GET", url, true);
      _req.send(null); 
   } 
} 
addUpsale=function(pk,type)
{
   webpriceid = "ctl00_ContentPlaceHolder1_ucFareDetails1_spntotalcost";
   hdnwebpriceid = "ctl00_ContentPlaceHolder1_ucFareDetails1_hdnwebprice";
   hdntotprice = "ctl00_ContentPlaceHolder1_ucFareDetails1_hdntotprice";
   tempPackPrice=parseFloat(document.getElementById(hdnwebpriceid).value)
  
  if(type=="Transfer")
  {
    if(pk==999)
    {
        document.getElementById("transfertext").style.display="block";
    }
    else
    {
        document.getElementById("transfertext").style.display="none";
    }
  }
  
  
   if(type=="Meal")
    SendQueryUpsale(pk,type,flagMeal);
   else if(type=="Luggae")
    SendQueryUpsale(pk,type,flagLuggage);
   else
    SendQueryUpsale(pk,type,flag);
   
}



populateInsuranceRow=function(val,price){
   
   _lbl = document.getElementById("insuranceDiv");
   _lbl.innerHTML =val;  
   if(price=="0")
   {
     price=0;
     _lbl.innerHTML ="";
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'Insurance','Remove');
   }    
   else
   {
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'Insurance','Add');
   }
     
   document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);  
   document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
   //document.getElementById(webpriceid).innerHTML=packagePrice; 
}

populateHotelRoomRow=function(val,id,pax){
 
  if(roomListID>0)
   {
     _lbl = document.getElementById("roomList"+roomListID);
     _lbl.innerHTML=""
   }
   
   if(id!=999){
   val = val.replace(/#/g,"'");
   _lbl = document.getElementById("roomList"+id);
   _lbl.innerHTML=val;
   _lbl.style.display="block";
   }
   else{
   _lbl = document.getElementById("roomList"+id);
   _lbl.innerHTML ="";
   populateAirportHotelRow('',0,pax);
   }
   
   roomListID=id;
   airportHotelID=id;
   
   HideWaitDiv();
   
}

populateAirportHotelRow=function(val,price,pax){
 _lbl = document.getElementById("airportHotelDiv");
 _lbl.innerHTML =""; 
  if(price=="0"){
     price=0;
    calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'AirportHotel','Remove');
   }    
   else{
     _lbl.innerHTML =val; 
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'AirportHotel','Add');
   }
   
   avgprice = packagePrice/pax;
  document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
  document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
  //document.getElementById("ctl00_ContentPlaceHolder1_lblperperson").innerHTML="&pound;" + avgprice.toFixed(2); 
  
}

populateTransferRow=function(val,price,pax){
  
   _lbl = document.getElementById("transferDiv");
   _lbl.innerHTML =val;  
   if(val=="")
   {
     price=0;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'Transfer','Remove');
   }    
   else
   {
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'Transfer','Add');
   }
   
  avgprice = packagePrice/pax;
   document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);  
   document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
   //document.getElementById("ctl00_ContentPlaceHolder1_lblperperson").innerHTML="&pound;" + avgprice.toFixed(2); 
}

populateCarRow=function(val,price,pk){
    
   var i;
   try
   {
       for(i=1;i<=parseInt(document.getElementById("hdncarupsellcount").value);i++)
       {
            document.getElementById("hrfCarextra" + i).style.display = "none";
       }
   }
   catch(ex)
   {}
   
   _lbl = document.getElementById("carDiv");
   _lbl.innerHTML =val; 
   if(val==""){
     price=0;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'Car','Remove');
     try
     {
     document.getElementById("hrfCarextra" + document.getElementById("hdnselectcaritem").value).style.display = "none";
     }
     catch(ex){}
     
   }    
   else{
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'Car','Add');
     document.getElementById("hrfCarextra" + document.getElementById("hdnselectcaritem").value).style.display = "block";
   }
  
   document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
   document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
   //document.getElementById("ctl00_ContentPlaceHolder1_lblperperson").innerHTML="&pound;" + avgprice.toFixed(2);
}
populateMealRow=function(val,price)
{
   _lbl = document.getElementById("mealDiv");
   _lbl.innerHTML =val; 
    if(val==""){
     price=0;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'Meal','Remove');
   }    
   else{
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'Meal','Add');
   }
  document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
  document.getElementById(hdntotprice).value=packagePrice.toFixed(2);
}

populateLuggageRow=function(val,price){
  //debugger;
 _lbl = document.getElementById("luggageDiv");
 _lbl.innerHTML =val; 
  if(val==""){
     price=0;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'Laggage','Remove');
   }    
   else{
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'Laggage','Add');
   }
  document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
  document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
  //document.getElementById("ctl00_ContentPlaceHolder1_ucHoliDetail_lblPackPrice").innerHTML=packagePrice;
}

//populateAttractionRow=function(val,price){
//  //debugger;
// _lbl = document.getElementById("attractionDiv");
// 
//  if(price=="0"){
//     price=0;
//     _lbl.innerHTML =""; 
//     calulatePrice(parseFloat(document.getElementById("ctl00_ContentPlaceHolder1_ucFare_hdPCPrice").value),0,'Attraction','Remove');
//   }    
//   else{
//     _lbl.innerHTML =val; 
//     calulatePrice(parseFloat(document.getElementById("ctl00_ContentPlaceHolder1_ucFare_hdPCPrice").value),price,'Attraction','Add');
//   }
//  document.getElementById("ctl00_ContentPlaceHolder1_ucFare_lblPackPrice").innerHTML=packagePrice;
//  document.getElementById("ctl00_ContentPlaceHolder1_ucHoliDetail_lblPackPrice").innerHTML=packagePrice;
//}



populateAirportCarParkingRow=function(val,price,pax){
 //debugger;
 _lbl = document.getElementById("carParkingDiv");
 
  if(price=="0")
  {
     _lbl.innerHTML ="";
     price=0;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'AirportCarParking','Remove');
   }    
   else
   {
     _lbl.innerHTML =val;
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'AirportCarParking','Add');
   }
  avgprice = packagePrice/pax;
   document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
   document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
   //document.getElementById("ctl00_ContentPlaceHolder1_lblperperson").innerHTML="&pound;" + avgprice.toFixed(2);
}

populateAirportLoungeRow=function(val,price,pax){
 //debugger;
 _lbl = document.getElementById("airportLounge");
 
  if(price=="0"){
     price=0;
     _lbl.innerHTML =""; 
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),0,'AirportLounge','Remove');
   }    
   else{
     _lbl.innerHTML =val; 
     calulatePrice(parseFloat(document.getElementById(hdnwebpriceid).value),price,'AirportLounge','Add');
   }
   
   avgprice = packagePrice/pax;
   document.getElementById(webpriceid).innerHTML="&pound;" + packagePrice.toFixed(2);
   document.getElementById(hdntotprice).value = packagePrice.toFixed(2);
   //document.getElementById("ctl00_ContentPlaceHolder1_lblperperson").innerHTML="&pound;" + avgprice.toFixed(2);
}

//final calculation  
calulatePrice=function(packPrice,newPrice,type,method)
{
  //debugger;
  //Tranfer price calculation
  if(method=="Add" && type=="Transfer" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
      tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
       if(transferPrice>0)
       {
         tempPackPrice=packagePrice - parseFloat(transferPrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
    }
    transferPrice=newPrice;
  }
  else if(method=="Remove" && type=="Transfer" && newPrice==0)
  {
   if(packagePrice>0 && transferPrice>0)
    tempPackPrice=packagePrice-parseFloat(transferPrice)
    transferPrice=0;
  }
  
  //Carhire price calculation
  if(method=="Add" && type=="Car" && newPrice>0)
  {
    if(tempPackPrice==packagePrice || packagePrice==0)
    {
     tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
       if(carPrice>0)
       {
         tempPackPrice=packagePrice - parseFloat(carPrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
       
    }
    carPrice=newPrice;
  }
  else if(method=="Remove" && type=="Car" && newPrice==0)
  {
     if(packagePrice>0 && carPrice>0)
    tempPackPrice=packagePrice-parseFloat(carPrice)
    carPrice=0;
  }
  
  
  //laggage price calculation
  if(method=="Add" && type=="Laggage" && newPrice>0)
  {
  
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice);
    }
    else
    {
      tempPackPrice=packagePrice+parseFloat(newPrice);
    }
    laggagePrice=newPrice;
     flagLuggage=false;
  }
  else if(method=="Remove" && type=="Laggage" && laggagePrice>0)
  {
  
     if(tempPackPrice==packagePrice || packagePrice==0)
    {
      tempPackPrice=tempPackPrice-parseFloat(laggagePrice);
    }
    else
    {
     tempPackPrice=packagePrice-parseFloat(laggagePrice);
    }
    laggagePrice=newPrice;
    flagLuggage=true;
   
  }
//  if(method=="Add" && type=="Laggage" && newPrice==0)
//  {
//  
//     tempPackPrice=packagePrice+parseFloat(laggagePrice)
//     laggagePrice=0;
//     flagLuggage=true;
//  }
//  else if(method=="Remove" && type=="Laggage" && newPrice>0)
//  {
//  
//     if(tempPackPrice==packagePrice || packagePrice==0)
//    {
//      tempPackPrice=tempPackPrice-parseFloat(newPrice)
//    }
//    else
//    {
//     tempPackPrice=packagePrice-parseFloat(newPrice)
//    }
//    laggagePrice=newPrice;
//    flagLuggage=false;
//   
//  }
  
   //meal price calculation
  if(method=="Add" && type=="Meal" && newPrice>0)
  {
  
     if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
      tempPackPrice=packagePrice+parseFloat(newPrice)
    }
     mealPrice=newPrice;
     flagMeal=false;
  }
  else if(method=="Remove" && type=="Meal" && newPrice==0)
  {
    if(packagePrice>0)
    tempPackPrice=packagePrice-parseFloat(mealPrice)
    mealPrice=0;
    flagMeal=true;
  }
  
  //Attraction price calculation
  if(method=="Add" && type=="Attraction" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
       if(attractionPrice>0)
       {
         tempPackPrice=packagePrice - parseFloat(attractionPrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
      
    }
    attractionPrice=newPrice;
  }
  else if(method=="Remove" && type=="Attraction" && newPrice==0)
  {
     if(packagePrice>0 && attractionPrice>0)
    tempPackPrice=packagePrice-parseFloat(attractionPrice)
    attractionPrice=0;
  }
  
  
  //Airport hotel price calculation
  if(method=="Add" && type=="AirportHotel" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
       if(airportHotelPrice>0)
       {
         tempPackPrice=packagePrice - parseFloat(airportHotelPrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
      
    }
    airportHotelPrice=newPrice;
  }
  else if(method=="Remove" && type=="AirportHotel" && newPrice==0)
  {
     if(packagePrice>0 && airportHotelPrice>0)
        tempPackPrice=packagePrice-parseFloat(airportHotelPrice)
    else if(packagePrice==0)
        tempPackPrice=packPrice;
    else
        tempPackPrice=packagePrice;
    airportHotelPrice=0;
  }
  
  
  //Airport car parking price calculation
  if(method=="Add" && type=="AirportCarParking" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
      if(airportCarPrice>0)
       {
         tempPackPrice=packagePrice - parseFloat(airportCarPrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }

    }
    airportCarPrice=newPrice;
  }
  else if(method=="Remove" && type=="AirportCarParking" && newPrice==0)
  {
    if(packagePrice>0 && airportCarPrice>0)
    tempPackPrice=packagePrice-parseFloat(airportCarPrice)
    airportCarPrice=0;
  }
  
  //Airport lounge price calculation
  if(method=="Add" && type=="AirportLounge" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
      if(airportLoungePrice>0)
       {
         tempPackPrice=packagePrice-parseFloat(airportLoungePrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
     
    }
    airportLoungePrice=newPrice;
  }
  else if(method=="Remove" && type=="AirportLounge" && newPrice==0)
  {
    if(packagePrice>0 && airportLoungePrice>0)
    tempPackPrice=packagePrice-parseFloat(airportLoungePrice)
    airportLoungePrice=0;
  }
  
  //Insurance price calculation
  if(method=="Add" && type=="Insurance" && newPrice>0)
  {
    if(tempPackPrice==packagePrice  || packagePrice==0)
    {
        tempPackPrice=tempPackPrice+parseFloat(newPrice)
    }
    else
    {
      if(insurancePrice>0)
       {
         tempPackPrice=packagePrice-parseFloat(insurancePrice) + parseFloat(newPrice)
       }
       else
       {
         tempPackPrice=packagePrice+parseFloat(newPrice)
       }
     
    }
    insurancePrice=newPrice;
  }
  else if(method=="Remove" && type=="Insurance" && newPrice==0)
  {
    if(packagePrice>0 && insurancePrice>0)
    tempPackPrice=packagePrice-parseFloat(insurancePrice)
    insurancePrice=0;
  }
  
  packagePrice=tempPackPrice;
}


/* For default radio button selected */
    selectDefaultRadio=function()
        {
           for (i=0; i < document.forms[0].elements.length; i++) 
           {
             if ((document.forms[0].elements[i].type == 'radio') &&( (document.forms[0].elements[i].value==999) || (document.forms[0].elements[i].value=='999' ))) 
             {
                 document.forms[0].elements[i].checked = true;
                 try
                 {
                     if(document.getElementById('divV999')!=null)
                     {
                        document.getElementById('divV999').style.display='none';
                        document.getElementById('divH999').style.display='none';
                     }
                 }
                 catch(ex)
                 {
                 }
                     
             }
           }
        }
      
      selectParticularRadioButton=function(rdType,val)
        {
           //debugger;
           for (i=0; i < document.forms[0].elements.length; i++) 
           {
             if ((document.forms[0].elements[i].type == 'radio') && (document.forms[0].elements[i].name == rdType) && (document.forms[0].elements[i].value==val)) 
             {
                  document.forms[0].elements[i].checked = true;
             }
           }
        }  
        
        
        selectCheckBox=function(rdType)
        {
             for (i=0; i < document.forms[0].elements.length; i++) 
             {
              if ((document.forms[0].elements[i].type == 'checkbox') && (document.forms[0].elements[i].name == rdType) ) 
                 {
                     document.forms[0].elements[i].checked = true;
                 }
             }
        }
/* For default radio button selected */



    function ShowWaitdiv(id,chotel)
    {
        var topy;
        var leftx;
           topy = screen.height / 2;
           leftx = screen.width / 2;

         document.getElementById(id).style.display='block';
         document.getElementById(id).style.left=(leftx-80)+'px';
         document.getElementById(id).style.top=(topy-150)+'px';
         
         try
         {
             for(i=1;i<chotel;i++)
             {
                document.getElementById('roomList' + i).style.display="none";
             }
         }
         catch(ex){}
    }
    
    function HideWaitDiv()
    {
        document.getElementById('divround').style.display='none';
    }



   /* For transfer details show */
   function getPosition(e) {
        e = e || window.event;
        var cursor = {x:0, y:0};
        if (e.pageX || e.pageY) {
            cursor.x = e.pageX;
            cursor.y = e.pageY;
        } 
        else {
            var de = document.documentElement;
            var b = document.body;
            cursor.x = e.clientX + 
                (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
            cursor.y = e.clientY + 
                (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
        }
        return cursor;
    }


    function Showtransferdiv(id,e)
    {
        var cursor = getPosition(e)

         document.getElementById(id).style.display='block';
         document.getElementById(id).style.left=(cursor.x)+'px';
         document.getElementById(id).style.top=(cursor.y-300)+'px';
    }
    
    function Hidetransferdiv(id)
    {
    document.getElementById(id).style.display='none';
    }
    /* For transfer details End */