var _active_step = 1, banner_showing = 0, delay = 0, ct = 0;

/* return +1 day, if time is >1 hour extra */
Date.prototype.dayDiff = function(d2) {
    var d = Math.abs(this-d2);
    var r = Math.floor(d/(24*60*60*1000));
    var hours_diff = ( Math.ceil((d/(60*60*1000)) % 24) );
    if (hours_diff > 1) {
        r++;
    }
    return r;
}

function calculate() {
    
    if ($("#default_take_place").length == 0) {
        return false;
    }
    
    var take_id = $("#default_take_place option:selected").attr('data:id');
    var return_id = $("#default_return_place option:selected").attr('data:id');

    if ((take_id == 'unknown') || (return_id == 'unknown')) {

        // kaina pasakys vadybininkas

        $("#wrap-delivery").show();
        $("#wrap-delivery-take").hide();        
        $("#wrap-delivery-return").hide();                

        $("#delivery-price").html('');
        $("#delivery-price-ext").html($("#delivery-price-ext").attr('data:unknown'));
        
        $("#price-disclaimer").prev().removeClass('lst').end().show();
        
        $("#delivery-take-price-ext").hide();
        $("#delivery-return-price-ext").hide();

    } else if ((take_id == 'choose') || (return_id == 'choose')) {

        $("#wrap-delivery").hide();
        $("#wrap-delivery-take").hide();        
        $("#wrap-delivery-return").hide();                

        // prasome pasirinkit
        $("#delivery-price").html('');
        $("#delivery-price-ext").html('');
        
        $("#price-disclaimer").hide();

        $("#delivery-take-price-ext").hide();
        $("#delivery-return-price-ext").hide();

    } else {
        
        $("#price-disclaimer").hide();

        // viskas tvarkoje, paskaiciuojame kaina
        
        var delivery_price = pd[take_id][return_id];
        
        if (delivery_price.indexOf(',') >= 0) {
            
            if ($("#default_take_place option:selected").attr('data:airport')) {
                $("#wrap-delivery-take label:first").html($("#wrap-delivery-take label:first").attr('data:airport'));
            } else {
                $("#wrap-delivery-take label:first").html($("#wrap-delivery-take label:first").attr('data:nonairport'));
            }
            
            delivery_price = delivery_price.match(/\d+/g);

            $("#wrap-delivery").hide();
            $("#wrap-delivery-take").show();        
            $("#wrap-delivery-return").show();            
            
            $("#delivery-take-price").html(delivery_price[0] + ' LT');
            $("#delivery-return-price").html(delivery_price[1] + ' LT');
            
            $("#delivery-take-price-ext").html('(' + $("#default_take_place").val() + ')').show();
            $("#delivery-return-price-ext").html('(' + $("#default_return_place").val() + ')').show();     
            
        } else {
            
            $("#wrap-delivery").show();            
            $("#wrap-delivery-take").hide();        
            $("#wrap-delivery-return").hide();            
            
            $("#delivery-price").html(pd[take_id][return_id] + ' LT');
            
            $("#delivery-take-price-ext").hide();
            $("#delivery-return-price-ext").hide();
            
        }     

        //$("#delivery-price-ext").html('*Paėmimas ' +  $("#default_take_place option:selected").html() + ', gražinimas ' + $("#default_return_place option:selected").html());

    }

    var date_pattern = /\d\d\d\d\-\d\d\-\d\d/;

    // datos nepasirinktos
    if (!date_pattern.test($("#take_date").val()) || !date_pattern.test($("#return_date").val())) {

        $("#car-price").html($("#car-price").attr('data:unknown'));
        $("#car-price-ext").html($("#car-price-ext").attr('data:unknown'));
        $("#final-price").html('');
        $("#price-disclaimer").hide();
        $("#price-mesage").html($("#price-mesage").attr('data:error'));
        return false;

    } else {

        // datos pasirinktos

        var take_date = Date.parse($("#take_date").val() + ' ' + $("#take_time").val());
        var return_date = Date.parse($("#return_date").val() + ' ' + $("#return_time").val());

        // nekorektiskai
        if (take_date > return_date) {

            $("#car-price").html($("#car-price").attr('data:unknown'));
            $("#car-price-ext").html($("#car-price-ext").attr('data:error'));
            $("#insurance-price").html($("#insurance-price").attr('data:unknown'));
            $("#insurance-price-ext").html($("#insurance-price-ext").attr('data:error'));
            $("#gps-price").html($("#gps-price").attr('data:unknown'));
            $("#gps-price-ext").html($("#gps-price-ext").attr('data:error'));
            $("#chair-price").html($("#chair-price").attr('data:unknown'));
            $("#chair-price-ext").html($("#chair-price-ext").attr('data:error'));
            $("#car-price").html($("#car-price").attr('data:unknown'));
            $("#car-price-ext").html($("#car-price-ext").attr('data:error'));
            $("#final-price").html('');
            $("#price-disclaimer").hide();
            $("#price-mesage").html($("#price-mesage").attr('data:error'));
            $("#wrap-discount").hide();

            return false;
            
        }

    }

    var diff = return_date.dayDiff(take_date);
    if (diff == 0) {
        diff = 1;
    }
    var car_id = $("#current_car").val();
    var price = window.prices[car_id][0];
    var period = 0;

    if (diff < 3) {
        period = 0;
    } else if (diff < 5) {
        period = 1;
    } else if (diff < 9) {
        period = 2;
    } else if (diff < 15) {
        period = 3;
    } else if (diff < 31) {
        period = 4;
    } else if (diff > 30) {
        period = 5;
    }

    if (period == 5) {
        $(".summary:not(#special-price)").hide();
        $("#special-price").show();
        return false;
    }
    if ($("#special-price").is(':visible')) {
        $("#special-price").hide();
    }

    price = window.prices[car_id][period];

    $("#car-price").html((price * diff) + ' LT');
    var car_price_ext_pattern = $("#car-price-ext").attr('data:pattern');
    $("#car-price-ext").html(car_price_ext_pattern.replace('XXX', price).replace('YYY', diff));

    //- gps price
    if ($("#gps").is(':checked')) {
        var gps_price = window.prices_gps[period];
        $("#gps-price").html((gps_price * diff) + ' LT');
        var gps_price_ext_pattern = $("#gps-price-ext").attr('data:pattern');
        $("#gps-price-ext").html(gps_price_ext_pattern.replace('XXX', gps_price).replace('YYY', diff));
    }

    //- insurance price
    if ($("#insurance").is(':checked')) {
        var insurance_price = 100 * diff;
        if (window.prices[car_id][5] == 500) {
            insurance_price = prices_insurance_500[period];
        }
        if (window.prices[car_id][5] == 1000) {
            insurance_price = prices_insurance_1000[period];
        }
        if (window.prices[car_id][5] == 1500) {
            insurance_price = prices_insurance_1500[period];
        }
        if (window.prices[car_id][5] == 2000) {
            insurance_price = prices_insurance_2000[period];
        }
        $("#insurance-price").html((insurance_price * diff) + ' LT');
        var insurance_price_ext_pattern = $("#insurance-price-ext").attr('data:pattern');
        $("#insurance-price-ext").html(insurance_price_ext_pattern.replace('XXX', insurance_price).replace('YYY', diff));
    }

    //- child chair
    if (parseInt($("#chair").val()) > 0) {
        var chair_price = 50 * diff;
        if (parseInt($("#chair").val()) == 1) {
            chair_price = prices_chair_1[period];
        }
        if (parseInt($("#chair").val()) == 2) {
            chair_price = prices_chair_2[period];
        }
        if (parseInt($("#chair").val()) == 3) {
            chair_price = prices_chair_3[period];
        }
        $("#chair-price").html((chair_price * diff) + ' LT');
        var chair_price_ext_pattern = $("#chair-price-ext").attr('data:pattern');
        $("#chair-price-ext").html(chair_price_ext_pattern.replace('XXX', chair_price).replace('YYY', diff));
    }
    
    var discount_percent = 0;
    
    //- discount
    if ($("#discount").is(':checked')) {
        
        // 20% 09-11 till 12-14 and 01-11 to 05-31
        // 10% 06-01 till 09-10 and 12-15 till 01 10 NOTE: new Date(2011, 01, 01) = feb!
        
        discount_percent = 10;
        
        var take_date_offseason = (take_date - (new Date(take_date.getFullYear(), 8, 11)) >= 0);
        take_date_offseason = take_date_offseason && (take_date - (new Date(take_date.getFullYear(), 11, 14)) <= 0);
        
        if (!take_date_offseason) {
            take_date_offseason = (take_date - (new Date(take_date.getFullYear(), 0, 11)) >= 0);
            take_date_offseason = take_date_offseason && (take_date - (new Date(take_date.getFullYear(), 4, 31)) <= 0);
        }
        
        if (take_date_offseason) {
            
            discount_percent = 20;
            
        }
        
    } else {

        if (window.discounts && (window.discounts.length > 0)) {
            
            var discount_available = false;
            
            $.each(window.discounts, function () {
                
                if (discount_available) {
                    return false;
                }
                
                discount_available = (take_date - (Date.parse(this[0] + " 00:00:00")) >= 0); // take date is after "from"            

                discount_available = discount_available && ((take_date - (Date.parse(this[1] + " 23:59:59")) <= 0)); // take date is before "until"

                if (discount_available === true) {
                    discount_available = this;
                }
                
            })
            
        }
        
    }
    
    if (discount_available) {
        
        discount_percent = discount_available[2];
        
    }
    
    if (discount_percent > 0) {
        
        $("#wrap-discount").show();
        $("#discount-percent").html('-' + discount_percent + '%');
        
    } else {
        
        $("#wrap-discount").hide();
        
    }

    var price_extras = 0;

    $(".extras:visible").each(function () {
        var i = String($(this).find('.value u').html()).match(/\d+/);
        if (i != undefined) {
            price_extras += parseInt(i[0]);
        }
    });
    
    var discount_amount = 0;
    
    if (discount_percent > 0) {
        discount_amount = price * diff * (discount_percent / 100);
        var discount_text = $("#discount").is(':checked') ? $("#discount-amount").attr('data:card') : $("#discount-amount").attr('data:offer');
        $("#discount-amount").html(String($("#discount-amount").attr('data:text')).replace('XX', (price * diff) - discount_amount).replace('YY', discount_text).replace('ZZ', $("#car-price").html()).replace('DD', discount_percent));
    }

    $("#final-price").html((price * diff + price_extras - discount_amount) + ' LT');

    $("#price-mesage").html($("#price-mesage").attr('data:valid'));

    //$("#price-disclaimer").prev().removeClass('lst').end().show();

}

