﻿//===========================================================
// switchDiv implementation (used in TabsControl)
//===========================================================
function switchVisibleDiv(divToShow, divToHide) {
    $("#" + divToHide).hide();
    $("#" + divToShow).show();
}
//===========================================================
// end switchDiv implementation
//===========================================================

//===========================================================
// TabsControl implementation (used in gp5 customer service)
//===========================================================
function showCurrentTab(controlsCounter, containerDivID) {
    $(".TabsControlImageSelected").hide();
    $(".TabsControlImage").show();
    $("#tabsControlImage" + controlsCounter).hide();
    $("#tabsControlImageSelected" + controlsCounter).show();
    $(".TabsControlItem").hide();
    $($("#" + containerDivID + " > div")[parseInt(controlsCounter)]).show();
}
//===========================================================
// end TabsControl implementation
//===========================================================

//===========================================================
// collapse implementation (used in new brand lobby + gp5 customer service)
//===========================================================
function showExpend(counter) {
    $("#CollapseElement" + counter).hide();
    $("#CollapseClosed" + counter).show();
}

function showColapse(counter) {
    $(".CollapseElement").hide();
    $(".CollapseClosed").show();
    $("#CollapseBot" + counter).show();
    $("#CollapseElement" + counter).show();
    $("#CollapseClosed" + counter).hide();
    $(".CollapseLargeVideo").hide();
}

function showVideo(counter, itemNum, videoString, videoTitle) {
    $("#VideoTitle" + counter).html(videoTitle);
    $("#VideoFrame" + counter).attr("src", videoString);
    $(".CollapseSubItemImgPlay").hide();
    $(".CollapseSubItemImg").show();
    $("#CollapseSubItemImg" + itemNum).hide();
    $("#CollapseSubItemImgPlay" + itemNum).show();
    $("#CollapseBot" + counter).hide();
    $("#CollapseLargeVideo" + counter).show();
}
//===========================================================
// end collapse implementation
//===========================================================

//===========================================================
// news line implementation
//===========================================================
var NewsLineHandler = {
    Items: null
    , FadeInTime: 1500
    , FadeOutTime: 1500
    , CurrentItemIndex: 0
    , Render: function() {

        if (this.Items != null && this.Items.length > 0) {
            if (this.Items.length == this.CurrentItemIndex) {
                this.CurrentItemIndex = 0;
            }
            this.RenderItem();
        }
    }
    , Hide: function() {
        $('#NewsLineCtl').hide();
    }
    , RenderItem: function() {

        if (this.Items[this.CurrentItemIndex].Link.length == 0) {
            $('#NewsLineItem').css('display', 'none');
            $('#NewsLineItemDiv').show();
            $('#NewsLineItemDiv')
            .html(this.Items[this.CurrentItemIndex++].Title)
            .fadeIn(this.FadeInTime).delay(10000).fadeOut(this.FadeOutTime, function() { NewsLineHandler.Render(); });
        }
        else {
            $('#NewsLineItem')
            .attr('href', this.Items[this.CurrentItemIndex].Link.length > 0 ? this.Items[this.CurrentItemIndex].Link : "javascript:void(0);")
            .html(this.Items[this.CurrentItemIndex++].Title)
            .fadeIn(this.FadeInTime).delay(10000).fadeOut(this.FadeOutTime, function() { NewsLineHandler.Render(); });
            $('#NewsLineItemDiv').hide();
        }


    }
}
//===========================================================
// end news line implementation
//===========================================================

