/*
 * jQuery ifixpng plugin
 * (previously known as pngfix)
 * Version 2.1  (23/04/2008)
 * @requires jQuery v1.1.3 or above
 *
 * Examples at: http://jquery.khurshid.com
 * Copyright (c) 2007 Kush M.
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
  
(function($) {

	/**
	 * helper variables and function
	 */
	$.ifixpng = function(customPixel) {
		$.ifixpng.pixel = customPixel;
	};
	
	$.ifixpng.getPixel = function() {
		return $.ifixpng.pixel || '/Templates/Main/Images/pixel.gif'; // add correct 
	};
	
	var hack = {
		ltie7  : $.browser.msie && $.browser.version < 7,
		filter : function(src) {
			return "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=crop,src='"+src+"')";
		}
	};
	
	/**
	 * Applies ie png hack to selected dom elements
	 *
	 * $('img[@src$=.png]').ifixpng();
	 * @desc apply hack to all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').ifixpng();
	 * @desc apply hack to element #panel and all images with png extensions
	 *
	 * @name ifixpng
	 */
	$.fn.ifixpng = hack.ltie7 ? function() {
    	return this.each(function() {
			var $$ = $(this);

			// in case rewriting urls
			var base = $('base').attr('href');
			if (base) {
				// remove anything after the last '/'
				base = base.replace(/\/[^\/]+$/,'/');
			}
			if ($$.is('img') || $$.is('input')) { // hack image tags present in dom
				if ($$.attr('src')) {
					if ($$.attr('src').match(/.*\.png([?].*)?$/i)) { // make sure it is png image
						// use source tag value if set 
						var source = (base && $$.attr('src').search(/^(\/|http:)/i)) ? base + $$.attr('src') : $$.attr('src');
						// apply filter
						$$.css({filter:hack.filter(source), width:$$.width(), height:$$.height()})
						  .attr({src:$.ifixpng.getPixel()})
						  .positionFix();
					}
				}
			} else { // hack png css properties present inside css
				var image = $$.css('backgroundImage');
				if (image.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)) {
					image = RegExp.$1;
					image = (base && image.substring(0,1)!='/') ? base + image : image;
					$$.css({backgroundImage:'none', filter:hack.filter(image)})
					  .children().children().positionFix();
				}
			}
		});
	} : function() { return this; };
	
	/**
	 * Removes any png hack that may have been applied previously
	 *
	 * $('img[@src$=.png]').iunfixpng();
	 * @desc revert hack on all images with png extensions
	 *
	 * $('#panel, img[@src$=.png]').iunfixpng();
	 * @desc revert hack on element #panel and all images with png extensions
	 *
	 * @name iunfixpng
	 */
	 
	$.fn.iunfixpng = hack.ltie7 ? function() {
    	return this.each(function() {
			var $$ = $(this);
			var src = $$.css('filter');
			if (src.match(/src=["']?(.*\.png([?].*)?)["']?/i)) { // get img source from filter
				src = RegExp.$1;
				if ($$.is('img') || $$.is('input')) {
					$$.attr({src:src}).css({filter:''});
				} else {
					$$.css({filter:'', background:'url('+src+')'});
				}
			}
		});
	} : function() { return this; };
	
	/**
	 * positions selected item relatively
	 */
	 
	$.fn.positionFix = function() {
		return this.each(function() {
			var $$ = $(this);
			var position = $$.css('position');
			if (position != 'absolute' && position != 'relative') {
				$$.css({position:'relative'});
			}
		});
	};

})(jQuery);



/* Infinite Carousell 
*  Base Made By JQueryForDesigners.com
*  Extended by Phosworks
*
*/

$.fn.infiniteCarousel = function(custom) {


	function repeat(str, num) {
		return new Array(num + 1).join(str);
	}

	return this.each(function() {

		var $wrapper = $('.wrapper', this).css('overflow', 'hidden'),
            $slider = $wrapper.find('> ul'),
            $items = $slider.find('> li'),
            $single = $items.filter(':first'),

			singleWidth = $single.outerWidth(),
			visible = Math.ceil($wrapper.innerWidth() / singleWidth),
            currentPage = 1,
			cSpeed = 500,
            pages = Math.ceil($items.length);
		var myInterval;

		// 1. If items is less then the visible items, abort the carousel
		if (pages <= visible) {
			return false
		}

		// 2. Top and tail the list with 'visible' number of items, top has the last section, and tail has the first
		$items.filter(':first').before($items.slice(-visible).clone().addClass('cloned'));
		$items.filter(':last').after($items.slice(0, visible).clone().addClass('cloned'));
		$items = $slider.find('> li'); // reselect
		// 3. Set the left position to the first 'real' item
		$wrapper.scrollLeft(singleWidth * visible);

		// 4. paging function
		function gotoPage(page) {

			controllerID = page - 1;
			$("#dock3 a").removeClass("selected");
			if (page > pages) {
				$("#dock3 a").eq(0).addClass("selected");
			}
			else if (page == 0) {
				$("#dock3 a").eq(pages - 1).addClass("selected");
			}
			else {
				$("#dock3 a").eq(controllerID).addClass("selected");
			}


			var dir = page < currentPage ? -1 : 1,
                n = Math.abs(currentPage - page),
                left = singleWidth * dir * n;

			$wrapper.filter(':not(:animated)').animate({
				scrollLeft: '+=' + left
			}, cSpeed, function() {
				if (page == 0) {
					$wrapper.scrollLeft(singleWidth * (pages + (visible - 1)));
					page = pages;
				} else if (page > pages) {
					$wrapper.scrollLeft(singleWidth * visible);
					// reset back to start position
					page = 1;
				}

				currentPage = page;
			});

			return false;
		}

		function triggerTimer() {
			myInterval = setInterval(function() { return gotoNextPage() }, 15000);
		}

		function clearTimer() {
			if (myInterval !== undefined) {
				clearInterval(myInterval);
			}

		}

		function gotoNextPage() {
			gotoPage(currentPage + 1);
		}

		$wrapper.after('<span class="prevBtn"><a href="javascript:void(0);" class="png">Previous</a></span>');
		$wrapper.after('<span class="nextBtn"><a href="javascript:void(0);" class="png">Next</a></span>');

		if (custom == "pager") {
			$("#dock3 a").eq(0).addClass("selected");
			cSpeed = 1500;
			triggerTimer();
		}

		// 5. Bind to the forward and back buttons
		$('.prevBtn', this).click(function() {
			clearTimer();
			return gotoPage(currentPage - 1);
		});

		$('.nextBtn', this).click(function() {
			clearTimer();
			return gotoPage(currentPage + 1);
		});

		// bind controlls to paging function
		$('.#dock3 a', this).click(function() {
			gotoPageNum = $("#dock3 a").index(this) + 1;
			clearTimer();
			return gotoPage(gotoPageNum);
		});

		// create a public interface to move to a specific page
		$(this).bind('goto', function(event, data) {
			clearTimer();
			gotoPage(data.page);
		});
	});
};


