// JavaScript Document
var globElement;
var globEvent;
var checked = false;

function showInvite(eventID, element){	
	globElement = element;
	eventLookup(eventID);	
}

/*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 setMagnify(){
	if($('#zoomImage').hasClass('hidden')){
		$('#zoomImage').removeClass('hidden');	
		$('#standardImage').addClass('hidden');	
		$('#zoomText').html('Deactivate Zoom');
	} else {
		$('#zoomImage').addClass('hidden');	
		$('#standardImage').removeClass('hidden');	
		$('#zoomText').html('Activate Zoom');
	}
	return false;
	/*
	if($('#magLink').hasClass('MagicMagnify')){
		$('#zoomText').html('Activate Zoom');
		$('#magLink').removeClass('MagicMagnify');		
		$('#magLink').attr({ 
			  href: '#'
			});
	} else {
		$('#zoomText').html('Deactivate Zoom');
		$('#magLink').addClass('MagicMagnify');
		var image = "/images/photos/"+$('#ogfile').val();
		$('#magLink').attr({ 
			  href: image         
			});
	}
	*/
}

function checkAll(clickedObject, classname, idarea){
	var objectarea = document.getElementById(idarea);
	var checkbox = document.getElementsByTagName('INPUT');
	var numinputs = checkbox.length;
	for (var i=0; i < numinputs; i++){
		if(checkbox[i].className == classname){
			if(checked==false)
				checkbox[i].checked = true;	
			else				
				checkbox[i].checked = false;
		}
	}
	if(checked == false){
		clickedObject.innerHTML = 'uncheck all';	
		checked = true;
	} else {
		clickedObject.innerHTML = 'check all';
		checked = false;
	}
}

function setEmail(partner, object){
	var popBox = document.getElementById('popbody');
	var objectBox = document.getElementById('objectID');
	objectBox.value = partner;
	displayPop(object);
}

function setInfo(info, object, ev){
	var popBox = document.getElementById('popbody');
	popBox.innerHTML = unescape(info);		
	displayPop(object, ev);
}


function displayPop(object, ev){
		var partnerNum = 1;		
		if(document.getElementById('popup').className="" && currentObject == object){
			document.getElementById('popup').className="hidden";
		} else if(partnerNum != ''){
			currentObject = object;
			mouseOffset = mouseCoords( ev);			
			fakeResponse(object);
		}
		return false;		
}

function displayInvite(object, ev){
		var partnerNum = 1;		
		if(document.getElementById('popup').className="" && currentObject == object){
			document.getElementById('popup').className="hidden";
		} else if(partnerNum != ''){
			currentObject = object;
			mouseOffset = mouseCoords( ev);			
			newResponse(object);
		}
		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 newResponse(object){			
	/* mouseOffset = getMouseOffset(currentObject); */
	var layerHolder = document.getElementById('popup');
	var overLayer = document.getElementById('popbody');	
	var visible = getVisible();
		
	var objectPos = findPos(object);
	var offsetX = objectPos.x  + 5;
	if((offsetX + layerHolder.clientWidth) > visible.x)
		offsetX = objectPos.x - layerHolder.clientWidth - 5;
		
	var offsetY = Math.floor(objectPos.y + 10);
	if((offsetY + layerHolder.clientHeight) > visible.y)
		offsetY -= layerHolder.clientHeight;	
			
	var bodyHeight = getCalculatedProperty('popbody', "height");
	bodyHeight = Math.floor(parseInt(bodyHeight) / 2);
	//bodyHeight += 152;			
	layerHolder.style.top = offsetY + 'px';
	layerHolder.style.left = offsetX + 'px';
	
	layerHolder.style.visibility="visible";
}

function fakeResponse(object){			
	/* mouseOffset = getMouseOffset(currentObject); */
	var layerHolder = document.getElementById('popup');
	var overLayer = document.getElementById('popbody');	
	var visible = getVisible();
		
	var objectPos = findPos(object);
	var offsetX = objectPos.x + object.width + 5;
	if((offsetX + layerHolder.clientWidth) > visible.x)
		offsetX = objectPos.x - layerHolder.clientWidth - 5;
		
	var offsetY = Math.floor(objectPos.y + (object.height / 2));
	if((offsetY + layerHolder.clientHeight) > visible.y)
		offsetY -= layerHolder.clientHeight;
	
			
	var bodyHeight = getCalculatedProperty('popbody', "height");
	bodyHeight = Math.floor(parseInt(bodyHeight) / 2);
	//bodyHeight += 152;			
	layerHolder.style.top = offsetY + 'px';
	layerHolder.style.left = offsetX + 'px';
	
	layerHolder.style.visibility="visible";
}

function getVisible(){
	winW = (f_clientWidth() + f_scrollLeft());
	winH = (f_clientHeight() + f_scrollTop());
	return {x:winW, y:winH};
}

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}


function hideHelp(){		
	document.getElementById('popup').className="hidden";
	//document.getElementById('vendorBodyInfo').innerHTML = "";
}

function getMouseOffset(target, ev){
	ev = ev || window.event;
	var docPos = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.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
	};
}
function findPos(obj) {
	var curleft = curtop = objWidth = objHeight = 0;	
	if (obj.offsetParent) {
		objWidth = obj.offsetWidth;
		objHeight = obj.offsetHeight;
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}	
	
	return {x:curleft,y:curtop,width:objWidth,height:objHeight};
}

function setMemberLink(objValue, refValue){
	if(objValue == 'mtob'){
		document.getElementById('nm').className=''; 
		document.getElementById('m').className='hidden'; 
	} else if(objValue == 'm') {
		document.getElementById('m').className=''; 
		document.getElementById('nm').className='hidden';
	} else {
		document.getElementById('m').className='hidden'; 
		document.getElementById('nm').className='hidden';
	}
}