// 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;
    if (bodyId[0].id == 'body_Product') 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;

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 = document.getElementsByClassName('rcbItem_pad01_marked', $(wipeThis.parentNode.parentNode));
	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[i].className == 'header') {
		    if (!RtlDirection)
		        doc[i].style.backgroundImage = "url(ilf/img/layout/rcbItem_sideBar_down.gif)";
		    else
		        doc[i].style.backgroundImage = "url(ilf/img/layout/rcbItem_sideBar_down.rtl.gif)";

		   doc[i].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 = document.getElementsByClassName('rcbItem_pad03', $(wipeThis));
			showThis[0].style.visibility = 'hidden';
			clearInterval(wipeIntervalContr);
			var theClicker = wipeThis.parentNode.getElementsByTagName('a');
			var theClicker = wipeThis.parentNode;
			theClicker.className = 'rcbItem_pad01'; // fix IE contraction bug
		}
	}, 20);
}

var height_QAscrollRef;

function init_QuickAccess() {
	var scrollCont = document.getElementById("scrollArea");
	if (scrollCont) {
		var scrollContItem = document.getElementsByClassName('rcbItem_pad01', $(scrollCont));
		if (scrollContItem.length > 1) {
			height_QAscrollRef = scrollContItem[1].offsetHeight;
		}
	}
}

function expandStuff(thisOne) { // expands the list item
	var wipeThis = thisOne;
	
	var scrollCont = document.getElementById("scrollArea");
	if (scrollCont && contains(scrollCont, wipeThis)) {
		var itemsAll = document.getElementsByClassName('rcbItem_pad02', $(thisOne.parentNode.parentNode.parentNode));
		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';
		}
	}
	
	var myImages = wipeThis.parentNode.getElementsByTagName('img');
	//change bgcolor and arrow
	var showThis = document.getElementsByClassName('rcbItem_pad03', $(wipeThis));
	showThis[0].style.visibility = 'visible';
	var doc = document.getElementsByClassName('rcbItem_pad01', $(wipeThis.parentNode.parentNode));
	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');
	for (var i = 0; i < doc.length; i++){
		if (doc[i].className == 'header') {
		    if (!RtlDirection)
		        doc[i].style.backgroundImage = "url(ilf/img/layout/rcbItem_sideBar_up.gif)";
		    else
		        doc[i].style.backgroundImage = "url(ilf/img/layout/rcbItem_sideBar_up.rtl.gif)";
		}
	}
		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")) {
				if (document.getElementById("scrollArea").offsetHeight > document.getElementById("scrollAreaContainer").offsetHeight ||
				    scrollShould > 0) {
					document.getElementById("qa_scrollDown").style.visibility = "visible";
					document.getElementById("qa_scrollUp").style.visibility = "visible";
				} else {
					document.getElementById("qa_scrollDown").style.visibility = "hidden";
					document.getElementById("qa_scrollUp").style.visibility = "hidden";	
					//slider1.setValueBy(-5);
				}
			}
		}
	}, 20);
	//if ((Array.every && document.getElementById("scrollArea"))) { // Firefox fix - TEMP
		//slider1.setValueBy(-5);
	//} 
}

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.
	var flippers = document.getElementsByClassName('rcbSideBar');
	if (flippers.length > 0) {
		for (i = 0; i < flippers.length; i++) {
			var flipParent = flippers[i].parentNode;
			var firstFlip = document.getElementsByClassName('rcbSideBar', $(flipParent));
			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(ilf/img/layout/rcbItem_sideBar_up.gif)";
					else
					    firstFlip_a[0].style.backgroundImage = "url(ilf/img/layout/rcbItem_sideBar_up.rtl.gif)";

					firstFlip_a[0].rel = 'marked'; // for mOver
				}
				
				var firstflip_pad01 = document.getElementsByClassName('rcbItem_pad01', $(firstFlip[0]));
				firstflip_pad01[0].className = 'rcbItem_pad01_marked';
				
				var firstflip_pad02 = document.getElementsByClassName('rcbItem_pad02', $(firstFlip[0]));
				if(RtlDirection){
				    expandStuff(firstflip_pad02[0]); //This way work better in RTL mode
				}else
				    firstflip_pad02[0].style.height = 'auto';
				
				var firstFlip_showThis = document.getElementsByClassName('rcbItem_pad03', $(firstFlip[0]));
				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")) {
			if (document.getElementById("scrollArea").offsetHeight > document.getElementById("scrollAreaContainer").offsetHeight) {
					document.getElementById("qa_scrollDown").style.visibility = "visible";
					document.getElementById("qa_scrollUp").style.visibility = "visible";
			} else {
					document.getElementById("qa_scrollDown").style.visibility = "hidden";
					document.getElementById("qa_scrollUp").style.visibility = "hidden";	
					//slider1.setValueBy(-5);
			}
		}
	}
}

