var transaction;

function loadsection(url,id,section) {
	if(id=='main') { changeHash(url.replace("?","!")+"|"+id+"|"+section); }
	else { changeHash(url.replace("?","!")+"|"+id); }
}
function loadsection_second(url,id,section) {
	if (id == 'main') {
		if(document.getElementById('l' + section)) {
			document.getElementById('l' + section).onmouseout = null;
			//document.getElementById('l' + section).onmouseover = null;
		}
	}
	//document.getElementById(id + "container").innerHTML = document.getElementById(id + "container").innerHTML + '<div id="loading">loading...</div>';
	var args = []; 
	var responseSuccess = function(o) {
			var re_scripts = /<script([^>]*?)>([\w\W]*?)<\/script>/g;
			var scripts = [];
			foo = o.responseText
			foo.replace(re_scripts, function(match, attributes, script){
			scripts.push(script);
			});
		
		//document.getElementById("home-top").innerHTML = '<img id="logo-top" class="asblock" src="img/blank_top.jpg" alt="" />';
		document.getElementById(id + "container").innerHTML = foo;
		if (window.ActiveXObject)
		{
		werd = scripts.join('\n');
		window.execScript(werd,'javascript');
		}
		else
		{
		window.eval(scripts.join('\n'));
		}

		if (id == 'main') {
			resetmenu(section.toUpperCase());
			//document.getElementById(section).src = "img/menu_" + section + "_on.gif";
		}		
	};

	var responseFailure = function(o){
		//document.getElementById(id + "container").innerHTML = document.getElementById(id + "container").innerHTML + '<div id="loading">an error has occurred, please try again</div>';
		document.getElementById(id + "container").innerHTML = '<div id="loading">an error has occurred, please try again</div>';
	}

	var callback =
	{
	  success:responseSuccess,
	  failure:responseFailure,
	  argument:args
	};

	var showStatus = undefined;
	var sUrl = url;
	
	if(transaction) {
		YAHOO.util.Connect.abort(transaction);
	}
	YAHOO.util.Connect.initHeader('Accept-Charset','UTF-8');
	transaction = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null); 
	
	
}

function showlogo(filename) {
	document.getElementById("logo-big").innerHTML = '<img src="img/' + filename + '" border="0" alt="" />';
}

