/*<![CDATA[*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
jQuery DOM ready functions
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
var $j = jQuery.noConflict();
$j(document).ready(function() {

    /***********************************************
    Print
    ***********************************************/





    /***********************************************
    Frontpage
    ***********************************************/

    /* Header, fix for two line menu */
    if ($j("#subUl").height() > 45) {
        $j("#header").addClass("double");

    }

    /* Brandlogos "Apple Dock"-effect */
    $j('#brands li a').append("<span></span>");
    /* Enable for displaying logo names
    $j('#brands li a').each(function() {
    $j(this).append("<span>"+$j(this).children("img").attr("alt")+"</span>");
    });
    */
    $j('#brands').Fisheye({
        maxWidth: 50,
        items: 'a',
        itemsText: 'span',
        container: '.brandBox',
        itemWidth: 50,
        itemMargin: 10, // elements must be position: static
        proximity: 50,
        alignment: 'center',
        valign: 'top',
        halign: 'center'
    });


    /* Add shade in menu tabs */
    if ($j('#nav ul li.sel').length != 0) {
        $j("#nav ul li.sel:first").append('<div class="shade"></div>');
        $j("div.shade").css("width", parseInt($j("#nav ul li.sel").width() - 20) + "px");
        $j("div.shade").css("left", parseInt($j("#nav ul li.sel").position().left + 20) + "px");
    }
    //alert();

    /* Go local */
    $j(".countrySelector a.countrySelectorTrigger").click(function() {
        $j('.countrySelector .popup').clone().addClass('visiblePopup').appendTo('#page');
        serviceWidth = $j("#service").width();
        $j(".visiblePopup").css("right", (serviceWidth - $j(".visiblePopup").width() + 50) + "px");
        $j(".visiblePopup").show();
        return false;
    });

    $j(".visiblePopup a").click(function(e) {
        e.stopPropagation();
    });
    $j(document).click(function() {
        $j(".popup").hide();
        setTimeout('$j(".visiblePopup").remove()', 500);
    });

    /* Product carousel */

    // calculate the width for the trigger
    $j('.selector ul li a').each(function() {
        var triggerWidth = $j(this).text().length;
        if (triggerWidth > 12) $j(this).parent().addClass('doubleLine');
    });

    //pause the cycle on mouseover
    $j(".productCarousel").mouseover(function() {
        $j('#products').cycle('pause');
    });

    //resume the current carousel on mouseout
    $j(".productCarousel").mouseleave(function() {
        if ($j('.productCarousel').hasClass('clicked')) {
            var slide = $j(".productCarousel .selector li.sel a").attr('rel');
            totalSlide = slide.split('_');
            nextSlide = parseInt(totalSlide[1]);
            $j('#products').cycle(nextSlide, 'uncover');
            $j('.productCarousel').removeClass('clicked');
        }
        $j('#products').cycle('resume', true);
    });


    //on click select the current categori
    $j(".productCarousel .selector a").hover(function() {
        $j('.productCarousel').addClass('clicked');
        $j(".productCarousel .selector li").removeClass('sel');
        $j(this).parent('li').addClass('sel');
        var rel = $j(this).attr('rel');
        $j(".productCarousel ul.products li").hide();
        $j(".productCarousel ul.products li").removeClass('sel');
        $j(".productCarousel ul.products li." + rel).animate({ opacity: 1 }).show();
    });
    // start cycle on pageload
    if ($j('.productCarousel').is(':visible')) {
        $j('#products').cycle({
            fx: 'fade',
            pause: 1,
            after: onAfter
        });
    }



    /***********************************************
    Search
    ***********************************************/
    $j("#searchField .btn").click(function() {
        var addedParameters = '';

        if ($j(this).attr('href').indexOf('?') == -1) {
            addedParameters = '?q=';
        }
        else if ($j(this).attr('href').indexOf('?') > 0 && $j(this).attr('href').indexOf('q=') == -1) {
            addedParameters = '&q=';
        }

        $j(this).attr('href', $j(this).attr('href') + addedParameters + $j("#searchField .searchField").val()); //);
        location.href = $j(this).attr('href');
    });
    $j(".largeSearchField .btn").click(function() {
        var addedParameters = '';
        if ($j(this).attr('href').indexOf('?') == -1) {
            addedParameters = '?q=';
        }
        else if ($j(this).attr('href').indexOf('?') > 0 && $j(this).attr('href').indexOf('q=') == -1) {
            addedParameters = '&q=';
        }
        $j(this).attr('href', $j(this).attr('href') + addedParameters + $j(".largeSearchField .searchField").val());
        location.href = $j(this).attr('href');
    });
    defaultButton($j("#header #searchField .searchField"), $j("#header #searchField .btn"));
    defaultButton($j(".largeSearchField .searchField"), $j(".largeSearchField .btn"));

    // set width for dt and dd if no image
    $j('#searchpage dd.img').each(function() {
        if ($j(this).children().length < 1) {
            $j(this).next().addClass('noImage');
            $j(this).next().next().addClass('noImage');
            $j(this).remove();

        }
    })
    $j("#content #searchField input.btn").show();



    //Initial load of my catalog box
    //$j('#addToCatalogTarget').load("/Services/ProductCatalogWebService.asmx/GetCatalog");
    $j.ajax({
        type: "POST",
        url: "/Services/ProductCatalogWebService.asmx/GetCatalog", data: "language=" + $j("#epslanguage").text() + "",
        success: function(data) {
            $j("#addToCatalogTarget").html($j(data).find('string').text());
        },
        error: function(data) {
            $j("#addToCatalogTarget").html("Error");
        }
    });

    //Add to myCatalog event
    $j(function() {
        $j('.addToCatalog').click(function() {
            $j.ajax({
                type: "POST",
                url: "/Services/ProductCatalogWebService.asmx/UpdateCatalog", data: "productPageId=" + $j(this).attr("rel") + "&language=" + $j("#epslanguage").text() + "",
                success: function(data) {
                    $j("#addToCatalogTarget").html($j(data).find('string').text());
                },
                error: function(data) {
                    $j("#addToCatalogTarget").html("Error");
                }

            });

        })
    });

    //Add to myCatalog event
    $j('.productList .addCatalog').live("click", function() {
        $j.ajax({
            type: "POST",
            url: "/Services/ProductCatalogWebService.asmx/UpdateCatalog", data: "productPageId=" + $j(this).attr("rel") + "&language=" + $j("#epslanguage").text() + "",
            success: function(data) {
                //alert($j(data).find('string').text());
                $j("#addToCatalogTarget").html($j(data).find('string').text());
            },
            error: function(data) {
                alert("error");
                $j("#addToCatalogTarget").html("Error");
            }

        });

    });

    //Delete from myCatalog event
    $j('#addToCatalogTarget .remove').live("click", function() {
        $j.ajax({
            type: "POST",
            url: "/Services/ProductCatalogWebService.asmx/RemoveFromCatalog", data: "productPageId=" + $j(this).attr("rel") + "&language=" + $j("#epslanguage").text() + "",
            success: function(data) {
                $j("#addToCatalogTarget").html($j(data).find('string').text());
            },
            error: function(data) {
                $j("#addToCatalogTarget").html("Error");
            }

        });

    });

    //Clear myCatalog event flexiblePortlet myCatalogBox
    $j('.myCatalogBox .clearCatalog').live("click", function() {
        $j.ajax({
            type: "POST",
            url: "/Services/ProductCatalogWebService.asmx/ClearCatalog", data: "productPageId= 0" + "&language=" + $j("#epslanguage").text() + "",
            success: function(data) {
                $j("#addToCatalogTarget").html($j(data).find('string').text());
            },
            error: function(data) {
                $j("#addToCatalogTarget").html("Error");
            }

        });

    });

    //DOM ready end 
});

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    Functions
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

// function to select the trigger for the cycle
function onAfter(curr, next, opts) { 
    $j(".productCarousel .selector li").removeClass('sel');
    var slide = $j(".productCarousel .products li:visible").attr('class');
    $j('.productCarousel .selector A[rel="' + slide + '"]').parent('li').addClass('sel');   
}; 

 

// default button for form
function defaultButton(elm, btn) {
    $j(elm).keypress(function(e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            $j(btn).trigger('click');
            return false;
        } else {
            return true;
        }
    });
}

function update() {
    return WebService1.update();
}