// ------------------------ QAcc scroll ------------------------



function hoverScroll_perform(whereTo,howMuch) {
	var scrollAreaContainer = document.getElementById('scrollAreaContainer');
	var scrollArea = document.getElementById('scrollArea');
	var topMargin = scrollArea.style.marginTop;
	if (topMargin == '') {
		topMargin = '10px';	
	}
	if (whereTo == 'scrollUp') {
		topMargin = topMargin.replace('px', '');
		topMargin = parseInt(topMargin);
		if (topMargin < 0) {
			topMargin = topMargin + howMuch;
			scrollArea.style.marginTop = topMargin + 'px';
		} else {
			scrollArea.style.marginTop = '0px';
		}
		
	} else if (whereTo == 'scrollDown') {
		topMargin = topMargin.replace('px', '');
		topMargin = parseInt(topMargin);
		if ((scrollAreaContainer.offsetHeight - scrollArea.offsetHeight < topMargin)) {
			topMargin = topMargin - howMuch;
			scrollArea.style.marginTop = topMargin + 'px';
		}
	}
}

var qaScroll;

function hoverScroll(whereTo) {
	if (whereTo == 'scrollUp') {
		qaScroll = setInterval('hoverScroll_perform("scrollUp",10)', 35);
	} else if (whereTo == 'scrollDown') {
		qaScroll = setInterval('hoverScroll_perform("scrollDown",10)', 35);
	} else if (whereTo == 'scrollStop') {
		clearInterval(qaScroll);
	}
}


// ------------------------ 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_mOver(event) { // show product mouseOver box
	var whichOne = this.id.replace('prodLinkUpper_', '');
	prodListItems[whichOne].hovering = true;
	var listItems = document.getElementById('product01_descriptions').getElementsByClassName('hoverBox01');
	var boxId = 'prodInfo_' + whichOne;
	var boxArrowId = 'prodInfoPointer_' + whichOne;
	var box = document.getElementById(boxId);
	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 adjustForCenter = boxWidth / 2 - 40;
			var boxArrow = document.getElementById(boxArrowId);
			var halfwayThroughTheList = listItems.length / 2;
			halfwayThroughTheList = parseInt(halfwayThroughTheList);
			box.style.visibility = 'hidden';
			box.style.display = 'block';
			if (whichOne < halfwayThroughTheList) {
				boxArrow.style.bottom = arrowVisible;
			} 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() {
				box.style.visibility = 'visible';
				flashFlipper('hidePromo');
				if ((document.compatMode && document.all) && !(window.XMLHttpRequest)) {
					selectFlipper('hide');
				}
			},10);
		}
	},250);
}


function hoverBox_mOut(event) { // hide product mouseOver box, when mouse leaves the link
	var whichOne = this.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 related;
	if (window.event) {
		related = window.event.toElement;
	} else {
		related = event.relatedTarget;
	}
	var holdPanelHide = setTimeout( function() {
		if (prodListItems_exploring == false) {
			if ((related != box && related != boxArrow)) {
				box.style.display = 'none';
				boxArrow.style.bottom = arrowHidden;
				flashFlipper('showPromo');
				selectFlipper('show');
			}
		}
	},250);
}


function hoverBox_mOverBox(event) {
	prodListItems_exploring = true;
}


function hoverBox_mOutBox(event) { // hide product mouseOver box, when mouse leaves the mouse over box
	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';
			boxArrow.style.bottom = arrowHidden;
			flashFlipper('showPromo');
			selectFlipper('show');
		}
	}
}


