
$(function(){

var prepFields = $("input.prep-input");
prepFields.val("0");

$(".calc-trigger").click(function(){
$(".calc-cell").show();
$(this).add(".deptRow").hide();
});
$("td.calc-select").toggle(function(){
var trigger = $(this);
var selectedRow= trigger.parents("tr");
var artTable= trigger.parents("table");
selectedRow.addClass("calc-active");
reCountCalcSum()
},function(){
var trigger = $(this);
var selectedRow= trigger.parents("tr");
var artTable= trigger.parents("table");
selectedRow.removeClass("calc-active");
reCountCalcSum()
});
$(".calc-devide").add("tr.part-prepaid > th > input").change(function(){
reCountCalcSum();
});
$(".adjust-part-sum").click(function(){
var trigger = $(this);
var resRef= trigger.parents("tr").attr("res-ref");
var paidBy = trigger.parents("tr").find("#paid-by-name").val();
var sumAcc= trigger.parents("tr").find(".calc-sum-acc").text();
var sumFood= trigger.parents("tr").find(".calc-sum-food").text();
var sumGolf= trigger.parents("tr").find(".calc-sum-golf").text();
var sumMisc= trigger.parents("tr").find(".calc-sum-misc").text();
var sumConf= trigger.parents("tr").find(".calc-sum-conf").text();
var sumEvent= trigger.parents("tr").find(".calc-sum-event").text();
var sumPerson= trigger.parents("tr").find(".calc-sum-person").text();
var sumPay= trigger.parents("tr").find(".calc-sum-pay").text();
var sumVouch= trigger.parents("tr").find(".calc-sum-vouch").text();
var dataStr= "resRef="+resRef+"&sumAcc="+sumAcc+"&sumFood="+sumFood+"&sumGolf="+sumGolf+"&sumMisc="+sumMisc+"&sumConf="+sumConf+"&sumEvent="+sumEvent+"&sumPerson="+sumPerson+"&sumPay="+sumPay+"&sumVouch="+sumVouch+"&paidBy="+paidBy+"&x="+Math.random(99999);

trigger.removeClass(".calc-save-payment");
trigger.text("Sparar...");

$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-confirmation/ajax/save-cash-payment.asp",
  data: dataStr,
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
  alert("Sparat!");
trigger.addClass(".calc-save-payment");
trigger.text("Spara");
document.location = document.location;
  }
});
});

function reCountCalcSum(){
var theTable= $(".calculator-table");
var totalSum= 0;
var totalPrep= 0;
var currentGroups = $("tbody.article-list-group");

currentGroups.each(function(){
var activeGroup= $(this);
var groupSum= 0;
var activeRows = activeGroup.find("tr.calc-active");
var sumCell= activeGroup.find(".calc-sum-group");
var prodGroup = "";
var groupName= activeGroup.find(".mainHeader th").text();
switch(groupName.replace(/[^a-zA-Z]/g,"").toLowerCase()){
case "paketrabatter":
break;
case "boende":
 prodGroup = "acc";
break;
case "mat":
 prodGroup = "food";
break;
case "golf":
 prodGroup = "golf";
break;
case "konferens":
 prodGroup = "conf";
break;
case "event":
 prodGroup = "event";
break;
case "personer":
 prodGroup = "person";
break;
case "betalning":
 prodGroup = "pay";
break;
case "kupong":
 prodGroup = "vouch";
break;
case "tillgg":
 prodGroup = "misc";
break;
}

activeRows.each(function(){
var currRow = $(this);
var rowCount = currRow.find(".price-count").text();
var rowTotal = currRow.find(".price-total > .calc-raw-num").text();
var calcCount = currRow.find(".calc-devide").val().replace(/,/,".");
rowCount= Math.floor(rowCount.replace(/\s/,""));
rowTotal= Math.floor(rowTotal.replace(/\s/,""));
calcCount= Math.floor(calcCount.replace(/\s/,""));

if( parseFloat(rowCount) && parseFloat(rowTotal) && parseFloat(calcCount) ){
groupSum += (rowTotal/rowCount)*calcCount;
totalSum += (rowTotal/rowCount)*calcCount;
}
});

groupPrep = parseFloat($(".part-paid-"+prodGroup+" > input").val());

sumCell.text(groupSum+" kr");

if(prodGroup.length>0){
theTable.find(".calc-sum-cell.part-payment > .calc-sum-"+prodGroup).text(groupSum-groupPrep);
$(".to-be-paid-"+prodGroup).text(groupSum-groupPrep+" kr");
}

});

prepFields.each(function(){
var tempField = $(this);
totalPrep -= parseFloat(tempField.val().replace(/[^0-9]/g,""));
});

$(".part-paid-sum").text(totalPrep+" kr");
$(".part-calc-sum").text(totalSum+" kr");
theTable.find(".calc-sum-cell.part-payment > .calc-sum-total").add(".to-be-paid-sum").text((totalSum+totalPrep)+" kr");
}

