// get what browser is currently used
/*
function isFirefox() {
	var sBrowser = navigator.userAgent;
	if (sBrowser.toLowerCase().indexOf('mozilla') > -1)
		return true;		
	return false;
}
var evnt;
*/

// check if wim tv extension is installed
/*
function hasExtension(){	

	// event catched
	if (evnt.cancelBubble){

		loggerDebug('ok');
				return true;
	}
	else {

		loggerDebug("You should have the WimTv Firefox extension in order to use this feature");
				return false;
	}
}
*/

// the user should have firefox and the extension install
/*
function checkEnvironment(){
	
	// user must be using firefox
	
	if (!isFirefox()){
		alert("You should use Mozilla Firefox in order to use this feature");
		return false;
	}	
	
	var element = document.createElement("WimTVchecker");
	document.documentElement.appendChild(element);

	var evt = document.createEvent("Events");
	// initEvent( 'type', bubbles, cancelable )
	//evt.initEvent("CEvent", false, false);
	element.dispatchEvent(evt);

	loggerDebug("event dispatched");

	/*
	// user must have extension installed
	if(!hasExtension()){
		alert("You should have the WimTv Firefox extension in order to use this feature");
		// link to the extension xpi
		return false;
	}
		
}
*/

// AJAX call to check if user is logged
/*
function CPDUserLogged(filename) {
	var http = new XMLHttpRequest();
	
	http.open("GET", "isuserlogged.action", true);
	http.onreadystatechange = function() {
		if (http.readyState == 4 && http.status == 200) {
			/*
			var xmlDoc = (new DOMParser()).parseFromString(http.responseText, 'text/xml');
			loggerDebug(xmlDoc);
			x=xmlDoc.getElementsByTagName("title");
			alert(x[0].nodeValue);
			*
			//loggerDebug(http.responseText);
			if (http.responseText.match('<title>Login</title>'))
			    // redirect user who is not logged
			    window.location.href="signup.jsp";
		
			else{ 
				// user logged on CPD
				//checkEnvironment();
				if (!isFirefox()){
					alert("You should use Mozilla Firefox in order to use this feature");
					return false;
				}
				else	
					openDCI(filename);
			}
		}
	};
	http.send(null);	
}
*/

// trigger the event to open the dci in the WimTv sidebar
/*
function openDCI(filename){
	var http = new XMLHttpRequest();

	http.open("GET", "down_center.jsp?filename="+filename, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4 && http.status == 200) {
			//alert(http.responseText);
			/*new event for extension environment*
			var element0 = document.createElement("toggler");
			element0.setAttribute("attribute1", "foobar");
			element0.setAttribute("filename", filename);
			element0.innerHTML="<![CDATA["+http.responseText;+"]]>"
			document.documentElement.appendChild(element0);

			var evt0 = document.createEvent("Events");
			// initEvent( 'type', bubbles, cancelable )
			evt0.initEvent("CPDEvent", true, false);
			element0.dispatchEvent(evt0);
			
			*
			var element = document.createElement("CPDDataElement");
			element.setAttribute("attribute1", "foobar");
			element.setAttribute("filename", filename);
			element.innerHTML="<![CDATA["+http.responseText;+"]]>"
			document.documentElement.appendChild(element);

			var evt = document.createEvent("Events");
			// initEvent( 'type', bubbles, cancelable )
			evt.initEvent("CPDEvent", true, false);
			element.dispatchEvent(evt);
			*
		}
	};
	http.send(null);
}
*/

/**
 * this function iterate over a collection of divs relative to content info tables
 * and look if there is any of them visible
 */ 
function checkIfAlreadyOpened(){
	var divElements = document.getElementsByTagName('div');
	
	for ( var element in divElements){
		if(element.className ==  'infoT')
			if(element.style.visibility=='visible')
				return false;		
	}
	
	return true;
}