//===========================================================
// rotator implementation
//===========================================================
var oRotatorActionEnabled = true;
var rotatorwn = {
    settings: null,
    iterator: null,
    interval: null,
    init: function(settings) {
        rotatorwn.settings = settings;
        rotatorwn.iterator = this.settings.startIndex;
        rotatorwn.interval = this.settings.interval;

        if (this.settings.interval > 0) {
            var t = setInterval(this.RotateNext, this.interval);
            $('div#RotatorWN').mouseenter(function() {
                clearInterval(t);
            }).mouseleave(function() {
                t = setInterval(rotatorwn.RotateNext, rotatorwn.interval);
            });
        }

        if (this.settings.nav == null || this.settings.data == null)
            return;

        $('div#main div.banner').each(function(index, oElem) {
            if (index > 0) {
                $(oElem).css({ "margin-top": "-348px" });
            }
            else {
                $(oElem).css('display', 'inline');
            }
        });

        // create list items for navigation
        this.settings.nav.append(this.GenerateNavigation());

        $('a.list-item-link').click(rotatorwn.OnTabClicked);
        $('a.list-item-link:first').click();
        $('a.list-item-link:eq(' + this.settings.startIndex + ')').click();
    },
    GenerateNavigation: function() {
        var listItems = $('<ul>').addClass('list-items');
        $.each(rotatorwn.settings.data, function(i, item) {
            listItems.append(
                    $('<li>').addClass('list-item')
                             .append(
                                $('<a>').attr('href', '#')
                                        .addClass('list-item-link')
                                        .append(
                                           $('<span>').addClass('item')
                                                      .append($('<img>').attr('src', item.imageDefault)),
                                           $('<span>').addClass('item')
                                                      .append($('<img>').attr('src', item.imageSelect))
                                                      .hide()
            )))
        });

        return listItems;
    },
    OnTabClicked: function(sender) {
        if (oRotatorActionEnabled) {
            oRotatorActionEnabled = false;
            var selectedThumb = $('a.list-item-link > span.selected');

            if (selectedThumb.length > 0) {
                selectedThumb.removeClass('selected').fadeOut('slow').prev().fadeIn('slow');
            }

            var items = $(this).children();
            $(items[0]).fadeOut('slow').next().addClass('selected').fadeIn('slow');

            var index = $(this).parent().index();
            _gaq.push(['_trackEvent', rotatorwn.settings.data[index].linkScript, 'Click']);
            rotatorwn.iterator = index;
            rotatorwn.OnSelected(index);
        }
    },
    OnSelected: function(index) {
        var selectedImages = $('div#main .selected');
        if (selectedImages.length > 0) {
            var iInterval = 'slow';
            selectedImages.fadeOut(iInterval, function() {
                selectedImages.removeClass('selected');
                selectedImages.css('margin-top', '-384px');
                $('div#main > div:eq(' + index + ')').css('margin-top', '0px').fadeIn(iInterval, function() {
                    $(this).css('margin-top', '0px');
                    $(this).addClass('selected');
                    oRotatorActionEnabled = true;
                });
            });
        }
        else {
            $('div#main > div:eq(' + index + ')').addClass('selected');
            oRotatorActionEnabled = true;
        }
        return false;
    },
    RotateNext: function() {
        var NextI = rotatorwn.iterator + 1;
        var NxtTab = $('a.list-item-link:eq(' + NextI + ')');
        if (NxtTab[0] == null || NxtTab[0] == undefined) {
            NxtTab = $('a.list-item-link:eq(' + 0 + ')');
        }
        $(NxtTab).click();
    }
};


//===========================================================
// end rotator implementation
//===========================================================