// PRE-PAYMENTS
$(".prepaid-sum").toggle(function(){
    var trigger = $(this);
var prodGroup = trigger.attr("prod-group");
trigger.addClass("active");
populatePrepFields(prodGroup);
},function(){
    var trigger = $(this);
var prodGroup = trigger.attr("prod-group");
trigger.removeClass("active");
populatePrepFields(prodGroup);
});
function populatePrepFields(prodGroup){
var prepFields= $(".reservation-article-list").find("tr.part-prepaid > th");
var groupPrep= 0;
var totPrep= 0;
var activePrepayments = $(".prepaid-sum.prep-"+prodGroup+".active");
activePrepayments.each(function(){
groupPrep -= parseFloat($(this).text().replace(/(\s|kr)/g,""));
});
prepFields.each(function(){
var tempCell = $(this);
var tempGroup= tempCell.attr("prod-group");
var tempField = tempCell.find("input");
if(tempGroup == prodGroup){tempField.val(groupPrep);}
totPrep -= tempField.val();
});
reCountCalcSum();
}


if($(".confirmationOverview").is("*")){
$(".adminToolBoxToggler").hide();
}

$(".economy-overview tr td").click(function(){
var trigger = $(this);
var destination = trigger.parent().find("a.show-economy-details").attr("href");
document.location = destination;
});

$("#doPrintArticles").change(function(){
var trigger = $(this);
var destBox= $(".printableArticleList");
var isChecked= trigger.is(":checked");
if(isChecked){
destBox.removeClass("inactive-print-content");
destBox.removeClass("dont-print");
}else{
destBox.addClass("inactive-print-content");
destBox.addClass("dont-print");
}
});

$("#doPrintPayments").change(function(){
var trigger = $(this);
var destBox= $(".printablePaymentList");
var isChecked= trigger.is(":checked");
if(isChecked){
destBox.removeClass("inactive-print-content");
destBox.removeClass("dont-print");
}else{
destBox.addClass("inactive-print-content");
destBox.addClass("dont-print");
}
});
$("#discount_art_num").change(function(){
var discountArt= $(this).val();
var formBox= $(".discount-form-box");
var saveBtn= $(".save-discount-btn");
formBox.hide().html("");
$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-internal/ajax/insert-discount-form.asp",
  data: "discountNum="+discountArt+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
  formBox.html(data).slideDown("slow");
saveBtn.slideDown("slow");
bindDiscountCalc(formBox);
  }
});
});

// BIND ON EDIT FORM
var editDiscount = $("#editCurrDiscount");
if(editDiscount.is("*")){
bindDiscountCalc(editDiscount);
}