function hoverBox_assignEvents() { // assigns the mouseover/out events to product bars
	var prodList = document.getElementById('product01_images');
	var prodWrapper = document.getElementById('product_ph01');
	if (prodWrapper.className == 'noHeaders') {
		arrowVisible = '102px';
	} else {
		arrowVisible = '112px';
	}
	prodListItems = prodList.getElementsByTagName('a');
	for (i = 0; i < prodListItems.length; i++) {
		prodListItems[i].hovering = false;
		var thisProdListItem = prodListItems[i];
		thisProdListItem.onmouseover = hoverBox_mOver;
		thisProdListItem.onmouseout = hoverBox_mOut;
		document.getElementById('prodInfo_' + [i]).onmouseover = hoverBox_mOverBox;
		document.getElementById('prodInfo_' + [i]).onmouseout = hoverBox_mOutBox;
	}
	
	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');
	
	for (i = 0; i < prodListItems.length; i++) {
		prodListItems[i].hovering = false;
		var thisItem = prodListItems[i];
		thisItem.onmouseover = productGuide_mOver;
		document.getElementById('prodLinkUpper_' + [i]).onmouseout = productGuide_mOut;
		document.getElementById('prodInfo_' + [i]).onmouseover = productGuide_mOverBox;
		document.getElementById('prodInfo_' + [i]).onmouseout = productGuide_mOutBox;
	}
}


function productGuide_mOver(event) {
	var whichOne = this.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);
	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 > 4) {
		var prodRowNr = prodLinks.length / 5;
		prodRowNr = parseInt(prodRowNr);
		var prodRowPlace = prodRowNr * 5;
		prodRowPlace = whichOne - prodRowPlace;
	} else {
		prodRowPlace = whichOne;
	}
	
	var halfwayThroughTheList = 2;
	
	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) {
			
			box.style.visibility = 'hidden';
			
			box.style.display = 'block';
			if (prodRowPlace < halfwayThroughTheList) {
				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) {
				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.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) {
			if (current != related && !contains(current, related)) {
				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;
				}
				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;
			}
			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';
	}
	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 listItems = document.getElementById('cl_popupsLower').getElementsByTagName('td');
	var nrOfItems = listItems.length;
	var boxWidth = 200; // set width of productbox here
	var adjustForCenter = boxWidth / 2;
	var boxId = 'cl_popupLower_' + whichOne;
	var box = document.getElementById(boxId);
	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';
	
	var halfwayThroughTheList = (nrOfItems / 2);
	halfwayThroughTheList = parseInt(halfwayThroughTheList);
	
	var is_odd = false;
	
	if (nrOfItems%2 == 0) {
		halfwayThroughTheList = halfwayThroughTheList - 1;
	} else {
		is_odd = true;
	}
	
	if ((whichOne == halfwayThroughTheList && is_odd == true)) { // middle mouseover link (if odd number of links)
		box.style.display = 'block';
		box.className = box.className + ' cl_pl_center';
		//box.style.left = adjustForCenter + 'px';
	} else if (whichOne > halfwayThroughTheList) { // mouseover links to the right of the middle
		box.style.display = 'block';
		box.className = box.className + ' cl_pl_right';
	} else { // mouseover links to the left of the middle
		box.style.display = 'block';
		//box.style.left = (adjustForCenter/1.5) + 'px';
	}

}


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 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';
}

// ------------------------ 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;
}


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')) gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
	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');
	if (gallery_currentImage == 0) {
		arrowPrev.style.visibility = 'hidden';
		arrowNext.style.visibility = 'visible';
	} else if (gallery_currentImage == (nrOfThumbs - 1)) {
		arrowPrev.style.visibility = 'visible';
		arrowNext.style.visibility = 'hidden';
	} else {
		arrowPrev.style.visibility = 'visible';
		arrowNext.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';
	}
	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')) gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
		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';
		
		gallery_markThumb(thisSelected[0].parentElement);
		
		if (gallery_currentImage < 1) {
			var arrowPrev = document.getElementById('gallery_imageArea_arrowPrev');
			arrowPrev.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';
	}
	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')) gallery_linkArea.innerHTML = gallery_links[gallery_currentImage].innerHTML;
		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';
		
		gallery_markThumb(thisSelected[0].parentElement);
		
		if (gallery_currentImage == (nrOfThumbs - 1)) {
			var arrowNext = document.getElementById('gallery_imageArea_arrowNext');
			arrowNext.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();
		
	}
	
}
}

function CheckSelChkBoxes(f_intNumOfSelReq, f_strErrorStatus, f_intMax, f_strMaxError) {
	var intChecked = 0;
	for (var i = 0; i < document.forms[0].length ; i ++)  {
		if (document.forms[0].elements[i].type=='checkbox' && document.forms[0].elements[i].checked==true) {
			intChecked++;	
		}
	}
	if (intChecked > f_intMax) {
	    document.forms[0].action='';
	    document.forms[0].postaction.value='';
	    alert(f_strMaxError); 
		return void(0);
	}
	else if (intChecked >= f_intNumOfSelReq) {
	    document.forms[0].submit();
	    document.forms[0].action='';
		return true;
	}
	else {
	    document.forms[0].action='';
	    document.forms[0].postaction.value='';
		alert(f_strErrorStatus); 
		return void(0);
	}
	
}

 function movePic(img_name,img_src) 
 { 
    document[img_name].src=img_src; 
    document.getElementById("imagelink").href=img_src;
 }
 
 function validateContactForm() 
 {
     if (document.forms[0].txtMessage.value.length < 2 || document.forms[0].txtEmail.value.length < 5 || document.forms[0].txtName.value.length < 2 || document.forms[0].txtPhone.value.length < 5)
     {
        alert('All the fields must be properly filled');
        return void(0);
     }
     else
     {
        document.forms[0].contact.value='1';
        document.forms[0].submit();
        return true;
     }
 }