//===========================================================
// HPBanner implementation
//===========================================================
var HPBannersHandler = {
    Items: null
    , FadeInTime: 1500
    , FadeOutTime: 1500
    , CurrentItemIndex: 0
    , Render: function() {

        if (this.Items != null && this.Items.length > 0) {
            if (this.Items.length > 1) {
                if (this.Items.length == this.CurrentItemIndex) {
                    this.CurrentItemIndex = 0;
                }
                jQuery('#HPBanner')
                .attr('src', this.Items[this.CurrentItemIndex].Src)
                .attr('alt', this.Items[this.CurrentItemIndex].Alt)
                .attr('title', this.Items[this.CurrentItemIndex].Alt);
                jQuery('#HPBannerLink')
                .attr('href', this.Items[this.CurrentItemIndex].Url.length > 0 ? this.Items[this.CurrentItemIndex].Url : "javascript:void(0);");
                setTimeout("HPBannersHandler.RenderItem()", 10000);
            }
            else {
                HPBannersHandler.RenderSingleItem();
            }
        }
    }
    , Hide: function() {
    jQuery('#HPBannerLink').hide();
    }
    , RenderItem: function() {

    jQuery('#HPBannerLink').fadeOut(HPBannersHandler.FadeOutTime, function() {
            HPBannersHandler.CurrentItemIndex++;
            if (HPBannersHandler.Items.length == HPBannersHandler.CurrentItemIndex) {
                HPBannersHandler.CurrentItemIndex = 0;
            }
            
            jQuery('#HPBannerLink')
                .attr('href', HPBannersHandler.Items[HPBannersHandler.CurrentItemIndex].Url.length > 0 ? HPBannersHandler.Items[HPBannersHandler.CurrentItemIndex].Url : "javascript:void(0);");

            jQuery('#HPBanner')
                .attr('src', HPBannersHandler.Items[HPBannersHandler.CurrentItemIndex].Src)
                .attr('alt', HPBannersHandler.Items[HPBannersHandler.CurrentItemIndex].Alt)
                .attr('title', HPBannersHandler.Items[HPBannersHandler.CurrentItemIndex].Alt).ready(function() {
            jQuery('#HPBannerLink').fadeIn(HPBannersHandler.FadeInTime, function() {
                        setTimeout("HPBannersHandler.RenderItem()", 10000);
                    });
                });
        });
        //jQuery(".caruselWrap .brandsRollerContainer").css('display', 'block');
    }
    , RenderSingleItem: function() {
        jQuery('#HPBanner')
            .attr('src', this.Items[this.CurrentItemIndex].Src)
            .attr('alt', this.Items[this.CurrentItemIndex].Alt)
            .attr('title', this.Items[this.CurrentItemIndex].Alt);
        
        jQuery('#HPBannerLink')
            .attr('href', this.Items[this.CurrentItemIndex].Url.length > 0 ? this.Items[this.CurrentItemIndex].Url : "javascript:void(0);");

    }
}
//===========================================================
// end HPBanner implementation
//===========================================================

//===========================================================
// Brands carusel implementation
//===========================================================
var oOffsetW = 0;
var oBrandsRollerItems = 9;
var iSpeedBrandsRoller = 1500;

function RollBrands(oDir) {
    var oObj = jQuery(".caruselWrap .brandsRollerContainer");
    var oObj2 = jQuery(".caruselWrap .brandsRoller");
    var oItemsArray = jQuery(".caruselWrap .brandsRollerContainer a");
    var oArrayL = oItemsArray.length;

    if (oObj.width() > oObj2.width()) {
        //start animation
        var oAnimOffset = ((oOffsetW + 17) * oBrandsRollerItems * oDir);

        if (oDir > 0) {
            var oI = 0;
            oItemsArray.each(function(index, oElem) {
                if (index >= oArrayL - oBrandsRollerItems) {
                    if (oI == 0) {
                        oObj.prepend(jQuery(oElem));
                    }
                    else {
                        jQuery(oElem).insertAfter(jQuery(".caruselWrap .brandsRollerContainer a:nth-child(" + oI + ")"));
                    }
                    oI++;
                }
            });
            if (oRTLCarusel) {
                oObj.css('right', (-oAnimOffset) + 'px');
            }
            else {
                oObj.css('left', (-oAnimOffset) + 'px');
            }
            oAnimOffset = 0;
        }

        if (oRTLCarusel) {
            oObj.animate({ 'right': oAnimOffset }, iSpeedBrandsRoller, function() {
                if (oDir < 0) {
                    oItemsArray.each(function(index, oElem) {
                        if (index < oBrandsRollerItems) {
                            jQuery(oElem).appendTo(oObj);
                        }
                    });

                    oObj.css('right', '0px');
                }
            });
        }
        else {
            oObj.animate({ 'left': oAnimOffset }, iSpeedBrandsRoller, function() {
                if (oDir < 0) {
                    oItemsArray.each(function(index, oElem) {
                        if (index < oBrandsRollerItems) {
                            jQuery(oElem).appendTo(oObj);
                        }
                    });

                    oObj.css('left', '0px');
                }
            });
        }
    }
}
//===========================================================
// end Brands carusel implementation
//===========================================================

