﻿var sCurrentPicture;
var begindate = new Date();
var enddate = new Date();
var carAvailable = true;

$(document).ready(function(){
  sCurrentPicture = $('#main_image').attr('src');

  $('div.pictures img').mouseover(function(){
    var oldPath = $(this).attr('src').split('/');
    var fileName = null;
    var newPath = '';
    
    for(i=0;i<(oldPath.length - 2);i++)
    {
      newPath += oldPath[i] + '/';
    }
    
    //Determine new path:
    fileName = oldPath[oldPath.length - 1]; 
    newPath += '300x225/' + fileName;
    
    $('#main_image').attr({src: newPath});
  })
  

  $('div.pictures img').mouseout(function(){
    $('#main_image').attr({src: sCurrentPicture});
  });;
  
  /*contract eigenschappen instellen */
  
  CheckDate(false);
		
    $("#aantalMaanden").bind("change", function(e){
      UpdateEndDate();
      UpdateContractData()
    });
    
    $("#kilometrage").bind("change", function(e){
      UpdateContractData()
    });

    
    //laad tarieven
    UpdateContractData()

});

function CheckDate(force){
  var checkAvailability = true
  var begindateString = ($('#startDate').text()).split("-");

  if (begindateString[2] >= 0) { //er is een datum meegegeven
    begindate.setFullYear(begindateString[2],begindateString[1]-1,begindateString[0]);
    
    var einddateString = ($('#einddatumDiv').text()).split("-");
    enddate.setFullYear(einddateString[2],einddateString[1]-1,einddateString[0]);
    if (enddate == ""){
      enddate = '1/1/2020';
    }
  } else { //niet bekend
    checkAvailability = false
  }
  if (!force || force == null){
    $(".date-pick").val(FormatDate(begindate));
  }

  $('.date-pick')
    .datePicker(
            {
              startDate: begindate.asString(),
              clickInput: true,
              renderCallback: function($td, thisDate, month, year) {
                if (thisDate.isWeekend()) {
                  $td.addClass('weekend');
                  $td.addClass('disabled');
                }
              }
            }
    )
		.bind(
			'dateSelected',
			function(e, selectedDate, $td) {
			  //nog checken of de gekozen datum niet buiten de einddatum ligt
			  UpdateEndDate();
			  UpdateContractData();
			  CheckPopUp(checkAvailability, selectedDate);
			}
		);
		/*forceer update */
		if (force){
		  var selectedDateString = ($('.date-pick').val()).split("-");
		  var selectedDate = new Date();
		  selectedDate.setFullYear(selectedDateString[2],selectedDateString[1]-1,selectedDateString[0]);
		  return CheckPopUp(checkAvailability,selectedDate); 
		}
		return true;
}

function CheckPopUp(checkAvailability,selectedDate){
   if (checkAvailability){
      //console.log(selectedDate.getTime() + "<" + begindate.getTime() + " == " + (selectedDate.getTime() < begindate.getTime()))
      var one_day=1000*60*60*24;
      var month = one_day * 30;
      if (begindate.getTime() > (new Date().getTime() + month)){
        PopUpNotAvailable(selectedDate);
        carAvailable = false;
        return false;
      } 
    } 
    return true;
}

function FormatDate(date){
  return date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
}

function PopUpNotAvailable(selectedDate)
{
  var iPageHeight;
  var iPageWidth;
  var sProductImage = '';
  
  // Disable/hidden de selectboxes
  $("select").css("display","none");
  
  var begindateString = FormatDate(begindate)
  
  //set name
  $('#avail_popupcart').val("Flexlease dit voertuig voor deze periode!");
  var tekst = "U kunt voor deze tijd ook een voorloopcontract afsluiten.  <a href='#' onClick='window.open(\"/main/voorloopcontract.aspx\",\"Voorloopcontract\",\"status,width=800,height=600\"); return false;'>Meer informatie over een voorloopcontract.</a></a><BR><br> De periode van dit contract: <BR>";
  tekst += FormatDate(selectedDate) + " t/m " + $('#einddatumDiv').html();
  
  iPageHeight = $('#page')[0].offsetHeight;
  iPageWidth = $('#page')[0].offsetWidth;

  /*Set popup content:*/
  $('#avail_popupTitel').html("Niet beschikbaar");
  $('#avail_popupProductTitel').html("<strong>Dit voertuig is pas over meer dan 1 maand beschikbaar.</strong>"); 
  $('#avail_popupProductOmschrijving').html(tekst);

  /*Determine image:*/
   // sImgName = 'naarwinkelwagen';
  
  /*Popup links:*/
  $('#avail_popupcart').click(function(){
    HandleCart($('#productnumber').val(), 1,null, true)
    //document.location = '/winkelwagen.aspx';
  });
  
  $('#avail_popupcontinue').click(function(){
    $("select").css("display","inline");
    $('#availdiv').hide();
    $('#left').css({ opacity: '1' });
    $('#right').css({ opacity: '1' });
    $('#header').css({ opacity: '1' });
  });
  
  /*Popup div */
  $('#msgdiv').hide();
  $('#availdiv').show();
  // iets lelijker dan eerst, maar nog steeds werkend
  $('#left').fadeTo("slow", 0.33);
  $('#right').fadeTo("slow", 0.33);
  $('#header').fadeTo("slow", 0.33);
}

function UpdateEndDate() {  
    var script = (window.location.pathname).toString()
    var splitUrl = script.split("/")
    var url = "/" + splitUrl[1] + "/" + splitUrl[2] + "/getDate.aspx?forajax=true&date=" + $('.date-pick').val() + "&months=" + trim($("#aantalMaanden option:selected").html());

    $.ajax({
      url: url,
      cache: false,
      async: false,
      success: function(data){
         $('#einddatumDiv').html(data);
      }
    });
}


function UpdateContractData() {  
    /* disable input */
    $("#kilometrage").attr('disabled',true);
    $("#aantalMaanden").attr('disabled',true);
    
    var script = (window.location.pathname).toString()
    var splitUrl = script.split("/")
    var url = "/" + splitUrl[1] + "/" + splitUrl[2] + "/getPrices.aspx?forxml=true&forajax=true&startdate=" + $('.date-pick').val() + "&months=" + trim($("#aantalMaanden option:selected").html());
    url += "&kilometrage=" + trim($("#kilometrage option:selected").val()).replace(".000","") + "&productgroup=" + trim($("#aantalMaanden option:selected").val()) + "&productnr=" + splitUrl[2]

    $.ajax({
      url: url,
      cache: false,
      success: function(data){
          $('#eigenrisico').html(data.getElementsByTagName("atEigenRisico")[0].firstChild.data);
          $("#vrijekm").html(data.getElementsByTagName("atrVrijeKmPerDag")[0].firstChild.data);
          $("#kostenperextrakm").html((parseFloat(data.getElementsByTagName("atrPrijsExtraKm")[0].firstChild.data).toFixed(2)).replace(".",","));
          
          var dagtarief = parseFloat(data.getElementsByTagName("atrDagTarief")[0].firstChild.data).toFixed(2)
          var maandtarief = parseFloat(dagtarief * 30).toFixed(2)
          
          $(".productBedrag").html(dagtarief.replace(".",","));
          $(".maandBedrag").html(maandtarief.replace(".",","));
          
          $("#kilometrage").removeAttr('disabled')
          $("#aantalMaanden").removeAttr('disabled')
      }
    });
}

function trim(value) {
  if (value != null) {
    value = value.replace(/^\s+/,'');
    value = value.replace(/\s+$/,'');
  }
  return value;
}