function setStepOne() {
    $("#f3").fadeOut(500, function () {
        $("#s-1 H3").css('background-position', '0 -70px');
        $("#s-2 H3").css('background-position', '-60px 0');
        $("#s-3 H3").css('background-position', '-115px 0');
        $("#f1").fadeIn(500);
    });
}

function setStepTwo() {
    $("#f1").fadeOut(500, function () {
        $("#s-1 H3").css('background-position', '0 0');
        $("#s-2 H3").css('background-position', '-60px -70px');
        $("#s-3 H3").css('background-position', '-115px 0');
        $("#f2").fadeIn(500);
    });
}

function setStepThree() {
    $("#f2").fadeOut(500, function () {
        $("#s-1 H3").css('background-position', '0 0');
        $("#s-2 H3").css('background-position', '-60px 0');
        $("#s-3 H3").css('background-position', '-115px -70px');
        $("#f3").fadeIn(500);
    });
}	

function animateSteps() {
    if (_active_step == 0) {
        setStepOne();
        _active_step = 1;
    } else if (_active_step == 1) {
        setStepTwo();
        _active_step = 2;
    } else if (_active_step == 2) {
        setStepThree();
        _active_step = 0;
    }
}

function startAnimation(frames_count, astep) {
	
    $("#f" + astep).fadeOut(500, function () {
										   
        if (frames_count != astep) {
            $("#f" + (++astep)).fadeIn(500);
        } else {
            $("#f0").fadeIn(500);
            astep = 0;
        }
		
        setTimeout( function () {
            startAnimation(frames_count, astep);
        }, 3000);
		
    });
	
}