function goSearch (value)
{
    if (value != "")
	    window.location = "/VISearch.aspx?b=" + value;
}

function doSearch (did, ctgn, section)
{
//    alert(typeof(did));
//    if (did == 'undefined')
//    {
//        did = '';
//    }
        
    var urlString = '';
    
    for (var i = 0; i < document.forms[0].length ; i ++)  {
        if (document.forms[0].elements[i].name.indexOf('adv_') > -1 && document.forms[0].elements[i].value.length > 0)
        {
            //alert(document.forms[0].elements[i].type);
            switch (document.forms[0].elements[i].type)
            {
                case 'text' :
                    if (document.forms[0].elements[i].value != 'MAX' && document.forms[0].elements[i].value != 'MIN')
                    {
                         urlString += '&' + document.forms[0].elements[i].name.replace('adv_', '') + '=' + document.forms[0].elements[i].value;
                    }
                    break;
                case 'checkbox' :
                    if (document.forms[0].elements[i].checked==true)
                        urlString += '&img=1';
                    break;
                case 'select-multiple' :
                    for (var j = 0; j < document.forms[0].elements[i].options.length; j++)
                    {
                        if (document.forms[0].elements[i].options[j].selected)
                        {
                            ctgn = '';
                            if (document.forms[0].elements[i].options[j].value == 'all')
                                break;
                                
                            urlString += '&c=' + document.forms[0].elements[i].options[j].value;
                            ctgn = '';
                        }
                    }
                    break;
            }
            
           
		//if (document.forms[0].elements[i].type=='checkbox' && document.forms[0].elements[i].checked==true) {
	    }
		//}
	}
	if (section == 'admin')
	    window.location = "/VIAdminSearch.aspx?ctgn=" + ctgn + urlString;
	else
	    window.location = "/VIAISearch.aspx?did=" + did + "&ctgn=" + ctgn + urlString;
}
		
// ======================== TEST ========================

function updateTypeListPlaceAd(f_objSelect, f_strCatalog, f_strCategory, f_objNoTypes, f_strNoOptions) {
//	alert('type')
	var intCatalog = 0;
	var intCategory = 0;
	f_objSelect.Disabled = false;
	f_objSelect.options.length = 0;
//	alert(f_strCatalog + '/' + f_strCategory);
	for (var i = 0; i < strGroup.length; i++) {
		if(strGroup[i][0] == f_strCatalog) {
			intCatalog = i;
			i = strGroup.length;
		}		
	}
/*	for (var i = 0; i < p_strProductType[intCatalog][1].length; i++) {
		if(p_strProductType[intCatalog][1][i][0] == f_strCategory) {
		 intCategory = i;
		 i = i < p_strProductType[intCatalog][1].length;
		}		
	}*/
	
	intCategory = f_strCategory;
	
	var p_temp = strGroup[intCatalog][1][intCategory];
	if (p_temp[2].length > 0) {
		for (i = 0; i < p_temp[2].length; i++) {
			addOption(f_objSelect, p_temp[2][i][1], p_temp[2][i][0], false);
		}
		//f_objNoTypes.value = '0';
	}
	else {
		addOption(f_objSelect, f_strNoOptions, '1', '1');
		f_objSelect.Disabled = true;
		//f_objSelect.options[]
		//f_objNoTypes.value = '1';
	}	
}


function addOption(f_objSelect, f_objText, f_objValue, f_strSelected) {
	var intLength = f_objSelect.options.length;
	var blnSelected = false;
	var strarrSelected;
	if (f_strSelected) {
		strarrSelected = f_strSelected.split(',');
		for (var i = 0; i < strarrSelected.length; i++) {	
			if (strarrSelected[i] == f_objValue) {
				blnSelected = true;
				break;
			}
		}
	}
	
	var objOption = new Option(f_objText, f_objValue, false, blnSelected);
	f_objSelect.options[intLength] = objOption;
}
function getElemIndex(f_objElement) {	
	if (f_objElement) {
		for (var i = 0; i < f_objElement.form.length; i++) {
			if (f_objElement.form.elements[i] == f_objElement) return i;
		}		
	}
	return -1;
}

