rLogo = new Image();
rLogo.src = "img/riese-logo-small.jpg";
rLogoBW = new Image();
rLogoBW.src = "img/riese-logo-small-bw.jpg";

// UCI inline panel
YAHOO.namespace("uci.aqua");
YAHOO.util.Event.addListener(window, "load", init);

YAHOO.widget.ResizePanel = function(el, userConfig) {
	if (arguments.length > 0) {
		YAHOO.widget.ResizePanel.superclass.constructor.call(this, el, userConfig);
	}
}


var addLinkURIBase = "http://riese.joanneum.at/interlinking/uci-interface.php";  // UCI REST-API



/*********************************************************************/
/* General */

function switchLogo(imgObject) {
	document.getElementById("r-logo").src = imgObject.src;
	document.getElementById("main-dim-cat").style.visibility = "visible";
	document.getElementById("main-dim-time-geo").style.visibility = "visible";	
}

function updateInfo(newLabel) {
	document.getElementById("head-info").innerHTML=newLabel;
	document.getElementById("head-info").style.visibility = "visible";	
}

function resetInfo(newLabel) {
	document.getElementById("head-info").style.visibility = "hidden";	
}

function resetScreen(){		
	document.getElementById("main-dim-cat").style.visibility = "hidden";	
	document.getElementById("main-dim-time-geo").style.visibility = "hidden";	
	document.getElementById("main-dim-cat-legend").style.visibility = "hidden";		
}

/*********************************************************************/
/* Dataset rendering in RDFa (see also render_lib.php#listAllItems() */

function successHandlerTableMetadata(o){	
	var tabViewDiv = document.getElementById('tablemetadata');  
	tabViewDiv.innerHTML =  o.responseText;	
}

function failureTableMetadata(o){
}

function showTableMetadata(){	
	var datasetURI = document.getElementById('addlink').src.value;
	var queryString = encodeURI(datasetURI);
	var reqURI = 'http://riese.joanneum.at/render_table_rdfa.php?uri=' + queryString;	
	
	var request = YAHOO.util.Connect.asyncRequest('GET', reqURI, { success:successHandlerTableMetadata, failure:failureTableMetadata });  	
}

/*********************************************************************/
/* UCI                                                               */

/* Callbacks for UCI */

function successHandlerAddRemove(o){
	updateUCITabView(o.responseText);
}

function failureHandlerAddRemove(o){
}

function successHandlerList(o){	
	updateUCITabView(o.responseText);
}

function failureHandlerList(o){
}

function successHandlerListRelated(o){	
	updateRelatedView(o.responseText);
}

function failureHandlerListRelated(o){
}

function updateUCITabView(msg){
	var tabViewDiv = document.getElementById('uci-tabview');  
	tabViewDiv.innerHTML =  msg;	
}

function updateRelatedView(msg){
	//var relatedDiv = document.getElementById('iknowmore');  		
	//document.all.iknowmore.innerHTML =  msg;	
}

function uciHideHandler(e) {
	location.reload(); // need to do that to update the 'related' box properly ;)
}   


/* UCI management */

function launchUCI(dataset, URI) {
	uciwin=window.open('http://riese.joanneum.at/interlinking/uci.php?dataset='+ dataset + '&src=' + URI,'name','height=500,width=700,scrollbars=yes');
}


function init() {	
	YAHOO.uci.aqua.panel = new YAHOO.widget.Panel("uci-inline", { effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.25}, width:"650px", x:200, y:126,  fixedcenter: false, constraintoviewport: false, underlay:"none", close:true, visible:false, draggable:true, modal:false } );
  YAHOO.uci.aqua.panel.render();  
  YAHOO.uci.aqua.panel.hideEvent.subscribe(uciHideHandler); 
  /* NOTE regarding resize:
     for a true resize panel see http://developer.yahoo.com/yui/examples/container/panel-resize.html 
     currently 'fixedcenter: false' and #uci-inline.yui-panel { overflow:auto } in uci-inline.css does the trick  
  */
  //showTableMetadata();
 }


function launchUCIInline() {	
	YAHOO.uci.aqua.panel.show();
}

function submitValidate(targetVal) {    				  		
	if(targetVal.length < 8 || targetVal.substring(0, 7) !='http://') {
  	alert('Please use a proper target URI starting with http://');
  }
  else {  			
  	document.getElementById("addlink").submit();
  }
}

function submitValidateInline(targetVal) {
	var src = document.getElementById('addlink').src.value;
	var prop = document.getElementById('addlink').property.value;
	var target = document.getElementById('addlink').target.value;

	// queryString is the key-value pairs of the encoded triple to add
	var queryString = encodeURI('?src=' + src + '&' + 'property=' + prop + '&' + 'target=' + target);
	var reqURI = addLinkURIBase + queryString;
	
	//alert(reqURI);    				  		
	if(targetVal.length < 8 || targetVal.substring(0, 7) !='http://') {
  	alert('Please use a proper target URI starting with http://');
  }
  else {  			
		var request = YAHOO.util.Connect.asyncRequest('GET', reqURI, { success:successHandlerAddRemove, failure:failureHandlerAddRemove });
  }
}

function removeLink(src, prop, target){	
	var queryString = encodeURI('?src=' + src + '&' + 'property=' + prop + '&' + 'target=' + target + '&' + 'style=full' + '&' + 'remove=yes');
	var reqURI = addLinkURIBase + queryString;	
	//alert(reqURI);
	var request = YAHOO.util.Connect.asyncRequest('GET', reqURI, { success:successHandlerAddRemove, failure:failureHandlerAddRemove });  	
}


function refreshInline() {
	var src = document.getElementById('addlink').src.value;
	var queryString = encodeURI('?src=' + src + '&style=full');
	var reqURI = addLinkURIBase + queryString;
	var request = YAHOO.util.Connect.asyncRequest('GET', reqURI, { success:successHandlerList, failure:failureHandlerList });
}

function refreshRelated(src) { 
	var queryString = encodeURI('?src=' + src);
	var reqURI = addLinkURIBase + queryString;
	//alert(reqURI);
	var request = YAHOO.util.Connect.asyncRequest('GET', reqURI, { success:successHandlerListRelated, failure:failureHandlerListRelated });
}