/* CONFIGURATION AREA */
/*
	browsers:
		IE - Microsoft Internet Explorer
		FF - FireFox
		Safari - Safari browser
		Opera - Opera browser
		all - includes IE, FF, Opera and Safari
		
	parentId:
		any existing Id attribute 
	tagName:
		any valid tag name
	tagPosition:
		all - all inner elements 
		children - first level children only
	className:
		any valid class name
*/

var browsers = 'all';
var config = {
	hovers: new Array(
		{
			parentId:'main-menu',
			tagName:'li',
			tagPosition:'children',
			className:'hover'
		},{
			parentId:'dropdowns',
			tagName:'li',
			tagPosition:'children',
			className:''
		}
	)
};

/* CODE AREA */

/* hovers */
var isDrop = false;
var showDrop = false;
var hideDrop=null;
var dropHeight = 0;
var isAlreadyAdded = false;

var checkDrop = function()
{
	var main = document.getElementById('main');
	if (main){
		if (main.className.indexOf('spec')!=-1){
			if (isDrop){
				if (!isAlreadyAdded){
					main.style.height = main.offsetHeight + dropHeight;
					isAlreadyAdded = true;
				}
			}
			else{
				if (isAlreadyAdded){
					main.style.height = main.offsetHeight - dropHeight;
					isAlreadyAdded = false;
				}
			}
		}
	}
}


var initHovers = function()
{
	for (var index in config.hovers){
		var conf = config.hovers[index];
		var topLevelElement = document.getElementById(conf.parentId);
		if (topLevelElement){
			var subElements = topLevelElement.getElementsByTagName(conf.tagName);
			for (var i = 0; i < subElements.length; i++){
				if (conf.tagPosition == 'all' || (conf.tagPosition == 'children' && subElements[i].parentNode.id == conf.parentId))
				{
					subElements[i].configIndex = index;
					subElements[i].onmouseover = function(){
						if (this.getElementsByTagName('ul').length>0) {
						this.className += ' ' + config.hovers[this.configIndex].className;
						var divs = this.getElementsByTagName('div');
						if (divs && showDrop){clearTimeout(hideDrop);
							for (var i=0;i<divs.length;i++){
								if (divs[i].className.indexOf('dropdown')!=-1){
									divs[i].style.display='block';
									isDrop = true;
									dropHeight = divs[i].offsetHeight;
									setTimeout('checkDrop()',500);
								}
							}
						}
					}};
					subElements[i].onmouseout = function(){
						this.className = this.className.replace(config.hovers[this.configIndex].className,'');
						hideDrop=setTimeout('showDrop=false;',50);
						var divs = this.getElementsByTagName('div');
						if (divs){
							for (var i=0;i<divs.length;i++){
								if (divs[i].className.indexOf('dropdown')!=-1){
									divs[i].style.display='none';
									isDrop = false;
									setTimeout('checkDrop()',500);
								}
							}
						}
					};
				}
			}
		}
	}
}

/* common */

var currentState = {};

var opera = window.opera;
var safari = navigator.appVersion.indexOf("Safari") != -1;
var ie = document.all && !window.opera;
var ff = navigator.userAgent.indexOf("Firefox") != -1;

var addEvent = function(browsers,event,initMethod)
{
	if (opera && (browsers.match(/Opera/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (safari && (browsers.match(/Safari/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (ie && (browsers.match(/IE/) || browsers.match(/all/))) {
		window.attachEvent("on" + event, initMethod);
	} else if (ff && (browsers.match(/FF/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (!ie && !ff && !safari && !opera) {
		if (window.addEventListener){
			window.addEventListener(event, initMethod, false);
		}
		else if (window.attachEvent){
			window.attachEvent("on" + event, initMethod);
		}
	} 
}

addEvent(browsers,'load',initHovers);

/*PromoRev functions*/
function gatherCompareList(){
var chks=document.getElementsByTagName('input');
var idlist= new Array();
for(var i=0;i < chks.length;i++){
if(chks[i].name=='comparelist' && chks[i].checked)
idlist.push(chks[i].value);
}
if(!idlist.length){alert('you must first select some products to compare.');return false;}
document.location='/public/?fuseaction=home.custompage&pagename=compareProducts&comparelist='+idlist.join(',');
//alert(idlist);
}

function swapProdImg(nimg){document.getElementById('primaryimage').src=nimg;}