var Book = {};

Book.chooseView = function(){
    $('.radio-villa').click(function(){
	
        var id = $(this).attr('rel');
		
        $('.prefer_reserve').removeClass('prefer_reserve').addClass('also_reserve');
        $(this).parent().parent().parent().removeClass('also_reserve').addClass('prefer_reserve');
		
        var nameVilla = $('#name-Villa-'+id).val();
        var checkIn = $('#startDate-Villa-'+id).val();
        var checkOut = $('#endDate-Villa-'+id).val();
        var quantity = $('#qty-Villa-'+id).val();
        var adults = $('#adult-Villa-'+id).val();
        var childVilla = $('#child-Villa-'+id).val();
        var qty = $('#qty-Villa-'+id).val();
        var quantityTotalPackage = $('#quantity-total-package-'+id).val();
        
		
        $.ajax({
            type : "POST",
            data : {
                id : id,
                nameVilla : nameVilla,
                checkIn : checkIn,
                checkOut : checkOut,
                adults : adults,
                children : childVilla,
                quantity : qty,
                quantityTotalPackage : quantityTotalPackage,
                priceChargeType : priceChargeType
            },
            url  : SERVER + "/reservations/ajaxChooseVilla",
            dataType : 'html',
            success : function(response){
                Book.removePackage();
                $('.villaType').remove();
                $('#h6-villa-reservation-detail').after(response);
                $('#jumlah-villa-reservation-detail').html('Villa ('+quantity.toString()+')');
                
                $('#h6-villa-reservation-detail').next().hide().fadeIn(2000, function(){
                    
                    });
                Book.sumOrder();
                Book.sumOrderUsd();
            }        
        });
		
    })
}

Book.removePackage = function(){
    $('a.remove').unbind();
    $('a.remove').click(function(){
        
        var rel = $(this).attr('rel');
        var kdPackage = $(this).parent().parent().parent().attr("rel");

        if(kdPackage == undefined){
            kdPackage = $(this).attr('rel');
            var deleteFromWaiting = kdPackage;
        }else{
            var deleteFromWaiting = "";
        }
        

        if(kdPackage == null){
            kdPackage = rel;
            $(this).parent().parent().slideUp('normal', function(){
                $(this).remove();
            });
        }else{
            $(this).parent().parent().parent().slideUp('normal', function(){
                $(this).remove();
            });
        }

        var pkg = $("div[rel="+kdPackage+"]");
        var rel_s = rel.split('-');

        var jumlahPackage = (parseInt($('.package').length) - 1);
        $('#jumlah-package-reservation-detail').html('Package ('+jumlahPackage.toString()+')');

        var sumUsd = 0;
        var priceUsd = 0;
        $( ".usd-price-for-count" ).each(
            // For each hottie, run this code. The "indIndex" is the
            // loop iteration index on the current element.
            function( intIndex ){
                sumUsd = sumUsd + parseFloat($(this).val());
            }
        );
        var usdPrice = $('#price-total-package-usd-'+kdPackage).val();
        priceUsd = sumUsd - usdPrice;
        
        if(isNaN(priceUsd)) {
            priceUsd = 0;
        }
        $("#label-total-order-detail-usd").html('USD '+ money.display(priceUsd));
        
        var sumIdr = 0;
        var priceIdr = 0;
        $( ".idr-price-for-count" ).each(
            // For each hottie, run this code. The "indIndex" is the
            // loop iteration index on the current element.
            function( intIndex ){
                sumIdr = sumIdr + parseFloat($(this).val());
            }
            );
        var idrPrice = $('#price-total-package-idr-'+kdPackage).val();
        priceIdr = sumIdr - idrPrice;
        if(isNaN(priceIdr)) {
            priceIdr = 0;
        }
        
        $("#label-total-order-detail-idr").html('IDR '+ money.display(priceIdr));
        
        $.ajax({
            url: SERVER+'/packages/removeFromShoppingCart/'+deleteFromWaiting,
            type: 'post',
            dataType: 'json',
            data: ({
                id: kdPackage
            }),
            success: function(response){
                $("#response").html(response);
                
            }
        });
        Book.cartItemCounter();
        return false;
            
    });
}

Book.removePackageFromMainCart = function(){
    $('#removeMainCart').click(function(){
        var rel = $(this).attr('rel')
        alert(rel)
    });
}

