	
	String.prototype.toISODate = function() {
		
	 var s = this.split(".");
	 return s[2] + "-" + s[1] +"-" + s[0]
		
	}


function d(a){
	
	if ($.browser.mozilla) {
  	console.debug(a)
  }
}

var additional_services = 0;
var global_sum = 0;


$(document).ready(function(){
		
		/*$(".checkbox-row").click(function(){
			
			//alert ($(this).find("input").attr("checked"));
			$(this).find("input").click();
		});
		*/
		 partialsums();
		$("input[type=radio]").next("label").click(function(){
			
			$(this).prev("input[type=radio]").click();
			
		});
		
		$(".checkbox-row input").each(function(){
		 	
			var cost = $(this).parent().next("td").find("input").val();
			if ($(this).attr("checked") == true){
	  			
					additional_services += parseInt(cost);
					
			}
		 });
		
		
    $(".checkbox-row input").click(function(){
				
        var cost = $(this).parent().next("td").find("input").val();
        if ($(this).attr("checked") == true) {
            
						$(this).parent().parent().addClass("checkbox-row-text-checked");
						additional_services += parseFloat(cost);
						var global_sum = parseFloat ($("span#global-sum-without-services").text()) + additional_services; 
        }
        else {
            
						$(this).parent().parent().removeClass("checkbox-row-text-checked");
						additional_services -= parseFloat(cost);
						var global_sum = parseFloat ($("span#global-sum-without-services").text()) + additional_services; 
        }
		
		
		$("span#global-sum").text(formatCurrency(global_sum));				
    });
    
		
		
		var different_from_date_max;
		
		different_from_date_max = new Date($("span#start-year").text(),$("span#start-month").text()-1,$("span#start-day").text());
		
		var b = Date.parse(different_from_date_max);
		var c = b / 1000 /60 /60 /24;
		c -= 1;
		c = c * 1000 * 60 * 60 * 24;
		var d = new Date(c);
		var year = 1900 + d.getYear();
		var month = d.getMonth();
    var day = d.getDay();
		
		$("input.different-from-date").datepicker({
			nextText: "",
			prevText: "",
			duration: "",
			minDate: new Date(
			                  $("span#min-start-year").text(),
												$("span#min-start-month").text()-1,
												$("span#min-start-day").text()
												),
			maxDate: new Date(
									 Date.parse(
												new Date (
														$("span#start-year").text(),
														$("span#start-month").text()-1,
														$("span#start-day").text()))-(1000*60*60*24)
														)
			});
		
	
		var stopmin = Date.parse(new Date (
														$("span#stop-year").text(),
														$("span#stop-month").text()-1,
														$("span#stop-day").text())) ;
		
	
										
		$("input.different-to-date").datepicker({
			nextText: "",
			prevText: "",
			duration: "",
			minDate: new Date(
									 Date.parse(
												new Date (
														$("span#stop-year").text(),
														$("span#stop-month").text()-1,
														$("span#stop-day").text()))+(1000*60*60*24)
														),
			maxDate: new Date(
												$("span#max-stop-year").text(),
												$("span#max-stop-month").text()-1,
												$("span#max-stop-day").text())
			
		});
		
		$("input.alternate-from-date").change(function(){
			
			
			var form_data = $("form.form-room-selected").serialize();
			
			
			var form_data_array = $("form.form-room-selected").serializeArray();
			
				
			
			
			$.ajax({
	  	url: $("form.form-room-selected").attr("action"),
			data: form_data + "&tx_firstitalybooking_pi1[view]=room.selected.ajax&type=200",
	  	cache: false,
	  	dataType: "json",
	  	success: function(html){
	  	
	  	
	  	
	  					}
	    });
			
			
			
		});
		
    $("input.number_of_rooms").focus(function(){
    
        $(this).addClass("number_of_rooms-focus");
        $(this).select();
    });
    
    $("input.number_of_rooms").blur(function(){
    
        $(this).removeClass("number_of_rooms-focus");
        
    });
    
    $("div.booking-navi input").hover(function(){
    
        $(this).addClass("navi-hover");
        
    }, function(){
    
        $(this).removeClass("navi-hover");
        
    });
    
    $("input.number_of_rooms").keyup(function(){
    
        var number_of_rooms = $(this).val();
        if (number_of_rooms == "0") 
            number_of_rooms = "";
        var regCheck = number_of_rooms.match(/^[0-9]+$/);
        
        if (regCheck == null) 
            $(this).val(0);
        
        var el = $(this);
        var selected_ticket = el.parent().next("td").find("input[checked]").val();
        $($(this).val(parseInt($(this).val())));
               
        if (selected_ticket != undefined) {
        
            //AJAX Indicator
         //  el.parent().parent().next("tr.partial-sum-row").find("td:last span").hide();
          //  el.parent().parent().next("tr.partial-sum-row").find("td:last img.ajax-loader").fadeIn();
            
            /*$.ajax({
                url: $(this).attr("rel") + "&tx_firstitalybooking_pi1[number_of_rooms]=" + el.val() + "&tx_firstitalybooking_pi1[ticket_id]=" + selected_ticket,
                cache: false,
                dataType: "json",
                success: function(html){
                
                    $("span#partial_sum_" + html.room_id).html(html.partial_sum);
                    //el.parent().next("td").find("input").each(function(){
                    //	var price = html.prices[$(this).val()];
                    //	$(this).parent().next("td").children("span").html(price);
                    //	}); // each
                    update_number_of_people();
                    update_total_sum();
                    el.parent().parent().next("tr.partial-sum-row").find("td:last img.ajax-loader").fadeOut();
                    el.parent().parent().next("tr.partial-sum-row").find("td:last span").fadeIn();
										
                }// success
            }); // $.ajax*/
						 update_total_sum();
        }
    });// $("input.number_of_rooms").keyup
    $("input.chosen_ticket_type").click(function(){
       
        update_total_sum();
        //$("tr.last-row").effect("highlight", {}, 1000);
    });
    
    $("a.empty-chosen-rooms").click(function(){
        $(this).prev("input.number_of_rooms").val(0);
        update_number_of_people();
        update_total_sum();
        return false;
    });
    
    $("table.booking tr.room-row").hover(function(){
    
    
        $(this).addClass("booking-hover");
        $(this).next("tr").addClass("booking-hover");
        
    }, function(){
    
        $(this).removeClass("booking-hover");
        $(this).next("tr").removeClass("booking-hover");
    });
    
    $("table.booking tr.partial-sum-row").hover(function(){
    
    
        $(this).addClass("booking-hover");
        $(this).prev("tr").addClass("booking-hover");
        
    }, function(){
    
        $(this).removeClass("booking-hover");
        $(this).prev("tr").removeClass("booking-hover");
    });
    
    $("table.contenttable tbody tr").mouseover(function(){
        var l = $(this).attr("ref") != undefined ? $(this).attr("ref").length : 0;
        if ($("table.contenttable tbody tr").index(this) > 0 && l > 0) 
            $(this).addClass("fi-tr-hover");
        
        
    });
    
    
    $("table.contenttable tr").mouseout(function(){
    
    
        $(this).removeClass("fi-tr-hover");
        
        
    });
    
    $("table.act-selected-hotels tr.chosen").mouseover(function(){
    
        //$(this).find("td,th").css("background","#e9e9e9");
        //$(this).addClass("chosen");
    });
    
    $("table.act-selected-hotels tr").click(function(){
    
        $(this).parent().find("tr").removeClass("chosen");
        $(this).addClass("chosen");
        $(this).find("input[type=radio]").attr("checked", "checked");
    });
    
    $("table.contenttable tr").click(function(){
        var l = $(this).attr("ref") != undefined ? $(this).attr("ref").length : 0;
        if ($("table.contenttable tr").index(this) > 0 && l > 0) 
            window.location.href = $(this).attr("ref");
        
    });
    
});// $(document).ready