function bindDiscountCalc(domScope){
var fields= domScope.find(".discount-fields").find("input");
fields.add("#res_count").bind("change",function(index){
reCountDiscount(fields);
});
reCountDiscount(fields);
}
function reCountDiscount(fields){
var totSum = 0;
var totField= $(".discount-total");
var artCount= Math.floor($("#res_count").val());
fields.each(function(index){
var tempField = $(this);
totSum += Math.floor(tempField.val());
});
totField.html("<label class='formLabel formRequired'>Total rabatt</label><h5 style='color:darkred;'>(-) " + (totSum*artCount) + " kr</h5>");
}
$("#res_get_art").change(function(){
var itemID= $(this).val();
var formBox= $(".add-extra-art-box");
formBox.hide().html("");
$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-internal/ajax/insert-extras-form.asp",
  data: "itemID="+itemID+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
  formBox.html(data).slideDown("slow");
  }
});
});
$(".foodDate > select").change(function(){
var foodDate= $(this);
var foodInputs= $(".res_food_inputs");
var subFoodBox= $(".res_food_type_select");
subFoodBox.html("");
foodInputs.hide();

$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-internal/ajax/insert-food-form.asp",
  data: "tempDate="+foodDate.val()+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
  subFoodBox.html(data);
foodInputs.slideDown("slow");
  }
});

});
$("#print-version").click(function(){
var noPrints = $(".simpleFooter").add(".annull-btn").add("#mainHoverMenu").add(".adminToolBoxToggler").add(".reservationHeader").add(".calc-row-content");
var theBody= $("body");
if($(".simpleFooter").is(":visible")){
noPrints.hide();
theBody.css({"background" : "#fff"});
}else{
noPrints.show();
theBody.css({"background" : "#333"});
}
});
var lodgeIsReady = true;
$(".res-date-picker-table.editable > tbody > tr > .available").click(function(){
if(lodgeIsReady){
lodgeIsReady = false;
var triggerCell= $(this);
var lodgeID = triggerCell.find(".lodge-id").text();
var lodgeDate = triggerCell.find(".res-date").text();
var currFormBox= $(".lodge"+lodgeID+"-form-box");
var currDates= currFormBox.find("#res_dates_"+lodgeID);
var datesContainer= currFormBox.find(".dates-container");
var newDate= "<input class=\"" + lodgeID + lodgeDate + "\" type=\"hidden\" name=\"res_dates_" + lodgeID + "\" id=\"res_dates_" + lodgeID + "\" value=\"" + lodgeDate + "\">";
var formButton= $(".saveResStep1");
var formInstruction= $(".accommodation-info-box");


if(currFormBox.is("*")){
  if(triggerCell.is(".choosen")){
datesContainer.find("."+lodgeID+lodgeDate).remove()
triggerCell.removeClass("choosen");
if(datesContainer.find("input").length<1){
currFormBox.remove();
if(!$("#res_lodges").is("*")){formInstruction.fadeIn("slow"); formButton.hide();}
}
lodgeIsReady = true;
  }else{
datesContainer.append(newDate);
triggerCell.addClass("choosen");
formButton.fadeIn("slow");
formInstruction.hide();
lodgeIsReady = true;
  }
}else{
$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-internal/ajax/insert-lodge-res.asp",
  data: "lodgeID="+lodgeID+"&lodgeDate="+lodgeDate+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
$("#accommodation-form-box").append(data);
triggerCell.addClass("choosen");
formButton.fadeIn("slow");
formInstruction.hide();
lodgeIsReady = true;
  }
});
}
}
});

$(".golf-player-field").each(function(){
var theCont = $(this);
var theField= theCont.find("input");
var theIcon = $("<img src=\"/_project/_layout/gfx/icons/help_24_grey.png\" align=\"absmiddle\" style=\"cursor:pointer;\">");
theCont.append(theIcon);

theIcon.click(function(){
if(theField.val()==""){
theField.val("- namn saknas -");
}else{
 theField.val("");
}

});

});
$(".editButton > a").click(function(){
var btn = $(this);
var actn= btn.attr("href");
btn.text("Laddar..").attr({"href" : "javascript:;"});
document.location = actn;
});

