// JavaScript Document
var globElement;
var globEvent;
var globContest;

function showInvite(eventID, element){	
	globElement = element;
	eventLookup(eventID);	
}

function showInviteContest(contestID, element){	
	globElement = element;
	contestLookup(contestID);	
}

/*Pop functionality*/
var mouseOffset = null;
var currentObject = null;

isNS4 = (document.layers) ? 1 : 0;
isIE4 = (document.all) ? 1 : 0;
isW3C = (document.getElementById && !document.all) ? 1 : 0;


function displayPop(object){
		var partnerNum = 1;
		
		if(document.getElementById('popup').style.visibility=="visible" && currentObject == object){
			document.getElementById('popup').style.visibility="hidden";
			//document.getElementById('vendorBodyInfo').innerHTML = "";
		} else if(partnerNum != ''){			
			currentObject = object;			
			mouseOffset = getMouseOffset(currentObject);
			fakeResponse();
		}
		return false;		
}

function getCalculatedProperty(objName, property) {

    // ***** W3C Compatible DOM (NN6, Mozilla 16, etc.) *****

    if (isW3C) {
        docObj = document.getElementById(objName);
		
        if (property == "visibility") {
	    cssp = docObj.style.visibility;
	    return (cssp == "") ? "inherit" : cssp;
	}

	if (property == "clip") {
	    cssp = docObj.style.clip;

	    if (cssp == "") {
		cssStr = "rect(0px "; 
		cssStr += getCalculatedProperty(objName, "width") + " ";
		cssStr += getCalculatedProperty(objName, "height") 
+ " ";
		cssStr += "0px)";
		return cssStr;
	    }
	    return cssp;
	}

	if (property == "zIndex") {
	    cssp = docObj.style.zIndex;
	    return (cssp == "") ? "inherit" : cssp;
	}

	cssp = document.defaultView.getComputedStyle
(docObj, "").getPropertyValue(property);

	return (cssp == "") ? "unknown" : cssp;
    }

    // ***** Netscape Navigator 4+ DOM *****

    if (isNS4) {
	docObj = document.layers[objName];

	if (property == "visibility") {
	    cssp = docObj.visibility;
	    return (cssp == "hide") ? "hidden" : (cssp 
== "show") ? "visible" : "inherit";
	}

	if (property == "clip") {
	    cssStr = "rect(" + docObj.clip.top + "px ";
	    cssStr += docObj.clip.right + "px ";
	    cssStr += docObj.clip.bottom + "px ";
	    cssStr += docObj.clip.left + "px)";
	    return cssStr;
	}

	if ((property == "width") || (property == "height")) {
	    return eval("docObj.clip." + property) + "px";
	}

	if (property == "top") property = "pageY";
	if (property == "left") property = "pageX";

	cssp = eval("docObj." + property);

	if (property != "zIndex") cssp += "px";

	return cssp;
    }

    // ***** Internet Explorer 4+ DOM *****

    if (isIE4) {
	if (property == "width") return eval(objName + ".offsetWidth") 
+ "px";

	if (property == "height") return eval(objName 
+ ".offsetHeight") + "px";

	if (property == "clip") {
	    cssp = eval(objName + ".style.clip");

	    if (cssp == "") {
		cssStr = "rect(0px ";
		cssStr += getCalculatedProperty(objName, "width") + " ";
		cssStr += getCalculatedProperty(objName, "height") 
+ " ";
		cssStr += "0px)";
		return cssStr;
	    }
	    return cssp;
	}

	if (property == "top") return eval(objName + ".offsetTop") 
+ 'px';

	if (property == "left") return eval(objName + ".offsetLeft") 
+ 'px';

        // Else, use 'currentStyle' to find the rest

	return eval(objName + ".currentStyle." + property);
    }
}

function fakeResponse(){			
	/* mouseOffset = getMouseOffset(currentObject); */
	var layerHolder = document.getElementById('popup');
	var overLayer = document.getElementById('popbody');			
	var bodyHeight = getCalculatedProperty('popbody', "height");
	bodyHeight = parseInt(bodyHeight);
	bodyHeight += 152;			
	layerHolder.style.top = (mouseOffset.y - bodyHeight) + 'px';
	layerHolder.style.visibility="visible";
}

function hideHelp(){		
	document.getElementById('popup').style.visibility="hidden";
	//document.getElementById('vendorBodyInfo').innerHTML = "";
}

function getMouseOffset(target){
	var docPos = getPosition(target);
	return {x:docPos.x, y:docPos.y};
}
function getPosition(e){	
	var left = 0;
	var top  = 0;		
	while (e.offsetParent){		
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;		
	}	
	left += e.offsetLeft;
	top  += e.offsetTop;
	return {x:left, y:top};	
}
function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}