// Copyright © 2000 by Apple Computer, Inc., All Rights Reserved.
//
// You may incorporate this Apple sample code into your own code
// without restriction. This Apple sample code has been provided "AS IS"
// and the responsibility for its operation is yours. You may redistribute
// this code, but you are not permitted to redistribute it as
// "Apple sample code" after having made changes.
// ********************************
// application-specific functions *
// ********************************

// store variables to control where the popup will appear relative to the cursor position
// positive numbers are below and to the right of the cursor, negative numbers are above and to the left
var xOffset = 0;
var yOffset = -5;
var LoginPosX = "";
var LoginPosY = "";

function showPopup (targetObjectId, eventObj,moveIt,tblWidth,topPos,pos) {
    
	
	if(eventObj) {
	// hide any currently-visible popups
	hideCurrentPopup();
	// stop event from bubbling up any farther
	eventObj.cancelBubble = true;
	// move popup div to current cursor position 
	// (add scrollTop to account for scrolling for IE)
	//var newXCoordinate = 600;
	var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);
	var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);
	
	//alert(newXCoordinate-200);
	
	
	  if (typeof(pos) != 'undefined' && pos)
	  { 
	  
		// the box has an inside div that hass the content with a -4px margin
		var newYCoordinate = pos.y ? pos.y - 4 : '0';
		var newXCoordinate = pos.x ? pos.x - 4 : '0';
	   
	  }
	
	
	if(moveIt!=1)
	{
		
		if(LoginPosX)
		{
			newXCoordinate = LoginPosX;
			newYCoordinate = LoginPosY;
		}
		
		
		moveObject(targetObjectId, newXCoordinate, newYCoordinate,tblWidth,topPos);
		
	}
	else
	{
		
		 var winl = (screen.width - 390) / 2;
     	var wint = (screen.height - 200) / 2;
		
		if(document.getElementById && document.getElementById(targetObjectId))
		 {
			document.getElementById(targetObjectId).style.left = winl+"px";
			document.getElementById(targetObjectId).style.top = wint+"px";
		 }
		else if (document.all && document.all(targetObjectId)) {
			document.all(targetObjectId).style.left = winl+"px"; 
			document.all(targetObjectId).style.top = wint+"px";
   		 } 
		else if (document.layers && document.layers[targetObjectId]) {
		styleObject =  getObjNN4(document,targetObjectId);	
		}
	}
	// and make it visible
	if( changeObjectVisibility(targetObjectId, 'visible') ) {
	    // if we successfully showed the popup
	    // store its Id on a globally-accessible object
	    window.currentlyVisiblePopup = targetObjectId;
	    return true;
	} else {
	    // we couldn't show the popup, boo hoo!
	    return false;
	}
    } else {
	// there was no event object, so we won't be able to position anything, so give up
	return false;
    }
} // showPopup



function showPopup2(targetObjectId, eventObj,moveIt,tblWidth,topPos,pos) {
    
	
	if(eventObj) {
	// hide any currently-visible popups
	hideCurrentPopup();
	// stop event from bubbling up any farther
	eventObj.cancelBubble = true;
	// move popup div to current cursor position 
	// (add scrollTop to account for scrolling for IE)
	//var newXCoordinate = 600;
 	var newXCoordinate = screen.width  / 2;
	var newYCoordinate = 10;
	
	//alert(newXCoordinate-200);
	
	
	  if (typeof(pos) != 'undefined' && pos)
	  { 
	  
		// the box has an inside div that hass the content with a -4px margin
		var newYCoordinate = pos.y ? pos.y - 4 : '0';
		var newXCoordinate = pos.x ? pos.x - 4 : '0';
	   
	  }
	
	
	if(moveIt!=1)
	{
		
		if(LoginPosX)
		{
			newXCoordinate = LoginPosX;
			newYCoordinate = LoginPosY;
		}
		
		
		moveObject(targetObjectId, newXCoordinate, newYCoordinate,tblWidth,topPos);
		
	}
	else
	{
		
		 var winl = (screen.width - 390) / 2;
     	var wint = (screen.height - 200) / 2;
		
		if(document.getElementById && document.getElementById(targetObjectId))
		 {
			document.getElementById(targetObjectId).style.left = winl+"px";
			document.getElementById(targetObjectId).style.top = wint+"px";
		 }
		else if (document.all && document.all(targetObjectId)) {
			document.all(targetObjectId).style.left = winl+"px"; 
			document.all(targetObjectId).style.top = wint+"px";
   		 } 
		else if (document.layers && document.layers[targetObjectId]) {
		styleObject =  getObjNN4(document,targetObjectId);	
		}
	}
	// and make it visible
	if( changeObjectVisibility(targetObjectId, 'visible') ) {
	    // if we successfully showed the popup
	    // store its Id on a globally-accessible object
	    window.currentlyVisiblePopup = targetObjectId;
	    return true;
	} else {
	    // we couldn't show the popup, boo hoo!
	    return false;
	}
    } else {
	// there was no event object, so we won't be able to position anything, so give up
	return false;
    }
} // showPopup