$(document).ready(function() {

    $("#more-about-insurance").click(function () {
        $.alert($('#more-about-insurance-text').html());
    });

    $("#auto-info").click(function () {
        $.scrollTo('#car-preview', 400);
        return false;
    });

    calculate();

    function init_insurance() {
        if ($("#insurance").is(':checked')) {
            $("#wrap-insurance").show();
        } else {
            $("#wrap-insurance").hide();
        }
        calculate();
    }

    $("#insurance").click(function () {
        init_insurance();
    });

    init_insurance();

    function init_gps() {
        if ($("#gps").is(':checked')) {
            $("#wrap-gps").show();
        } else {
            $("#wrap-gps").hide();
        }
        calculate();
    }

    $("#gps").click(function () {
        init_gps();
    });

    init_gps();

    function init_chair() {
        if (parseInt($("#chair").val()) > 0) {
            $("#wrap-chair").show();
        } else {
            $("#wrap-chair").hide();
        }
        calculate();
    }

    $("#chair, #discount").change(function () {
        init_chair();
    });

    init_chair();
        
    $("#return_time, #take_time").bind('change keyup', function () {
        calculate();
    });
	
    //- top banner
    if (BANNER != '') {
		
        if (BANNER == 0) {
            BANNER = $("#topBanner").height();
            $("#topBanner").animate( {
                "top": -1 * BANNER + 6
            }, 500);
        }
		
        function showTopBanner() {
            if (!banner_showing) {
                $("#topBanner").animate( {
                    top: "0"
                }, {
                    duration: 1000,
                    easing: 'easeOutBounce'
                } );
                setTimeout(function () {
                    banner_showing = 1;
                }, 1000);
            }
        }
        function hideTopBanner() {
            if (banner_showing) {
                $("#topBanner").animate( {
                    top: "-" + (Number(BANNER) - 6) + "px"
                }, 500);
                setTimeout(function () {
                    banner_showing = 0;
                }, 500);
                $("#topBanner").unbind();
                $("#btnShowBanner").unbind().click( function () {
                    showTopBanner();
                } );
            }
        }
		
        $("#btnHide").click( function () {
            hideTopBanner();
            var exdate = new Date();
            exdate.setDate(exdate.getDate() + 1);
            document.cookie= 'bannershowed=1;expires='+exdate.toGMTString();
            return false;
        } );
		
        if (document.cookie.length > 0) {
            c_start = document.cookie.indexOf("bannershowed=");
            if (c_start != -1) {
                $("#btnShowBanner").click( function () {
                    showTopBanner();
                } );
            }else {
                $("#topBanner").hover( function () {  }, function () {
                    hideTopBanner();
                });
                $("#btnShowBanner").hover( function () {
                    showTopBanner();
                }, function () {  });
            }
        } else {
            $("#topBanner").hover( function () {  }, function () {
                hideTopBanner();
            });
            $("#btnShowBanner").hover( function () {
                showTopBanner();
            }, function () {  });
        }

    }
	
    //- homepage
    if (HOMEPAGE) {
		
        //- slides
        var slide_count = $("#wnd div").length;
        if (slide_count > 1) {
			
            var slide_current = 0;
			
            function showSlide(slide_index, slide_total) {
				
                $("#wnd div.act").fadeOut(400, function () {
					
                    $(this).removeClass("act");
                    $("#wnd div:eq("+slide_index+")").fadeIn(400).addClass("act");
																			 
                });

                if (slide_index < (slide_total - 1)) slide_index++;
                else slide_index = 0;

                $("#wnd .paging li a").removeClass("act");
                $("#wnd .paging li:eq("+slide_index+")").children("a").addClass("act");
				
                return slide_index;
				
            }

            var slide_animation = setInterval(function () {
											
                slide_current = showSlide(slide_current, slide_count);
														
            }, 7000);
			
            $("#wnd .paging a").click( function () {
												 
                clearInterval(slide_animation);
				
                showSlide(($(this).html() - 2), slide_count);
				
                return false;
												 
            });
			
        }
		
        var animating = Array();
        var lock_animation = Array();
        jQuery.easing.def = "easeOutCubic";
		
        Array.prototype.remove = function(from, to) {
            var rest = this.slice((to || from) + 1 || this.length);
            this.length = from < 0 ? this.length + from : from;
            return this.push.apply(this, rest);
        };
		
        function expandCar(w, n, btn, anim_id) {
			
            $(btn).addClass("goback");
            $(btn).html(LANG_HIDE);
	
            if (jQuery.inArray(k, animating) == -1) {
				
                var animation_id = animating.push(anim_id);
	
            } else {
                return false;
            }
			
            $(n).animate( {
                width: 259
            }, 1200);
            $(w).animate( {
                width: 680
            }, 1500,
            function () {
                animating.remove(animation_id - 1);
            }
            );
	
        }
	
        function contractCar(w, n, btn, anim_id) {
			
            $(btn).removeClass("goback");
            $(btn).html(LANG_SHOW);
			
            if (jQuery.inArray(k, animating) == -1) {
				
                var animation_id = animating.push(anim_id);
	
            } else {
				
                alert('anim in progress');
                return false;
				
            }
	
            $(n).animate( {
                width: 469
            }, 1500, function () {
                animating.remove(animation_id - 1);
            });
            $(w).animate( {
                width: 469
            }, 1200);
			
        }
		
        $(".expand").click( function () {
            $(this).parent().children(".btnExpand").click();
            return false;
        });
		
        $(".btnExpand").click( function () {
	
            ul = $(this).parent().parent().parent();
            k  = $(ul).attr("id");
			
            if ($(this).hasClass("left")) {
                n = $(ul).children(":first");
                w = $(ul).children(":last");
            } else {
                w = $(ul).children(":first");
                n = $(ul).children(":last");
            }
	
            var animation_index = jQuery.inArray($(ul).attr("id"), animating);
			
            if (animation_index != -1) {
	
                $(w).stop();
                $(n).stop();
                animating.remove(animation_index);
                contractCar(w, n, this, k);
				
            } else {
	
                if ($(w).width() < 500) { //- need to expand
                    expandCar(w, n, this, k);
                } else {				  //- need to contract
                    contractCar(w, n, this, k);
                }
	
            }
									
            return false;
										 
        });
		
        if (!ADVERT)
            setInterval('animateSteps()', 3000);
			
			
        var offset = $(".cat2 ul li:last").offset();
		
        $(".btnInquiry").toggle( function () {
										   
            $(this).addClass("goback");
										  
            var next = $(this).parent().parent().next();
			
            if (next.length == 1) {
				
                var obj = next;
				
            } else {
			
                var obj = $(this).parent().parent().prev();
				
            }
			
            $("#formInquiry").css( {
                top: $(obj).offset().top - 1,
                left: $(obj).offset().left + 1
            } ).fadeIn("fast");
			
            return false;
										  
        }, function () {
			
            $(this).removeClass("goback");
			
            $("#formInquiry").fadeOut();
			
        });
		
		
			
    }

    $(".btnCalendar").click(function () {
        $(this).parent().next().children('.cal').slideDown("fast");
        if (($.browser.msie === true) && ($.browser.version == '6.0')) {
            $("#default_take_place").hide();
            $("#default_return_place").hide();
        }
    });

    $("#take_date").hover(function () {
		
        $("#take_cal .cal").slideDown("fast");
        if (($.browser.msie === true) && ($.browser.version == '6.0')) {
            $("#default_take_place").hide();
        }
		
    }, function () { } );
	
    $("#take_cal .cal").hover(function () {
        clearTimeout(delay);
    }, function () {
        delay = setTimeout( function () {
            $("#take_cal .cal").slideUp("fast");
            if (($.browser.msie === true) && ($.browser.version == '6.0')) {
                $("#default_take_place").show();
            }
        }, 300 );
		
    });
	
    //-
	
    $("#return_date").hover( function () {
		
        $("#return_cal .cal").slideDown("fast");

        if (($.browser.msie === true) && ($.browser.version == '6.0')) {
            $("#default_return_place").hide();
        }
		
    }, function () {
        delay = setTimeout( function () {
            $("#return_cal .cal").slideUp("fast");
        }, 300 );
    } );
	
    $("#return_cal .cal").hover(function () {
        clearTimeout(delay);
    }, function () {
        delay = setTimeout( function () {
            $("#return_cal .cal").slideUp("fast");
            if (($.browser.msie === true) && ($.browser.version == '6.0')) {
                $("#default_return_place").show();
            }
        }, 300 );
    });
	
    $("#take_date").attr("readonly", "readonly");
    $("#return_date").attr("readonly", "readonly");
	
    $("#default_take_place").change( function () {

        if (($(this).val() == 'custom') || ($(this).val() == 'custom-vilnius')  || ($(this).val() == 'custom-kaunas') || ($(this).val() == 'custom-klaipeda')) {
            $(this).parent().removeClass("lst");
            $("#take_place_custom").slideDown();
        } else {
            $(this).parent().addClass("lst");
            $("#take_place_custom").hide();
        }

        calculate();
											   
    });

    $("#default_take_place").change();

    $("#current_car").bind('change keyup', function () {

        var $t = $(this);
        var car_id = $t.val();
        var cache = $t.data('cache') || [];

        if (cache[car_id] != undefined) {
            $("#car-preview").height($("#car-preview").height())
                             .attr('data:current', car_id)
                             .html(cache[car_id].html);
            $("#car").val(cache[car_id].title);
            $("#car_type").val(cache[car_id].cartype);
            calculate();
            $("#auto-info").show();
            sifr_init();
            return false;
        }

        var current_car = $("#car-preview").attr('data:current');
        if (car_id == current_car) {
            return false;
        }

        $.post('/ajax/carinfo.php', {
            id: car_id
        }, function (data) {
            cache[car_id] = JSON.parse(data)
            $t.data('cache', cache);
            $("#current_car").trigger('change');
        });

        calculate();
        
    })

    $("#default_return_place").change( function () {

        if (($(this).val() == 'custom') || ($(this).val() == 'custom-vilnius') || ($(this).val() == 'custom-kaunas') || ($(this).val() == 'custom-klaipeda')) {
            $(this).parent().removeClass("lst");
            $("#return_place_custom").slideDown();
        } else {
            $(this).parent().addClass("lst");
            $("#return_place_custom").hide();
        }

        calculate();

    });

    $("#default_return_place").change();
	
    $("#btnTerms").click( function () {

        window.open(BASE_HREF + 'terms.php?lang=' + LANG, 'popup', 'width = 800, scrollbars = yes');
        return false;

    });
	
    $(".show_contact_form").click( function () {
        $.scrollTo('#contact_form', 400);
        return false;
    });

    $("#btnSend").click( function () {

        if (typeof($("#error_row").attr("save")) != 'undefined') {
            $("#error_row").html($("#error_row").attr("save")).fadeIn();
        }

        if ($("#formContact").length == 1) {
            $("#formContact .error").removeClass("error");
        } else {
            $("#formInquiry .error").removeClass("error");
        }

		
        $.post( BASE_HREF + 'ajax/contact.php',
        {
            fullname: $("#fullname").val(),
            elpastas: $("#elpastas").val(),
            email: $("#email").val(),
            phone: $("#phone").val(),
            comment: $("#comment").val(),
            lng: LANG,
            cid: $("#cid").val()
        }, function (data) {
            eval(data);
        } );
										
        return false;
										
    });
	
    $("#btnReserve").click( function () {

        var price_summary = [ [$("#wrap-discount-card label").html(), $("#discount").is(':checked') ? $("#discount").attr('data:yes') : $("#discount").attr('data:no') ] ];

        $(".summary:visible").each(function (i) {

            if (i == 0) {
                price_summary.push(
                    [$("#btnReserve").attr('lang:car'), $(this).find('option:selected').html()]
                )
            } else {
                var l = $(this).find('label:first').html();
                var p = $(this).find('u:first');
                if (p.length == 0) {
                    p = $(this).find('big:first');
                }
                if (p.length == 0) {
                    return false;
                }
                p = p.html();
                var details = $(this).find('span');
                if (details.length > 0) {
                    details = details.html();
                } else {
                    details = '';
                }
                price_summary.push(
                    [l, p, details]
                )
            }

        });

        if ($("#error_row").attr("save") != undefined) {
            $("#error_row").html($("#error_row").attr("save")).fadeIn();
        }
		
        $("#formReservation SPAN.remove").remove();
        $("#formReservation .error").removeClass("error");

        $(this).attr("disabled", "disabled");

        $.post(BASE_HREF + 'ajax/reserve.php',
        {
            take_date: $("#take_date").val(),
            take_time: $("#take_time").val(),
            take_place: $("#take_place").val(),
            default_take_place: $("#default_take_place").val(),
            return_date: $("#return_date").val(),
            return_time: $("#return_time").val(),
            default_return_place: $("#default_return_place").val(),
            return_place: $("#return_place").val(),
            company: $("#company").val(),
            name: $("#name").val(),
            last_name: $("#last_name").val(),
            email: $("#email").val(),
            elpastas: $("#elpastas").val(),
            phone: $("#phone").val(),
            reservation_id: $("#reservation_id").val(),
            gps: ($("#gps").attr("checked")) ? 1 : 0,
            insurance: ($("#insurance").attr("checked")) ? 1 : 0,
            chair: $("#chair").val(),
            agree: document.getElementById("agree").checked ? 1 : 0,
            car: $("#car").val(),
            car_type: $("#car_type").val(),
            current_link: $("#current_link").val(),
            lng: LANG,
            comment: $("#comment").val(),
            flight: $("#flight").val(),
            price: JSON.stringify(price_summary)
				  
        }, function (data) {

            document.getElementById("btnReserve").disabled = false;
            $("#please_wait").fadeOut("fast");

            eval(data);
							
        } );
										
        return false;
										
    });
	
    $("#btnNext").click( function () {

        $("#thumblist-"+ct * 4).fadeOut("fast", function () {
														  
            ct++;
            $("#thumblist-"+ct * 4).fadeIn("fast");
		
            $("#btnPrev").show();
            if ($("#thumblist-" + (4*(ct+1)).length == 0)) {
				
                $("#btnNext").hide();
				
            }
			
        });
							
        return false;
		
    });
	
    $("#btnPrev").click( function () {

        $("#thumblist-"+ct * 4).fadeOut("fast", function () {
														  
            ct--;
            $("#thumblist-"+ct * 4).fadeIn("fast");
		
            $("#btnNext").show();
            if ($("#thumblist-" + (4*(ct-1)).length == 0)) {
				
                $("#btnPrev").hide();
				
            }
			
        });
							
        return false;
		
    });
	
    $("#thumbs UL LI A").click( function () {
									
        var loader = new Image();

        $("#ptext").html($(this).attr("title"));

        $(loader).load( function () {
								  
            $("#loading").hide();
			
            $("#pimg").fadeOut("fast", function () {
												   
                $(this).attr("src", loader.src).fadeIn("fast");
												   
            });
								  
        });
		
        loader.src = $(this).attr("href");
		
        $("#loading").fadeIn("fast");
									
        return false;
									
    });

	
});