$(".reservation-overview-post > .res-info").toggle(function(){
$(this).parent().find(".reservation-content-links").slideDown("fast");
},function(){
$(this).parent().find(".reservation-content-links").slideUp("fast");
});
$(".set-lodge-status > select").change(function(){
var trigger = $(this);
var accID = trigger.attr("accId");
var accStatus = trigger.val();
$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-lodge/ajax/set-acc-status.asp",
  data: "accID="+accID+"&accStatus="+accStatus+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
if(Math.floor(data)==0){
trigger.parent().removeClass("formAttention");
}else{
trigger.parent().addClass("formAttention");
}
  }
});
});
$(".adjust-rest-sum").click(function(){
var trigger = $(this);
var resRef= trigger.parents("tr").attr("res-ref");
var adjustNote= $("#adjust-rest-sum-note").val();

var sumAcc= trigger.find(".calc-sum-acc").text();
var sumFood= trigger.find(".calc-sum-food").text();
var sumGolf= trigger.find(".calc-sum-golf").text();
var sumMisc= trigger.find(".calc-sum-misc").text();
var sumConf= trigger.find(".calc-sum-conf").text();
var sumEvent= trigger.find(".calc-sum-event").text();
var sumPerson= trigger.find(".calc-sum-person").text();
var sumPay= trigger.find(".calc-sum-pay").text();
var sumVouch= trigger.find(".calc-sum-vouch").text();
var dataStr= "resRef="+resRef+"&sumAcc="+sumAcc+"&sumFood="+sumFood+"&sumGolf="+sumGolf+"&sumMisc="+sumMisc+"&sumConf="+sumConf+"&sumEvent="+sumEvent+"&sumPerson="+sumPerson+"&sumPay="+sumPay+"&sumVouch="+sumVouch+"&adjustNote="+adjustNote+"&x="+Math.random(99999);

 if(trigger.text()!="Sparar..."){
trigger.text("Sparar...");
$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-reception/ajax/set-payment-as-adjusted.asp",
  data: dataStr,
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
  alert("Sparat!");
document.location = document.location;
  }
});
}
});

$(".reception-lodge-tools").find("select").change(function(){

var trigger = $(this);
var theType= trigger.parent().attr("class");
var itemID= trigger.parents("tr").attr("itemID");
var newVal= trigger.val();

$.ajax({
  type: "GET",
  url: "/_project/_public/modules/reservation-reception/ajax/set-acc-extras.asp",
  data: "itemID="+itemID+"&newVal="+newVal+"&theType="+theType+"&x="+Math.random(99999),
  contentType: "text/html; charset=iso-8859-1",
  error : function(data,string) {alert(string);},
  success : function (data) {
document.location = document.location;
  }
});
   
});
 var overviewField = $("#overview-rest-sum");
 var listField = $(".rec-rest-sum");
overviewField.text(listField.text());
overviewField.css({"color" : listField.css("color")});
listField.hide();
$(".startpage-tabs > li > a").click(function(){

var trigger = $(this);
var destination = $(".startpage-tabs-container."+trigger.parent().attr("tabcontent"));
var containers= $(".startpage-tabs-container");
var links= trigger.parents("ul").find("li");

containers.hide();
links.removeClass("choosen");
trigger.parent().addClass("choosen");
destination.slideDown();

});

});
function resNextStep(prevBox,nextBox){
$(prevBox).slideUp("fast");
$(nextBox).slideDown("slow");
}
$(".list-version-select > select#list_version").change(function(){

var choosenVersion = $(this).find("option:selected").val();
document.location = '/web/admin-artikellista/?lVer=' + choosenVersion;

});
function openTeeTimeTable(){
var theURL = "/_project/_public/modules/reservation-tools/golf-tee-time-table.asp";
var theParams = 'width=600,height=400,location=false,menubar=false,scrollbars=false,status=false,toolbar=false,directories=false,resizable=false';
window.open(theURL,'Starttider','')
}

