var timerId = new Array();
var timerCounter = 0;

function showMenu(menuId, hrefId){
	
	for (i=0; i<timerId.length; i++) {
		clearTimeout(timerId[i]);
	}

	timerId = new Array();
        timerCounter = 0;

	switch(menuId){
		case "online_submenu":
            changeObjectVisibility("coupon_submenu", 'hidden');
		    changeObjectDecoration("coupon_href", 'none');			
		break;
		
		case "coupon_submenu":
			changeObjectVisibility("online_submenu", 'hidden');
		    changeObjectDecoration("online_href", 'none');	
		break;		
		
		default:
		break;	
	}
	changeObjectVisibility(menuId, 'visible');
	changeObjectDecoration(hrefId, 'underline');
	moveObject(menuId, 0, 97);	
}


function executeHideMenu(menuId, hrefId){
	changeObjectVisibility(menuId, 'hidden');
	changeObjectDecoration(hrefId, 'none');
}


function hideMenu(menuId, hrefId, delay){
	id = setTimeout(function(){executeHideMenu(menuId,hrefId)}, 2000);
	timerId[timerCounter] = id;
	timerCounter++;
}


function moveObject(objectId, newXCoordinate, newYCoordinate) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	  styleObject.left = newXCoordinate;
	  styleObject.top = newYCoordinate;
	  return true;
    } else {
	// we couldn't find the object, so we can't very well move it
	  return false;
    }
} // moveObject


function changeObjectVisibility(objectId, newVisibility) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    
    if(styleObject) {
	  styleObject.visibility = newVisibility;
	  return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	  return false;
    }
} // changeObjectVisibility


function changeObjectDecoration(objectId, decor) {
    // get a reference to the cross-browser style object and make sure the object exists
    var styleObject = getStyleObject(objectId);
    
    if(styleObject) {
	  styleObject.textDecoration = decor;
	  return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
	  return false;
    }
} // changeObjectDecoration


function getStyleObject(objectId) {
    // cross-browser function to get an object's style object given its id
    if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	  return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	  return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	  return document.layers[objectId];
    } else {
	return false;
    }
} // getStyleObject