Book.choosePackage = function(){
    $('.radio-package').click(function(){
        var id = $(this).attr('rel');
        var time_session = $('#time-session-'+id).val();
        
        $('.prefer_reserve').removeClass('prefer_reserve').addClass('also_reserve');
        $(this).parent().parent().parent().removeClass('also_reserve').addClass('prefer_reserve');
        var packageName = $('#package-name-'+id).val(); 
        var villaTypeName = $('#villa-type-'+id).val();
        
        var checkIn = $('#checkIn').val(); 
        var checkOut = $('#checkOut').val();
        
        var adults = $('#adults').val();
        var children = $('#children').val();
        
        var additionalDays = $('#additinal-day-'+id).val(); 
        var extraPriceIdr = $('#extra-night-idr-'+id).val();
        var extraPriceUsd = $('#extra-night-Udr-'+id).val();
        
        var extraHead = $('#additinal-head-'+id).val(); 
        var extraHeadIdr = $('#additinal-head-idr-'+id).val(); 
        var extraHeadUsd = $('#additinal-head-usd-'+id).val(); 
        
        var quantity = $('#package-quantity-'+id).val();
        var surdisc = $('#surdisc-idr-'+id).val();
        var surdiscUsd = $('#surdisc-usd-'+id).val();
        var extraBed = $('#extra-bed-'+id).val();
        var quantityTotalPackage = $('#quantity-total-package-'+id).val();
        var priceChargeType = $('#price-charge-type-'+id).val();
        var lengthOfStay = $('#length-of-stay'+id).val();
        //        alert(surdisc);
        
        $.ajax({
            type : "post",
            data : {
                id : id , 
                checkIn : checkIn, 
                checkOut : checkOut, 
                adults : adults, 
                children : children, 
                quantity : quantity,
                surdisc : surdisc,
                surdiscUsd : surdiscUsd,
                extraBed : extraBed,
                quantityTotalForPackagePrice : quantityTotalPackage,
                priceChargeType : priceChargeType,
                lengthOfStay : lengthOfStay
            
            },
            url  : SERVER + "/reservations/ajaxChoosePackage/"+time_session,
            dataType : 'html',
            success : function(response){
                if($(".package").attr('id') == time_session){
                    $("div[class='package'][id='"+time_session+"']").remove();
                //                    alert($("div[class='package'][id='"+time_session+"']").val())
                }else{
                    $('.ajax_choose_package').remove();
                }
                
                $('#h6-package-reservation-detail').after(response);
                $('#jumlah-package-reservation-detail').html('Package ('+quantity.toString()+')');
                
                $('#h6-package-reservation-detail').next().hide().fadeIn(2000, function(){
                    
                    });

                Book.removePackage();
                Book.sumOrder();
                Book.sumOrderUsd();
            }        
        });
        
        
    });
    
}

Book.checkDate = function(){
    $('#date-out').change(function(){
        var checkIn = $('#date-in').val();
        var checkOut = $(this).val();
        var checkInSplit = checkIn.split('/');
        var checkOutSplit = checkOut.split('/')
        
        var masuk = new Date(checkInSplit[2], checkInSplit[0], checkInSplit[1]);
        var keluar = new Date(checkOutSplit[2], checkOutSplit[0], checkOutSplit[1]);
        var one_day=1000*60*60*24;

        var masukku = new Date(checkIn);
        var keluarku = new Date(checkOut);

        //Calculate difference btw the two dates, and convert to days
        if(Math.ceil((keluarku.getTime()-masukku.getTime())/(one_day)) <= 0){
            alert('Please enter different check-out date');
            $(this).attr('value','');
        }
    });
}

Book.sumOrder = function(){
    
    var sumIdr = 0;
    $( ".idr-price-for-count" ).each(
        // For each hottie, run this code. The "indIndex" is the
        // loop iteration index on the current element.
        function( intIndex ){
            sumIdr = sumIdr + parseFloat($(this).val());
        }
        );
    $("#label-total-order-detail-idr").html('IDR '+ money.display(sumIdr));
    Book.cartItemCounter();
}

Book.sumOrderUsd = function(){
    var sumIdr = 0;
    $( ".usd-price-for-count" ).each(
        // For each hottie, run this code. The "indIndex" is the
        // loop iteration index on the current element.
        function( intIndex ){
            sumIdr = sumIdr + parseFloat($(this).val());
        }
        );

    $("#label-total-order-detail-usd").html('USD '+ money.display(sumIdr));

}

Book.cartItemCounter = function (){
    $.ajax({
        type : "POST",
        url  : SERVER + "/pages/getCartContent",
        data : {},
        dataType : 'html',
        success : function(response){
            $("a.cart").html("Cart ("+response+") Item");
        }
    });
}



$(function(){
    Book.choosePackage();
    Book.checkDate();
    Book.removePackage();
    Book.chooseView();
    Book.sumOrderUsd();
    Book.sumOrder();
    Book.cartItemCounter();
    $('.pkg_desc, .package , .service, .event').hide();
    $("a.nav_detail").click(function () {
        $("#pkg_desc-"+$(this).attr('rel')).toggle("blind", {}, 500);
        return false;
    });
    /*$("a.nav_detail2").click(function () {
      $("#pkg_desc2").toggle("blind", {}, 500);
        return false;
      }); 
     $("a.nav_detail3").click(function () {
      $("#pkg_desc3").toggle("blind", {}, 500);
        return false;
      });*/
    //$('.package').show();
     
     
    $("a.close").click(function () {
        $("#login_box").toggle("blind", {}, 500);
        return false;
    });
    
});

    

