/*
	SCRIPTS - ACS
	Borja Delgado	- http://www.orangeside.org
	06 - 2006
*/

if(!window.EXTRAS) EXTRAS = {};

ACS = {
	
	/*
		ADAPTED FROM:	Sergi Messeguer
									http://www.zigotica.com/ 
	*/
	
	popThisUp : function(obj) {
			obj.onclick = function() {
				window.open(obj.href, ''); 
				return false;
			}
	},

	autoPopup : function() {
		var pops = EXTRAS.getElementsByClass('popup',undefined, 0);
		for (var i = 0; i < pops.length; i++) {
			ACS.popThisUp(pops[i]);
		}
	},

	addStylesPrinter : function() {
        if(document.getElementById('estilos_imprimir')) document.getElementById('estilos_imprimir').innerHTML = '<a href="#" id="texto_menor" title="Tama&ntilde;o de letra por defecto" tabindex="31"><img src="grafica/comunes/ico_texto_menor.gif" alt="" /></a> <a href="#" id="texto_medio" title="Tama&ntilde;o de letra medio" tabindex="32"><img src="grafica/comunes/ico_texto_medio.gif" alt="" /></a> <a href="#" id="texto_mayor" title="Tama&ntilde;o de letra mayor" tabindex="33"><img src="grafica/comunes/ico_texto_mayor.gif" alt="" /></a> <a href="#" title="Imprimir la &aacute;gina" onclick=" window.print(); return false;" tabindex="34" accesskey="3" title="Imprimir pagina ( alt + 3 )"><img src="grafica/comunes/ico_imprimir.gif" alt="" /></a>';
        var a = document.getElementById ('texto_menor');
        var b = document.getElementById('texto_medio');
        var c = document.getElementById('texto_mayor');
        a.onclick = a.onkeypress = b.onclick = b.onkeypress = c.onclick = c.onkeypress = function (e) {
            if (!e) e = window.event;
            if(e.type == "keypress" && e.keyCode != 13) return;
            if(e.type == "click") this.blur();
            ACS.setActiveStyleSheet(this.id);
            return false;
        }
    },
	
	/*
		ADAPTED FROM:	aqtree3clickable
									http://www.kryogenix.org/code/browser/aqlists/
	
									Stuart Langridge, November 2002
									sil@kryogenix.org
									
									Inspired by Aaron's labels.js (http://youngpup.net/demos/labels/) and Dave Lindquist's menuDropDown.js (http://www.gazingus.org/dhtml/?id=109)
	*/
	
	makeTreesC : function() {
			// We don't actually need createElement, but we do
			// need good DOM support, so this is a good check.
			if (!document.createElement) return;
			
			uls = document.getElementsByTagName("ul");
			for (uli=0;uli<uls.length;uli++) {
					ul = uls[uli];
					// CHANGE: ul.className for ul.id
					if (ul.nodeName == "UL" && ul.id == "menu_principal") {
							ACS.processULELC(ul);
					}
			}
	},
	
	processULELC : function(ul) {
			if (!ul.childNodes || ul.childNodes.length == 0) return;
			// Iterate LIs
			for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
					var item = ul.childNodes[itemi];
					if (item.nodeName == "LI") {
							//alert (item.className);
							// Iterate things in this LI
							var a;
							var subul;
				subul = "";
							for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
									var sitem = item.childNodes[sitemi];
									switch (sitem.nodeName) {
											case "A": a = sitem; break;
											case "UL": subul = sitem; 
																 ACS.processULELC(subul);
																 break;
									}
							}
							if (subul && item.className.indexOf('activo') == -1) {
									ACS.associateELC(a,subul);
							} else {
									a.parentNode.className = "aq3bullet";
							}
					}
			}
	},
	
	associateELC : function(a,ul) {
		if ( a.parentNode.className.indexOf('aq3open') == -1 )
				if ( a.parentNode.className != "seleccionado" ) a.parentNode.className = 'aq3closed';
				a.onclick = a.onkeypress = function (e) {
						if (!e) e = window.event;
						if(e.type == "keypress" && e.keyCode != 13) return;
						this.parentNode.className = (this.parentNode.className=='aq3open' ) ? "aq3closed" : (this.parentNode.className=='aq3closed' ) ? "aq3open" : ((this.parentNode.className=='seleccionado') || (this.parentNode.className=='seleccionado_abierto')) ? "seleccionado_cerrado" : (this.parentNode.className=='seleccionado_cerrado' ) ? "seleccionado_abierto" : "";
						if(e.type == "click") this.blur(); /* Change: No border */
						return false;
				}
    },
	
	/*
		ADAPTED FROM:	A List Apart - Working With Alternate Style Sheets
									http://www.alistapart.com/stories/alternate/
	*/
	
	initiateStyles : function(e) {
		var cookie = ACS.readCookie("style");
		var title = cookie ? cookie : ACS.getPreferredStyleSheet();
		ACS.setActiveStyleSheet(title);
	},
	
	setSheet : function(e) {
		var title = ACS.getActiveStyleSheet();
		ACS.createCookie("style", title, 365);
	},
	
	setActiveStyleSheet : function(title) {
		var i, a, main;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
				a.disabled = true;
				if(a.getAttribute("title") == title) a.disabled = false;
			}
		}
	},
	
	getActiveStyleSheet : function() {
		var i, a;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
		}
		return null;
	},
	
	getPreferredStyleSheet : function() {
		var i, a;
		for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
			if(a.getAttribute("rel").indexOf("style") != -1
				 && a.getAttribute("rel").indexOf("alt") == -1
				 && a.getAttribute("title")
				 ) return a.getAttribute("title");
		}
		return null;
	},
	
	createCookie : function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	
	readCookie : function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}

}
