//*************************************
//*************************************
//*************************************
// RollOver images
// * This control rollover images preloads them and set the behavior
// * For the behavior to work you need to to do 3 things
// * Place the 2 images in the buttons folder and name them [name]_over and [name]_out fx: button_over.gif and button_out.gif
// * Add the images to the images array using addButtonImages(name) function and only pass the name
// * Add onmouseover="linkBehavior(this, 'over')" onmouseout="linkBehavior(this, 'out')" to the the desired tag
//-------------------------------------
var buttonImages_array = [];
function addButtonImages(name) {
    buttonImages_array.unshift({});
    buttonImages_array[0].name = name;
    buttonImages_array[0].over = new Image;
    buttonImages_array[0].out = new Image;
}
//*************************************
// ADD IMAGES HERE
//*************************************
addButtonImages("arrowNextButton");
addButtonImages("arrowPrevButton");
addButtonImages("headerMenuSublinkBg");
addButtonImages("linkArrow");
addButtonImages("linkBackArrow");
//-------------------------------------
// linkBehavior set defferents states
//-------------------------------------
function getImage(src, state) {
    var src_str = src.toString();
    src_str = src_str.substring(src_str.lastIndexOf("/") + 1, src_str.lastIndexOf("_"));
    for (var i = 0; i < buttonImages_array.length; i++) {
        if (src_str == buttonImages_array[i].name) {
            return buttonImages_array[i][state];
        }
    }
}
function imgBehavior(imgObj, state) {
    var $img = $(imgObj);
    var newImage = getImage($img.attr("src"), state);
    $img.attr("src", newImage.src);
}
function linkBehavior(linkObj, state) {
    var $img = $("img", linkObj);
    var newImage = getImage($img.attr("src"), state);
    $img.attr("src", newImage.src);
}
//-------------------------------------
// Preload all images
//-------------------------------------
function preloadImages() {
    if (document.images) {
        for (var i = 0; i < buttonImages_array.length; i++) {
            buttonImages_array[i].over.src = "/images/buttons/" + buttonImages_array[i].name + "_over.gif";
            buttonImages_array[i].out.src = "/images/buttons/" + buttonImages_array[i].name + "_out.gif";
        }
    }
}
//*************************************
//*************************************
//*************************************
// initTabs
//-------------------------------------
function initMenu() {
    $("div#headerMenu > ul > li").not(":first").addClass("topMenuSpacer");		
		$("div#headerMenu > ul > li > ul > li").not(":last-child").addClass("subMenuSpacer");		
		var $TopA = $("div#headerMenu > ul > li > a");
    var menuTimeout = 0;
    $TopA.hover(function () {
        clearTimeout(menuTimeout);
				hideMenu();
				$(this).next().show();
				$(this).css("background-color","#061c4b");
    },
    function () {
        menuTimeout = window.setTimeout(hideMenu, 500);
    });
		
    function hideMenu() {
      $("div#headerMenu ul ul").hide();
			$TopA.css("background-color","");
    }
		
		$("div#headerMenu ul ul").hover(function () {
        clearTimeout(menuTimeout);
    },
    function () {
        menuTimeout = window.setTimeout(hideMenu, 500);
    });

}
//*************************************
//*************************************
//*************************************
// setOverViewBorders
//-------------------------------------
function setOverViewBorders(){
	var $Li = $("div.OverViewBoxes li, div.NewsOverViewBoxes li")
	var length = $Li.length;
	var lines = Math.ceil(length/3)
	$Li.map(function(index){
		if((index + 1) % 3 != 0){
			$(this).css("border-right","1px solid #d5d5d5");
		}
		var line = Math.ceil((index+1)/3);
		if(line < lines){
			$(this).css("padding-bottom","1px");
		}
	});
}
//*************************************
//*************************************
//*************************************
//-------------------------------------
// sliderInit
//-------------------------------------
function setGalleryList() {
	$(".ProductNavigation").map(function () {
		var $Ul = $(".ProductPictureList > ul", this)
		var TotalPages = $Ul.children("li").length;
		if(TotalPages==1) {
			$Ul.css("left", "0px")
			return
		}

		var PageWidth = 244;		
		var TotalPagesWidth = PageWidth * TotalPages;
		$Ul.css("width", TotalPagesWidth + "px");		

		//////////////////////
		var $ProductPaging = $(".ProductPaging", this);
		var $PagingNumbers = $ProductPaging.append('<span class="ProductPagingNumbers" />').children("span.ProductPagingNumbers")
		
		
		var page = 0;		
		function findActive(){
			var activeNr = 0;
			$("li", $Ul).each(function(index){
				if($(".active", this).length > 0) {
					activeNr = index;
				}
			});
			return activeNr
		}
		page = findActive();
		var X = -PageWidth * page
		$Ul.css("left", X+"px")
		
		for (var i = 0; i < TotalPages; i++) {
			var $PageA;
			var pageNr = (i+1);
			if (i == page) {
				$PageA = $('<a href="javascript:void(0)" class="ActivePage">'+pageNr+'</a>').appendTo($PagingNumbers)
			} else {
				$PageA = $('<a href="javascript:void(0)">'+pageNr+'</a>').appendTo($PagingNumbers)
			}
			$PageA.attr("navid", i);
			$PageA.bind("click", function (e) {
				pageTo(parseInt($(this).attr("navid")));
			});
		}

		//////////////////////
		var aniTime = "slow";

		function pageTo(newPage) {
			$PagingNumbers.children('a').removeClass("ActivePage")
			if (newPage > TotalPages-1) {
				page = newPage % TotalPages;
			} else if (0 > newPage) {
				page = newPage + TotalPages;
			} else {
				page = newPage
			}
			$PagingNumbers.children('a:eq(' + (page) + ')').addClass("ActivePage");
			var movToX = -PageWidth * page
			$Ul.animate({
				'left': movToX
			},
			aniTime);
		}
		
		var $Prev_btn = $ProductPaging.prepend('<a href="javascript:void(0)"><img src="/images/graphic/redBackArrow.gif" width="8" height="11" /></a>').children("a:first");
		var $Forw_btn = $ProductPaging.append('<a href="javascript:void(0)"><img src="/images/graphic/redArrow.gif" width="8" height="11" /></a>').children("a:last");
		
		$Prev_btn.bind('click', function () {
			pageTo(page - 1);
		});
		$Forw_btn.bind('click', function () {
			pageTo(page + 1);
		});		
	});
}
//*************************************
//*************************************
//*************************************
// setFrontpageFlash
//-------------------------------------
function setFrontpageFlash() {
	var path = $('#flashTop a').attr("href")
	$('#flashTop').flash({
		swf: 'includes/flash/frontpage.swf',
		height: 348,
		width: 974,
		wmode: 'transparent',
		flashvars: {
			xmlPath: path
		}
	});
}
//*************************************
//*************************************
//*************************************
// setPictureCaption
//-------------------------------------
function setPictureCaption() {
	$(".WYSIWYG img").map(function(){
		var $This = $(this);
		
		if($This.attr("alt") != ""){
			$This.wrap("<div class='ImageCaption floatContainer'></div>");
			$This.after($This.attr("alt"))
		}
	});
}
//*************************************
//*************************************
//*************************************
// fix IE6 PNG  ( crop | Default | scale )
//-------------------------------------
var png_array = [];
png_array.push(["a.topMenuSpacer", "crop"]);
png_array.push(["#mainHeading div", "crop"]);
png_array.push(["#mainRightButton span", "crop"]);

function fixIE6PNG() {
    if ($.browser.msie) {
        for (var obj in png_array) {
            $(png_array[obj][0]).pngfix();
            $("img[src*='png']").pngfix({
                sizingMethod: png_array[obj][1]
            });
        }
    }
}

//*************************************
//*************************************
//*************************************
// debug
//-------------------------------------

function debug(msg) {
    if (window.console && window.console.log) window.console.log(msg);
}
//*************************************
//*************************************
//*************************************
// On ready events
//-------------------------------------
$(document).ready(function () {
    preloadImages();
    initMenu();
		setFrontpageFlash();
    runFormScripts()
		setOverViewBorders();
		setPictureCaption();
		setGalleryList();
    // run last
    fixIE6PNG();

});