$(document).ready(function() {
    
    $('#nojavascript').hide();

    $('.slideshow').cycle({
		fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc...
        speed: 2000,
        timeout: 7000,
	sync: false
	});

    $('#select_make').load('/carsearch/getdata?data=make');
    $("#savecar").attr("disabled","disabled");

    $('#optional-fields').siblings().hide();

    $('#optional-fields').click(function(event){
        event.preventDefault();
        $(this).siblings().slideToggle("slow");
        if ($('#optional-fields a').html().substr(0, 4) == 'Show') {
            $('#optional-fields a').html('Hide &uArr;');
        } else {
            $('#optional-fields a').html('Show &dArr;');
        }
    });


    $(".birthdate").datepicker({ dateFormat: 'dd/mm/yy', changeYear: true, yearRange: '-99:+0' });

    $("#item-added-message").dialog({ autoOpen: false });

    $("#no_car_tip").tooltip({
        tip: '.spg',
        effect: '.fade',
        // move tooltip a little bit to the right
        offset: [0, 15],
        // do not initialize tooltips until they are used
        lazy: true,
        // there is no delay when the mouse is moved away from the trigger
        delay: 0,
        relative: true
    });

    $(".spg").click(function () {
        //preloader
        var spg = $(this).attr("id");
        if ($("#car").length == 0) {
            $("#no_car_tip").css('display', 'block');
            $("#no_car_tip").animate({opacity: 1.0}, 3000).fadeOut('slow', function() {
                $("#no_car_tip").hide();
            });
        } else {
            var carStr = $("#car").html();
            var car = carStr.split(',');
            var make = car[0];
            var model = car[1];
            var submodel = car[2];
            if (submodel == 'all') {
                submodel = '';
            }
            var engs = car[3];
            if (engs == 'all') {
                engs = '';
            }
            var year = car[4];
            if (year == 'all') {
                year = '';
            }

            var filter = 'Supplier';
            var filtervalue = $(this).attr("name");

            if (filter != '') {
                $.get('/parts/updatefilter', { filter: filter, filtervalue: filtervalue, spg: spg },
                    function(data) {
                        $('#content').html("<div class='containcentre'><img src='/themes/atoz/images/ajax-loader.gif'></div>");
                        $.get('/parts/getparts', { make: make, model: model, submodel: submodel, engs: engs, year: year, spg: spg } , function(data) { $('#content').html(data); imagepreview(); addtocart(); updatefilter(spg); resetfilter(spg) });
                 });
            }  else {
                $('#content').html("<div class='containcentre'><img src='/themes/atoz/images/ajax-loader.gif'></div>");
                $.get('/parts/getparts', { make: make, model: model, submodel: submodel, engs: engs, year: year, spg: spg } , function(data) { $('#content').html(data); imagepreview(); addtocart(); updatefilter(spg); resetfilter(spg) });
            }
        }
    });

    var evt = $.browser.msie ? "click" : "change";

    $("#select_make").bind(evt, function () {
        var make = $("#make").val();
        $('#select_model').load('/carsearch/getdata?data=model&make=' +make);
        $('#select_submodel').html('<select id="submodel" class="carselect"><option>select submodel</option></select>');
        $('#select_engs').html('<select id="engs" class="carselect"><option>select eng size</option></select>');
        $('#select_years').html('<select id="years" class="carselect"><option>select year</option></select>');
        $("#savecar").attr("disabled","disabled");
    });


    $("#select_model").bind(evt, function () {
        var make = $("#make").val();
        var model = $("#model").val();
        $('#select_submodel').load('/carsearch/getdata?data=submodel&make=' +make +'&model=' +model);
        $('#select_engs').html('<select id="engs" class="carselect"><option>select eng size</option></select>');
        $('#select_years').html('<select id="years" class="carselect"><option>select year</option></select>');
        $("#savecar").attr("disabled","disabled");
    });

    $("#select_submodel").bind(evt, function () {
        var make = $("#make").val();
        var model = $("#model").val();
        var submodel = $("#submodel").val();
        $('#select_engs').load('/carsearch/getdata?data=engs&make=' +make
            +'&model=' +model
            +'&submodel=' +submodel);
        $('#select_years').html('<select id="years" class="carselect"><option>select year</option></select>');
        $("#savecar").attr("disabled","disabled");
    });

    $("#select_engs").bind(evt, function () {
        var make = $("#make").val();
        var model = $("#model").val();
        var submodel = $("#submodel").val();
        var engs = $("#engs").val();
        $('#select_years').load('/carsearch/getdata?data=years&make=' +make
            +'&model=' +model
            +'&submodel=' +submodel
            +'&engs=' +engs);
        $("#savecar").attr("disabled","disabled");
    });

    $("#select_years").bind(evt, function () {
        $("#savecar").removeAttr("disabled");
    });

    function addtocart() {
        var options = {
            success: updatecart
        }
        $('.productform').ajaxForm(options);
    }

    function updatecart() {
        $('#header-basket').load('/cart/updateitems', '', function() {
            $("#item-added-message").dialog('open');
        });
    }

    function imagepreview() {

    xOffset = 10;
    yOffset = 30;

    // these 2 variable determine popup's distance from the cursor
    // you might want to adjust to get the right result

    /* END CONFIG */
    $("a.preview").hover(function(e){
    this.t = this.title;
    this.title = "";
    var c = (this.t != "") ? "<br/>" + this.t : "";
    $("body").append("<p id='preview'><img src='"+ this.href +"' alt='Image preview' />"+ c +"</p>");
    $("#preview")
        .css("top",(e.pageY - xOffset) + "px")
        .css("left",(e.pageX + yOffset) + "px")
        .fadeIn("fast");
    },
        function(){
            this.title = this.t;
            $("#preview").remove();
            });
            $("a.preview").mousemove(function(e){
            $("#preview")
                .css("top",(e.pageY - xOffset) + "px")
                .css("left",(e.pageX + yOffset) + "px");
        });
    }

    function resetfilter(spg) {
    $(".reset-filter-link").click(function () {

        $.get('parts/resetfilter', { spg: spg },
            function(data) {
                //update the parts
                $('#content').html("<div class='containcentre'><img src='/themes/atoz/images/ajax-loader.gif'></div>");

                var carStr = $("#car").html();
                var car = carStr.split(',');
                var make = car[0];
                var model = car[1];
                var submodel = car[2];
                if (submodel == 'all') {
                    submodel = '';
                }
                var engs = car[3];
                if (engs == 'all') {
                    engs = '';
                }
                var year = car[4];
                if (year == 'all') {
                    year = '';
                }

                $.get('/parts/getparts', { make: make, model: model, submodel: submodel, engs: engs, year: year, spg: spg } , function(data) { $('#content').html(data); imagepreview(); addtocart(); updatefilter(spg); resetfilter(spg) });
            });

         });
    }

    function updatefilter(spg) {
    $("#filters select").change(function () {

        var filter = $(this).attr("name");
        var filtervalue = $(this).val();

        $.get('/parts/updatefilter', { filter: filter, filtervalue: filtervalue, spg: spg },
            function(data) {
                //update the parts
                $('#content').html("<div class='containcentre'><img src='/themes/atoz/images/ajax-loader.gif'></div>");

                var carStr = $("#car").html();
                var car = carStr.split(',');
                var make = car[0];
                var model = car[1];
                var submodel = car[2];
                if (submodel == 'all') {
                    submodel = '';
                }
                var engs = car[3];
                if (engs == 'all') {
                    engs = '';
                }
                var year = car[4];
                if (year == 'all') {
                    year = '';
                }

                $.get('/parts/getparts', { make: make, model: model, submodel: submodel, engs: engs, year: year, spg: spg } , function(data) { $('#content').html(data); imagepreview(); addtocart(); updatefilter(spg); resetfilter(spg) });
            });

         });
    }

});

