// Standard JavaScript Document - Volvo AB

// ========================  ======================== 
// ------------------------  ------------------------ 
// ........................  ........................


/* 
........................ STRUCTURE ........................

- general
- window.onload
- TEST

*/

var isIE = (navigator.appName == 'Microsoft Internet Explorer');
if (isIE) { document.execCommand("BackgroundImageCache",false,true); };


// ======================== general ========================


// ------------------------ find position of objects (courtesy of Peter-Paul Koch) ------------------------ 

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}



// ------------------------ Get the scrolled distance (in an array) ------------------------ 

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}


// ======================== print popup ========================


function openPrintWindow(url,winWidth,winHeight) {
	var screenWidth = screen.availWidth / 2;
	var screenHeight = screen.availHeight / 2;
	var winLeft = winWidth / 2;
	var winTop = winHeight / 2;
	winLeft = screenWidth - winLeft;
	winTop = screenHeight - winTop;
	var ctrlString = 'left=' + winLeft + ',top=' + winTop + ',height=' + winHeight + ',width=' + winWidth + ',resizable=yes,scrollbars=yes,toolbar=yes';
	var newwindow = window.open(url,'blankPopup',ctrlString);	
}

// ------------------------ Rounded corner code for images ------------------------ 

var imgRcStart = '<span class="imgRc"><span class="imgRc_top"><span class="imgRc_topLeft"></span><span class="imgRc_topRight"></span></span>';
var imgRcEnd = '<span class="imgRc_bottom"><span class="imgRc_bottomLeft"></span><span class="imgRc_bottomRight"></span></span></span>';

// ------------------------ "contains" - for checking relations on mouseout of nested objects ------------------------ 

function contains(a, b) { // Return true if node a contains node b.
	if ((a && b)) {
	  while (b.parentNode)
	    if ((b = b.parentNode) == a)
	      return true;
	  return false;
	}
}

// ------------------------ rcbItem mouse over / out ------------------------

function rcbMOver(me) {
	var theClicker = me.getElementsByTagName('a');
	if(theClicker[0].rel != 'marked'){
		me.className = 'rcbItem_pad01_marked rcbItem_pad01_highlight';
		me.onmouseout = rcbMOut;
	}
}

function rcbMOut(event) {
	var theClicker = this.getElementsByTagName('a');
	//var container = this.getElementsByClassName('rcbItem_pad02');

	var containerStripe = this.parentNode;
	var current, related;
	if (window.event) {
		current = this;
		related = window.event.toElement;
	} else {
		current = event.currentTarget;
		related = event.relatedTarget;
	}
	if (current != related && !contains(current, related)) {
		if(theClicker[0].rel != 'marked'){
			this.className = 'rcbItem_pad01';
		}
	}
}


// ------------------------ selectFlipper ------------------------

function selectFlipper(switchMe) { // hides <select> elements, for IE6
	var selects = document.getElementsByTagName('select');
	if (switchMe == 'hide') {
		for (var i = 0; i < selects.length; i++){	
			selects[i].style.visibility = 'hidden';
		}
	} else if (switchMe == 'show') {
		for (var i = 0; i < selects.length; i++){	
			selects[i].style.visibility = 'visible';
		}
	}
}

function flashFlipper(switchMe) { // Should be used to hide Flash from Safari, because of flicker bug
	var userAgent = navigator.userAgent;
	var uACheck = userAgent.match('AppleWebKit');
	if (uACheck != null) {
		var embed = document.getElementsByTagName('embed');
		if ((switchMe == 'hide' && embed.length > 0)) {
			for (var i = 0; i < embed.length; i++){	
				embed[i].style.visibility = 'hidden';
			}
		} else if ((switchMe == 'show' && embed.length > 0)) {
			for (var i = 0; i < embed.length; i++){	
				embed[i].style.visibility = 'visible';
			}
		} else if (switchMe == 'hidePromo') {
			var theBigFlasher = document.getElementById("main01_promoPh");
			theBigFlasher.style.visibility = 'hidden';
		} else if (switchMe == 'showPromo') {
			var theBigFlasher = document.getElementById("main01_promoPh");
			theBigFlasher.style.visibility = 'visible';
		}
	}
}

// ------------------------ voidAllJSLinks ------------------------