function showResourcesInfo(e){
	// info image id is "info"+contentid
	var infoImage = document.getElementById(e.target.getAttribute('id'));
	loggerDebug("left " + e.pageX + " and " + infoImage.offsetLeft + ". So result is: " + (e.pageX-infoImage.offsetLeft) );
	loggerDebug("top " + e.pageY + " and " + infoImage.offsetTop + ". So result is: " + (e.pageY-infoImage.offsetTop) );

	// show div of metadatas	
	var contentid = e.target.getAttribute('id').substr(4); 
	loggerDebug(contentid); 
	
	var infoT = document.getElementById('infoT'+contentid);
	
	infoT.style.visibility='visible';
	infoT.style.display='inline';
	infoT.style.position='absolute';
	infoT.style.zIndex='10000';
	
	var pos_x=null;
	var pos_y=null;
	
	//for IE
	if (window.ActiveXObject) {
		pos_x = window.e.offsetX;
		pos_y = window.e.offsetY;
		}
	
	//for Firefox
	else {
		pos_x = e.pageX;
		pos_y = e.pageY;
		//pos_x = e.clientX;
		//pos_y = e.clientY;
	}
	
	infoT.style.left=pos_x+ 'px';
	infoT.style.top= pos_y+ 'px';
	
	// set content table to visible
	var content = document.getElementById(contentid);
 
	content.style.visibility='visible';
	content.style.display='block';
//	content.style.borderWidth='1px';
//	content.style.borderStyle='solid';
//	content.style.borderColor='black';
}

function hideResourcesInfo(e){
	// close image id is "close"+contentid
	var contentid = e.target.getAttribute('id').substr(4); 
	loggerDebug(contentid); 
	
	// set content table to visible
	var content = document.getElementById(contentid);
	content.style.visibility='hidden';
	content.style.display='none';
	
	var infoT = document.getElementById('infoT'+contentid);
	
	// hide div of metadatas
	infoT.style.visibility='hidden';
	//infoT.style.display='none';
}

function showResourcesInfoAd(e){
	if (checkIfAlreadyOpened()){
		// info image id is "info"+contentid
		var infoImage = document.getElementById(e.target.getAttribute('id'));
		loggerDebug("left " + e.pageX + " and " + infoImage.offsetLeft + ". So result is: " + (e.pageX-infoImage.offsetLeft) );
		loggerDebug("top " + e.pageY + " and " + infoImage.offsetTop + ". So result is: " + (e.pageY-infoImage.offsetTop) );
	
		// show div of metadatas	
		var contentid = e.target.getAttribute('id').substr(6); 
		loggerDebug(contentid); 
		
		var infoT = document.getElementById('infoTad'+contentid);
		
		infoT.style.visibility='visible';
		infoT.style.display='inline';
		infoT.style.position='absolute';
		infoT.style.zIndex='10000';
		
		var pos_x=null;
		var pos_y=null;
		
		//for IE
		if (window.ActiveXObject) {
			pos_x = window.e.offsetX;
			pos_y = window.e.offsetY;
			}
		
		//for Firefox
		else {
			pos_x = e.pageX
			pos_y = e.pageY
		}
		
		infoT.style.left=pos_x+ 'px';
		infoT.style.top= pos_y+ 'px';
		
		// set content table to visible
		var content = document.getElementById("ad"+contentid);
	 
		content.style.visibility='visible';
		//content.style.display='inline';
		content.style.borderWidth='1px';
		content.style.borderStyle='solid';
		content.style.borderColor='black';
	}
	else
		alert("There is another opened infomation window.\n Please close it before to open a new one.");
}

function hideResourcesInfoAd(e){
	// close image id is "close"+contentid
	var contentid = e.target.getAttribute('id').substr(5); 
	loggerDebug(contentid); 
	
	// set contnet table to visible
	var content = document.getElementById("ad"+contentid);
	content.style.visibility='hidden';
	content.style.display='inline';
	
	var infoT = document.getElementById('infoTad'+contentid);
	
	// hide div of metadatas
	infoT.style.visibility='hidden';
	//infoT.style.display='inline';
	
}

// this variable is TRUE for development and FALSE for production
var debug = false;
function loggerDebug(message){
	if(debug)
		console.log(message);
}
