function view_resource(selid) {
	update_url(selid);
	var e = document.getElementById('link_'+selid);
	window.location=e.href;
}

function update_url(selid) {
	var url = resolve_url(selid);
	var e = document.getElementById('link_'+selid);	
	if (e != null) {
		e.href = url;
	}
}

function resolve_url(selid) {
   var e = document.getElementById('url_'+selid);
   if (e != null) {
	var url = e.value;
	var vars = '';
	var invar = false;
	for (var i = 0; i < url.length; i++) {
		var c = url.charAt(i);	
		if (c == '}') {
			invar = false;
			vars += ',';
		}
		if (invar) {
			vars += c;
		}
		if (c == '{') {
			invar = true;
		} 
	}
	vars = vars.split(',');
	for (var i = 0; i < vars.length; i++) {
		v = vars[i];
		if (v != '') {
			e = document.getElementById(v+'_'+selid);
			if (e != null) {
				value = e.value;
			} else {
				value = '';
			}
			url = url.replace('{'+v+'}',value);
		}
	}
	return url;
   }
}


function searchresources(blockid) {
   var e = document.getElementById('searchresources');
   if (e.style.visibility != 'visible') {
      e.style.visibility = 'visible';
      e.style.display='block';
   } else { 
      e.style.visibility = 'hidden';
      e.style.display='none';
   }
}

function ajax_update_ri() {
        if (ajax.readyState==4) {
		var e = document.getElementById('resourceindex');
		e.innerHTML = ajax.responseText;
		e.style.display='block';
        }
}

function show_related(resid) {
	var e = document.getElementById('show_related');
	if (e != null) e.style.display='none';
	var e = document.getElementById('hide_related');
	if (e != null) e.style.display='inline';
        ajax.onreadystatechange=ajax_update_ri;
        ajax.open("POST",'resources.php',true);
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajax.send('resid=' + resid + '&mode=related&ajax=1');
}

function hide_resourceindex() {
	var e = document.getElementById('show_related');
	if (e != null) e.style.display='inline';
	var e = document.getElementById('hide_related');
	if (e != null) e.style.display='none';
	var e = document.getElementById('resourceindex');
	e.style.display='none';
}


/* Functions for Catalog (Abavagada) */

function catalog_toggle(blockid) {
   var dbi = document.getElementById(blockid);
   var dbt = document.getElementById(blockid+'_toggle');
   if (dbi.style.visibility != 'visible') {
      dbi.style.visibility = 'visible';
      dbi.style.display='block';
      dbt.src="./resources/catalog/images/minus.gif";
   } else { 
      dbi.style.visibility = 'hidden';
      dbi.style.display='none';
      dbt.src="./resources/catalog/images/plus.gif";
   }
}
