function initButtons (sClassName){
	oColl = document.getElementsByTagName("INPUT")
	if(!oColl)
		return;
	for ( i = 0; i < oColl.length; i++ ){
		if(oColl[i].className == sClassName){
			AttachEvent(oColl[i], 'mouseover', buttonReactor)
			AttachEvent(oColl[i], 'mouseout', buttonReactor)
		}
	}
}

function initProductTableRow(sId){
	oTable = document.getElementById(sId);
	if(!oTable)
		return;
	oTableBodies = oTable.tBodies
	oRows =  oTable.tBodies[0].rows
	for(var i = 0;i <oRows.length ;i++){
		if(oRows[i].className != "noBorder"){
			AttachEvent(oRows[i], 'click', rowReactor);
			
			if(i%2 == 0){
				oRows[i].className = "even";			
			}
			else{
				oRows[i].className = "odd";
			}
			
	
		}
	}
}

function getLink(obj){
	for(var i = 0; i < target.childNodes.length;i++){
		if(target.childNodes[i].nodeName == "A"){
			return target.childNodes[i]
		}
	}
	return "#";
}

function rowReactor(eventargs){
	target = getElementByEvent(eventargs);
	switch(target.tagName){
		case "A":
			document.location.href = target;
			break;
		default:
			document.location.href = getLink(target);
			break;
	}
}

function printPage(eventargs){
	window.print();
}

function preparePrintButton(sId){
	oObj = document.getElementById(sId);
	if(!oObj)
		return;
	AttachEvent(oObj,'click',printPage)
}

function initMenuLinks(sId){
	oList = document.getElementById(sId);
	if(!oList)
		return;
	oColl = oList.getElementsByTagName("A");
	for ( i = 0; i < oColl.length; i++ ){
		AttachEvent(oColl[i], 'mouseover', listReactor);
		AttachEvent(oColl[i], 'mouseout', listReactor);
	} 
}

function listReactor(eventargs){
	target = getElementByEvent(eventargs);
	toTarget = getToElementByEvent(eventargs);
	if( target.parentNode.className == "active" ){
		return;		
	}
	sOnClassName = "on";
	switch (eventargs.type){
		case 'mouseover':
			target.parentNode.className = sOnClassName;
			break;
		case 'mouseout':
			if(checkForOut(toTarget, target)){
				target.parentNode.className = "";
			}
			break;
	}
}

function checkForOut(toTarget, target){
	if(toTarget == target.parentNode){
		return false;
	}
	for(i = 0; i < target.childNodes.length;i++){
		if(target.childNodes[i] == toTarget){
			return false;
		}
	}
	return true;
}

function buttonReactor(eventargs){
	target = getElementByEvent(eventargs);
	switch (eventargs.type){
		case 'mouseover':
			break;
		case 'mouseout':
			break;
	}
}

function getElementByEvent(e){
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	return targ;
}


function getToElementByEvent(e){
	var relTarg;
	if (!e) var e = window.event;
	if (e.relatedTarget) relTarg = e.relatedTarget;
	else if (e.toElement) relTarg = e.toElement;
	return relTarg;
}


function mainListener(eventargs){
	initButtons("buttonImg");
	initMenuLinks("subNav");
	initMenuLinks("mainNav");
	initProductTableRow("productsListWine");
	preparePrintButton("printButton");
	preparePrintButton("printBtn");
	
}


function AttachEvent(elementObj, eventName, eventHandlerFunctionName){
	if (elementObj.addEventListener) 
		{ // Non-IE browsers
			elementObj.addEventListener(eventName, eventHandlerFunctionName, false);		
		} 
	else if (elementObj.attachEvent) 
	{ // IE 6+
		elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);
	} 
	else 
	{ // Older browsers 
		var currentEventHandler = elementObj['on' + eventName];
		if (currentEventHandler == null) 
		{
			elementObj['on' + eventName] = eventHandlerFunctionName;
		} 
		else 
		{
			elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }
		}
	}
}

function init(){
	AttachEvent(window, 'load', mainListener)
}



init();
