  // constants to define the title of the alert and button text.
var ALERT_TITLE = "Oops!";
var ALERT_BUTTON_TEXT = "Ok";

// over-ride the alert method only if this a newer browser.
// Older browser will see standard alerts
if(document.zzgetElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}
var mouseX = 0;
var mouseY = 0;
var bgX='?';
var bgY='?';
var elSight;

var isIE = document.all ? true : false;

var isOpera =  (navigator.userAgent.indexOf("pera") != -1 ) ;
 
function showPosition(evt){
	xy = getEventOffsetXY( evt );
	if (document.results.MouseX ){
		var yPos = xy[1] ;
		var xPos = xy[0] ;
		document.results.MouseX.value =  xPos;
		document.results.MouseY.value = yPos ;
	}
};

function getEventOffsetXY( evt ){
	if ( evt.offsetX != null ) {
		var xPos = evt.offsetX ;
		var yPos = evt.offsetY ;
	 	if (isOpera){
			// no custom cursors in opera so we dont get the automated 15 pixel offset to the centre of sights
			xPos -= 15 ;
			yPos -= 15;
		}
	}	
	else{
		var obj = evt.target || evt.srcElement;
	
		setPageTopLeft( obj );
		var xPos = ( evt.clientX - obj.pageLeft ) ;
		var yPos = ( evt.clientY - obj.pageTop )  ;
		
		if (window.pageXOffset ||  window.pageYOffset){
			xPos += window.pageXOffset ;//arDivPos[0];
			yPos += window.pageYOffset; //arDivPos[1];
		}
	}
    return [ xPos, yPos ];
};

function setPageTopLeft( o ){
	 
    var top = 0;
    var left = 0;
    var obj = o;
	var originalO = o;;
    while ( o.offsetParent ){
         left += o.offsetLeft ;
         top += o.offsetTop  ;
         o = o.offsetParent ;
    };
 
	var scrollLeft =document.body.scrollLeft;
	var scrollTop = document.body.scrollTop //Firefox properties for document scroll coordinates 

    obj.pageTop = top ;  
    obj.pageLeft = left ;
	
	


};

 function imgClicked(el, ev){
   

	var x;
	var y;
xy = getEventOffsetXY( ev );

    var offsetX= xy[0]   ;//arDivPos[0];
    var offsetY= xy[1]  ; //arDivPos[1];

	if (document.results ){
		document.results.xPos.value = offsetX  ;
		document.results.yPos.value = offsetY  ;
		if (document.results.MouseClick ){
			document.results.MouseClick.value = offsetX + ':' + offsetY;
			document.results.MouseClick.value = offsetX + ':' + offsetY;
		}
	}
	var msg = "Are you sure you want to submit this click? ";
	msg += "\n\n X=" + offsetX + ' - Y=' + offsetY   ;
	var answer = confirm(msg)
	if (answer) document.results.submit();
	
}


function createCustomAlert(txt) {
	// shortcut reference to the document object
	d = document;

	// if the modalContainer object already exists in the DOM, bail out.
	if(d.getElementById("modalContainer")) return;

	// create the modalContainer div as a child of the BODY element
	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	 // make sure its as tall as it needs to be to overlay all the content on the page
	mObj.style.height = document.documentElement.scrollHeight + "px";

	// create the DIV that will be the alert 
	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert
	//if(d.all && !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
	// center the alert box
	// center the alert box
	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";
	alertObj.style.top= (d.documentElement.scrollHeight - alertObj.offsetHeight)/2 -alertObj.offsetHeight + "px";


	// create an H1 element as the title bar
	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(ALERT_TITLE));

	// create a paragraph element to contain the txt argument
	msg = alertObj.appendChild(d.createElement("p"));
	msg.innerHTML = txt;
	
	// create an anchor element to use as the confirmation button.
	btn = alertObj.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	// set up the onclick event to remove the alert when the anchor is clicked
	btn.onclick = function() { removeCustomAlert();return false; }
	
	
}

// removes the custom alert from the DOM
function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}

 