function partialsums(){
	
	
	$("tr.partial-sum-row").each(function(){
		
		var sum = parseInt( $(this).find("span.partial-sum").text() );
		
		if (sum > 0 ) {
			
			
			$(this).find("span, b").css("visibility", "visible")
		}
		else {
			
			$(this).find("span, b").css("visibility", "hidden");
		}
	});
}


function update_number_of_people(){

    var number_of_people = 0;
    
    $("input.number_of_rooms").each(function(){
    
        var selected_room = $(this).parent().next("td").find("input[checked]").length;
        
        if (selected_room > 0) {
            number_of_people += $(this).parent().find("input.capacity").val() * $(this).val();
        }
				else{
					
					
					
				}
    });
    
    $("span#number_of_people").text(number_of_people);
    if (number_of_people == 0) {
			$("div.forward").hide();
		}
		else {
			$("div.forward").show();
		}
		
		
}

function update_total_sum(){
	
		update_number_of_people();
    var total_sum = 0;
    $("input.number_of_rooms").each(function(){
    
        var selected_ticket = $(this).parent().next("td").find("input[checked]").length;
				
        var number_of_rooms = $(this).parents().find("input.number_of_rooms").val();
				
        var room_id = $(this).parents().find("input.number_of_rooms").prev("input").val();
        
        var capacity = $(this).parents().find("input.capacity").val();
        
        if (selected_ticket > 0 || (number_of_rooms * capacity) > 0) {
        	//	$(this).parent().next("td").find("input[checked]").parent().parent().css("color","green");
            var price_per_person = parseFloat($(this).parent().next("td").find("input[checked]").parent().next("td").children("span.total-price-with-margin-and-tax").html());
            total_sum += (price_per_person * number_of_rooms);
					  $("span#partial_sum_" + room_id).html(formatCurrency(price_per_person * (number_of_rooms) ));
            
        }
				else{
					
					//$(this).parent().next("td").find("input[checked]").parent().parent().css("color","black");
					
				}
        
    });
    $("span#total_sum").html(formatCurrency(total_sum));
    partialsums();
}


function formatCurrency(num){
	
	num = num.toString().replace(/\$|\,/g, '');
	if (isNaN(num)) 
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num * 100 + 0.50000000001);
	cents = num % 100;
	num = Math.floor(num / 100).toString();
	if (cents < 10) 
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) 
		num = num.substring(0, num.length - (4 * i + 3)) + '.' + num.substring(num.length - (4 * i + 3));

	//return (((sign) ? '' : '-') + num + ',' + cents);
	return (((sign) ? '' : '-') + num);
	
	
	return Math.round(num);	
}