/*
* "jQuery checkbox v.1.3.0 Beta 1"
* http://widowmaker.kiev.ua/checkbox/
*/
displayForm = function (elementId)	{
				var content = [];
				$('#' + elementId + ' input').each(function(){
					var el = $(this);
					if ( (el.attr('type').toLowerCase() == 'radio'))
					{
						if ( this.checked )
							content.push([
								'"', el.attr('name'), '": ',
								'value="', ( this.value ), '"',
								( this.disabled ? ', disabled' : '' )
							].join(''));
					}
					else
						content.push([
							'"', el.attr('name'), '": ',
							( this.checked ? 'checked' : 'not checked' ), 
							( this.disabled ? ', disabled' : '' )
						].join(''));
				});
				//alert(content.join('\n'));
}
			
changeStyle = function(skin) {
	jQuery('#myform :checkbox').checkbox((skin ? {cls: skin} : {}));
}


jQuery.extend( jQuery.easing,
{
	def: 'easeOutCubic',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	}
});







var GUI = function () {
    function initGUI() {

        if ($.browser.msie && $.browser.version < 7)
        { MiscGUIFixes(false); }

        HideJavaScriptElements();
        $("img[src$='.png'], .png").ifixpng();
        MenuFixes();
        imageGallery();
        DimensionGallery(); // Added by Jakob Starmind 2010-12-13

        HorizontalTabList();

        infiniteSlider();

        tooltip(); //adds tooltip popup
        galleryTray();

        sliderGallery();
        //datePicker();
        selectJs();
        activateButtons();
        preloadImages();
        hideBgEpi();

        mediaGallery(); // Added by Mattias Logica 2009-12-04

        window.firstTimeGallery2 = 1; // check if it's the first time gallery2 opens		
    }


    function MiscGUIFixes(partialupdate) {
        HoverClassHelper('#mainNav > li', 'hover');
    }

    function MenuFixes() {
        if ($.browser.msie && $.browser.version == 7) {

            /* removes blue border on current*/
            $("#mainNav .nNDropDownV1").hover(
			  function () {
			      $("#mainNav .current").css("border-bottom", "none");
			  },
			  function () {
			      $("#mainNav .current").css("border-bottom", "4px solid #59bee4");
			  }
			);
        }
    }

    function hideBgEpi() {
        // Remove Background-Images in editmode for IE6
        if ($.browser.msie && $.browser.version < 7 && top != window) {
            $("body").css({ 'background': 'none' });
        }

    }

    function preloadImages() {

        //for all pages - ToDo 
        //headerPic1= new Image(1200,1000); 
        //headerPic1.src="images/mainNav/modalDropDown.png";		 
    }


    function selectJs() {

        if ($(".selectJs").length > 0) {
            $(".selectJs").selectbox();
        }
    }

    function HoverClassHelper(selector, cssclass) {
        $(selector).hover(
			function () { $(this).toggleClass(cssclass); },
			function () { $(this).toggleClass(cssclass); }
		);
    }

    function infiniteSlider() {

        selectedCt1 = $(".carouselType1 .wrapper ul .selected"); // for the series carousel, selected element
        indexOfselectedCt1 = $(".carouselType1 li").index(selectedCt1); // for the series carousel, index of selected element



        if ($(".infiniteCarousel").length > 0) {

            jQuery.easing.def = "easeOutCubic";
            if ($(".startCarousel").length > 0) {
                $('.startCarousel').infiniteCarousel("pager");
            }
            else if ($(".carouselTypeMp2").length > 0) { }

            $('.infiniteCarousel').not(".carouselTypeMp2, .startCarousel").infiniteCarousel("none");
        }

        $(".carouselType1").trigger("goto", { page: indexOfselectedCt1 + 1 }); // for the series carousel, goto selected item

    }

    function galleryTray() {

        //Dock for Plan&Design
        if ($('#dock2').length > 0) {
            $('#dock2').Fisheye(
					{
					    maxWidth: 28,
					    items: 'a',
					    itemsText: 'span',
					    container: '.dock-container2',
					    itemWidth: 72,
					    proximity: 10,
					    alignment: 'left',
					    valign: 'bottom',
					    halign: 'center'
					}
				)
        }

        //vertical Dock for StartPage
        if ($('#dock3').length > 0) {

            currentTop = ($('#dock3').parent().innerHeight() - $('#dock3').outerHeight()) / 2;
            ofsettTop = currentTop - 10;
            $('#dock3').css({ 'top': currentTop });

            $('#dock3 a').each(function (intIndex) {
                $(this).css({ 'top': intIndex * (-3) });
            });

            $('#dock3 a').mouseenter(function () {
                $('#dock3').stop();
                $(this).stop();
                $(this).animate({ width: '110px' }, 300, function () { $(this).css({ 'overflow': 'hidden' }); });
                $('#dock3').animate({ top: ofsettTop + 'px' }, 300);

            }).mouseleave(function () {
                $('#dock3').stop();
                $(this).stop();
                $(this).animate({ width: '70px' }, 300, function () { $(this).css({ 'overflow': 'visible' }); });
                $('#dock3').animate({ top: currentTop + 'px' }, 300);
            });
        }



    }

    function activateButtons() {

        $('#headerCompare').click(function () {
            $(".modalPopup").hide();
            popPosition = $(this).position();
            $('.mp_compareProducts').css({ 'display': 'block', 'top': (134 + popPosition.top + $(this).outerHeight()), 'left': (popPosition.left - $('.mp_compareProducts').outerWidth() + $(this).outerWidth() + 8) });
        });

        $('.email').click(function () {
            $(".modalPopup").hide();
            popPosition = $(this).offset();
            contentPosition = $("#content").offset();
            $('.mp_sendToAFriend').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight()), 'left': (popPosition.left - contentPosition.left - $('.mp_sendToAFriend').outerWidth() + $(this).outerWidth()) });
            return false;
        });

        $('.emailLeft').click(function () {
            $(".modalPopup").hide();
            popPosition = $(this).offset(); //35 1
            contentPosition = $("#content").offset(); //1016 134
            $('.mp_sendToAFriend').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight()), 'left': (35) });
            return false;
        });

        $('.previewEmail').click(function () {
            $('.mp_sendToAFriend').css({ 'width': '670px' });
            $('.mp_emailprev').css({ 'display': 'block' });
            $('.mp_sendToAFriend').animate({
                left: "150px"
            }, 2000);
        });

        $('.share').click(function () {
            $(".modalPopup").hide();
            popPosition = $(this).offset();
            contentPosition = $("#content").offset();
            $('.mp_socialBookmarking').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight()), 'left': (popPosition.left - contentPosition.left - $('.mp_socialBookmarking').outerWidth() + $(this).outerWidth()) });
            return false;
        });

        $('.shareLeft').click(function () {
            $(".modalPopup").hide();
            popPosition = $(this).offset();
            contentPosition = $("#content").offset();
            $('.mp_socialBookmarking').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight()), 'left': (35) });
            return false;
        });

        $('.datepickerInput').focus(function () {
            $(".modalPopup").hide();
            window.currentDatepicker = $(this);
            popPosition = $(this).offset();
            contentPosition = $("#content").offset();
            $('.mp_smallCalendar').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight() - 90), 'left': (popPosition.left - contentPosition.left - $('.mp_socialBookmarking').outerWidth() + $(this).outerWidth()) });
        });

        $('.datepickerBtn').click(function () {
            $(".modalPopup").hide();
            window.currentDatepicker = $(this).parent().find("input");
            popPosition = $(this).offset();
            contentPosition = $("#content").offset();
            $('.mp_smallCalendar').css({ 'display': 'block', 'top': (popPosition.top + $(this).outerHeight() - 90), 'left': (popPosition.left - contentPosition.left - $('.mp_socialBookmarking').outerWidth() + $(this).outerWidth()) });
        });

    }

    /* -- OLD DATEPICKER - REMOVE IF NEW WORKS
    function datePicker() {

    if ($(".datepicker").length > 0) {

    Date.firstDayOfWeek = 0;
    Date.format = 'mm/dd/yyyy';

    $('.datepicker').datePicker({ inline: true }).bind(
    'dateSelected',
    function(e, selectedDate, $td) {
    window.currentDatepicker.val('' + selectedDate.getDate() + '/' + selectedDate.getMonth() + '/' + selectedDate.getFullYear());
    }
    );
    }
    }*/

    function datePicker() {

        if ($(".datepicker").length > 0) {

            Date.firstDayOfWeek = 0;
            Date.format = 'mm/dd/yyyy';

            $('.datepicker').datePicker({ startDate: '01/01/1970', inline: true }).bind(
							'dateSelected',
							function (e, selectedDate, $td) {
							    window.currentDatepicker.val('' + getCustomFullMonth(selectedDate.getMonth()) + '/' + getCustomFullDate(selectedDate.getDate()) + '/' + selectedDate.getFullYear());
							}
						);
        }
    }

    //Custom GetDate functions
    function getCustomFullDate(dateValue) {
        dateValue = dateValue.toString();

        if (dateValue.length == 1) {
            dateValue = "0" + dateValue;
        }
        return dateValue;
    }

    function getCustomFullMonth(dateValue) {

        dateValue = dateValue + 1;
        dateValue = dateValue.toString();

        if (dateValue.length == 1) {
            dateValue = "0" + dateValue;
        }

        return dateValue;
    }

    function getCustomYear(dateValue) {
        dateValue = dateValue.toString();

        if (dateValue.length == 4) {
            dateValue = dateValue.substring(2);
        }
        return dateValue;
    }

    function sliderGallery() {

        if ($(".sliderGallery").length > 0) {

            var container = $('.sliderGallery');
            var ul = $('.sliderGallery ul');
            //$(".sliderGallery ul").width(9999);				
            var itemsWidth = ul.innerWidth() - container.outerWidth();


            $('.slider').slider({
                min: 0,
                max: itemsWidth,
                stop: function (event, ui) {
                    ul.animate({ 'left': ui.value * -1 }, 500);
                },
                slide: function (event, ui) {
                    ul.css('left', ui.value * -1);
                }
            });
        }
    }

    function HideJavaScriptElements() {
        $(".noJS").hide();
    }

    function HorizontalTabList() {

        $(".tlhButtonWrapper li").click(function () {

            $(".tlhButtonWrapper li").removeClass("tlhSelectedTrue")
            $(this).addClass("tlhSelectedTrue");

            $(".tlhContentWrapper").hide();
            $(".tlhContentWrapper").eq($(".tlhButtonWrapper li").index(this)).fadeIn(500);

        });

    }

    function tooltip() {

        $(".toolTip").bind("mouseenter", function () {
            $(".mp_toolTip .toolTipHeader").text($(this).parent().text());
            $(".mp_toolTip .toolTipText").html($(this).attr("alt"));

            // Prevent alt-text from being displayed in IE
            $(this).attr("alt", "");

            var left = $(this).offset().left - $("#content").offset().left - $(".mp_toolTip").width() - 5;

            if (left < 0) {
                left = $(this).offset().left - $("#content").offset().left + 32;
                $(".mp_toolTip .TooltipArrow").addClass("TooltipArrowLeft");
                $(".mp_toolTip .TooltipArrow").attr("src", "/Templates/Main/Images/common/modalPopupTooltipArrowLeft.gif");
            }
            else {
                $(".mp_toolTip .TooltipArrow").removeClass("TooltipArrowLeft");
                $(".mp_toolTip .TooltipArrow").attr("src", "/Templates/Main/Images/common/modalPopupTooltipArrow.gif");
            }

            $(".mp_toolTip").css({ 'display': 'block', 'top': $(this).offset().top - 43, 'left': left });
            return false;
        }).bind("mouseleave", function () {
            $(".mp_toolTip").css({ 'display': 'none' });

            // Restore cleared alt-text
            $(this).attr("alt", $(".mp_toolTip .toolTipText").html());
        });

        tooltWidth = $(".mp_toolTip").width() / 2;
        var img = $('.toolTipImg');
        var alt;

        $(".toolTipSpan").bind("mousemove", function (e) {
            var toolTipText = $(this).find(".toolTipInfo").html();
            $(".mp_toolTip .toolTipText").html(toolTipText);
            $(".mp_toolTip").css({ 'display': 'block', 'top': $(this).offset().top - 6, 'left': e.pageX - $("#content").offset().left - tooltWidth });
        }).bind("mouseleave", function () {
            $(".mp_toolTip").css({ 'display': 'none' });
        });
        img.bind("mouseenter", function (e) {
            $(".mp_toolTip .toolTipText").html($(this).attr('alt'));
            $(this).attr('alt', '');
        }).bind("mousemove", function (e) {
            $(".mp_toolTip").css({ 'display': 'block', 'top': $(this).offset().top - 6, 'left': e.pageX - $("#content").offset().left - tooltWidth });
        }).bind("mouseleave", function () {
            $(".mp_toolTip").css({ 'display': 'none' });
            $(this).attr("alt", $(".mp_toolTip .toolTipText").html());
        });
    }

    //    function imageGallery() {

    //        var picIndex = 0;
    //        var picContainer = $("#TempValue");
    //        var borderStyle = "3px solid #ED7921";

    //        if ($(".customImagesContainer li").length > 0) {
    //            var nrOfPics = $(".customImagesContainer li").length - 1;
    //            var picContainer = $(".customImagesContainer li");
    //            var picWrapper = $(".customImagesContainer");
    //        }
    //        else if ($(".productImageGallery li").length > 0) {
    //            var nrOfPics = $(".productImageGallery li").length - 1;
    //            var picContainer = $(".productImageGallery li");
    //            var picWrapper = $(".productImageGallery");
    //        }

    //        $(".galleryTotalImg").text(nrOfPics + 1);

    //        $(".mpPrevBtn,.mpNextBtn").click(function () {
    //            if ($(this).hasClass("mpPrevBtn")) {
    //                if (picIndex <= 0) { picIndex = nrOfPics; }
    //                else { picIndex = picIndex - 1; }
    //            }
    //            else {
    //                if (picIndex >= nrOfPics) { picIndex = 0; }
    //                else { picIndex = picIndex + 1; }
    //            }

    //            currentImg = $(".customImagesContainer li").eq(picIndex);
    //            imageGalleryDisplay(picIndex, currentImg);
    //        });

    //        picContainer.click(function () {
    //            picIndex = picContainer.index(this)
    //            $(".mp_imageGallery").show();
    //            $(".mp_imageGallery").css("top", $("html").scrollTop() + 50);
    //            $("#overlay").show();
    //            imageGalleryDisplay(picIndex, this);
    //        });

    //        function imageGalleryDisplay(picIndex, currentImg) {
    //            picWrapper.find("img").css({ 'border-top': 'none' });
    //            //$("img", currentImg).css({ 'border-top': borderStyle });
    //            $(".galleryCurrentImg").text(picIndex + 1);
    //            var $singleFlashSrc = $(".singleflashsrc", currentImg);

    //            if ($singleFlashSrc.length > 0 && $singleFlashSrc.html().length > 1) {
    //                // Show stand alone swf
    //                var singleFlashSrc = $singleFlashSrc.html();
    //                var mediaWidth = $(".mediawidth", currentImg).html();
    //                var mediaHeight = $(".mediaheight", currentImg).html();
    //                var bgColor = $(".mediabgcolor", currentImg).html();
    //                $(".mp_imageGallery #galleryBigPic").html('<div id="galleryMedia">&nbsp;</div>');

    //                // EmbedSwf and EmbedFlv function is found in common.js
    //                if (singleFlashSrc.toLowerCase().indexOf(".flv") > 0)
    //                    EmbedFlv("galleryMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, singleFlashSrc, mediaWidth, mediaHeight, bgColor);
    //                else
    //                    EmbedSwf("galleryMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, singleFlashSrc, mediaWidth, mediaHeight, bgColor);
    //            }
    //            else if ($(".globalconfig", currentImg).length > 0 && $(".globalconfig", currentImg).html().length > 0) {
    //                // Show media
    //                var globalConfigPath = $(".globalconfig", currentImg).html();
    //                var localConfigPath = $(".localconfig", currentImg).html();
    //                var textXmlUrl = $(".textxml", currentImg).html();
    //                var mediaWidth = $(".mediawidth", currentImg).html();
    //                var mediaHeight = $(".mediaheight", currentImg).html();
    //                var bgColor = $(".mediabgcolor", currentImg).html();
    //                var locale = $(".locale", currentImg).html();

    //                $(".mp_imageGallery #galleryBigPic").html('<div id="galleryMedia">&nbsp;</div>');
    //                // EmbedMediaPlayer-function is found in common.js
    //                EmbedMediaPlayer("galleryMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, mediaWidth, mediaHeight, bgColor);
    //            }
    //            else {
    //                $(".mp_imageGallery #galleryBigPic").html('<img src="' + $("span", currentImg).text() + '" alt="AEG" />');
    //            }

    //            if ($('.heading', currentImg).length > 0)
    //                $('.mp_imageGallery h3').html($('.heading', currentImg).html());
    //            else {
    //                $('.mp_imageGallery h3').html('');
    //            }

    //            if ($('.paragraphText', currentImg).length > 0)
    //                $(".mp_imageGallery p").html($('.paragraphText', currentImg).html());
    //            else
    //                $(".mp_imageGallery p").html('&nbsp;');
    //        }
    //    }

    function imageGallery() {
        var picIndex = 0;
        var picContainer = $("#TempValue");
        var initialGalleryHeading = $('.mp_imageGallery h1').html();

        if ($(".customImagesContainer li").length > 0) {
            var nrOfPics = $(".customImagesContainer li").length - 1;
            var picContainer = $(".customImagesContainer li");
            var picWrapper = $(".customImagesContainer");
        }
        else if ($(".productImageGallery li").length > 0) {
            var nrOfPics = $(".productImageGallery li").length - 1;
            var picContainer = $(".productImageGallery li");
            var picWrapper = $(".productImageGallery");
        }

        $(".galleryTotalImg").text(nrOfPics + 1);

        $(".mpPrevBtn").click(function () {
            if (picIndex <= 0) { picIndex = nrOfPics; }
            else { picIndex = picIndex - 1; }
            currentImg = picContainer.eq(picIndex);
            prevNextClick(picIndex, currentImg);
        });
        $(".mpNextBtn").click(function () {
            if (picIndex >= nrOfPics) { picIndex = 0; }
            else { picIndex = picIndex + 1; }
            currentImg = picContainer.eq(picIndex);
            prevNextClick(picIndex, currentImg);
        });
        picContainer.click(function () {
            $(".mp_imageGallery").show();
            $(".mp_imageGallery").css("top", $("html").scrollTop() + 50);
            picIndex = picContainer.index(this);
            prevNextClick(picIndex, this);
        });

        function prevNextClick(picIndex, currentImg) {
            picWrapper.find(".selectedImg").css({ 'display': 'none' });
            $(".selectedImg", currentImg).css({ 'display': 'block' });
            $(".galleryCurrentImg").text(picIndex + 1);

            // Single Flash
            var $singleFlashSrc = $(".singleflashsrc", currentImg);
            if ($singleFlashSrc.length > 0) {
                var singleFlashSrc = $singleFlashSrc.html().trim();
                // Global Config
                var globalConfigPath = $(".globalconfig", currentImg).html().trim();
                // Local Config
                var localConfigPath = $(".localconfig", currentImg).html().trim();
                // Text Xml
                var textXmlUrl = $(".textxml", currentImg).html().trim();
                // Media Width
                var mediaWidth = $(".mediawidth", currentImg).html().trim();
                // Media Height
                var mediaHeight = $(".mediaheight", currentImg).html().trim();
                // Background color
                var bgColor = $(".mediabgcolor", currentImg).html().trim();
                // Locale
                var locale = $(".locale", currentImg).html().trim();

                $(".mp_imageGallery #galleryBigPic").html('<div id="galleryMedia">&nbsp;</div>');

                // EmbedSwf and EmbedFlv function is found in common.js
                if (singleFlashSrc.toLowerCase().indexOf(".flv") > 0) {
                    EmbedFlv("galleryMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, singleFlashSrc, mediaWidth, mediaHeight, bgColor);
                }
                else {
                    EmbedSwf("galleryMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, singleFlashSrc, mediaWidth, mediaHeight, bgColor);
                }
            }
            // Image
            else {
                $(".mp_imageGallery #galleryBigPic").html('<img src="' + $("span", currentImg).text() + '" alt="Electrolux" />');
            }

            var headingExists = false;

            if ($('.heading', currentImg).length > 0) {
                var heading = $('.heading', currentImg).html();

                if (heading.length > 0) {
                    $('.mp_imageGallery h1').html(heading);
                    headingExists = true;
                }
            }

            if (!headingExists) {
                $('.mp_imageGallery h1').html(initialGalleryHeading);
            }

            if ($('.paragraphText', currentImg).length > 0)
                $(".mp_imageGallery p").html($('.paragraphText', currentImg).html());
            else
                $(".mp_imageGallery p").html('&nbsp;');
        }
    }

    function DimensionGallery() {
        var dimensionIndex = 0;
        // Show toolbar menu
        $(".DimensionThumb").click
        (
            function () {
                featureIndex = $("a.DimensionThumb").index(this);
                var mp = $("#mp_dimensionGallery");
                var scrollBrowser;
                var scrollHeight;
                var centerX = $("#container").outerWidth() * 0.5;
                var scrollLeft = centerX - 700 * 0.5
                if ($.browser.safari) {
                    scrollBrowser = $("#container");
                    scrollHeight = 600;
                }
                else {
                    scrollBrowser = $("html");
                    scrollHeight = 50;
                }
                mp.show();
                mp.css("top", scrollBrowser.scrollTop() + scrollHeight);
                mp.css("left", scrollBrowser.scrollLeft() + scrollLeft);
                displayDimension(dimensionIndex, this);
            }
        );

        $(".DimensionThumb2").click
        (
            function () {
                $(this).siblings("a.DimensionThumb").click();
            }
        );

        function displayDimension(dimensionIndex, currentThumb) {
            var bigMediaUrl = $("span.bigMedia2", currentThumb).text();
            var bigMediaExists = (bigMediaUrl != null && bigMediaUrl && bigMediaUrl.length > 0);

            if (bigMediaExists) {
                var $mediaWidth = $(".mediawidth", currentThumb);
                var $mediaHeight = $(".mediaheight", currentThumb);
                var $bgColor = $(".mediabgcolor", currentThumb);
                var mediaWidth = 700, mediaHeight = 700, bgColor = "";
                if ($mediaWidth.length > 0)
                    mediaWidth = $mediaWidth.html();
                if ($mediaHeight.length > 0)
                    mediaHeight = $mediaHeight.html();
                if ($bgColor.length > 0)
                    bgColor = $bgColor.html();
                if (bigMediaUrl.toLowerCase().indexOf('.flv') > 0) {
                    $("#dimensionBigPic").html('<div id="dimensionMedia">&nbsp;</div>');
                    EmbedFlv("dimensionMedia", bigMediaUrl, mediaWidth, mediaHeight, bgColor);
                }
                else if (bigMediaUrl.indexOf('.swf') > 0) {
                    $("#dimensionBigPic").html('<div id="dimensionMedia">&nbsp;</div>');
                    EmbedSwf("dimensionMedia", bigMediaUrl, mediaWidth, mediaHeight, bgColor);
                }
                else {
                    $("#dimensionBigPic").html('<img src="' + bigMediaUrl + '" alt="Electrolux" />');
                }
            }
            else if ($(".globalconfig", currentThumb).length > 0) {
                // Show media
                bigMediaExists = true;
                var globalConfigPath = $(".globalconfig", currentThumb).html();
                var localConfigPath = $(".localconfig", currentThumb).html();
                var textXmlUrl = $(".textxml", currentThumb).html();
                var mediaWidth = $(".mediawidth", currentThumb).html();
                var mediaHeight = $(".mediaheight", currentThumb).html();
                var bgColor = $(".mediabgcolor", currentThumb).html();
                var locale = $(".locale", currentThumb).html();
                $("#dimensionBigPic").html('<div id="dimensionMedia">&nbsp;</div>');
                EmbedMediaPlayer("dimensionMedia", globalConfigPath, localConfigPath, textXmlUrl, locale, mediaWidth, mediaHeight, bgColor);
                // EmbedMediaPlayer-function is found in common.js
            }

            $("#dimensionBigPic").show();

            //            var mp = $("#mp_dimensionGallery");
            //            mp.css("display", "block");
            //            var scrollLeft = $("html").scrollLeft();
            //            var scrollTop = $("html").scrollTop();
            //            var centerX = $("#container").outerWidth() * 0.5;
            //            mp.css({ left: scrollLeft + centerX - mediaWidth * 0.5, top: scrollTop + 50 });
            //            mp.show();

            if (!bigMediaExists) {
                $("#dimensionBigPic").hide();
                mp.hide();
            }
        }
    };

    // Added by Mattias Logica 2009-12-04
    function mediaGallery() {
        window.MediaFileOverlayConfig = {
            SWFDefaultWidth: 400,
            SWFDefaultHeight: 400
        };

        var mediaFileBtnSelector = ".mediaFileBtn[href!='javascript:void(0)']";
        var mediaFileBtn2Selector = ".mediaFileBtn2[href!='javascript:void(0)']";
        var mediaFileIndex = 0;
        var mediaFileCount = $(mediaFileBtnSelector).length;

        // Move below to a separate js-file later
        $(".mediaFileBtn,.mediaFileBtn2,.mediaFileBtnAdditional,.mediaFileBtn2Additional").click
		(
			function () {
			    var sender;
			    var thumbCssClass = "mediaGlryThumb";

			    if ($(this).hasClass("mediaFileBtn")) {
			        sender = $(this);
			        mediaFileIndex = $(mediaFileBtnSelector).index(this);
			    }
			    else if ($(this).hasClass("mediaFileBtn2")) {
			        sender = $(this);
			        mediaFileIndex = $(mediaFileBtn2Selector).index(this);
			        thumbCssClass = "mediaGlryThumb2";
			        mediaFileCount = $(mediaFileBtn2Selector).length;
			    }
			    else if ($(this).hasClass("mediaFileBtnAdditional")) {
			        sender = $(this).parent().siblings(".mediaFileBtn:first");
			        mediaFileIndex = $(mediaFileBtnSelector).index(sender);
			    }
			    else {
			        sender = $(this).parent().siblings(".mediaFileBtn2:first");
			        mediaFileIndex = $(mediaFileBtn2Selector).index(sender);
			        thumbCssClass = "mediaGlryThumb2";
			        mediaFileCount = $(mediaFileBtn2Selector).length;
			    }
			    return mediaFileBtnOnClick(sender, thumbCssClass);
			}
		);

        function mediaFileBtnOnClick(sender, thumbCssClass) {
            var overlay = $(".mp_imageGallery2");
            overlay.css("display", "block");
            var ul = $("ul.horizontalList", overlay);
            var carouselDeactivate = 0;
            var visibleItems = 7;
            var items = $("li", ul);
            //			var realItems = items.length;

            if (sender.attr("href") != "javascript:void(0)" && window.firstTimeGallery2 != 0) {
                // Populate li-tags with thumbnails				
                var ulHtml = "";

                if (items.length == 0) {
                    $("." + sender.attr("class") + "[href!='javascript:void(0)']").each(
						function () {
						    if ($(this).attr('id') == 'mediaLink2') {
						        ulHtml += "<li><a href=\"" + $(this).attr("href") + "\" class=\"" + thumbCssClass + "\"><img class=\"bm12\" src=\"" + $(this).children("img.overlayThumb").attr("src") + "\" /><span class=\"heading displayNone\">" + $("span.heading", this).html() + "</span><span class=\"text displayNone\">" + $("span.text", this).html() + "</span><div class=\"mediawidth displayNone\">" + $("div.mediawidth", this).html() + "</div><div class=\"mediaheight displayNone\">" + $("div.mediaheight", this).html() + "</div><div class=\"singleflashsrc displayNone\">" + $("div.singleflashsrc", this).html() + "</div></a></li>";
						    }
						    else {
						        ulHtml += "<li><a href=\"" + $(this).attr("href") + "\" class=\"" + thumbCssClass + "\"><img class=\"bm12\" src=\"" + $(this).children("img.overlayThumb").attr("src") + "\" /><span class=\"heading displayNone\">" + $("span.heading", this).html() + "</span><span class=\"text displayNone\">" + $("span.text", this).html() + "</span></a></li>";
						    }
						}
					);
                    ul.html(ulHtml);
                }

                items = $("li", ul);
                realItems = items.length;

                if (visibleItems < realItems) {
                    $(".carouselTypeMp2").infiniteCarousel("none");
                }
                else {
                    innerMp2Width = $(".carouselTypeMp2 ul").children().length * $(".carouselTypeMp2 ul").children().eq(0).outerWidth(); // assume that every element is the same width
                    outerMp2Width = $(".carouselTypeMp2").outerWidth();
                    leftpaddingInnerMp2 = (outerMp2Width - innerMp2Width) / 2;
                    $(".carouselTypeMp2 ul").css("left", leftpaddingInnerMp2 + "px");
                }

                // Register click event after the li-tags have been populated so that jquery finds them.
                $("." + thumbCssClass).click(
					function () {
					    mediaFileIndex = $("." + thumbCssClass).index(this);
					    return mediaGalleryThumbOnClick($(this));
					}
				);

                window.firstTimeGallery2 = 0;
            }

            items = $("li", ul);
            realItems = items.length;
            items.removeClass("selected");

            if (realItems <= visibleItems) {
                items.eq(mediaFileIndex).addClass("selected");
            }
            else {
                var realPicIndex = mediaFileIndex + visibleItems;
                if (realPicIndex - realItems < 0) {
                    realPicIndexMinusRealItems = -1;
                }
                else {
                    realPicIndexMinusRealItems = realPicIndex - realItems;
                }

                $(".carouselTypeMp2").trigger("goto", { page: mediaFileIndex + 1 });
                items.eq(realPicIndex).addClass("selected");
                items.eq(realPicIndexMinusRealItems).addClass("selected");
                items.eq(realPicIndex + realItems).addClass("selected");
            }

            return displayMediaOverlay(sender, overlay, $("span.heading", sender).html(), $("span.text", sender).html());
        }

        function displayMediaOverlay(sender, overlay, heading, txt) {
            var mediaFileUrl = sender.attr("href");
            var mediaContainer = $("#gallery2BigPic");
            var $singleFlashSrc = $(".singleflashsrc", sender);
            var $globalConfig = $(".globalconfig", sender);

            if ($singleFlashSrc.length > 0 && $singleFlashSrc.html().length > 1) {
                // Show stand alone swf
                var singleFlashSrc = $singleFlashSrc.html();
                var mediaWidth = $(".mediawidth", sender).html();
                var mediaHeight = $(".mediaheight", sender).html();
                var bgColor = $(".mediabgcolor", sender).html();
                mediaContainer.html('<div id="gallery2Media">&nbsp;</div>');

                // EmbedSwf and EmbedFlv function is found in common.js
                if (singleFlashSrc.toLowerCase().indexOf(".flv") > 0)
                    EmbedFlv("gallery2Media", singleFlashSrc, mediaWidth, mediaHeight, bgColor);
                else
                    EmbedSwf("gallery2Media", singleFlashSrc, mediaWidth, mediaHeight, bgColor);
            }
            else if ($globalConfig.length > 0 && $globalConfig.html().length > 0) {
                var globalConfigPath = $globalConfig.html();
                var localConfigPath = $(".localconfig", sender).html();
                var textXmlUrl = $(".textxml", sender).html();
                var mediaWidth = $(".mediawidth", sender).html();
                var mediaHeight = $(".mediaheight", sender).html();
                var bgColor = $(".mediabgcolor", sender).html();
                var locale = $(".locale", sender).html();

                mediaContainer.html('<div id="gallery2Media">&nbsp;</div>');
                // EmbedMediaPlayer-function is found in common.js
                EmbedMediaPlayer("gallery2Media", globalConfigPath, localConfigPath, textXmlUrl, locale, mediaWidth, mediaHeight, bgColor);
            }
            else if (mediaFileUrl != "javascript:void(0)" && mediaFileUrl != null && mediaFileUrl.length > 4) {
                var mediaFileExtension = mediaFileUrl.substr(mediaFileUrl.length - 4).toLowerCase();
                var imgFormats = ".jpg, .png, .gif";

                // Display the image or flash
                if (imgFormats.indexOf(mediaFileExtension) > -1 || mediaFileUrl.indexOf("/ImageResize/") > -1) {
                    displayImageInMediaOverlay(mediaFileUrl, mediaContainer);
                }
                else {
                    switch (mediaFileExtension) {
                        case ".swf":
                            displaySwfInMediaOverlay(mediaFileUrl, mediaContainer, window.MediaFileOverlayConfig.SWFDefaultWidth, window.MediaFileOverlayConfig.SWFDefaultHeight);
                            break;
                        case ".flv":
                            displayFlashVideoInMediaOverlay(mediaFileUrl, mediaContainer, window.MediaFileOverlayConfig.SWFDefaultWidth, window.MediaFileOverlayConfig.SWFDefaultHeight);
                            break;
                        default:
                            // Unsupported format
                            return false;
                    }
                }

                mediaContainer.css("display", "block");
            }
            else {
                mediaContainer.css("display", "none");
            }

            // Display heading and text if they exist
            if (heading != null && heading.length > 0) {
                $("h3", overlay).html(heading);
                $("h3", overlay).removeClass("displayNone");
            }
            else {
                $("h3", overlay).addClass("displayNone");
            }

            if (txt != null && txt.length > 0) {
                $("p", overlay).html(txt);
                $("p", overlay).removeClass("displayNone");
            }
            else {
                $("p", overlay).addClass("displayNone");
            }

            // Position and display overlay
            if ($.browser.safari) { scrollTopBodyElem = $("body") } else { scrollTopBodyElem = $("html") }

            var scrollLeft = scrollTopBodyElem.scrollLeft();
            var scrollTop = scrollTopBodyElem.scrollTop();
            var centerX = $("#container").outerWidth() / 2;

            overlay.css({ left: scrollLeft + centerX - overlay.outerWidth() / 2, top: scrollTop + 50 });
            return false;
        }

        function displayImageInMediaOverlay(mediaFileUrl, mediaContainer) {
            mediaContainer.html("<img src=\"" + mediaFileUrl + "\" />");
            return false;
        }

        function displaySwfInMediaOverlay(mediaFileUrl, mediaContainer, flashWidth, flashHeight) {
            mediaContainer.html('<div id="gallery2Media"></div>');
            EmbedSwf('gallery2Media', mediaFileUrl, flashWidth, flashHeight);
            return false;
        }

        function displayFlashVideoInMediaOverlay(mediaFileUrl, mediaContainer, mediaWidth, mediaHeight) {
            mediaContainer.html('<div id="gallery2Media"></div>');
            EmbedFlv('gallery2Media', mediaFileUrl, mediaWidth, mediaHeight);
            return false;
        }

        function mediaGalleryThumbOnClick(sender) {
            var overlay = $(".mp_imageGallery2");
            var ul = $(".horizontalList", overlay);
            var heading = $("span.heading", sender).html();
            var txt = $("span.text", sender).html();
            var thisIndex = $("li", ul).index(sender.parent());

            $("li", ul).removeClass("selected");
            $("li", ul).eq(thisIndex).addClass("selected");

            displayMediaOverlay(sender, overlay, heading, txt);
            return false;
        }
    }

    return {
        init: initGUI
    }
} ();

function mpPopdown(boxName) {

	boxName = "." + boxName;

	if (boxName == ".mp_imageGallery") {
	    $(".customImagesContainer img").css({ 'border-top': 'none' });
	    $(".productImageGallery li img").css({ 'border-top': 'none' });
	    $(".selectedImg").css({ 'display': 'none' });
	    $(boxName + " #galleryBigPic").html('');
	    $("#overlay").hide();
	}
	else if (boxName == ".mp_imageGallery2") {
	    $(boxName + " #gallery2BigPic").html('');
	}
	else if (boxName == ".mp_dimensionGallery") {
	    $(boxName + " #dimensionBigPic").html('');
	}
	
	$(boxName).hide();
}


function categoriesShow(catName) {

    catName = "#" + catName;

    if (catName != "#all") {
        $(".searchResultCategoryWrap").not(catName).hide("slow");
        $(catName).show("slow");
    }
    else {
        $(".searchResultCategoryWrap").show("slow");
    }
}


$( document ).ready( function() {
	GUI.init(); 		
});

// GoogleMaps start
var infoWindow = new google.maps.InfoWindow();
var stylesBlue = [[
          { url: '/Templates/Main/Images/GoogleMaps/ClusterPin.png', height: 35, width: 28, anchor: [1, 0], textColor: '#ffffff' }
      ]];
function initializeGoogleMaps(lat, long, date) {
    var latlng = new google.maps.LatLng(lat, long);
    var myOptions = {
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        zoom: 5,
        streetViewControl: false,
        center: latlng
    };

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var markersClustered = [];
    $.getJSON("/Handlers/GoogleMapsMarkers.ashx?date=" + date , function (data) {
        markersClustered = parseJson(data, map);        
    });
    var mcOptions = { gridSize: 25, maxZoom: 15 };
    google.maps.event.addListener(map, 'tilesloaded', function () {
        var mc = new MarkerClusterer(map, markersClustered, mcOptions);
    });
}

function initializeGoogleMapsSingleMarker(lat, long, locationPage) {
    var latlng = new google.maps.LatLng(lat, long);
    var myOptions = {
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        zoom: 8,
        streetViewControl: false,
        center: latlng
    };

    var canvas = document.getElementById("map_canvas");
    var map = new google.maps.Map(canvas, myOptions);

    var markersClustered = [];
    $.getJSON("/Handlers/GoogleMapsMarkers.ashx?location=" + locationPage, function (data) {
        markersClustered = parseJson(data, map);
    });
    var mcOptions = { gridSize: 25, maxZoom: 15 };
    google.maps.event.addListener(map, 'tilesloaded', function () {
        var mc = new MarkerClusterer(map, markersClustered, mcOptions);
    });
}

function parseJson(jsonData, map) {
    var markersTemp = [];
    if (jsonData == null)
        return markersTemp;
    for (var i = 0; i < jsonData.length; i++) {
        markersTemp.push(createMarker(jsonData[i], map));
    }
    return markersTemp;
}

function createMarker(input, map) {
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(input.Latitude, input.Longitude),
        map: map,
        icon: "/Templates/Main/Images/GoogleMaps/googleMapsPin.png",
        title: input.Heading
    });

    google.maps.event.addListener(marker, 'click', function (e) {
        if (infoWindow) infoWindow.close();
        infoWindow = new google.maps.InfoWindow({ content: input.Text });
        infoWindow.open(map, this);
        if (map.zoom < 3) {
            placeMarker(e.latLng, map);
        }
    });

    return marker;
}
function placeMarker(location, map) {
    map.setCenter(location);
    map.setZoom(12);
}

function initializeGoogleMapsPopup(lat, long, locationPage) {
    var latlng = new google.maps.LatLng(lat, long);
    var myOptions = {
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        zoom: 8,
        streetViewControl: false,
        center: latlng
    };

    $(".modalPopup.mp_googleMapsPopup").show();
    var canvas = document.getElementById("map_canvas_popup");    
    var map = new google.maps.Map(canvas, myOptions);

    var markersClustered = [];
    $.getJSON("/Handlers/GoogleMapsMarkers.ashx?location=" + locationPage, function (data) {
        markersClustered = parseJson(data, map);
    });
    var mcOptions = { gridSize: 25, maxZoom: 15 };
    google.maps.event.addListener(map, 'tilesloaded', function () {
        var mc = new MarkerClusterer(map, markersClustered, mcOptions);
    });
}


// GoogleMaps slut