function clearlogo() {
	document.getElementById("logo-big").innerHTML = '';
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function restore_out(atagid)	{	//
		imgname = document.getElementById(atagid.substring(1)).name;
		out(imgname);
}
	
function resetmenu(current)
{
 var imgs,i;
 imgs=document.getElementsByTagName('img');
 
 for(i=0;i<imgs.length;i++)
 {
//alert(imgs[i].className);
  if(imgs[i].className == 'menuitems')
  {
  		if(imgs[i].id != "") {
		if (imgs[i].id != current) {
			document.getElementById(imgs[i].id).src = eval(imgs[i].name+"_n.src");
			document.getElementById('l' + imgs[i].id).onmouseout = function () { 
				restore_out(this.id); 
			}
		} else {
		    document.getElementById(imgs[i].id).src = eval(document.getElementById(imgs[i].id).name+"_h.src");
		    over(document.getElementById(imgs[i].id).name);
		}
		
    }
  }  
 }
}

var boo = new Array;

function resetmenu_orig(current) {
	var imgs,i,theimg;
	imgs=document.getElementsByTagName('img');

	for(i=0;i<imgs.length;i++) {
		if(imgs[i].className == 'menuitems') {
			boo[i] = imgs[i].id;
		}
	}

	for(i=0;i<imgs.length;i++) {
		if(imgs[i].className == 'menuitems') {
			document.getElementById(imgs[i].id).src = "img/menu_" + imgs[i].id + "_off.gif";
			if (imgs[i].id != current) {
				azz = '';
				azz = imgs[i].id;
				document.getElementById('l' + imgs[i].id).onmouseout = function () {MM_swapImgRestore();};
				eval("document.getElementById('l" + imgs[i].id + "').onmouseover = function () { MM_swapImage('" + boo[i] + "','','img/menu_" + azz + "_on.gif',1);}");
			}
		}
	}
}

function loadsearch(url,form) {
	var f_elem,i,f_url;
	var t_form = eval(form+'.name');
	f_elem = document.forms[t_form].elements;
	f_url = url + "?";
	for(i=0;i<f_elem.length;i++) {
		if(f_elem[i].type=="checkbox") {
			if(f_elem[i].checked) {
				f_url = f_url + f_elem[i].name +"="+f_elem[i].value+"&";
			}
		} else {
			f_url = f_url + f_elem[i].name +"="+f_elem[i].value+"&";
		} 	
	}
	if(form=='tx_indexedsearch' || form=='searchform') {
		section_go='archive';
	} else {
		section_go='PROGRAMME';
	}
	loadsection(f_url,'main',section_go);

}

function loadsearchresult(url) {
	var url_array = url.split("/");
	if(isset(url_array[1])) {
		loadsection(f_url,'main','archive');
	} else {
		loadsection(url,'main',url);
	}	
}

var main_section = "";
var sub_section = "";
var inter;

function getHash()
{
	return window.location.hash.replace("#", "");
}

function initialize()
{
	var bookHash=getHash();
	var navegador=navigator.userAgent; isIE=false;
	
	if(navegador.indexOf("MSIE")>=0 && navegador.indexOf("Opera")==-1) 
	{
		isIE=true;
		var navIframe=document.createElement("iframe"); navIframe.id="nav"; navIframe.name="nav";
		navIframe.style.display="none";
		navIframe.src="iframe.php?hash="+bookHash;
		document.body.appendChild(navIframe);
		changeHash(bookHash+"|");
	}
	else 
	{
		hash=null;
		if(!bookHash) window.location.hash="#";
		inter = setInterval("verifyHash()", 100);
	}
}

function changeHash(hash)
{
	if(isIE) { document.getElementById("nav").src="iframe.php?hash="+hash.replace("?","!"); }
	else window.location.hash="#"+hash;
}

function verifyHash()
{
	newHash=getHash();
	if(hash!=newHash)
	{
		hash_ant = hash;
		if(hash_ant==null) { hash_ant=""; }
		hash=newHash;
		
		if(hash!="") {
			
			if(hash_ant!="") {
				main_ant="";
				parts_hash_ant = hash_ant.split("|");
				parts_url_ant = parts_hash_ant[0].split("/");
				main_ant = parts_url_ant[0];
			}
			hash= unescape(hash);
			parts_hash = hash.split("|");
			if(parts_hash[1] == 'main') {
				loadsection_second((parts_hash[0]).replace("!","?"),parts_hash[1],parts_hash[2]);
			} else {
				if(parts_hash[1] == 'sub') {
					parts_url = parts_hash[0].split("/");
					if(!document.getElementById('subcontainer')) {
						loadsection_second(parts_url[0],'main',parts_url[0]);
						main_section = parts_url[0];
						sub_section = (parts_hash[0]).replace("!","?");
					} else {
						var main_new = (((parts_url[0]).replace("#","")).replace(".html","")).toUpperCase();
						var main_old = (((main_ant).replace("#","")).replace(".html","")).toUpperCase();
						if(main_old!=main_new) {
							loadsection_second(parts_url[0],'main',parts_url[0]);
							main_section = parts_url[0];
							sub_section = (parts_hash[0]).replace("!","?");
						} else {
							loadsection_second((parts_hash[0]).replace("!","?"),'sub');
						}
					}
				}
			}
		}
	}
}
function desplegar(elem){
  cosa = "cosa_" + elem;
  if (document.getElementById(elem).style.display=="none"){
	document.getElementById(elem).style.display=''  ;
  }
  else{
	document.getElementById(elem).style.display="none";
  }
}