var ajurl;
function _getUrl() {
	document.getElementById('pageurl').value = location.href;
}
function triggerIssue(svrurl,knid,eventType) {
	ajurl = svrurl; 
	submitQuery(svrurl+'?knid='+knid+'&eventId='+eventType,processIssueReport);
}

var processIssueReport = function(http_request) {
	processIssueEvent(http_request.responseXML);
}

var processIssueReportSave = function(http_request) {
	processIssueEvent(http_request.responseXML);
}

var processIssueEvent = function(xmlDoc) {
	var i, j;
	d = new Date();
	start = d.getTime();
	
	events = xmlDoc.getElementsByTagName('event');
	for(i = 0; i < events.length; i++) {
		eventType = events[i].getAttribute('type');
		eventTargetId = events[i].getAttribute('targetId');
		target = document.getElementById(eventTargetId);
		if( eventType == 'ittAuthCheck') {
			if (events[i].hasChildNodes()) {
				value = events[i].childNodes[0].nodeValue;
			} else { 
				value = 'ERR';
			}
			if( value == 'ERR' ) {
				alert('This feature is temporarily unavailable.\nWe apologize for any inconvenience.');
			} else if( value == 'NOTAVAIL' ) {
				//alert('You are not authorized to use this feature, please contact your System Administrator.');
				//y = (screen.availHeight-100)/2;
        		//x = (screen.availWidth-300)/2;
				//showPopUp('issueunauth',0,mouseX,mouseY);
				x = getScreenCenterXY(300,100,'X');
				y = getScreenCenterXY(300,100,'Y');
				showPopUp('issueunauth',0,x,y);
			} else if ( value == 'OK' ) {
				res = confirm("Are you sure that you want to report an issue \nregarding the functionality of this interface?");
				if( res ) {
					//showPopUp(eventTargetId,0,mouseX,mouseY);
					//y = (screen.availHeight)/2;
	        		//x = (screen.availWidth)/2;
					x = getScreenCenterXY(310,100,'X');
					y = getScreenCenterXY(200,100,'Y');
					showPopUp(eventTargetId,0,x,y);
				}
			}
		} else if( eventType == 'replaceElement') {
			if (target.nextSibling) {
				for(j = 0 ; j < events[i].childNodes.length; j++) {
					newNode = importXMLToHTML(events[i].childNodes[j]);
					target.parentNode.insertBefore(newNode,target.nextSibling);					
				}
			} else { //  if this is the only or last sibling, just append
				for(j = 0 ; j < events[i].childNodes.length; j++) {
					newNode = importXMLToHTML(events[i].childNodes[j]);
					target.parentNode.appendChild(newNode);	
				}				
			}
			target.parentNode.removeChild(target);
		} else if (eventType == 'hidePopUp') {
			hidePopUp(eventTargetId);
		} else if (eventType == 'showIttPage') {
			if (events[i].hasChildNodes()) {
				value = events[i].childNodes[0].nodeValue;
				window.open(value);
			}
		}
	} // for(i = 0;
}


function getScreenCenterXY(Xwidth,Yheight,coord) { 
	// First, determine how much the visitor has scrolled 
	var scrolledX, scrolledY; 
	if( self.pageYoffset ) { 
		scrolledX = self.pageXoffset; 
		scrolledY = self.pageYoffset; 
	} else if( document.documentElement && document.documentElement.scrollTop ) { 
		scrolledX = document.documentElement.scrollLeft; 
		scrolledY = document.documentElement.scrollTop; 
	} else if( document.body ) { 
		scrolledX = document.body.scrollLeft; 
		scrolledY = document.body.scrollTop; 
	} 
	
	// Next, determine the coordinates of the center of browser's window 
	var centerX, centerY; 
	if( self.innerHeight ) { 
		centerX = self.innerWidth; 
		centerY = self.innerHeight; 
	} else if( document.documentElement && document.documentElement.clientHeight ) { 
		centerX = document.documentElement.clientWidth; 
		centerY = document.documentElement.clientHeight; 
	} else if( document.body ) { 
		centerX = document.body.clientWidth; 
		centerY = document.body.clientHeight; 
	} 
	
	// Xwidth is the width of the div, Yheight is the height of the 
	// div passed as arguments to the function: 
	var leftoffset = scrolledX + (centerX - Xwidth) / 2; 
	var topoffset = scrolledY + (centerY - Yheight) / 2; 
	// The initial width and height of the div can be set in the 
	// style sheet with display:none; divid is passed as an argument to // the function 
	//var o=document.getElementById(divid); 
	//var r=o.style; 
	//r.position='absolute'; 
	//r.top = topoffset + 'px'; 
	//r.left = leftoffset + 'px'; 
	//r.display = "block"; 
	if( coord == 'X' )
		return leftoffset;
	else if ( coord == 'Y' )
		return topoffset;
	else
		return -1;
}