function changeMonth(id, m, y) {
    $.post('./ajax/calendar.php', {
        lng: LANG,
        month: m,
        year: y
    }, function (data) {
        var calendar_id = $(id).parents('.cal_cont');
        $(calendar_id).html(data);
    });
}

function o(id, m, y) {
    if (m < 10) m = '0' + m.toString();
    var d = $(id).html();
    if (d < 10) d = '0' + d.toString();
    var dt = (y + '-' + m + '-' + d);
    var calendar_id = $(id).parents(".cal_cont");
    var input_id = $(calendar_id).attr("id");
    input_id = "#" + input_id.substring(0, input_id.length - 3) + 'date';
    $(input_id).val(dt);
    $(calendar_id).children(".cal").slideUp("fast");
    calculate();
}

var map, marker1, marker2, marker3 = null;
function load() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(54.691247326919395, 25.282909870147705), 15);
        var bds = new GLatLngBounds(new GLatLng(54.67720565935148, 25.26108741760254),
            new GLatLng(54.7020109692709, 25.30400276184082));
        map.addControl(new GScaleControl());
        marker1 = new GMarker(new GLatLng(54.69055844340045, 25.281858444213867));
        map.addOverlay(marker1);
        marker1.openInfoWindowHtml($("#balloon_main").html());
        marker2 = new GMarker(new GLatLng(54.642005732526165, 25.27876853942871));
        map.addOverlay(marker2);
        marker3 =new GMarker(new GLatLng(54.966676921706075, 24.071216583251953));
        map.addOverlay(marker3);
	
        $("#show_map_main").click( function () {
            map.setCenter(new GLatLng(54.691247326919395, 25.282909870147705), 15);
            marker1.openInfoWindowHtml($("#balloon_main").html());
            $.scrollTo('1000px', 400);
            return false;
        });
	
        $("#show_map_vno").click( function () {
            map.setCenter(new GLatLng(54.68727844340045, 25.281858444213867), 13);
            marker2.openInfoWindowHtml($("#balloon_vno").html());
            $.scrollTo('1000px', 400);
            return false;
        });
	
        $("#show_map_kun").click( function () {
            map.setCenter(new GLatLng(54.96960845965134, 24.06559467315674), 13);
            marker3.openInfoWindowHtml($("#balloon_kun").html());
            $.scrollTo('1000px', 400);
            return false;
        });
	
    }
}