//===========================================================
// Map popup implementation
//===========================================================
var oX = 0;
 var oY = 0;
 var iPopupArrowsStart = 0;
 var oBrandNodes = null;
 var oPopupOffsetItems = 0;
 var iSpeedPopupRoller = 1500;
 

 jQuery(document).mousemove(function (e) {
     oX = e.pageX;
     oY = e.pageY;
 });

 function CreateMapPopupNode(oObj) {
     var oHtml = "";
     if (oObj) {
         oHtml += "<div class='float boxBrand'><span class='imageWrap'>";
         oHtml += "<img src='" + oObj.find("img").attr("src") + "' alt=''/></span>";
         oHtml += "<span class='clear'></span>";
         if (oObj.find("fb_lnk").attr("url")!="")
         {
            oHtml += "<a href='" + oObj.find("fb_lnk").attr("url") + "' class='float facebook'></a>";
            oHtml += "<span class='float sep'></span>";
         }
         else
         {
            oHtml += "<span class='noFacebook'>&nbsp;</span>";
         }

         if (oObj.find("lnk")[0].childNodes.length > 0) {
             oHtml += "<a href='" + oObj.find("lnk").attr("url") + "' class='float brandLink'>" + oObj.find("lnk")[0].childNodes[0].data + "</a>";
         }
         if (oObj.find("txt")[0].childNodes.length > 0) {
             oHtml += "<span class='float brandText'>" + oObj.find("txt")[0].childNodes[0].data + "</span>";
         }
         oHtml += "</div>";
     }
     return oHtml;
 }

 function CreateMapPopupContainer() {
     var oHtml = "<span class='heightpopup arrowLeft' onclick='";
     oHtml += "RollContent(1);";
     oHtml += "'></span>";
     oHtml += "<div class='heightpopup leftFade'>";
     oHtml += "<div class='heightpopup rightFade'>";
     oHtml += "<div class='rollerContent heightpopup'></div>";
     oHtml += "</div></div>";
     oHtml += "<span class='heightpopup heightpopuptop arrowRight' onclick='";
     oHtml += "RollContent(-1);";
     oHtml += "'></span>";
     oHtml += "<span class='float linkToBrands'>";
     oHtml += "<a href='" + oGP_lnk + "'>" + oGP_lnktxt + "</a>";
     oHtml += "</span>";

     return oHtml;
 }
 
 function MapOpenPopup(oPageDatID) {

     oBrandNodes = null;
     iPopupArrowsStart = 0;
     var oW = '730px';
     var oH = '398px';
     
     var oPopupContent = jQuery("div.hpMapPopup .innerContent");
     oPopupContent.html("");

     var oPinData = jQuery(oXMLPins).find("pin[id='" + oPageDatID + "']");

     if (oPinData) {
         jQuery("div.hpMapPopup .popupTitle").html(oPinData.attr("name"));

         oBrandNodes = oPinData.find("brand");
         var oHtml = "";
         var iLimit = oBrandNodes.length;

         if (oBrandNodes.length > 9) {
             // display mode with arrows
             oPopupOffsetItems = 9;
             oHtml = CreateMapPopupContainer();
         }
         else {
             // display mode without arrows
             if (oBrandNodes.length < 4) {
                 oH = '110px';
             }
             else {
                 if (oBrandNodes.length > 6) {
                    oH = '330px';
                 }
                 else
                 {
                    oH = '220px';
                 }
             }
             oW = ((180 * ((oBrandNodes.length % 3) == 0 ? 3 : (oBrandNodes.length % 3))) + 70) + "px";
             if (oBrandNodes.length == 0) {
                 oH = '20px';
                 oW = '250px';
                 jQuery('div.hpMapPopup .innerContent').html("<span class='noBrands'>No brands in this region.</span>");
                 jQuery('div.hpMapPopup .innerContent').css('margin-top', '17px');
             }
             
             oPopupOffsetItems = iLimit;
         }

         var oItems = "";
         if (oBrandNodes.length > 0) {
             iLimit = oPopupOffsetItems;
             if (iLimit > oBrandNodes.length) {
                 iLimit = oBrandNodes.length;
             }

             for (iIndex = iPopupArrowsStart; iIndex < iLimit; iIndex++) {
                 var osHtml = CreateMapPopupNode(jQuery(oBrandNodes[iIndex]));
                 if (osHtml != "") {
                     oItems += osHtml;
                 }
             }
         }

         if (oHtml != "") {
             //arrows design
             jQuery(oHtml).appendTo(oPopupContent);
             oPopupContent = oPopupContent.find(".rollerContent");
         }

         if (oPopupContent) {
             //add all items to popup content
             jQuery(oItems).appendTo(oPopupContent);
         }
     }
     else {
         oH = '20px';
         oW = '250px';
         jQuery('div.hpMapPopup .innerContent').html("<span class='noBrands'>No brands in this region.</span>");
         jQuery('div.hpMapPopup .innerContent').css('margin-top', '17px');
     }

     if (oBrandNodes.length <= 9) {
         jQuery("<span class='float linkToBrands'><a href='" + oGP_lnk + "'>" + oGP_lnktxt + "</a></span>").appendTo(jQuery('div.hpMapPopup .innerContent'));
     }

     var oPopupObj = jQuery('div.hpMapPopup');
     oPopupObj.appendTo(jQuery(document.body));

     jQuery('div.hpMapPopup .innerContent').css({ 'height': oH });
     oPopupObj.css({ 'width': oW });

     var x = oX - oPopupObj.width() + 36;
     if (!oRTL)
     {
        x = oX - 36;
     }
     var y = oY - oPopupObj.height() - 2;

     oPopupObj.css({ 'display': 'inline', 'left': x + 'px', 'top': y + 'px' });
 }

 function RollContent(iDir) {

     var oOldStart = iPopupArrowsStart;
     iPopupArrowsStart = iPopupArrowsStart + (iDir * oPopupOffsetItems);
     if (iPopupArrowsStart >= 0 && iPopupArrowsStart < oBrandNodes.length) {

         var oObj = jQuery("div.hpMapPopup .rollerContent");

         //create new box of items
         var oObj2 = jQuery("<div id='rlc_2' class='rollerContent heightpopup'></div>");
         var oItems = "";
         var iLimit = iPopupArrowsStart + oPopupOffsetItems;
         if (iLimit > oBrandNodes.length) {
             iLimit = oBrandNodes.length;
         }

         for (iIndex = iPopupArrowsStart; iIndex < iLimit; iIndex++) {
             var osHtml = CreateMapPopupNode(jQuery(oBrandNodes[iIndex]));
             if (osHtml != "") {
                 oItems += osHtml;
             }
         }
         //append to container
         jQuery(oItems).appendTo(oObj2);

         //make animation
         var oW = oObj.width();
         
         if (oRTL)
         {
             if (iDir > 0) {
                 oObj2.css("margin-right", (-oW) + "px");
                 jQuery("div.hpMapPopup .rightFade").prepend(oObj2);

                 oObj.animate({ "margin-right": (oW - 10) }, iSpeedPopupRoller);
                 oObj2.animate({ "margin-right": 5 }, iSpeedPopupRoller, function() { oObj.remove(); oObj2.removeAttr("id"); });
             }
             else {
                 oObj2.css("margin-right", (oW - 10) + "px");
                 oObj2.appendTo(jQuery("div.hpMapPopup .rightFade"));

                 oObj.animate({ "margin-right": (-oW) }, iSpeedPopupRoller);
                 oObj2.animate({ "margin-right": 5 }, iSpeedPopupRoller, function() { oObj.remove(); oObj2.removeAttr("id"); });
             }
         }
         else
         {
            if (iDir > 0) {
                 oObj2.css("margin-left", oW + "px");
                 oObj2.appendTo(jQuery("div.hpMapPopup .rightFade"));
                 

                 oObj.animate({ "margin-left": (-oW + 10) }, iSpeedPopupRoller);
                 oObj2.animate({ "margin-left": 23 }, iSpeedPopupRoller, function() { oObj.remove(); oObj2.removeAttr("id"); });
             }
             else {
                 oObj2.css("margin-left", (-oW + 10) + "px");
                 jQuery("div.hpMapPopup .rightFade").prepend(oObj2);

                 oObj.animate({ "margin-left": oW }, iSpeedPopupRoller);
                 oObj2.animate({ "margin-left": 23 }, iSpeedPopupRoller, function() { oObj.remove(); oObj2.removeAttr("id"); });
             }
         }
     }
     else {
        iPopupArrowsStart = oOldStart;
     }
 }

 // Name: createXMLDocument
 // Input: String
 // Output: XML Document
 jQuery.createXMLDocument = function(string) {
     var browserName = navigator.appName;
     var doc;
     if (browserName == 'Microsoft Internet Explorer') {
         doc = new ActiveXObject('Microsoft.XMLDOM');
         doc.async = 'false'
         doc.loadXML(string);
     } else {
         doc = (new DOMParser()).parseFromString(string, 'text/xml');
     }
     return doc;
 }