function voidAllJSLinks() { // makes sure that swfObject doesn't bug in IE. May not be neccessary on live site.
	var links = document.getElementsByTagName('a');
    var bodyId = document.getElementsByTagName('body');	
    
    var isRender = false;
    if (bodyId[0].id == 'body_BAHome') isRender = true;
    if (bodyId[0].id == 'body_DealerHome') isRender = true;
    	
   	for (i = 0; i < links.length; i++) {
        var s = links[i].href;
		var ss = links[i].onclick;        
        var isOn = false;
		if (s.match(/#+$/)) {
			links[i].href = 'javascript:void(0);';
			if (ss != null) isOn = true;
		} else { isOn=true; }
				
		if ((isOn) && (isRender) && (links[i].href != "") && (links[i].href != "javascript:void(0);")) {	
		    if (ss != null) {
		        links[i].onclick = new Function("clearTimeout(promoItemBAHomeInterval);var o = " + links[i].onclick + "; return o();");
		    } else {
		        links[i].onclick = new Function("clearTimeout(promoItemBAHomeInterval);");
		    }
		}	    	
	}
} 


// ------------------------ contact form handling ------------------------

function contactForm_jsSubmit() {
/*	var forms = document.getElementsByTagName('form');
	if (forms.length > 0) {
		for (var i = 0; i < forms.length; i++){
			if (forms[i].className == 'form_contact') {
				var formSubmits = forms[i].getElementsByTagName('button');
				var submitButton = formSubmits[0];
				submitButton.type = 'button';
			}
		}
	} */
} 

function submitContactMail(me) {
	var form = me.parentNode.parentNode;
	var rec = form.getElementsByClassName('form_contact_rec');
	var snd = form.getElementsByClassName('form_contact_snd');
	var msg = form.getElementsByClassName('form_contact_msg');
	var formError_rec = form.getElementsByClassName('formError_rec');
	var formError_snd = form.getElementsByClassName('formError_snd');
	var formError_msg = form.getElementsByClassName('formError_msg');
	formError_rec[0].style.display = 'none';
	formError_snd[0].style.display = 'none';
	formError_msg[0].style.display = 'none';
	if (rec[0].value == '') {
		formError_rec[0].style.display = 'block';
	} else if (snd[0].value == '') {
		formError_snd[0].style.display = 'block';
	} else if (msg[0].value == '') {
		formError_msg[0].style.display = 'block';
	} else {
		form.submit();
	}
}

// ------------------------ accordion flip ------------------------

var flipAtWork = false;
var height_QAscrollRef;

function contractStuff(thisOne) { // contracts the list item
	var wipeThis = thisOne;	
	var myImages = wipeThis.parentNode.getElementsByTagName('img');
	if (myImages.length > 0) {
		for (var i = 0; i < myImages.length; i++){	
			myImages[i].style.display = 'none';
		}
	}
	//change bgcolor and arrow
	var doc = wipeThis.parentNode.parentNode.getElementsByClassName('rcbItem_pad01_marked');
	for (var i = 0; i < doc.length; i++){	
		doc[i].className = 'rcbItem_pad01';
	}
	var doc = wipeThis.parentNode.parentNode.getElementsByTagName('a');
	//for (var i = 0; i < doc.length; i++){
		if (doc[0].className == 'header') {		
		    if (!RtlDirection)
		        doc[0].style.backgroundImage = "url(/internet/img/layout/rcbItem_sideBar_down.gif)";
		    else
		        doc[0].style.backgroundImage = "url(/internet/img/layout/rcbItem_sideBar_down.rtl.gif)";
		   doc[0].rel = ''; // for mOver
		}
	//}
	var wipeIntervalContr = setInterval(function() { 
		if (wipeThis.offsetHeight > 0) {
			var myHeight = wipeThis.offsetHeight -12;
			if (myHeight <= 1) {
				myHeight = 0;
			}
			myHeight = myHeight.toString();
			wipeThis.style.height = myHeight + 'px'; 
		} else {
			var showThis = wipeThis.getElementsByClassName('rcbItem_pad03');
			showThis[0].style.visibility = 'hidden';
			clearInterval(wipeIntervalContr);
			if (document.getElementById("scrollArea")) {
				var doArrowChk = setTimeout('arrowChk()', 40);
			}
			var theClicker = wipeThis.parentNode.getElementsByTagName('a');
			var theClicker = wipeThis.parentNode;
			theClicker.className = 'rcbItem_pad01'; // fix IE contraction bug
		}
	}, 20);
}


function init_QuickAccess() {
	var scrArea = document.getElementById("scrollArea");
	if (scrArea) {
		var scrollContItem = document.getElementsByClassName('rcbItem_pad01');
		if (scrollContItem.length > 1) {
			height_QAscrollRef = scrollContItem[1].offsetHeight;
		}
	}
}


function expandStuff(thisOne) { // expands the list item
	var wipeThis = thisOne;
	
	var scrollCont = document.getElementById("scrollArea"); // adjusts the scroll position on expansion in Quick Access box
	if (scrollCont && contains(scrollCont, wipeThis)) {
		var itemsAll = thisOne.parentNode.parentNode.parentNode.getElementsByClassName('rcbItem_pad02');
		var itemsPrevious = 0;
		for (var i = 0; i < itemsAll.length; i++){
			if (thisOne == itemsAll[i]) {
				break;
			} else {
				itemsPrevious++;
			}
		}
		var scrollShould = itemsPrevious * height_QAscrollRef;
		var scrollIs = scrollCont.style.marginTop;
		if (scrollIs == '') {
			scrollIs = 0;
		} else {
			scrollIs = scrollIs.replace('px', '');
			scrollIs = scrollIs.replace('-', '');
			scrollIs = parseInt(scrollIs);
		}
		if (scrollShould > 0) {
			scrollCont.style.marginTop = '-' + scrollShould + 'px';
			arrowChk();
		}
	}
	
	var myImages = wipeThis.parentNode.getElementsByTagName('img');
	var showThis = wipeThis.getElementsByClassName('rcbItem_pad03');
	showThis[0].style.visibility = 'visible';
	
	var doc = wipeThis.parentNode.parentNode.getElementsByClassName('rcbItem_pad01');
	for (var i = 0; i < doc.length; i++){	
		doc[i].className = 'rcbItem_pad01_marked';
	}
	if (myImages.length > 0) {
		for (var i = 0; i < myImages.length; i++){	
			myImages[i].style.display = 'inline';
		}
	}
	var doc = wipeThis.parentNode.parentNode.getElementsByTagName('a');
	doc[0].style.backgroundImage = "none";
	
	var wipeContent = document.getElementsByClassName('rcbItem_pad03', $(wipeThis));
	var contentHeight = wipeContent[0].offsetHeight;
	var wipeIntervalExp = setInterval(function() { 
		if (wipeThis.offsetHeight <= contentHeight) {
			var myHeight = wipeThis.offsetHeight + 12;
			if (myHeight > contentHeight) {
				myHeight = contentHeight + 2;
			}
			myHeight = myHeight.toString();
			wipeThis.style.height = myHeight + 'px'; 
		} else {
			clearInterval(wipeIntervalExp);
			flipAtWork = false;
			if (document.getElementById("scrollArea")) {
				var doArrowChk = setTimeout('arrowChk()', 40);
			}
		}
		if (document.getElementById("scrollArea")) {
			arrowChk();
		}
	}, 20);
}



function flip(me) { // handler for expanding/contracting list items
	if (flipAtWork == false) {
		flipAtWork = true;
		var flipsSoFar = 0;
		var itemParent = me.parentNode;
		var itemOuterContent = document.getElementsByClassName('rcbItem_pad02', $(itemParent)); // find the outer content holder of this item
		var itemInnerContent = document.getElementsByClassName('rcbItem_pad03', $(itemParent)); // find the inner content holder of this item
		var itemGrandGrandParent = itemParent.parentNode.parentNode; // find the container for local item group
		var itemOuterList = document.getElementsByClassName('rcbItem_pad02', $(itemGrandGrandParent));
		var itemInnerList = document.getElementsByClassName('rcbItem_pad03', $(itemGrandGrandParent));
		if (itemOuterContent[0].offsetHeight < 1) {
			while (flipsSoFar < itemOuterList.length - 1) {
				for (i = 0; i < itemOuterList.length; i++) {
					if (itemOuterList[i].offsetHeight > 3) {
						contractStuff(itemOuterList[i]);
					}
				}
			flipsSoFar++;
			}
			flipsSoFar = 0;
			expandStuff(itemOuterContent[0]);
			me.rel = 'marked'; // for mOver
			me.parentNode.className = "rcbItem_pad01_marked";
		} else {
			flipAtWork = false;
		}
	}	
}

// ------------------------ Open first accordion item ------------------------

function flipTheFirstFlipItems() { // for use on page load, to make the first item of every list expanded.

	scrArea = document.getElementById("scrollArea");
	scrContainer = document.getElementById("scrollAreaContainer");
	var flippers = document.getElementsByClassName('rcbSideBar');
	if (flippers.length > 0) {
		for (i = 0; i < flippers.length; i++) {
			var flipParent = flippers[i].parentNode;
			var firstFlip = flipParent.getElementsByClassName('rcbSideBar');
			if (flippers[i] == firstFlip[0]) {
				var firstFlip_a = firstFlip[0].getElementsByTagName('a');
				if (firstFlip_a[0].className == 'header') { //change bgcolor and arrow
				
				    //if (!RtlDirection)
					//    firstFlip_a[0].style.backgroundImage = "url(/internet/img/layout/rcbItem_sideBar_up.gif)";
					//else
					//    firstFlip_a[0].style.backgroundImage = "url(/internet/img/layout/rcbItem_sideBar_up.rtl.gif)";
				
					firstFlip_a[0].style.backgroundImage = "none";
					firstFlip_a[0].rel = 'marked'; // for mOver
				}
				
				var firstflip_pad01 = firstFlip[0].getElementsByClassName('rcbItem_pad01');
				firstflip_pad01[0].className = 'rcbItem_pad01_marked';
				
				var firstflip_pad02 = firstFlip[0].getElementsByClassName('rcbItem_pad02');
				firstflip_pad02[0].style.height = 'auto';
				
				var firstFlip_showThis = firstFlip[0].getElementsByClassName('rcbItem_pad03');
				firstFlip_showThis[0].style.visibility = 'visible';
				
				var myImages = firstflip_pad01[0].getElementsByTagName('img');
				if (myImages.length > 0) {
					for (var iii = 0; iii < myImages.length; iii++){	
						myImages[iii].style.display = 'inline';
					}
				} 
			}
		}
		if (document.getElementById("scrollArea")) {
			arrowChk();
		}
	}
}

// ------------------------ QAcc scroll ------------------------

var qaScroll = null;
var scrAddHeight = 21; // extra height adjustment for the end element in the Quick Access pad.
var scrArea;
var scrContainer;

var topMarginChk;


function hoverScroll_perform(whereTo,howMuch) {
	if (whereTo) {
		if (topMarginChk < 0) {
			arrowChk();
			topMarginChk = topMarginChk + howMuch;
			scrArea.style.marginTop = topMarginChk + 'px';
		} else { 
			scrArea.style.marginTop = '0px';
			arrowChk();
		}
	} else if (!whereTo) {
		if ((scrContainer.offsetHeight - (scrArea.offsetHeight + 21) < topMarginChk)) {
			arrowChk();
			topMarginChk = topMarginChk - howMuch; 
			scrArea.style.marginTop = topMarginChk + 'px'; 
		} else {
			scrArea.style.marginTop = '-' + ((scrArea.offsetHeight + 21) - scrContainer.offsetHeight) + 'px';
			arrowChk();
		}
	} 
}




function hoverScroll(whereTo) {
	topMarginChk = scrArea.style.marginTop;
	if (topMarginChk != '') {
		topMarginChk = topMarginChk.replace('px', '');
		topMarginChk = parseInt(topMarginChk);
	}
	if (whereTo == 'scrollUp') {
		if (qaScroll == null)
			qaScroll = setInterval('hoverScroll_perform(true,10)', 35);
	} else if (whereTo == 'scrollDown') {
		if (qaScroll == null)
			qaScroll = setInterval('hoverScroll_perform(false,10)', 35);
	} else if (whereTo == 'scrollStop') {
		clearInterval(qaScroll);
		qaScroll = null;
	}
}

function arrowChk() {
	var topMargin = scrArea.style.marginTop;

	if (!topMargin) { // check if margin is set
		topMargin = 12;
	} else {
		topMargin = topMargin.replace('px', '');
		topMargin = parseInt(topMargin);
	}
	
	if (topMargin < 0) { // up arrow is needed
		document.getElementById("qa_scrollUp").style.visibility = "visible";
	} else {
		document.getElementById("qa_scrollUp").style.visibility = "hidden";
	}
	
	if (((scrArea.offsetHeight + scrAddHeight) + topMargin) > scrContainer.offsetHeight) { // down arrow is needed
		document.getElementById("qa_scrollDown").style.visibility = "visible";
	} else {
		document.getElementById("qa_scrollDown").style.visibility = "hidden";
	}
}




// ------------------------ Product hover box ------------------------


var exploringBox = false;
var arrowHidden = '999px'; 
var arrowVisible;

var prodListItems;
var prodListItems_exploring = false;

function loseFocus(me) {
	var myParent = 	me.parentNode.parentNode;
	var cells = myParent.getElementsByTagName('td');
	var lastCell = cells.length - 1;
	var lastOne = cells[lastCell].getElementsByTagName('button');
	lastOne[0].focus();
}


function hoverBox_mOut(event)
{
    var whichOne = this.id.replace('prodLinkUpper_', '');
    
    if (prodListItems[whichOne].hovering == true) 
    {   
        var boxId = 'prodInfo_' + whichOne;
        var box = document.getElementById(boxId);
        
        if (box.style.visibility == 'visible')
        {
            var holdPanelHide2 = setTimeout( function() { document.onmouseout = hoverBox_mOutGlobal;	}, 250);
        } else {
            prodListItems[whichOne].hovering == false;
        }
    }
}



function hoverBox_mOutGlobal(e)
{
    e = e||event;
    rel = e.toElement || e.relatedTarget;    
    var len = prodListItems.length;    
    var isActive = 0;
    
    for (var i = 0; i < len; i++)
    {
        if (prodListItems[i].hovering == true) 
        {
            isActive++;
            
            var thisBox = document.getElementById('prodInfo_' + [i]);
		    var thisArrow = document.getElementById('prodInfoPointer_' + [i]);		    
            
            if ( !contains(thisBox, rel) && 
                 rel != prodListItems[i] && 
                 rel != thisArrow )
            {
                isActive--;                
	            prodListItems[i].hovering = false;		
				thisBox.style.display = 'none';
				thisArrow.style.bottom = arrowHidden;
                thisArrow.style.display = 'none';
            }
        }
    }
    
    if (isActive == 0)
    {
        document.onmouseout = null;
		flashFlipper('showPromo');
		selectFlipper('show'); 
    }
       
}



function hoverBox_mOver(event) { // show product mouseOver box
    var whichOne = this.id.replace('prodLinkUpper_', '');
	prodListItems[whichOne].hovering = true;
	
	var listItems = this.parentNode.parentNode.parentNode.getElementsByClassName('product01_descriptions')[0].getElementsByClassName('hoverBox01');
	var boxId = 'prodInfo_' + whichOne;
	var boxArrowId = 'prodInfoPointer_' + whichOne;
	var box = document.getElementById(boxId);
	var cellWidth = box.parentNode.offsetWidth;
	
	var boxWidth = 350; // set width of standard productbox
	if (box.parentNode.className == 'hoverBox01_wrap01b') {
		boxWidth = 510; // set width of extra wide productbox
	}
	
	var holdPanelShow = setTimeout( function() {
		if (prodListItems[whichOne].hovering == true) {
		
		var _whichOne = whichOne;
				
		    whichOne = parseInt(whichOne) - parseInt(prodListItems[whichOne].firstInRow);
            var bmirror = false;
			
			var halfwayThroughTheList = listItems.length / 2;
			halfwayThroughTheList = parseInt(halfwayThroughTheList);		
			
			if (!RtlDirection) {
			    bmirror = (whichOne < halfwayThroughTheList);			
			} else {
			    bmirror = (whichOne > halfwayThroughTheList);
			}		

			var adjustForCenter = cellWidth / 2 - boxWidth / 2;
			var boxArrow = document.getElementById(boxArrowId);
            boxArrow.style.display = 'block';	
			box.style.visibility = 'hidden';
			box.style.display = 'block';
			if (bmirror) {
				boxArrow.style.bottom = arrowVisible;
				if (RtlDirection) box.style.right = (adjustForCenter - 80) + 'px';
			} else if (whichOne == halfwayThroughTheList) {
				box.style.right = adjustForCenter + 'px';
				boxArrow.style.bottom = arrowVisible;
			} else { 
				box.style.right = '0px';
				boxArrow.style.bottom = arrowVisible;
			}
			if (box.parentNode.className == 'hoverBox01_wrap01b') {
				var boxHeight = parseInt(box.offsetHeight);
				if (boxHeight >= 320) {
					var boxContent = box.getElementsByClassName('hoverBox_content');
					if (boxContent.length > 0) {
						boxContent[0].className = 'hoverBox_content_scroll';
					}
				}
			}
			var holdPanelMakeVisible = setTimeout( function() {
                if (prodListItems[_whichOne].hovering == false) return;
                     
                for (var i = 0; i < prodListItems.length; i++)
                {            
                    if (parseInt(i) == parseInt(_whichOne)) continue;
                    document.getElementById('prodInfo_' + [i]).style.display = 'none';
                    document.getElementById('prodInfoPointer_' + [i]).style.display = 'none';
                }                     
                                                                
				box.style.visibility = 'visible';
				flashFlipper('hidePromo');
				if ((document.compatMode && document.all) && !(window.XMLHttpRequest)) {
					selectFlipper('hide');
				}
			},30);
		}
	},250);
}

function hoverBox_assignEvents() { // assigns the mouseover/out events to product bars
		
	var prodListArr = document.getElementsByClassName('product01_images')
	
	prodListItems = new Array();	
	for (var nn = 0; nn < prodListArr.length; nn++)
	{	
	    var prodList = prodListArr[nn];
	
	    var prodWrapper = document.getElementById('product_ph01');
	    if (prodWrapper.className == 'noHeaders') {
    		arrowVisible = '102px';
    	} else {
		    arrowVisible = '112px';
	    }
	    var whichOne = 0;
	    var tmpProdListItems = prodList.getElementsByTagName('a');    	
        if (document.getElementById('prodInfo_0') != null)		
    	for (i = 0; i < tmpProdListItems.length; i++) {
		    var thisProdListItem = tmpProdListItems[i];
		    
		    if (i == 0) whichOne = thisProdListItem.id.replace('prodLinkUpper_', '');
		    
		    thisProdListItem.firstInRow = whichOne;
		    thisProdListItem.hovering = false;		    
    	    prodListItems.push(thisProdListItem);		  
    	    		    
		    thisProdListItem.onmouseover = hoverBox_mOver;		    
		    thisProdListItem.onmouseout = hoverBox_mOut;
	    }
    	
    	var platformChk = navigator.oscpu;
    	if (platformChk == null) {
		    platformChk = 'other';
	    }
	    var uACheck = platformChk.match('Mac OS X');
	    if ((uACheck != null) && (navigator.product == 'Gecko')) {
		    var boxes = prodWrapper.getElementsByClassName('hoverBox01');
		    for (i = 0; i < boxes.length; i++) {
    			var boxParent = boxes[i].parentNode.parentNode;
			    boxParent.className = boxParent.className + 'hoverbox_gif';			
		    }
	    }
	}
}





// ------------------------ product guide hover box ------------------------


var pg_boxDown = false;
var pg_arrowHidden = '999px'; 
var pg_arrowVisible = '60px';
var pg_arrowVisible_down = '-20px';

function pg_loseFocus(me) {
	var myParent = 	me.parentNode.parentNode;
	var cells = myParent.getElementsByTagName('td');
	var lastCell = cells.length - 1;
	var lastOne = cells[lastCell].getElementsByTagName('button');
	lastOne[0].focus();
}


function productGuide_assignEvents() {
	var prodList = document.getElementById('product01');
	prodListItems = prodList.getElementsByClassName('prodLink');
	
	if (document.getElementById('prodInfo_0') != null)
	for (i = 0; i < prodListItems.length; i++) {
		prodListItems[i].hovering = false;
		var thisItem = prodListItems[i].getElementsByTagName('img')[0];
		thisItem.onmouseover = productGuide_mOver;
		document.getElementById('prodLinkUpper_' + [i]).getElementsByTagName('img')[0].onmouseout = productGuide_mOut;
		document.getElementById('prodInfo_' + [i]).onmouseover = productGuide_mOverBox;
		document.getElementById('prodInfo_' + [i]).onmouseout = productGuide_mOutBox;
	}
}



function productGuide_mOver(event) {
	var whichOne = this.parentNode.id.replace('prodLinkUpper_', '');
	prodListItems[whichOne].hovering = true;
	var boxHeight = document.getElementById('prodInfo_' + whichOne);
	boxHeight = boxHeight.parentNode.getElementsByClassName('hoverBox_pad02');

	boxHeight = boxHeight[0];
	
	var boxId = 'prodInfo_' + whichOne;
	var boxArrowId = 'prodInfoPointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
    boxArrow.style.display = 'block';
	var prodLinks = document.getElementsByClassName('prodLink');
	var boxWidth = 350; // set width of standard productbox
	if (box.parentNode.className == 'hoverBox01_wrap01b') {
		boxWidth = 510; // set width of extra wide productbox
	}
	var adjustForCenter = boxWidth / 2 - 40;
	if (whichOne >= maxRowItems) {
		var prodRowNr = prodLinks.length / maxRowItems;
		prodRowNr = parseInt(prodRowNr);
		var prodRowPlace = prodRowNr * maxRowItems;
		prodRowPlace = whichOne - prodRowPlace;
	} else {
		prodRowPlace = whichOne;
	}
	
	var halfwayThroughTheList = halfwayItems;
	
	var distanceThumbToTop = parseInt(findPos(this)[1]);
	distanceThumbToTop = distanceThumbToTop - parseInt(getScrollXY()[1]);
	
	var mouse_to, mouse_from;
	if (window.event) {
		mouse_to = this;
		mouse_from = window.event.fromElement;
	} else {
		mouse_to = event.currentTarget;
		mouse_from = event.relatedTarget;
	}
	
	var holdPanelShow = setTimeout( function() {
		if (prodListItems[whichOne].hovering == true) {
			
			var bmirror = false;
			if (!RtlDirection) {
			    bmirror = (prodRowPlace < halfwayThroughTheList);			
			} else {
			    bmirror = (prodRowPlace > halfwayThroughTheList);
			}
			
			box.style.visibility = 'hidden';
			
			box.style.display = 'block';
			if (bmirror) {
				box.style.left = '0px';
				if (distanceThumbToTop < box.offsetHeight + 40) {
					boxArrow.className = 'hoverBox_arrow_up';
					box.className = 'hoverBox01_up';
					pg_boxDown = true;
					var holdPanelVisible = setTimeout( function() {
						boxArrow.style.top = pg_arrowVisible_down;
						box.style.visibility = 'visible';
					},50);
				} else {
					box.style.visibility = 'visible';
					boxArrow.style.bottom = pg_arrowVisible;
				}
			} else if ((prodRowPlace == halfwayThroughTheList) && (maxRowItems % 2 != 0)) {
				box.style.right = '-' + adjustForCenter + 'px';
				if (distanceThumbToTop < box.offsetHeight + 40) {
					boxArrow.className = 'hoverBox_arrow_up';
					box.className = 'hoverBox01_up';
					pg_boxDown = true;
				 	var holdPanelVisible = setTimeout( function() {
						boxArrow.style.top = pg_arrowVisible_down;
						box.style.visibility = 'visible';
					},50);
				} else {
					box.style.visibility = 'visible';
					boxArrow.style.bottom = pg_arrowVisible;
				}
			} else { 
				box.style.right = '0px';
				if (distanceThumbToTop < box.offsetHeight + 40) {
					boxArrow.className = 'hoverBox_arrow_up';
					box.className = 'hoverBox01_up';
					pg_boxDown = true;
					var holdPanelVisible = setTimeout( function() {
						boxArrow.style.top = pg_arrowVisible_down;
						box.style.visibility = 'visible';
					},50);
				} else {
					box.style.visibility = 'visible';
					boxArrow.style.bottom = pg_arrowVisible;
				}
			}
			
			if (box.parentNode.className == 'hoverBox01_wrap01b') {
				var boxHeight = parseInt(box.offsetHeight);
				if (boxHeight >= 320) {
					var boxContent = box.getElementsByClassName('hoverBox_content');
					if (boxContent.length > 0) {
						boxContent[0].className = 'hoverBox_content_scroll';
					}
				}
			}
			
		}
	},250);
}



function productGuide_mOut(event) {
	var whichOne = this.parentNode.id.replace('prodLinkUpper_', '');
	prodListItems[whichOne].hovering = false;
	var boxId = 'prodInfo_' + whichOne;
	var boxArrowId = 'prodInfoPointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
	var current, related;
	if (window.event) {
		current = this;
		related = window.event.toElement;
	} else {
		current = event.currentTarget;
		related = event.relatedTarget;
	}
	
	var holdPanelShow = setTimeout( function() {
		if ((prodListItems_exploring == false) && (related != null)) {
			if ((current != related && !contains(current, related)) && (related.className != 'hoverBox_arrow')) {
				box.style.display = 'none';
				if (pg_boxDown == true) {
					boxArrow.className = 'hoverBox_arrow';
					box.className = 'hoverBox01';
					boxArrow.style.top = '';
					boxArrow.style.bottom = pg_arrowHidden;
					pg_boxDown = false;
				} else {
					boxArrow.style.bottom = pg_arrowHidden;
				}
				boxArrow.style.display = 'none';
				flashFlipper('showPromo');
			}
		}
	},250);
}


function productGuide_mOverBox(event) {
	prodListItems_exploring = true;
}

function productGuide_mOutBox(event) {
	prodListItems_exploring = false;
	var whichOne = this.id.replace('prodInfo_', '');
	var boxId = 'prodInfo_' + whichOne;
	var boxArrowId = 'prodInfoPointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
	var current, related;
	if (window.event) {
		current = this;
		related = window.event.toElement;
	} else {
		current = event.currentTarget;
		related = event.relatedTarget;
	}
	if (current != related && !contains(current, related)) {
		if (related != boxArrow) {
			box.style.display = 'none';
			if (pg_boxDown == true) {
				boxArrow.className = 'hoverBox_arrow';
				box.className = 'hoverBox01';	
				boxArrow.style.top = '';
				boxArrow.style.bottom = pg_arrowHidden;
				pg_boxDown = false;
			} else {
				boxArrow.style.bottom = pg_arrowHidden;
			}
            boxArrow.style.display = 'none';
			flashFlipper('showPromo');
		}
	}
}



// ------------------------ market selector (general) hover box ------------------------

var cl_shouldGetFocus = false;

function cl_kickStartOnLoad() { // performs initialization of market selector, when used on splash page
 cl_assignEvents(false);
 var pl_src01 = document.getElementById('pl_src01');
 var pl_applySrc01 = document.getElementById('cl_bgMain');
 var pl_src02 = document.getElementById('pl_src02');
 var pl_applySrc02 = document.getElementById('cl_bgFooter')
 pl_applySrc01.style.backgroundImage = 'url(' + pl_src01.href + ')'; 
}



function cl_assignEvents(giveFocus) { // assigns the mouseover/out events to the market selector
	var clList = document.getElementById('cl_markets');
	clListItems = clList.getElementsByTagName('a');
	for (i = 0; i < clListItems.length; i++) {
		document.getElementById('clMo_' + [i]).onmouseover = clHoverBox_mOver;
		document.getElementById('clMo_' + [i]).onfocus = clHoverBox_mOver;
		document.getElementById('clMo_' + [i]).onmouseout = clHoverBox_mOut;
		//document.getElementById('clMo_' + [i]).onblur  = clHoverBox_mOut;
		document.getElementById('clPopup_' + [i]).onmouseout = clHoverBox_mOutBox;
		//document.getElementById('clPopup_' + [i]).onblur  = clHoverBox_mOutBox;
	}
	if (giveFocus == true) {
		cl_shouldGetFocus = true;
	}
}


function clHoverBox_mOver(event) {
	var whichOne = this.id.replace('clMo_', '');
	var listItems = document.getElementById('cl_popups').getElementsByTagName('td');
	var nrOfItems = listItems.length;
	var boxWidth = 350; // set width of productbox here
	var adjustForCenter = boxWidth / 2 - 40;
	var boxId = 'clPopup_' + whichOne;
	var boxArrowId = 'clPopup_pointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
	var halfwayThroughTheList = (nrOfItems / 2)-1;
	halfwayThroughTheList = parseInt(halfwayThroughTheList);
	if (whichOne < halfwayThroughTheList) {
		box.style.display = 'block';
		boxArrow.style.display = 'block';
	} else if (whichOne == halfwayThroughTheList) {
		box.style.display = 'block';
		box.style.right = '-' + adjustForCenter + 'px';
		boxArrow.style.display = 'block';
	} else {
		box.style.display = 'block';
		box.style.right = '0px';
		boxArrow.style.display = 'block';
	}
	
	// Remove scrollbars
	var container = box.firstChild.nextSibling.firstChild.nextSibling;
	
	if (container.clientWidth != (container.scrollWidth || container.offsetWidth)) 
	{
	    container.firstChild.setStyle({ 'float' : 'none' });
	    container.firstChild.nextSibling.setStyle({ 'float' : 'none' });
	}

	var MoBoxLinks = box.getElementsByTagName('a');
	var MoBoxInputs = box.getElementsByTagName('input');
	if (MoBoxLinks[0] != null) {
		MoBoxLinks[0].focus();
		if (MoBoxInputs[0] != null) {
			var theLastInput = MoBoxInputs.length - 1;
			theLastInput = MoBoxInputs[theLastInput];
			theLastInput.onblur = function() {
				box.style.display = 'none';
				boxArrow.style.display = 'none';
				whichOne = parseInt(whichOne);
				var nextOne = whichOne + 1;
				if (!(nextOne >= listItems.length)) {
					//alert(whichOne + ' ' + nextOne);
					nextOne = document.getElementById('clMo_' + nextOne);
					nextOne.focus();
				} 
			}
		}
	} else {
	}
	
}

function clHoverBox_mOut(event) {
	var whichOne = this.id.replace('clMo_', '');
	var boxId = 'clPopup_' + whichOne;
	var boxArrowId = 'clPopup_pointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
	var related;
	if (window.event) {
		related = window.event.toElement;
	} else {
		related = event.relatedTarget;
	}
	if ((related != box && related != boxArrow)) {
		box.style.display = 'none';
		boxArrow.style.display = 'none';
	}
}

function clHoverBox_mOutBox(event) {
	var whichOne = this.id.replace('clPopup_', '');
	var boxId = 'clPopup_' + whichOne;
	var boxArrowId = 'clPopup_pointer_' + whichOne;
	var box = document.getElementById(boxId);
	var boxArrow = document.getElementById(boxArrowId);
	var current, related;
	if (window.event) {
		current = this;
		related = window.event.toElement;
	} else {
		current = event.currentTarget;
		related = event.relatedTarget;
	} 
	if (current != related && !contains(current, related)) {
		box.style.display = 'none';
		boxArrow.style.display = 'none';
	}
}

// ------------------------ market selector (multi entry) hover box ------------------------

function clLower_kickStartOnLoad() {
	clLower_assignEvents();
	var moImages = document.getElementById('cl_bgMain_pad01').getElementsByTagName('a');
	for (i = 0; i < moImages.length; i++) {
		moImages[i].style.backgroundImage = 'url(' + moImages[i].href + ')';
		moImages[i].href = 'javascript:void(0);';
		moImages[i].innerHTML = '';
	}
	 // default image for the multi entry splash page
	var pl_src01 = document.getElementById('pl_src01');
	var pl_applySrc01 = document.getElementById('cl_bgMain');
	pl_applySrc01.style.backgroundImage = 'url(' + pl_src01.href + ')'; 
}

function clLower_assignEvents() {
	var clList = document.getElementById('cl_marketsLower');
	clListItems = clList.getElementsByTagName('a');
	for (i = 0; i < clListItems.length; i++) {
		document.getElementById('clLwMo_' + [i]).onmouseover = clLowerHoverBox_mOver;
		document.getElementById('clLwMo_' + [i]).onfocus = clLowerHoverBox_mOver;
		document.getElementById('clLwMo_' + [i]).onmouseout = clLowerHoverBox_mOut;
		document.getElementById('clLwMo_' + [i]).onblur = clLowerHoverBox_mOut;
		document.getElementById('cl_popupLower_' + [i]).onmouseout = clLowerHoverBox_mOutBox;
	}
}


function clLowerHoverBox_mOver(event) {
	var whichOne = this.id.replace('clLwMo_', '');

	var boxId = 'cl_popupLower_' + whichOne;
	var box = document.getElementById(boxId);

    var bWidth = eval(getComputedWidth(this));
    var b2Width = bWidth/2;
    var bXcenter  = Math.floor(eval(zxcPos(this)[0]) + b2Width);
    
    var cObj = document.getElementById('cl_selectLower');    
    var minX = eval(zxcPos(cObj)[0]);
    var maxX = minX + eval(getComputedWidth(cObj));
    		
	var moImages = document.getElementById('cl_bgMain_pad01').getElementsByTagName('a');
	for (i = 0; i < moImages.length; i++) {
		moImages[i].style.display = 'none';
	}
	var imgId = 'pl_clLwMo_' + whichOne;
	var img = document.getElementById(imgId);
	img.style.display = 'block';
		
	box.style.display = 'block';	
	
	var boxW;
	
	if (!RtlDirection)
	{
	  boxW = eval(getComputedWidth(box.firstChild));	
	} else {
	  boxW = eval(getComputedWidth(box));
	}

	var box2W = boxW / 2;
	    
	if (!RtlDirection)
	{	    
	    if ((box.style.left == null) || (box.style.left == ""))
	    {
	        var bleft = b2Width - box2W;
	        
	        var left = eval(zxcPos(box)[0]) + bleft;
	        
	        if (left < minX)
	        {
	            bleft = bleft + (minX - left);
	        }	
	        
	        var right = eval(zxcPos(box)[0]) + boxW + bleft;	        
	        if (right > maxX) bleft = bleft + (maxX - right);
	        
            box.style.left= bleft+'px';
        }
    } else {

        if ((box.style.right == null) || (box.style.right == ""))
	    {				    	
	        var bright = b2Width - box2W ;  
	        
	        var left = eval(zxcPos(box)[0]) - bright;
	        if (left < minX) 
	        {
	            bright = bright + (left - minX);
	            if (isIE) bright = bright - 12;	            
	        }
	        
	        var right = eval(zxcPos(box)[0]) + boxW - bright;	        
	        if (right > maxX) bright = bright + (right - maxX);
	        
            box.style.right= bright+'px';
        }
    }
  
		
}


// Get Absolute position
function zxcPos(zxcobj){
	zxclft=zxcobj.offsetLeft;
	zxctop=zxcobj.offsetTop;
	while(zxcobj.offsetParent!=null){
		zxcpar=zxcobj.offsetParent;
		zxclft+=zxcpar.offsetLeft;
		zxctop+=zxcpar.offsetTop;
		zxcobj=zxcpar;
	}
	return [zxclft,zxctop];
}


function clLowerHoverBox_mOut(event) {
	var whichOne = this.id.replace('clLwMo_', '');
	var boxId = 'cl_popupLower_' + whichOne;
	var box = document.getElementById(boxId);
	var related;
	if (window.event) {
		related = window.event.toElement;
	} else {
		related = event.relatedTarget;
	}
	if (related != box) {
		box.style.display = 'none';
	}
}


function clLowerHoverBox_mOutBox(event) {
	var box = document.getElementById(this.id);
	var current, related;
	if (window.event) {
		current = this;
		related = window.event.toElement;
	} else {
		current = event.currentTarget;
		related = event.relatedTarget;
	}
	if (current != related && !contains(current, related)) {
		box.style.display = 'none';
	}
}



// ------------------------ market selector popup layer ------------------------

function checkThePopupBg() { // makes sure that the shade background of layers works in IE6
	var popupBg_black = document.getElementById('popupLayer_fullCoverBackground');
	if (popupBg_black.style.display == 'block' && document.all && document.fireEvent && document.createComment) { //WinIE
		popupBg_black.style.width = document.body.offsetWidth;
		popupBg_black.style.height = document.body.offsetHeight;
	}
}

function showPopupLayer(whichOne) {
	selectFlipper('hide');
	flashFlipper('hide');
	var bg_black = document.getElementById('popupLayer_fullCoverBackground');
	window.onresize = function() {
		checkThePopupBg(); // resize the big bg - for IE	
	}
	bg_black.style.display = 'block';
	checkThePopupBg();// - for IE
	
	if (whichOne == 'changeLocation') {
		cl_assignEvents(true);
		var pl = document.getElementById('popupLayer');
		var cl = document.getElementById(whichOne);
		var pl_src01 = document.getElementById('pl_src01');
		var pl_applySrc01 = document.getElementById('cl_bgMain');
		var pl_src02 = document.getElementById('pl_src02');
		var pl_applySrc02 = document.getElementById('cl_bgFooter');
		var plCloseBtn = pl.getElementsByTagName('div');
		plCloseBtn = plCloseBtn[0].getElementsByTagName('img');
		plCloseBtn[0].onclick = function() {
			hidePopupLayer(whichOne);
		}
		bg_black.onclick = function() {
			hidePopupLayer(whichOne);
		}
				
		pl_applySrc01.style.backgroundImage = 'url(' + pl_src01.href + ')'; 
		pl_applySrc02.style.backgroundImage = 'url(' + pl_src02.href + ')';
		pl.style.display = 'block';
		cl.style.visibility = 'visible';
		cl.style.display = 'block';
		if (cl_shouldGetFocus == true) {
			var moItems = document.getElementById('cl_markets');
			moItems = moItems.getElementsByTagName('a');
			moItems[0].focus();
		}
		
	} else if (whichOne == 'tellAFriend') {
		var pl = document.getElementById('popupLayer');
		var cl = document.getElementById(whichOne);
		var plCloseBtn = pl.getElementsByTagName('div');
		plCloseBtn = plCloseBtn[0].getElementsByTagName('img');
		plCloseBtn[0].onclick = function() {
			hidePopupLayer(whichOne);
		}
		bg_black.onclick = function() {
			hidePopupLayer(whichOne);
		}
		pl.style.display = 'block';
		cl.style.visibility = 'visible';
		cl.style.display = 'block';
		
	}
}

function hidePopupLayer(whichOne) {
	selectFlipper('show');
	flashFlipper('show');
	var bg_black = document.getElementById('popupLayer_fullCoverBackground');
	bg_black.style.display = 'none';
	
	if (whichOne == 'changeLocation') {
		var cl = document.getElementById('changeLocation');
		var pl = document.getElementById('popupLayer');
		pl.style.display = 'none';
		cl.style.visibility = 'hidden';
		cl.style.display = 'none';
	} else if (whichOne == 'tellAFriend') {
		var cl = document.getElementById('tellAFriend');
		var pl = document.getElementById('popupLayer');
		pl.style.display = 'none';
		cl.style.visibility = 'hidden';
		cl.style.display = 'none';
	}
	
	
	
	// här bör vara en IF som ser vilket objekt man vill släcka, och ifall det kräver släckning av popupLayer så görs detta i satsen
}

// ------------------------ Quicktime loader for History Timeline template ------------------------

var qt_muted = false;
var qt_wasPlaying;
var qt_ff_interval = false;
var qt_rw_interval = false;

function SafChk() {
	var userAgent = navigator.userAgent;
	var uACheck = userAgent.match('AppleWebKit');
	return uACheck;
}

function qt_play() {
	var qt_playButtonImg = parent.parent.document.getElementById('qt_ctrl_play');
	if (qt_wasPlaying == false) { // if stopped, then PLAY
		if (parent.parent.document.qt001b) { // The rest
			if (SafChk() == null) { // if not Safari
				parent.parent.document.qt001b.Play();
			}
		} else { // WinIE
			parent.parent.document.qt001a.Play();
		}
		qt_wasPlaying = true;
		var fixInIE = setTimeout( function() {
			qt_playButtonImg.src = '_images/layout/qt_pause.gif';
			qt_playButtonImg.title = 'Pause';
		},100);
		if (qt_rw_interval != false) {
			clearInterval(qt_rw_interval);
		} 
		if (qt_ff_interval != false) {
			clearInterval(qt_ff_interval);
		}
	} else { // if playing, sten STOP
		if (parent.parent.document.qt001b) { // The rest
			if (SafChk() == null) { // if not Safari
				parent.parent.document.qt001b.Stop();
			}
		} else { // WinIE
			parent.parent.document.qt001a.Stop();
		}
		if (qt_rw_interval != false) {
			clearInterval(qt_rw_interval);
		}
		if (qt_ff_interval != false) {
			clearInterval(qt_ff_interval);
		}
		qt_wasPlaying = false;
		var fixInIE = setTimeout( function() {
			qt_playButtonImg.src = '_images/layout/qt_play.gif';
			qt_playButtonImg.title = 'Play';
		},100);
	}
}


function qt_ff(doThis) {
	var mov;
	if (parent.parent.document.qt001b) { // The rest
		if (SafChk() == null) { // if not Safari
			mov = 'qt001b';
		}
	} else { // WinIE
		mov = 'qt001a';
	}
	if (doThis == true) {
		qt_ff_interval = setInterval('parent.parent.document.' + mov + '.Step(10)', 50);
	} else {
		clearInterval(qt_ff_interval);
		if (qt_wasPlaying == true) {
			if (parent.parent.document.qt001b) { // The rest
				if (SafChk() == null) { // if not Safari
					parent.parent.document.qt001b.Play();
				}
			} else { // WinIE
				parent.parent.document.qt001a.Play();
			}
		}
	}
}

function qt_rw(doThis) {
	var mov;
	if (parent.parent.document.qt001b) { // The rest
		if (SafChk() == null) { // if not Safari
			mov = 'qt001b';
		}
	} else { // WinIE
		mov = 'qt001a';
	}
	if (doThis == true) {
		qt_rw_interval = setInterval('parent.parent.document.' + mov + '.Step(-10)', 50);
	} else {
		clearInterval(qt_rw_interval);
		if (qt_wasPlaying == true) {
			if (parent.parent.document.qt001b) { // The rest
				if (SafChk() == null) { // if not Safari
					parent.parent.document.qt001b.Play();
				}
			} else { // WinIE
				parent.parent.document.qt001a.Play();
			}
		}
	}
}

function qt_mute() {
	var qt_muteButtonImg = parent.parent.document.getElementById('qt_ctrl_vol');
	if (qt_muted == false) { // mute
		if (parent.parent.document.qt001b) { // The rest
			if (SafChk() == null) { // if not Safari
				parent.parent.document.qt001b.SetMute(true);
			}
		} else { // WinIE
			parent.parent.document.qt001a.SetMute(true);
		}
		var fixInIE = setTimeout( function() {
			qt_muteButtonImg.src = '_images/layout/qt_vol0.gif';
			qt_muteButtonImg.title = 'Turn on sound';
		},100);
		qt_muted = true;
	} else { // turn on sound
		if (parent.parent.document.qt001b) { // The rest
			if (SafChk() == null) { // if not Safari
				parent.parent.document.qt001b.SetMute(false);
			}
		} else { // WinIE
			parent.parent.document.qt001a.SetMute(false);
		}
		var fixInIE = setTimeout( function() {
			qt_muteButtonImg.src = '_images/layout/qt_vol1.gif';
			qt_muteButtonImg.title = 'Turn off sound';
		},100);
		qt_muted = false;
	}
}


function htl_loadQT(contentType,codeOrURL,width,height) {
	width = parseInt(width);
	height = parseInt(height);
	selectFlipper('hide');
	flashFlipper('hide');
	var bg_black = parent.parent.document.getElementById('popupLayer_fullCoverBackground');
	bg_black.style.display = 'block';
	if (bg_black.style.display == 'block' && document.all && document.fireEvent && document.createComment) { //WinIE
		bg_black.style.width = parent.parent.document.body.offsetWidth;
		bg_black.style.height = parent.parent.document.body.offsetHeight;
	}
	var pl = parent.parent.document.getElementById('popupLayer_small');
	
	var plCloseBtn = pl.getElementsByClassName('popupLayer_small_close');
	plCloseBtn = plCloseBtn[0].getElementsByTagName('img');
	
	plCloseBtn[0].onclick = function() {
		htl_unloadQT();
	}
	
	bg_black.onclick = function() {
		htl_unloadQT();
	}
	
	var plqt;
	if (!parent.parent.document.getElementById('htl_qt')) {
		plqt = parent.parent.document.createElement('div');
		var plqt_c = parent.parent.document.createTextNode(codeOrURL);
		plqt.appendChild(plqt_c);
		pl.getElementsByClassName('popupLayer_small_content')[0].appendChild(plqt);
	
		var plqt_container = pl.getElementsByClassName('popupLayer_small_content')[0].getElementsByTagName('div');
		var plqt_last = plqt_container.length - 1;
		plqt_container = plqt_container[plqt_last];
		plqt_container.id = 'htl_qt';
	}
	plqt = parent.parent.document.getElementById('htl_qt');
	
	pl.style.display = 'block';
	plqt.style.display = 'block';
	
	if (contentType == 'url') {
		// generate QT code by JS
		var qt_content = new Array();
		
		qt_content[0] = '<object id="qt001a" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="';
		qt_content[1] = width;
		qt_content[2] = '" height="';
		qt_content[3] = height;
		qt_content[4] = '"><param name="controller" value="false" /><param name="src" value="';
		qt_content[5] = codeOrURL;
		qt_content[6] = '" /><param name="autoplay" value="true" /><!--[if !IE]>--><object id="qt001b" type="video/quicktime" data="';
		qt_content[7] = codeOrURL;
		qt_content[8] = '" style="position: fixed;" width="';
		qt_content[9] = width;
		qt_content[10] = '" height="';
		qt_content[11] = height;
		qt_content[12] = '"><param name="autoplay" value="true" /><param name="controller" value="false" /></object><!--<![endif]--></object>';
		qt_content[13] = '<div id="qt_ctrl" style="margin: auto; width:' + width + 'px;"><a href="javascript:void(0);" onclick="qt_play();"><img id="qt_ctrl_play" src="_images/layout/qt_pause.gif" alt="" title="Pause" /></a><a href="javascript:void(0);" onkeydown="qt_rw(true);" onmousedown="qt_rw(true);" onkeyup="qt_rw();" onmouseup="qt_rw();"><img src="_images/layout/qt_rw.gif" alt="" title="Rewind" /></a><a href="javascript:void(0);" onkeydown="qt_ff(true);" onmousedown="qt_ff(true);" onkeyup="qt_ff();" onmouseup="qt_ff();"><img src="_images/layout/qt_ff.gif" alt="" title="Fast forward" /></a><a href="javascript:void(0);" onclick="qt_mute();" class="vol"><img id="qt_ctrl_vol" src="_images/layout/qt_vol1.gif" alt="" title="Turn sound off" /></a></div>';

		if (!(document.all) || (window.opera)) { // if != IE 5+
			pl.style.position = 'fixed';
			var halfwidth = width / 2;
			halfwidth = parseInt(halfwidth);
			qt_content[8] = '" style="position: fixed; margin-left: -' + halfwidth + 'px;" width="';
			qt_content[13] = '<div style="width:' + width + 'px; height:' + height + 'px;"></div>' + qt_content[13];
			//alert(qt_content[13]);
		}
		
		var userAgent = navigator.userAgent;
		var uACheck = userAgent.match('AppleWebKit');
		if (uACheck != null) { // if Safari
			qt_content[3] = height + 16;
			qt_content[11] = height + 16;
			qt_content[4] = '"><param name="controller" value="true" /><param name="src" value="';
			qt_content[8] = '" style="position: fixed;" width="';
			qt_content[12] = '"><param name="autoplay" value="true" /><param name="controller" value="true" /></object><!--<![endif]--></object>';
			qt_content[13] = '';
		}
		
		plqt.innerHTML = qt_content.join('');
		parent.parent.qt_wasPlaying = true; // if the film is not supposed to autoplay, this needs to be changed to false
		parent.parent.qt_muted = false;
	} else  {
		// inject code directly from the function call
		plqt.innerHTML = codeOrURL;
	}
	
}

function htl_unloadQT() {
	selectFlipper('show');
	flashFlipper('show');
	var bg_black = parent.parent.document.getElementById('popupLayer_fullCoverBackground');
	var pl = parent.parent.document.getElementById('popupLayer_small');
	var plqt = parent.parent.document.getElementById('htl_qt');
	pl.style.display = 'none';
	plqt.innerHTML = '';
	plqt.style.display = 'none';
	bg_black.style.display = 'none';
	qt_wasPlaying = true;
}

// ------------------------ group home video ------------------------

function loadGroupHomeVideo() {
    var mediaCtr = document.getElementById('main01_media_ph');
    if ((mediaCtr != null) && (mediaCtr != 'undefined')) mediaSwfObject.write("main01_media_ph");
}

// ------------------------ general promo ------------------------

//start at slide -1 because it counts to 0 onload
var activePromoItem = -1;
var promoItemBAHomeSlidePlay = true;
var promoItemBAHomeInterval;

function voidAllPromoButtons() {
	var linkList = document.getElementById('main01_promo_links');
	var links = linkList.getElementsByTagName('a');
	for (i = 0; i < links.length; i++) {
		links[i].href = 'javascript:void(0);';
	}
}
var tempText ="";
var placeHolder='';
function showPromoItemBAHome(me) {
	placeHolder = document.getElementById('main01_promoPh');
	//
		if (promoSwfObject[me] != '' && bChkShowFlash){
		//if there is a SwfObject, show it
		placeHolder.innerHTML = '';
		if (promoItemBAHomeSlidePlay == false) { // if the user slideshow is stopped, tell this to the flash
			promoSwfObject[me].addVariable("userClicked", "1");	
		} else {
			promoSwfObject[me].addVariable("userClicked", "0");	
		}
		promoSwfObject[me].write("main01_promoPh");			
        var x = promoSwfObject[me].attributes.id;
        eval("window." + x + " = document." +  x);
	} else {
		//otherwise, show the image
		tempText = promoObject[me];
		//placeHolder.innerHTML = tempText;
		var pImage = setTimeout("showPromoImage()",100);
		if(promoItemBAHomeSlidePlay) {
			promoItemBAHomeInterval = setTimeout("promoItemBAHome_slideShow('next');", 4000);
		}
	}
	markThumbnail(me);
}

// special solution due to IE bugg
function showPromoImage(){
        if ( (placeHolder != null) && (placeHolder != 'undefined') && (placeHolder != '') )
        {
		  placeHolder.innerHTML = '';
		  placeHolder.innerHTML = tempText;
		}
}

function promoItemBAHomeOnClick(me) {
	//stop slide show onClick
	//if(promoItemBAHomeInterval!=undefined) {
	clearTimeout(promoItemBAHomeInterval);
	//}
	promoItemBAHomeSlidePlay = false;
	showPromoItemBAHome(me) ;
}

function promoItemBAHome_slideShow(onlyOnce) {
	if (onlyOnce == 'onlyOnce') {
		promoItemBAHomeSlidePlay = false;
	}
		
    // do nothing
	if (promoSwfObject[activePromoItem]!='' && onlyOnce == 'next') return;
		
	//next image
	activePromoItem++;

	if(activePromoItem>=promoObject.length) activePromoItem = 0;

	//check that image string isnt empty
	while(promoObject[activePromoItem]=='' && promoSwfObject[activePromoItem]==''){
		//alert("empty");
		activePromoItem++;
		if(activePromoItem>=promoObject.length) activePromoItem = 0;
	}
	showPromoItemBAHome(activePromoItem);
}

function promoItemBAHome_flashDone() {
	// flash is done, show next promo item
	if (promoItemBAHomeSlidePlay != false) {
		promoItemBAHome_slideShow('flash');
	}
}


function markThumbnail(thisOne) {
	var promoControlArea = document.getElementById('main01_promo_links');
	if ((promoControlArea == null) || (promoControlArea == 'undefined')) return;
	var promoControlButtons = promoControlArea.getElementsByTagName('a');
	if ((promoControlButtons == null) || (promoControlButtons == 'undefined')) return;
	for (i = 0; i < promoControlButtons.length; i++) {
		var otherThumbs = promoControlButtons[i].getElementsByTagName('img');
		otherThumbs[1].style.visibility = 'hidden';
	}

    var obj = promoControlButtons[thisOne];	
    if ((obj == null) || (obj == 'undefined')) return;

	var selectedThumb = obj.getElementsByTagName('img');
	selectedThumb[1].style.visibility = 'visible';


	var promoControlArea = document.getElementById('main01_promoPhEdit');	
	if ((promoControlArea != null) && (promoControlArea != 'undefined') && (promoEditUrl != null) && (promoEditUrl != 'undefined') )
	{
	    promoControlArea.href = promoEditUrl[thisOne];
	}
	
}

// ======================== subNav2 on product page ========================

function showSubNav2(showMe) {
	document.onclick = null;
	showMe.href = "javascript:void(0);";
		
    // Firefox fix
	var navigationArea = document.getElementById('main01_contentMain_subNav02');	
	if ((navigationArea != null) && (navigationArea != 'undefined'))
	{
	    var height = getComputedHeight(navigationArea);
	    navigationArea.style.height = height + "px";
	    navigationArea.style.overflow = 'visible';
	}	
	
	var menuLook = showMe.parentNode;	
	var moreMenuLook = menuLook.parentNode;
	closeSubNav2();
	if (menuLook.className == 'subNav02_closed') {
		menuLook.className = 'subNav02';
	} else {
		menuLook.className = 'subNav02_closed';
	}
	setTimeout("catchClick()",100);
}

function getComputedHeight(obj){
        if(isIE){
                tmphght = obj.offsetHeight;
        }
        else{
                var tmphght1 = document.defaultView.getComputedStyle(obj, "").getPropertyValue("height");
                tmphght = tmphght1.split('px');
                tmphght = tmphght[0];
        }
        return tmphght;
}

function getComputedWidth(obj){
        if(isIE){
                tmphght = obj.offsetWidth;
        }
        else{
                var tmphght1 = document.defaultView.getComputedStyle(obj, "").getPropertyValue("width");
                tmphght = tmphght1.split('px');
                tmphght = tmphght[0];
        }
        return tmphght;
}

function closeSubNav2(){
	var allMenuLook = document.getElementsByClassName('subNav02');
	if (allMenuLook.length > 0) {
		for (i = 0; i < allMenuLook.length; i++) {
			allMenuLook[i].className = 'subNav02_closed';
		}
	}
}

function catchClick(){
	document.onclick =	closeSubNav2;
}

// ======================== product page promo select ========================

function showProductPromo(iAm, showThis, imgAltText) {
	var imageHolder = document.getElementById('main01_contentMain_mediaBlock01_promo_ph');
	var imgStart = '<span class="imgRc"><span class="imgRc_top"><span class="imgRc_topLeft"></span><span class="imgRc_topRight"></span></span><img src="';
	var imgMiddle = '" alt="';
	var imgEnd = '" /><span class="imgRc_bottom"><span class="imgRc_bottomLeft"></span><span class="imgRc_bottomRight"></span></span></span>';
	imageHolder.innerHTML = imgStart + showThis + imgMiddle + imgAltText + imgEnd;
	var allThumbs = iAm.parentNode;
	allThumbs = allThumbs.getElementsByTagName('a');
	//alert(allThumbs.length);
	for (i = 0; i < allThumbs.length; i++) {
		var otherThumbs = allThumbs[i].getElementsByTagName('img');
		otherThumbs[1].style.visibility = 'hidden';
	}
	var thumbs = iAm.getElementsByTagName('img');
	thumbs[1].style.visibility = 'visible';
}


// ------------------------ login form ------------------------

function handlePostBackOnEnter(userId, pwId, submitFunc) {
	var currentpwInput = document.getElementById(pwId);
	var currentuserInput = document.getElementById(userId);
	
	if ((currentpwInput != null) && 
		(currentpwInput != '') && 
		(currentuserInput != null) && 
		(currentuserInput != '') && 
		(currentuserInput != ' '))
	{
	    currentuserInput.onkeypress = currentpwInput.onkeypress = function postBackOnEnter(e) 
	    {
	        e = e||event;
	        var key = e.keyCode;
	        if (key == 13 && this.value != '') {
	            eval(submitFunc);
    	    } 
        	
    	    if (key == 13) {
 	            e.returnValue = false;
  	            if (e.preventDefault) e.preventDefault();
   	            return false;    	
    	    }    	
        }
    } 	

}

// ------------------------ sitemap ------------------------

function expListOpen(me) {
	var listBelow = me.parentNode.parentNode.getElementsByTagName('ul');
	//alert(listBelow.length);
	if (me.className != 'expButton_open') {
		me.className = 'expButton_open';
		listBelow[0].style.display = 'none';
	} else {
		me.className = 'expButton_close';
		listBelow[0].style.display = 'block';
	}
}


// ======================== gallery ========================

var gallery_currentImage = 0;
var gallery_thumbsHidden = 0;
var gallery_thumbsHiddenNoTab = 6;

function gallery_hideCap() {
	var gallery_thumbCap = document.getElementById('gallery_thumbCap');
	gallery_thumbCap.style.display = 'none';
}

function gallery_handleLinks() {
	var galleryLinks = document.getElementsByClassName('gallery_thumb', $('gallery_thumbs'));
	for (i = 0; i < galleryLinks.length; i++) {
		var imgAltTxt = galleryLinks[i].getElementsByClassName('gallery_thumb_alt');
		imgAltTxt[0].title = galleryLinks[i].href;
		galleryLinks[i].href = 'javascript:void(0);';
	}
	var gallery_noFocusLinks = galleryLinks.length - 6;
	for (i = 6; i < galleryLinks.length; i++) {
	    galleryLinks[i].style.display = 'none';
		//galleryLinks[i].tabIndex = '-1';
	}
	
	var arrowPrev = document.getElementById('gallery_imageArea_arrowPrev');
	var arrowNext = document.getElementById('gallery_imageArea_arrowNext');
	var thumbsPrev = document.getElementById('gallery_thumbsPrev');
	var thumbsNext = document.getElementById('gallery_thumbsNext');
	arrowPrev.onclick = gallery_prevImage;
	arrowNext.onclick = gallery_nextImage;
	//thumbsPrev.onclick = gallery_prevThumb;
	//thumbsNext.onclick = gallery_nextThumb;
	thumbsPrev.onclick = gallery_prevImage;
	thumbsNext.onclick = gallery_nextImage;
	
}


function gallery_loadImage(url) {
	var gallery_image_Ph = document.getElementById('gallery_image_Ph');
	var gallery_image = gallery_image_Ph.getElementsByTagName('img');
	gallery_image[0].src = url;
	}

function gallery_showImage(me) {

    gallery_markThumb(me);

	var prevSelected = document.getElementsByClassName('gallery_thumb_selected');
	if (prevSelected.length > 0) {
		prevSelected[0].className = 'gallery_thumb_marker';
	}
	var thisSelected = me.getElementsByClassName('gallery_thumb_marker');
	if (thisSelected.length > 0) {
		thisSelected[0].className = 'gallery_thumb_selected';
	} else {
		thisSelected = me.getElementsByClassName('gallery_thumb_selected');
		if (thisSelected.length > 0) {
		thisSelected[0].className = 'gallery_thumb_selected';
		} else {
			thisSelected = me.getElementsByClassName('gallery_thumb_marked');
			thisSelected[0].className = 'gallery_thumb_selected';
		}
	}
	var gallery_image_Ph = document.getElementById('gallery_image_Ph');
	var gallery_image = gallery_image_Ph.getElementsByTagName('img');
	var gallery_textArea = document.getElementById('gallery_textArea');
	var gallery_linkArea = document.getElementById('subNav_gallery');
	var thumb_linkArea = document.getElementById('gallery_thumb_links');
	var gallery_links = thumb_linkArea.getElementsByClassName('gallery_thumb_links');
	var imgAltTxt = me.getElementsByClassName('gallery_thumb_alt');
	var imgInfoTxt = me.getElementsByClassName('gallery_thumb_info');
	gallery_textArea.innerHTML = imgInfoTxt[0].innerHTML;
	var loadImage = setTimeout( function() {
		gallery_loadImage(imgAltTxt[0].title);
	},100);
	gallery_image[0].alt = imgAltTxt[0].innerHTML;
	gallery_currentImage = me.id.replace('galleryThumb_', '');
	gallery_currentImage =  parseInt(gallery_currentImage);
	if ((gallery_linkArea != null) && (gallery_linkArea != 'undefined')) 
	{
	    var galleryLinks = document.getElementById('subNav_galleryLinks');
	    var galleryLinksArr = gallery_links[gallery_currentImage].getElementsByTagName('a');
	    if (galleryLinksArr.length >0) {
	        galleryLinks.style.display = 'block';	    
	        gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
	    } else {
	        galleryLinks.style.display = 'none';
	    }	    
	}
	var nrOfThumbs = document.getElementById('gallery_thumbs');
	nrOfThumbs = nrOfThumbs.getElementsByTagName('a');
	nrOfThumbs = nrOfThumbs.length;
	var arrowPrev = document.getElementById('gallery_imageArea_arrowPrev');
	var arrowNext = document.getElementById('gallery_imageArea_arrowNext');
	var thumbsPrev = document.getElementById('gallery_thumbsPrev');
	var thumbsNext = document.getElementById('gallery_thumbsNext');	
	if (gallery_currentImage == 0) {
		arrowPrev.style.visibility = 'hidden';
		arrowNext.style.visibility = 'visible';
		thumbsPrev.style.visibility = 'hidden';
		thumbsNext.style.visibility = 'visible';			
	} else if (gallery_currentImage == (nrOfThumbs - 1)) {
		arrowPrev.style.visibility = 'visible';
		arrowNext.style.visibility = 'hidden';
		thumbsPrev.style.visibility = 'visible';
		thumbsNext.style.visibility = 'hidden';
	} else {
		arrowPrev.style.visibility = 'visible';
		arrowNext.style.visibility = 'visible';
		thumbsPrev.style.visibility = 'visible';
		thumbsNext.style.visibility = 'visible';
	}
}

function gallery_moThumb(me) {
	if (me.className == 'gallery_thumb_marker') {
		me.className = 'gallery_thumb_marked';
	} else if (me.className != 'gallery_thumb_selected') {
		me.className = 'gallery_thumb_marker';
	}
}

function gallery_markThumb(me) {
    var meThumbs = me.getElementsByTagName('img');
	var aThumbs = document.getElementById('gallery_thumbs');
	aThumbs = aThumbs.getElementsByTagName('a');

	for (i = 0; i < aThumbs.length; i++) {
		var otherThumbs = aThumbs[i].getElementsByTagName('img');
		
		if (meThumbs[1] != otherThumbs[1])
		{
		    otherThumbs[0].style.visibility = 'hidden';
		} else {
		    otherThumbs[0].style.visibility = 'visible';
		}
	}
	
	var galleryControlArea = document.getElementById('galleryItemPhEdit');	
	if ((galleryControlArea != null) && (galleryControlArea != 'undefined') && (galleryItemUrl != null) && (galleryItemUrl != 'undefined') )
	{
	    var thisOne = me.id.replace('galleryThumb_', '');
	    thisOne =  parseInt(thisOne);	
	    galleryControlArea.href = galleryItemUrl[thisOne];
	}		
	
}

function gallery_prevImage() {   
	var nrOfThumbs = document.getElementById('gallery_thumbs');
	nrOfThumbs = nrOfThumbs.getElementsByTagName('a');
	nrOfThumbs = nrOfThumbs.length;
	if (gallery_currentImage < (nrOfThumbs)) {
			var arrowNext = document.getElementById('gallery_imageArea_arrowNext');
			arrowNext.style.visibility = 'visible';
			document.getElementById('gallery_thumbsNext').style.visibility = 'visible';
	}
	if (gallery_currentImage > 0) {
		var prevSelected = document.getElementsByClassName('gallery_thumb_selected');
		if (prevSelected.length > 0) {
			prevSelected[0].className = 'gallery_thumb_marker';
		}
		var gallery_image_Ph = document.getElementById('gallery_image_Ph');
		var gallery_image = gallery_image_Ph.getElementsByTagName('img');
		var gallery_textArea = document.getElementById('gallery_textArea');
		gallery_currentImage--;
		var gallery_nextImage = document.getElementById('galleryThumb_' + gallery_currentImage);
		var gallery_linkArea = document.getElementById('subNav_gallery');
		var thumb_linkArea = document.getElementById('gallery_thumb_links');
		var gallery_links = thumb_linkArea.getElementsByClassName('gallery_thumb_links');
		var imgAltTxt = gallery_nextImage.getElementsByClassName('gallery_thumb_alt');
		var imgInfoTxt = gallery_nextImage.getElementsByClassName('gallery_thumb_info');
		gallery_textArea.innerHTML = imgInfoTxt[0].innerHTML;
		if ((gallery_linkArea != null) && (gallery_linkArea != 'undefined')) 
		{
	        var galleryLinks = document.getElementById('subNav_galleryLinks');
	        var galleryLinksArr = gallery_links[gallery_currentImage].getElementsByTagName('a');
	        if (galleryLinksArr.length >0) {
    	        galleryLinks.style.display = 'block';	    
	            gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
	        } else {
    	        galleryLinks.style.display = 'none';
	        }		
		}
		var loadImage = setTimeout( function() {
			gallery_loadImage(imgAltTxt[0].title);
		},100);
		gallery_image[0].alt = imgAltTxt[0].innerHTML;
		var thisSelected = gallery_nextImage.getElementsByClassName('gallery_thumb_marker');
		thisSelected[0].className = 'gallery_thumb_selected';
		
		if (thisSelected[0].parentElement != null) gallery_markThumb(thisSelected[0].parentElement);
		else if (thisSelected[0].parentNode != null) gallery_markThumb(thisSelected[0].parentNode);
		
		if (gallery_currentImage < 1) {
			var arrowPrev = document.getElementById('gallery_imageArea_arrowPrev');
			arrowPrev.style.visibility = 'hidden';
            document.getElementById('gallery_thumbsPrev').style.visibility = 'hidden';
		}
		gallery_prevThumb();
	}
}

function gallery_nextImage() {
	var nrOfThumbs = document.getElementById('gallery_thumbs');
	nrOfThumbs = nrOfThumbs.getElementsByTagName('a');
	nrOfThumbs = nrOfThumbs.length;
	if (gallery_currentImage >= 0) {
		var arrowPrev = document.getElementById('gallery_imageArea_arrowPrev');
		arrowPrev.style.visibility = 'visible';
		document.getElementById('gallery_thumbsPrev').style.visibility = 'visible';
	}
	if (gallery_currentImage < (nrOfThumbs - 1)) {
		var prevSelected = document.getElementsByClassName('gallery_thumb_selected');
		if (prevSelected.length > 0) {
			prevSelected[0].className = 'gallery_thumb_marker';
		}
		var gallery_image_Ph = document.getElementById('gallery_image_Ph');
		var gallery_image = gallery_image_Ph.getElementsByTagName('img');
		var gallery_textArea = document.getElementById('gallery_textArea');
		gallery_currentImage++;
		var gallery_nextImage = document.getElementById('galleryThumb_' + gallery_currentImage);
		var gallery_linkArea = document.getElementById('subNav_gallery');
		var thumb_linkArea = document.getElementById('gallery_thumb_links');
		var gallery_links = thumb_linkArea.getElementsByClassName('gallery_thumb_links');
		var imgAltTxt = gallery_nextImage.getElementsByClassName('gallery_thumb_alt');
		var imgInfoTxt = gallery_nextImage.getElementsByClassName('gallery_thumb_info');
		gallery_textArea.innerHTML = imgInfoTxt[0].innerHTML;
		if ((gallery_linkArea != null) && (gallery_linkArea != 'undefined')) 
		{
	        var galleryLinks = document.getElementById('subNav_galleryLinks');
	        var galleryLinksArr = gallery_links[gallery_currentImage].getElementsByTagName('a');
	        if (galleryLinksArr.length >0) {
    	        galleryLinks.style.display = 'block';	    
	            gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
	        } else {
    	        galleryLinks.style.display = 'none';
	        }		
		}
		var loadImage = setTimeout( function() {
			gallery_loadImage(imgAltTxt[0].title);
		},100);
		gallery_image[0].alt = imgAltTxt[0].innerHTML;
		var thisSelected = gallery_nextImage.getElementsByClassName('gallery_thumb_marker');
		thisSelected[0].className = 'gallery_thumb_selected';
		
		if (thisSelected[0].parentElement != null) gallery_markThumb(thisSelected[0].parentElement);
		else if (thisSelected[0].parentNode != null) gallery_markThumb(thisSelected[0].parentNode);
		
		if (gallery_currentImage == (nrOfThumbs - 1)) {
			var arrowNext = document.getElementById('gallery_imageArea_arrowNext');
			arrowNext.style.visibility = 'hidden';
			document.getElementById('gallery_thumbsNext').style.visibility = 'hidden';
		}
		gallery_nextThumb();
	}
}

function gallery_prevThumb() {
	var theThumbs = document.getElementById('gallery_thumbs');
	theThumbs = theThumbs.getElementsByTagName('a');
	if (gallery_thumbsHidden > 0) {
		gallery_thumbsHidden--;
	    
	    if ((theThumbs[gallery_thumbsHidden] == null) || (theThumbs[gallery_thumbsHidden] == 'undefined')) return;
		
		theThumbs[gallery_thumbsHidden].style.display = 'inline';
		theThumbs[gallery_thumbsHidden+6].style.display = 'none';
		gallery_thumbsHiddenNoTab--;
		//theThumbs[gallery_thumbsHiddenNoTab].tabIndex = '-1';
	}
}

function gallery_nextThumb() {
	var theThumbs = document.getElementById('gallery_thumbs');
	theThumbs = theThumbs.getElementsByTagName('a');
	var nrOfThumbs = theThumbs.length;
	if (gallery_thumbsHidden < (nrOfThumbs - 6)) {
		theThumbs[gallery_thumbsHidden].style.display = 'none';
		theThumbs[gallery_thumbsHidden+6].style.display = 'inline';
		//theThumbs[gallery_thumbsHiddenNoTab].tabIndex = '';
		gallery_thumbsHidden++;
		gallery_thumbsHiddenNoTab++;
	}
}

// ........................ history timeline ........................

function showHtlCategory(showThis) {
	window.location.href = showThis;	
}

function htl_SelectOnchange_init() {
	//var theSelect = document.getElementById("htl_select");
	var theSelect = document.getElementById("Category_dropCategory");
	
	var userAgent = navigator.userAgent;
	var uACheck = userAgent.match('AppleWebKit');
	
	if (uACheck != null) {
		theSelect.onchange = htl_selectChangedSafari;
	} else {
		theSelect.changed = false;
		theSelect.onfocus = htl_selectFocused;
		theSelect.onchange = htl_selectChanged;
		theSelect.onkeydown = htl_selectKeyed;
		theSelect.onclick = htl_selectClicked;
	}
	
	return true;
}

function htl_selectChangedSafari() {
	//var theSelect = document.getElementById("htl_select");
	var theSelect = document.getElementById("Category_dropCategory");
	
	showHtlCategory(theSelect.value);
}

function htl_selectChanged(theElement) {
	var theSelect;
	
	if (theElement && theElement.value) {
		theSelect = theElement;
	}
	else {
		theSelect = this;
	}
	
	if (!theSelect.changed) {
		return false;
	}
	
	showHtlCategory(theSelect.value);
	return true;
}

function htl_selectClicked() {
	this.changed = true;
}

function htl_selectFocused() {
	this.initValue = this.value;
	
	return true;
}

function htl_selectKeyed(e) {
	var theEvent;
	var keyCodeTab = "9";
	var keyCodeEnter = "13";
	var keyCodeEsc = "27";
	
	if (e) {
		theEvent = e;
	}
	else {
		theEvent = event;
	}

	if ((theEvent.keyCode == keyCodeEnter || theEvent.keyCode == keyCodeTab) && this.value != this.initValue) {
		this.changed = true;
		htl_selectChanged(this);
	}
	else if (theEvent.keyCode == keyCodeEsc) {
		this.value = this.initValue;
	}
	else {
		this.changed = false;
	}
	
	return true;
}


// ======================== initial actions (before window.onload) ========================

doThisRightAway = function() {
}

// ======================== window.onload ========================

window.onload = function() {
var bodyId = document.getElementsByTagName('body');
if (bodyId[0].className != 'noStandardWindowOnload') { // allows stopping window.OnLoad, if necessary

	flipTheFirstFlipItems();
	voidAllJSLinks();
	contactForm_jsSubmit();
			
	if (bodyId[0].id == 'body_splashPage') {  //  ................................................
		cl_kickStartOnLoad();
		
	} else if (bodyId[0].id == 'body_multiEntrySplashPage') {  //  ................................................
		clLower_kickStartOnLoad();
		
	}
	
}
}

// ======================== TEST ========================