function hideCurrentPopup() {
    // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup
    if(window.currentlyVisiblePopup) {
	changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');
	window.currentlyVisiblePopup = false;
    }
} // hideCurrentPopup



// ***********************
// hacks and workarounds *
// ***********************

// initialize hacks whenever the page loads
window.onload = initializeHacks;

// setup an event handler to hide popups for generic clicks on the document
//document.onclick = hideCurrentPopup;

function initializeHacks() {
    // this ugly little hack resizes a blank div to make sure you can click
    // anywhere in the window for Mac MSIE 5
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	window.onresize = explorerMacResizeFix;
    }
    resizeBlankDiv();
    // this next function creates a placeholder object for older browsers
    createFakeEventObj();
}

function createFakeEventObj() {
    // create a fake event object for older browsers to avoid errors in function call
    // when we need to pass the event object to functions
    if (!window.event) {
	window.event = false;
    }
} // createFakeEventObj

function resizeBlankDiv() {
    // resize blank placeholder div so IE 5 on mac will get all clicks in window
    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 
	&& (navigator.platform.indexOf('Mac') != -1)
	&& getStyleObject('blankDiv')) {
	getStyleObject('blankDiv').width = document.body.clientWidth - 20;
	getStyleObject('blankDiv').height = document.body.clientHeight - 20;
    }
}

function explorerMacResizeFix () {
    location.reload(false);
}

function changeObjectVisibility(objectId, newVisibility) {
    var styleObject = getStyleObject(objectId, document);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
}

function getStyleObject(objectId) {
    if(document.getElementById && document.getElementById(objectId)) {
		return document.getElementById(objectId).style;
    } else if (document.all && document.all(objectId)) {
	return document.all(objectId).style;
    } else if (document.layers && document.layers[objectId]) {
		return getObjNN4(document,objectId);
    } else {
	return false;
    }
}

function moveObject(objectId, newXCoordinate, newYCoordinate,tblWidth,topPos) {
    // get a reference to the cross-browser style object and make sure the object exists
   if(tblWidth)
   {
		newXCoordinate = newXCoordinate-tblWidth;   
   }
   
   
   
	if(document.getElementById && document.getElementById(objectId))
		 {
			
			document.getElementById(objectId).style.left = newXCoordinate+"px";
			document.getElementById(objectId).style.top = newYCoordinate+10+"px";
		 }
	else if (document.all && document.all(objectId)) {
			document.all(objectId).style.left = newXCoordinate+"px"; 
			document.all(objectId).style.top = newYCoordinate+10+"px";
   		 } 
	else if (document.layers && document.layers[objectId]) {
		styleObject =  getObjNN4(document,objectId);
		
    }
	
 else {
	// we couldn't find the object, so we can't very well move it
	return false;
    }
} // moveObject

function setVar(PosTop,PosLeft){
	//field  = vars;
	
	LoginPosX = PosLeft;
	LoginPosY = PosTop;
	
}