//===========================================================
// end map popup implementation
//===========================================================

//===========================================================
// menu implementation
//===========================================================
jQuery(document).ready(function() {
 jQuery("#ulMenu li[class!='separator']").unbind("mouseenter");

 jQuery("#ulMenu li[class!='separator']").each(function(index, oElem) {
     jQuery(oElem).mouseenter(function(event) {
         //chnage image src
         var oImg = jQuery(this).find("img");
         if (oImg) {
             if (oImg.attr("alt") != "") {
                 var oSrc = oImg.attr("src");
                 oImg.attr("src", oImg.attr("alt"));
                 oImg.attr("alt", oSrc);
             }
         }

         jQuery("#ulMenu li[class!='separator'] .subMenu").remove();
         ActivateSubmenu(index);
     });

     jQuery(oElem).mouseleave(function(event) {
         var oImg = jQuery(this).find("img");
         if (oImg) {
             if (oImg.attr("alt") != "") {
                 var oSrc = oImg.attr("src");
                 oImg.attr("src", oImg.attr("alt"));
                 oImg.attr("alt", oSrc);
             }
         }

         jQuery("#ulMenu li[class!='separator'] .subMenu").remove();
     });
 });
});

function ActivateSubmenu(iIndex) {
 var oLI = null;
 jQuery("#ulMenu li[class!='separator']").each(function(index, oElem) {
     if (index == iIndex) {
         oLI = jQuery(oElem);
     }
 });

 var oVar1 = eval("mArName_" + iIndex);
 var oVar2 = eval("mArUrl_" + iIndex);

 var oWidth = oLI.width();
 var oH = oLI.height();
 var oL = oLI.position().left;
 var oT = oLI.position().top;
 oT = oT + oH;

 var oHtml = "<div class='subMenu' style='top:" + oT + "px;'>";
 
 for (i = 0; i < oVar1.length; i++) {
     oHtml += "<a href='" + oVar2[i] + "' target='_top'>" + oVar1[i] + "</a>";
 }
 oHtml += "</div>";

 jQuery(oHtml).appendTo(oLI);

 if (oRTL) {
     oL = oL - jQuery("#ulMenu .subMenu").width() + oWidth + 4;
 }
 jQuery("#ulMenu .subMenu").css({ "left": oL + "px" });
}
//===========================================================
// end menu implementation
//===========================================================