function popup(url) {
    window.open(url, 'popup', 'width = 800, scrollbars = yes');
}

jQuery.extend({
    imgLoad: function(src, loaded_callback) {
        var img = new Image();
        $(img).load( function () {
            loaded_callback(img);
        });
        img.src = src;
        return this;
    },
    dimIn: function (user_css, callback, on_click) {
        $dim = $("#dim");
        if ($dim.length == 0) {
            $dim = $("<div />").attr('id', 'dim').css(
                {position: 'absolute',
                  top: 0,
                  left: 0,
                  width: '100%',
                  height: $(document).height(),
                  zIndex: 99999998,
                  background: '#333',
                  opacity: .8});
            $('body').prepend($dim);
        }
        if (on_click != undefined) {
            $dim.click(on_click);
        }
        if ($dim.data('act') == true) return false;
        if (user_css != undefined) {
            $dim.css(user_css);
        }
        return $dim.data('act', true).fadeIn(400, callback);
    },
    dimOut: function (callback) {
        $dim = $("#dim").unbind('click');
        if ($dim.data('act') == true) {
            $dim.fadeOut(400, callback).data('act', false);
        }
    },
    alert: function (message) {
        $.dimIn({}, null, function () {
            window.alert_box.fadeOut();
            $.dimOut();
        });
        if (window.alert_box == undefined) {
            window.alert_box = $('<div style="width: 400px; z-index:99999999; display: none; cursor: pointer; position: absolute; padding: 10px; background: #fff; box-shadow: 0 0 5px #666; -moz-box-shadow: 0 0 5px #666; -webkit-box-shadow: 0 0 5px #666;" />').appendTo('body').click( function () {
                $(this).fadeOut();
                $.dimOut();
            } );
        }
        window.alert_box.html('<p style="display: block; text-align: left;">'+message+'</p>').center().fadeIn();
    }
});

jQuery.fn.extend({
    center: function () {
        this.css( {position: 'absolute',
                    top: $(document).scrollTop() + (Math.ceil($(window).height()) - this.height()) / 2,
                    left: '50%',
                    marginLeft: -1 * Math.ceil(this.width() / 2)} );

        return this;
    },
    fadeOver: function (speed, callback, css, attr) {
    var $t = this;
        c = $t.clone();
        c.css( {position: 'absolute',
         width: $t.width(),
         height: $t.height(),
         display: 'none',
         zIndex: 2} );
        if (css != undefined) {
            c.css(css);
        }
        if (attr != undefined) {
            c.attr(attr);
        }
        $tp = $t.parent(); // container
        $tp.css( {width: $tp.width(),
                   height: $tp.height()} );

        c.insertBefore($t).fadeTo(speed, 1, function () {
                c.next().remove();
                c.css( {position: 'relative', zIndex: 1} );
                if (typeof(callback) == 'function') callback();
        });
        return $t;
    }
});