function trackFormChanges(f_objField)
{
	var objHiddenField = document.forms[0]['changedfields'];
	if (objHiddenField.value)
	{
		if (objHiddenField.value.indexOf(f_objField.name) == -1)
		{
			objHiddenField.value += ',' + f_objField.name;
		}
	}
	else
	{
		objHiddenField.value = f_objField.name;
	}
}

function setPostAction(f_strPostAction)
{
    if (!f_strPostAction)
    {
        f_strPostAction = '';
    }
    var objHiddenField = document.forms[0]['postaction'];
    objHiddenField.value = f_strPostAction;
}

function setFormAction(f_strFormAction)
{
    if (f_strFormAction)
    {
        document.forms[0]['__VIEWSTATE'].value = '';
        document.forms[0].action = f_strFormAction;
    }
}

function handleEnter(f_objEvent, f_strPostAction, f_strFormAction)
{
    if (f_objEvent.keyCode == 13)
    {
        submitForm(f_strPostAction, f_strFormAction)
        return false;
    }
    else
    {
        return true;
    }
}

function submitForm(f_strPostAction, f_strFormAction)
{
    setPostAction(f_strPostAction);
    setFormAction(f_strFormAction);
    document.forms[0].submit();
}

function disableEnter(f_objEvent)
{
    if (f_objEvent.keyCode == 13)
    {
        return false;
    }
    else
    {
        return true;
    }
}

function checkAll(f_strFieldName)
{
    return toggleCheckBox(f_strFieldName, true);
}

function uncheckAll(f_strFieldName)
{
    return toggleCheckBox(f_strFieldName, false);
}

function toggleCheckBox(f_strFieldName, f_blnChecked)
{
    var objForm = document.forms[0];
    for (i = 0; i < objForm.length; i++)
    {
        if (objForm[i].name.toLowerCase().indexOf(f_strFieldName) == 0)
        {
            objForm[i].checked = f_blnChecked;
            var strOnClick = '' + objForm[i].onclick;
            if (strOnClick.indexOf('trackFormChanges') != -1)
            {
				trackFormChanges(objForm[i]);
			}
        }
    }
    //alert(document.forms[0]['changedfields'].value.length);
    return f_blnChecked;
}

function checkAllByValue(f_strFieldName, f_strValue)
{
    return toggleCheckBoxByValue(f_strFieldName, f_strValue, true);
}

function uncheckAllByValue(f_strFieldName, f_strValue)
{
    return toggleCheckBoxByValue(f_strFieldName, f_strValue, false);
}

function toggleCheckBoxByValue(f_strFieldName, f_strValue, f_blnChecked)
{
    var objForm = document.forms[0];
    f_strFieldName = f_strFieldName.toLowerCase();
    f_strValue = f_strValue.toLowerCase();
    
    for (i = 0; i < objForm.length; i++)
    {
		var strField = objForm[i].name.toLowerCase();
        if (strField.indexOf(f_strFieldName) == 0)
        {
			if (objForm[i].value.toLowerCase() == f_strValue)
			{
				objForm[i].checked = f_blnChecked;
				var strOnClick = '' + objForm[i].onclick;
				if (strOnClick.indexOf('trackFormChanges') != -1)
				{
					trackFormChanges(objForm[i]);
				}
            }
        }
    }
    //alert(document.forms[0]['changedfields'].value.length);
    return f_blnChecked;
}

function CheckAllAdvanced(f_strFormName) {
	intCount = 0;
	if (typeof(document.forms[f_strFormName]) == 'object') {
		for (var i = 0; i < document.forms[f_strFormName].length ; i ++)  {
			if (document.forms[f_strFormName].elements[i].type=='checkbox') {
				if (document.forms[f_strFormName].elements[i].name.length < 20)
				{
					document.forms[f_strFormName].elements[i].checked = eval(document.forms[f_strFormName].CheckAllAction.value);
					intCount = intCount + 1;
				}
			}
		}
	}
	if (intCount > 0)
	{
		if (document.forms[f_strFormName].CheckAllAction.value=='true') {
			document.forms[f_strFormName].CheckAllAction.value = 'false';
		}
		else {		
			document.forms[f_strFormName].CheckAllAction.value = 'true';	
		}
	}
}
