(function ($) {
    orderFunctions = function () {
      var showPrice;
      var sansDinner = "";
      var hotelSansDinner = "";
      var familyEvent = "";
      var numberOfPeople;
      var numberOfDoublerooms;
      var numberOfSinglerooms;
      var numberOfExtrastays;
      var additionToFromPrice = 0;
      var extraForSingleroom = 0;
      var priceExtraNightSingleroom = 0;
      var priceExtraNightDoubleroom = 0;
      var priceBusinessRoomUpgradeDoubleroom = 0;
      var priceBusinessRoomUpgradeSingleroom = 0;
      var priceWine = 0;
      var prisDinnerUpgrade = 0;
      var priceRegularDinner = 0;
      var readyForSummary = false;
      var specialPriceDinner = false;
      var dinnerText = " stk 2 retters middag med kaffe";
      
      
     
  
   
      
        load_events();
        //This toggles the order form, and the summary on the order page                                   
        $('#create_summary').click(function () {


            if (validateOrder()) {
            
               readySummary();
            
        }
        });


      function readySummary(){
          if(!readyForSummary) {
            $("#loader").show();
            setTimeout(readySummary, 1000);
              }else{
                $("#loader").hide();
         $('#order_form').toggle();
                $('#summary').toggle();
                $('#print').toggle();
                $('#hotelInfoText').html('<h3>HOTELLPAKKER</h3><p>Vi gjør oppmerksom på at ved å trykke «send bestilling» blir bestillingen bindene.</p><p>Se også betingelser.</p><p>Skriv gjerne ut Bookingsammendraget før du sender bestillingen.</p>');
                
                setVariables();
                createSummary();
      }
    }
      
        $('#back_to_order').click(function () {
            $('#order_form').toggle();
            $('#summary').toggle();
            $('#print').toggle();
          $('#hotelInfoText').html('<h3>HOTELLPAKKER</h3><p>Her kan du bestille din opplevelsespakke med mulighet for valg av hotell, ekstradøgn og oppgraderinger.Benytt kommentar felt ved andre ønsker.</p><p>Ønsker du hotellpakke i ukedager ring: <b>09901</b>. Velg sammendrag for å se totalsum.</p>');


        });

         $("#submitorder").click(function() {  
           
            
           
           
           
var artist = $("#events option:selected").val();
var date   = $("#showDates option:selected").val();
var city = $("#cities option:selected").val();
var hotel = $("#hotels option:selected").val();
var doublerooms = $("#dobbeltrommet option:selected").val();
var singlerooms = $("#enkeltrommet option:selected").val();
var arrivalDate = $("#hiddenArrival").val();
var departureDate = $("#hiddenDeparture").val();
var extrastays = $("#extrastays option:selected").val();
var dinnerUpgrade = $("#dinner").is(':checked');
var wineUpgrade = $("#wine").is(':checked');
var businessUpgrade = $("#business").is(':checked');
var firstname = $("#firstname").val();
var lastname = $("#lastname").val();
var address = $("#address").val();
var postalnumber = $("#postalnumber").val();
var homeCity =$("#city").val();
var phone = $("#phone").val();
var email = $("#email").val();
var comment = $("#comment").val();
var newsletter = $("#newsletterCheck").is(':checked');
           
var submitstring = 'hotelSansDinner='+hotelSansDinner+'&sansDinner='+sansDinner+'&familyEvent='+familyEvent+'&totalPrice='+summarizeTotal()+'&events='+artist+'&showDates='+date+'&cities='+city+'&hotels='+hotel+'&dobbeltrommet='+doublerooms+getRoomNamesData('Dobbeltrom', 'dobbeltrommet')+getRoomNamesData('Enkeltrom', 'enkeltrommet')+'&enkeltrommet='+singlerooms+'&hiddenArrival='+arrivalDate+'&hiddenDeparture='+departureDate+'&extrastays='+extrastays+'&dinner='+dinnerUpgrade+'&wine='+wineUpgrade+'&business='+businessUpgrade+'&Ecom_ShipTo_Postal_Name_First='+firstname+'&Ecom_ShipTo_Postal_Name_Last='+lastname+'&Ecom_ShipTo_Postal_Street_Line1='+address+'&Ecom_ShipTo_Postal_PostalCode='+postalnumber+'&Ecom_ShipTo_Postal_City='+homeCity+'&Ecom_ShipTo_Telecom_Phone_Number='+phone+'&Ecom_ShipTo_Online_Email='+email+'&Kommentar='+comment+'&newsletter='+newsletter;
     
    $.ajax({  
  type: "POST",  
  url: "/email.aspx",  
  data: submitstring,  
  success: function() {  
    $('#summary').html("<div id='message'></div>");  
    $('#hotelInfoText').html("<h3>HOTELLPAKKER</h3>")  
    .append("<p><b>Takk for din bestilling!</b></p><p>Vi tar kontakt på mail eller telefon for å bekrefte bestillingen din.</p><p>Skulle du ha spørsmål ber vi deg ta kontakt med oss på <b>tlf. 09901</b>.</p><p>Åpningstid  på telefon  : <b>mandag-fredag 09.00-16.00</b></p> ")
   /* .hide() 
     .fadeIn(1500) */
      if($('#newsletterCheck').is(':checked')){  

    $('#subscribeEmail').load('/revyogteater-subscribe.aspx?city='+city.toLowerCase()+'&email='+email+'&action=subscribe #subscriberRespons');
}
  }  
});

 
return false;
           
  });
        function validateOrder() {
            var validated = true;

            if ($("#firstname").val() == "") {
                validated = false;
                $("#firstname_require").css("color", "red");
                $("#firstname").addClass("order_errorHighlight");
            } else {
                $("#firstname").removeClass("order_errorHighlight");
                $("#firstname_require").css("color", "black");
            }
            if ($("#lastname").val() == "") {
                validated = false;
                $("#lastname_require").css("color", "red");
                $("#lastname").addClass("order_errorHighlight");
            } else {
                $("#lastname").removeClass("order_errorHighlight");
                $("#lastname_require").css("color", "black");
            }
            if ($("#postalnumber").val() == "") {
                validated = false;
                $("#postalnumber_require").css("color", "red");
                $("#postalnumber").addClass("order_errorHighlight");
            } else {
                $("#postalnumber").removeClass("order_errorHighlight");
                $("#postalnumber_require").css("color", "black");
            }
            if ($("#city").val() == "") {
                validated = false;
                $("#city_require").css("color", "red");
                $("#city").addClass("order_errorHighlight");
            } else {
                $("#city").removeClass("order_errorHighlight");
                $("#city_require").css("color", "black");
            }
            if ($("#phone").val() == "") {
                validated = false;
                $("#phone_require").css("color", "red");
                $("#phone").addClass("order_errorHighlight");
            } else {
                $("#phone").removeClass("order_errorHighlight");
                $("#phone_require").css("color", "black");
            }
            if ($("#email").val() == "") {
                validated = false;
                $("#email_require").css("color", "red");
                $("#email").addClass("order_errorHighlight");
            } else {
                $("#email").removeClass("order_errorHighlight");
                $("#email_require").css("color", "black");
            }
          
             if (!validateEmail($("#email").val())) {
                validated = false;
                $("#email_require").css("color", "red");
                $("#email").addClass("order_errorHighlight");
                $("#email_warning").show();
             }else{
               $("#email_warning").hide();
             }
           

            return validated;
        }

        /*Creates the summary*/

        function createSummary() {
            $("#theEvent").html("<b>Arrangement: </b>" + $("#events option:selected").text());
            $("#theDate").html("<b>Dato: </b>" + $("#showDates option:selected").text());
            $("#thePeople").html("<b>Antall:</b> " + getnumberOfPeople($("#dobbeltrommet option:selected").val(), $("#enkeltrommet option:selected").val()) + " personer");
            $("#theHotel").html("<b>Hotell: </b>" + $("#hotels option:selected").text());
            $("#theArrival").html("<b>Ankomst:</b> " + getArrival($("#extrastays option:selected").val()));
            $("#theDeparture").html("<b>Avreise:</b> " + getDeparture($("#extrastays option:selected").val()));
            $("#hiddenArrival").val(getArrival($("#extrastays option:selected").val()));
            $("#hiddenDeparture").val(getDeparture($("#extrastays option:selected").val()));
            $("#theRooms").html("<b>Rom:</b> " + updatePeopleString());
            $('#theDoubleRoomNames').html(listRoomNames('Dobbeltrom', 'dobbeltrommet'));
            $('#theSingleRoomNames').html(listRoomNames('Enkeltrom', 'enkeltrommet'));
            $("#theComment").html("<b>Kommentar:</b> " + $("#comment").val());
            var n = $("#newsletterCheck:checked").length;
            $("#theNewsletter").html("<b>Nyhetsbrev:</b> " + (n < 1 ? "Nei" : "Ja"));
            $("#theName").html("<b>Navn: </b>" + $("#firstname").val() + " " + $("#lastname").val());
            $("#theAddress").html("<b>Addresse: </b>" + $("#address").val());
            $("#thePostnumber").html("<b>Postnummer:</b> " + $("#postalnumber").val());
            $("#theCity").html("<b>Poststed: </b>" + $("#city").val());
            $("#theMobile").html("<b>Telefon:</b> " + $("#phone").val());
            $("#theEmail").html("<b>Epost:</b> " + $("#email").val());
           var theCity = $("#cities option:selected").val();
          
          if((sansDinner != "True")&&(theCity == "Bergen") && (familyEvent != "True") && (hotelSansDinner != "True")){
            $("#theMeals").html("<b>Servering:</b> "+numberOfPeople+dinnerText);
          }else{$("#theMeals").html("<b>Servering:</b> Ingen servering");}
         if(familyEvent != "True"){  
          $("#theUpgrades").html(writeUpgrades());
          
            $("#theTotal").html("<b>Sum: Kr. "+summarizeTotal()+",-</b>");
          }

        }
      
      function summarizeTotal(){
        var basicSum = showPrice * numberOfPeople;
        var hotelExtraSum = ((numberOfPeople*additionToFromPrice)+(numberOfSinglerooms*extraForSingleroom));
        var extraStayPrice = ((((numberOfDoublerooms * 2)*priceExtraNightDoubleroom)+(numberOfSinglerooms*priceExtraNightSingleroom))*numberOfExtrastays);
        var regularDinner = 0;
        if((sansDinner != "True")&&($("#cities option:selected").val() == "Bergen")){
        regularDinner = priceRegularDinner * numberOfPeople;
        }
        
        var upgradesBusinessPrice = 0; 
        if (($("#business").length > 0) && $('#business').is(':checked')){
        upgradesBusinessPrice = ((((numberOfDoublerooms * 2)*priceBusinessRoomUpgradeDoubleroom)+(numberOfSinglerooms*priceBusinessRoomUpgradeSingleroom))*(1+numberOfExtrastays));
        }
        var upgradeWinePrice = 0;
        if (($("#wine").length > 0) && $('#wine').is(':checked')){
        upgradeWinePrice = ((priceWine*numberOfDoublerooms)+(priceWine*numberOfSinglerooms));
        }
        var upgradeDinnerPrice = 0;
        if (($("#dinner").length > 0) && $('#dinner').is(':checked')){
        upgradeDinnerPrice = prisDinnerUpgrade * numberOfPeople;
        }
        var total = basicSum+hotelExtraSum+extraStayPrice+upgradesBusinessPrice+upgradeWinePrice+upgradeDinnerPrice+regularDinner;
        return total;
      }
      
     

 function load_events() {
     readyForSummary = false;
     var getData = new QueryData();
     
     $('#theEvents').load('/cityshowall.aspx?city='+$("#cities option:selected").val().toLowerCase()+' #theEvents');
     
   var loadString = '/getevents.aspx?city=' + document.orderform.cities.value + '&availabillity=35';
   
     if ('eventID' in getData) {
         loadString = '/getevents.aspx?city=' + document.orderform.cities.value + '&eventID=' + getData.eventID + '&availabillity=35';
       
     }

     $.getJSON(loadString, function (data) {
       
         var theSelected = data.selectedId;
         showPrice = data.showPrice;
         sansDinner = data.sansDinner;
         familyEvent = data.familyEvent;
      /* $('#eventPrice').html('<p>Pris: '+showPrice+'</p>');*/
         var theDropdown;
       
         $.each(data.events, function (k, v) {
         
           if (k == data.selectedId){ theDropdown = theDropdown += "<option value=\"" + k + "\" selected=\"selected\">" + v + "</option>";
           }else if(k != "0000"){ theDropdown = theDropdown += "<option value=\"" + k + "\">" + v + "</option>";}
         
           }); 
      
     
             $('#events').html(theDropdown);
            
           getEventData();
         
             load_showDates();
       
     });

     $('#events').triggerHandler('change');

     }

      
      function getEventData(){
    var loadString = '/getEventData.aspx?eventID=' + $("#events option:selected").val();
     $.getJSON(loadString, function (data) {
      sansDinner = data.sansDinner;
         showPrice = data.showPrice;
       familyEvent = data.familyEvent;
       getDropdowns();
     /*  $('#eventPrice').html('<p>Prisen: '+showPrice+'</p>');*/
     });
      }
      
      function getDropdowns(){
        if(familyEvent == "True"){
       $("#comment").val("Skriv antall voksne/barn her...");
       $("#doubleRoomLabel").html("Familierom");
       $("#doubleRoomInfo").html("Maks 2 voksne og 3 barn i et familierom");
       $("#dobbeltrommet").html("<option value='1' selected>1 familierom</option><option value='2'>2 familierom</option><option value='3'>3 familierom</option><option value='4'>4 familierom</option><option value='5'>5 familierom</option><option value='6'>6 familierom</option><option value='7'>7 familierom</option><option value='8'>8 familierom</option><option value='9'>9 familierom</option><option value='10'>10 familierom</option>");
       $("#singleRoomContainer").hide();
       $("#singleExtra").hide();
       $("#extraDoubleInfo").hide();
       $("#extraSingleInfo").hide();
       $("#upgrades").hide();
       $("#thePeople").hide();
        }else if($("#doubleRoomLabel").html() == "Familierom"){
        $("#comment").val("");
       $("#doubleRoomLabel").html("Dobbeltrom");
       $("#doubleRoomInfo").html("1 Dobbeltrom = 2 personer");
       $("#dobbeltrommet").html("<option value='0' selected>0 dobbeltrom</option><option value='1' selected>1 dobbeltrom</option><option value='2'>2 dobbeltrom</option><option value='3'>3 dobbeltrom</option><option value='4'>4 dobbeltrom</option><option value='5'>5 dobbeltrom</option><option value='6'>6 dobbeltrom</option><option value='7'>7 dobbeltrom</option><option value='8'>8 dobbeltrom</option><option value='9'>9 dobbeltrom</option>");
       $("#singleRoomContainer").show();
       $("#singleExtra").show();
       $("#extraDoubleInfo").show();
       $("#extraSingleInfo").show();
       $("#upgrades").show();
       $("#thePeople").show();
          readyForSummary = true;
        }
      }
      
       function getHotelData(){
    var loadString = '/getEventData.aspx?eventID=' + $("#events option:selected").val();
     $.getJSON(loadString, function (data) {
         showPrice = data.showPrice;
       $('#eventPrice').html('<p>Prisene: '+showPrice+'</p>');
     });
      }
      
 $('#events').change(function()  
             {
               getEventData();
               
                load_showDates();
             });
      
      function setVariables(){
        
      
      numberOfDoublerooms = parseInt(getNumberOfDoublerooms());
      numberOfSinglerooms = parseInt(getNumberOfSinglerooms());
      numberOfPeople = parseInt(getnumberOfPeople(numberOfDoublerooms, numberOfSinglerooms));
      numberOfExtrastays = parseInt(getNumberOfExtrastays());
      }

        /* gets the total number of people */
        
      function getNumberOfDoublerooms(){
       var numberOfDoublerooms = $("#dobbeltrommet option:selected").val();
       return numberOfDoublerooms;
      }
      
      function getNumberOfSinglerooms(){
       var numberOfDoublerooms = $("#enkeltrommet option:selected").val();
       return numberOfDoublerooms;
      }
      
      function getNumberOfExtrastays(){
       var numberOfExtraStays;
       var selectedExtrastay = $("#extrastays option:selected").val();
        if (selectedExtrastay == 3){
          numberOfExtraStays = 2;
        }else if (selectedExtrastay == 2){
          numberOfExtraStays = 1;
        }else{
          numberOfExtraStays = selectedExtrastay;
        }
        return numberOfExtraStays;
        }
        
       
        
      function getnumberOfPeople(doublerooms, singlerooms) {
            var thePeople = ((doublerooms * 2) + (singlerooms * 1));
            return thePeople;
        }
      
      

        /*Write the thePeople div with the theRooms div with number of double- and singlerooms*/

        function updatePeopleString() {
            var doublerooms = $("#dobbeltrommet option:selected").val();
            var singlerooms = $("#enkeltrommet option:selected").val();
            var theRoomString;
          if(familyEvent != "True"){
            if ((doublerooms == 0) && (singlerooms == 0)) {
                theRoomString = "Ingen rom valgt";
            } else if ((doublerooms > 0) && (singlerooms == 0)) {
                theRoomString = (doublerooms + " dobbeltrom / " + (doublerooms * 2) + " personer");
            } else if ((doublerooms == 0) && (singlerooms > 0)) {
                theRoomString = (singlerooms + " enkeltrom / " + singlerooms + " personer");
            } else if ((doublerooms > 0) && (singlerooms > 0)) {
                theRoomString = (doublerooms + " dobbeltrom / " + (doublerooms * 2) + " personer<br />og " + singlerooms + " enkeltrom / " + singlerooms + " personer");
            }
        }else{
          
          theRoomString = doublerooms + " familierom";
        }
            return theRoomString;
        }


        /*Returns the arrival date based on extra stay selections */

        function getArrival(theValue) {

            var showDate = $("#showDates option:selected").val();
            var arrivalDate;
            switch (theValue) {
            case "0":
                arrivalDate = getDate(showDate, "today");

                break;
            case "1":
                arrivalDate = getDate(showDate, "yesterday");
                break;
            case "2":
                arrivalDate = getDate(showDate, "today");
                break;
            case "3":
                arrivalDate = getDate(showDate, "yesterday");
                break;


            }
            return arrivalDate;
        }

        /*Returns the arrival date based on extra stay selections */

        function getDeparture(theValue) {
            var showDate = $("#showDates option:selected").val();
            var departureDate;
            switch (theValue) {
            case "0":
                departureDate = getDate(showDate, "tomorrow");
                break;
            case "1":
                departureDate = getDate(showDate, "tomorrow");
                break;
            case "2":
                departureDate = getDate(showDate, "aftertomorrow");
                break;
            case "3":
                departureDate = getDate(showDate, "aftertomorrow");
                break;


            }
            return departureDate;
        }

        /*Returns a date for yesterday, tomorrow or the day after tomorrow for a given date */

        function getDate(theDate, when) {

            var myDate = new Date(getDateString(theDate));

            switch (when) {
            case "yesterday":
                myDate.setDate(myDate.getDate() - 1);
                break;

            case "tomorrow":
                myDate.setDate(myDate.getDate() + 1);
                break;

            case "aftertomorrow":
                myDate.setDate(myDate.getDate() + 2);
                break;
            }


            var curr_date = myDate.getDate();
            if (curr_date < 10) {
                curr_date = "0" + curr_date;
            }

            var curr_month = myDate.getMonth() + 1;
            if (curr_month < 10) {
                curr_month = "0" + curr_month;
            }

            var curr_year = myDate.getFullYear();
            return (curr_date + "." + curr_month + "." + curr_year);

        }

        /*Converts and returns Norwegian date string to international redable by javascript*/

        function getDateString(selectedDate) {
            var day = selectedDate.substring(0, 2);
            var month = selectedDate.substring(3, 5);
            var year = selectedDate.substring(6);
            var dateString = year + "/" + month + "/" + day;
            return dateString;
        }




        /*Returns a string with information about selected upgrades*/

        function writeUpgrades() {

            var upgradeString = "";

            if ($('#business').is(':checked')) {
                upgradeString = "- Business Class Rom<br/>";
            }

            if ($('#dinner').is(':checked')) {
                upgradeString = upgradeString + "- Kjøkkensjefens anbefalte 3-retters<br/>";
            }

            if ($('#wine').is(':checked')) {
                upgradeString = upgradeString + "- Musserende vin og jordbær på rommet";
            }

            if (upgradeString == "") {
                upgradeString = "Ingen oppgraderinger valgt";
            }

            return upgradeString;

        }


        /*Lists the names for each rooms*/

        function listRoomNames(roomType, dropdown) {
            var i = 0;
            var roomList = "";
            var roomID;
            var formObject;
            for (i = 0; i < document.orderform[dropdown].value; i++) {
                roomID = roomType + i;


                if (document.orderform[roomID] && (document.orderform[roomID].value != "")) {
                    roomList = roomList + "<b>" + roomType + " " + eval(i + 1) + ": </b>" + document.orderform[roomID].value + "<br/>";


                }
            }


            return roomList;
        }
      
        function getRoomNamesData(roomType, dropdown) {
            var i = 0;
            var roomList = "";
            var roomID;
           
            
            for (i = 0; i < document.orderform[dropdown].value; i++) {
                roomID = roomType + i;


                if (document.orderform[roomID] && (document.orderform[roomID].value != "")) {
                    
                    roomList = roomList+"&"+ roomID + "="+document.orderform[roomID].value;


                }
            }

         
            return roomList;
        }



        $('#cities').change(function () {

            load_events();
         
        });

        function load_showDates() {
          readyForSummary = false;
            var getData = new QueryData();
            var dateVar = "";
          if( 'EventDate' in getData){
            dateVar = "&EventDate="+getData.EventDate;
          }

            $('#showDates').load('/geteventshowdates.aspx?eventID=' + document.orderform.events.value+dateVar, function () {
                load_hotels();
            });
            $('#showDates').triggerHandler('onchange');
        }
        $('#showDates').change(function () {
            load_hotels();
        });

        function load_hotels() {
            readyForSummary = false;
            $('#hotels').load('/gethotels.aspx?city=' + document.orderform.cities.value + "&EventDate=" + document.orderform.showDates.value, function () {
              $('#hotels').removeAttr('selected').find('option:not([disabled]):first').attr('selected', 'selected');
              load_prices();
              load_upgrades();
              load_extrastays();
              
            });
            $('#hotels').triggerHandler('change');
        }

        $('#hotels').change(function () {
          readyForSummary = false;
            load_upgrades();
            load_prices();
            load_extrastays();
        });

      function load_upgrades(){
        if($("#hotels option:selected").val() != null){
          var sansDinnerString = "False";
          if(sansDinner == "True"){sansDinnerString = "True"}
        $('#upgrades').load('/getUpgrades.aspx?hotelId=' + $("#hotels option:selected").val()+'&sansDinner='+sansDinnerString);
          
        }
      }
      
      
      
      
      function load_extrastays(){
        
        var dropString = "<option value='0' selected>Ingen ekstradøgn</option>"
        var selectedDate = $("#showDates option:selected").val(); 
        var fullBookedRaw;
        var yesterday = getDate(selectedDate, 'yesterday').replace(/\./g, "/")+",";
        var aftertomorrow = getDate(selectedDate, 'aftertomorrow').replace(/\./g, "/")+",";
        var loadString = '/getHotelDates.aspx?hotelId=' + $("#hotels option:selected").val();
     $.getJSON(loadString, function (data) {
        
         fullBookedRaw = data.fullbookedDatesRaw;
         
  
          if(fullBookedRaw.indexOf(yesterday) >= 0){
            dropString += "<option value='1' disabled='disabled'>Dagen før (fullt)</option>";
                
          }else{
            dropString += "<option value='1'>Dagen før</option>"; 
          }
        
          if(fullBookedRaw.indexOf(aftertomorrow) >= 0){
            dropString += "<option value='2' disabled='disabled'>Dagen etter (fullt)</option>";
                
          }else{
            dropString += "<option value='2'>Dagen etter</option>";
          }
        
          if((fullBookedRaw.indexOf(yesterday) >= 0) || (fullBookedRaw.indexOf(aftertomorrow) >= 0) ){
            dropString += "<option value='3' disabled='disabled'>Dagen før og dagen etter (fullt)</option>";
                
          }else{
            dropString += "<option value='3'>Dagen før og dagen etter</option>";
            
          }
       $('#extrastays').html(dropString);
     });
        
                
                
      }
      
        function load_prices() {
        
        readyForSummary = false;  
        var hotelId = $("#hotels option:selected").val();
        $.getJSON('/getPrices.aspx?id='+hotelId,function(data) { 
          
         
       additionToFromPrice = parseInt(data.additionToFromPrice);
       extraForSingleroom = parseInt(data.extraForSingleroom);
       priceExtraNightSingleroom = parseInt(data.priceExtraNightSingleroom);
       priceExtraNightDoubleroom = parseInt(data.priceExtraNightDoubleroom);
       priceBusinessRoomUpgradeDoubleroom = parseInt(data.priceBusinessRoomUpgradeDoubleroom);
       priceBusinessRoomUpgradeSingleroom = parseInt(data.priceBusinessRoomUpgradeSingleroom);
       hotelSansDinner = data.hotelSansDinner;
       $('#extraDoubleInfo').html('Tillegg '+priceExtraNightDoubleroom+',- per pers./døgn i dobbeltrom'); 
       $('#extraSingleInfo').html('Tillegg '+priceExtraNightSingleroom+',- per enkeltrom/døgn');
       $('#singleExtra').html('Enkeltromstillegg '+extraForSingleroom+',- per person');    
       
       if (data.priceWine != ""){
       priceWine = parseInt(data.priceWine);
       }
       if(data.prisDinnerUpgrade != ""){
       prisDinnerUpgrade = parseInt(data.prisDinnerUpgrade);
        }
          
       if((data.priceRegularDinner != "") && ($("#cities option:selected").val() == "Bergen")){
       if(data.specialDinnerPrice == "True"){
           if(isInDateRange(getDateString($("#showDates option:selected").val()), data.specialDinnerPriceFrom, data.specialDinnerPriceTo)){
           priceRegularDinner = parseInt(data.theSpecialDinnerPrice);
           specialPriceDinner = true;
           dinnerText = " "+data.specialDinnerPriceText;
           }else{
           dinnerText =   " stk 2 retters middag med kaffe";
             priceRegularDinner = parseInt(data.priceRegularDinner);
           }
            }else{
            dinnerText =   " stk 2 retters middag med kaffe";
       priceRegularDinner = parseInt(data.priceRegularDinner);
       }
        }
       readyForSummary = true;
        })  
     
          
   }
        



    }

function validateEmail($email) {
  var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  if( !emailReg.test( $email ) ) {
    return false;
  } else {
    return true;
  }
}

/*Check if a certain date is in the span of another date */
  function isInDateRange(wantedDateString, fromDateString, toDateString){
  // Source: http://stackoverflow.com/questions/497790
var dates = {
    convert:function(d) {
        // Converts the date in d to a date-object. The input can be:
        //   a date object: returned without modification
        //  an array      : Interpreted as [year,month,day]. NOTE: month is 0-11.
        //   a number     : Interpreted as number of milliseconds
        //                  since 1 Jan 1970 (a timestamp) 
        //   a string     : Any format supported by the javascript engine, like
        //                  "YYYY/MM/DD", "MM/DD/YYYY", "Jan 31 2009" etc.
        //  an object     : Interpreted as an object with year, month and date
        //                  attributes.  **NOTE** month is 0-11.
        return (
            d.constructor === Date ? d :
            d.constructor === Array ? new Date(d[0],d[1],d[2]) :
            d.constructor === Number ? new Date(d) :
            d.constructor === String ? new Date(d) :
            typeof d === "object" ? new Date(d.year,d.month,d.date) :
            NaN
        );
    },
    compare:function(a,b) {
        // Compare two dates (could be of any type supported by the convert
        // function above) and returns:
        //  -1 : if a < b
        //   0 : if a = b
        //   1 : if a > b
        // NaN : if a or b is an illegal date
        // NOTE: The code inside isFinite does an assignment (=).
        return (
            isFinite(a=this.convert(a).valueOf()) &&
            isFinite(b=this.convert(b).valueOf()) ?
            (a>b)-(a<b) :
            NaN
        );
    },
    inRange:function(d,start,end) {
        // Checks if date in d is between dates in start and end.
        // Returns a boolean or NaN:
        //    true  : if d is between start and end (inclusive)
        //    false : if d is before start or after end
        //    NaN   : if one or more of the dates is illegal.
        // NOTE: The code inside isFinite does an assignment (=).
       return (
            isFinite(d=this.convert(d).valueOf()) &&
            isFinite(start=this.convert(start).valueOf()) &&
            isFinite(end=this.convert(end).valueOf()) ?
            start <= d && d <= end :
            NaN
        );
    }
}  
    return dates.inRange(wantedDateString, fromDateString, toDateString);
    }

   
  
})(jQuery);

