window.$_GET = new Object();
var fondo_onmouseover = "#e0e0e0";
var fondo_onmouseout = "#f0f0f0";
var enlace_onmouseout = "#61200a"
var enlace_onmouseover = "#000000";
var fondo_cursor = "#fbb89b";

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

function comportamientos()
{
	if(document.getElementById('formulario')) document.getElementById('formulario').onsubmit = function() { return false; }
	if(document.getElementById('xsubmit')) document.getElementById('xsubmit').onclick = function() { validar(); }

	/* Sombra */
	if($('sombra')) $('sombra').style.display = "block";

	/* Scroll */
	if($('scroll'))
	{
		$('scroll').style.overflow = "hidden";
		$('scroll').style.whiteSpace = "nowrap";
	}

	/* Scroll inner */
	if($('scroll-inner'))
	{
		$('scroll-inner').style.width = "9999999px";
	}

	/* Catálogos */
	if($('catalogos'))
	{
		if($('tipos'))
		{
			$('tipos').onchange = function()
			{
				document.location.href = document.location.pathname + "?t="+this.value;
			}
		}
	}

	/* Clientes */
	if($('clientes'))
	{
		if($('categorias'))
		{
			$('categorias').onchange = function()
			{
				document.location.href = document.location.pathname + "?c="+this.value;
			}
		}
	}

	/* Noticias */
	if($('noticias'))
	{
		if($('otras_noticias'))
		{
			var childs = $('otras_noticias').childNodes;
			for (var i=0; i < childs.length; i++)
			{
				if(childs[i].tagName == "DIV")
				{
					childs[i].onmouseover = function()
					{
						this.style.background = fondo_onmouseover;
					}
					childs[i].onmouseout = function()
					{
						this.style.background = fondo_onmouseout;
					}
				}
			}
		}
	}

	/* Empresa */
	if($('empresa'))
	{
		if($('historia')) $('historia').style.display = "block";
		if($('actualidad')) $('actualidad').style.display = "none";

		if($('ver_historia'))
		{
			$('ver_historia').onclick = function()
			{
				$('historia').style.display = "block";
				$('actualidad').style.display = "none";
			}
		}
		if($('ver_actualidad'))
		{
			$('ver_actualidad').onclick = function()
			{
				$('historia').style.display = "none";
				$('actualidad').style.display = "block";
			}
		}
	}

	/* Productos */
	if($('productos'))
	{
		if($_GET['c'])
		{
			var todos=document.getElementsByTagName("div");
			for(var j=0,t=todos.length;j<t;j++)
				if(todos[j].className=="reducido")
					todos[j].style.display = "none";
			document.getElementById("acciones").style.display = "none";
			document.getElementById("navegacion").style.display = "none";
			document.getElementById("extendido"+$_GET['c']).style.display = "block";
		}

		var divs = document.getElementsByTagName("div");
		for (var i=0; i < divs.length; i++)
			if(divs[i].className == "reducido")
			{
				divs[i].onclick = function(e)
				{
					var tag = "reducido";
					var str = this.id;
					var mod = str.length - tag.length;
					var len = str.length - mod;
					var obj = str.substr(len,mod);
					var todos=document.getElementsByTagName("div");
					for(var j=0,t=todos.length;j<t;j++)
						if(todos[j].className=="reducido")
							todos[j].style.display = "none";
					document.getElementById("acciones").style.display = "none";
					document.getElementById("navegacion").style.display = "none";
					document.getElementById("volver").style.display = "none";
					document.getElementById("extendido"+obj).style.display = "block";
				}
			}
		var imgs = document.getElementsByTagName("img");
		for (var i=0; i < imgs.length; i++)
			if(imgs[i].className=="cerrar")
			{
				imgs[i].onmouseover = function(e)
				{
					this.style.cursor = "pointer";
				}
				imgs[i].onclick = function(e)
				{
					var todos=document.getElementsByTagName("div");
					for(var j=0,t=todos.length;j<t;j++)
					{
						if(todos[j].className=="reducido")
						{
							todos[j].style.display = "block";
						}
						if(todos[j].className=="extendido")
						{
							todos[j].style.display = "none";
						}
					}
					document.getElementById("acciones").style.display = "block";
					document.getElementById("navegacion").style.display = "block";
					document.getElementById("volver").style.display = "block";
				}
			}
	}

	if($('selector'))
	{
		var selected;
		var query = location.search.replace('?', '');
		params = query.split('&');
		for(var i = 0; i < params.length; i++)
		{
	    	curentParam = params[i];
	    	var ckv = curentParam.split('=');
	    	var k = ckv[0];
	    	var v = ckv[1];
	    	if(k=="s")
	    		selected = v;
		}

		var selector = $('selector').childNodes[0].childNodes;
		for(var i=0; i<selector.length; i++)
		{
			for(var j=0; j<selector[i].childNodes[1].childNodes.length; j++)
			{
				var str = selector[i].childNodes[1].childNodes[j].childNodes[0].href;
				var len = str.indexOf("s=");
				var id = str.substr(len+2);

				if(selected == id)
				{
					selector[i].childNodes[1].style.display = "block";
					selector[i].style.height = "auto";
					selector[i].childNodes[1].childNodes[j].style.backgroundColor = fondo_cursor;
				}

				selector[i].childNodes[1].childNodes[j].onclick = function()
				{
					this.style.backgroundColor = fondo_cursor;
				}

			}

			selector[i].onmouseover = function()
			{
				this.style.backgroundColor = fondo_cursor;
			}

			selector[i].onmouseout = function()
			{
				this.style.backgroundColor = 'transparent';
			}

			selector[i].onclick = function()
			{
				for(var i=0; i<selector.length; i++)
				{
					if(selector[i].childNodes[1] != undefined)
						selector[i].childNodes[1].style.display = "none";
					selector[i].style.backgroundColor = "transparent";
				}
				if(this.childNodes.length>1)
				{
					this.style.backgroundColor = fondo_cursor;
					this.childNodes[1].style.display = "block";
					this.style.height = "auto";
				}
				$('contenedor_selector').style.height = "auto";
			}

			selector[i].ondblclick = function()
			{
				document.location.href = this.firstChild.longDesc;
			}
		}
	}

	/* Últimas novedades */
	if($('novedades'))
	{
		var childs = $('novedades').childNodes;
		for (var i=0; i < childs.length; i++)
		{
			if(childs[i].tagName == "DIV")
			{
				childs[i].onmouseover = function()
				{
					this.style.background = fondo_onmouseover;
				}
				childs[i].onmouseout = function()
				{
					this.style.background = fondo_onmouseout;
				}
				childs[i].onclick = function()
				{
					var divchilds = this.childNodes;
					for (var j=0; j < divchilds.length; j++)
						if(divchilds[j].tagName == "IMG")
							document.location.href = divchilds[j].longDesc;
				}
			}
		}
	}

	/* Últimas noticias */
	if($('ultimas_noticias'))
	{
		var childs = $('ultimas_noticias').childNodes;
		for (var i=0; i < childs.length; i++)
		{
			if(childs[i].tagName == "DIV")
			{
				childs[i].onmouseover = function()
				{
					this.style.background = fondo_onmouseover;
				}
				childs[i].onmouseout = function()
				{
					this.style.background = fondo_onmouseout;
				}
				childs[i].onclick = function()
				{
					var divchilds = this.childNodes;
					for (var j=0; j < divchilds.length; j++)
						if(divchilds[j].tagName == "IMG")
							document.location.href = divchilds[j].longDesc;
				}
			}
		}
	}

	/* Catálogos destacados */
	if($('catalogos_destacados'))
	{
		var childs = $('catalogos_destacados').childNodes;
		for (var i=0; i < childs.length; i++)
		{
			if(childs[i].tagName == "DIV")
			{
				childs[i].onmouseover = function()
				{
					this.style.background = fondo_onmouseover;
				}
				childs[i].onmouseout = function()
				{
					this.style.background = fondo_onmouseout;
				}
			}
		}
	}
}

function presupuestador()
{
	/* Presupuestador */
	if($('presupuestador'))
	{
		$('presupuestador').style.height = "auto";
		var childs = $('presupuestador').childNodes;
		var items = new Array;
		for (var i=0, j=0; i < childs.length; i++)
		{
			if(childs[i].tagName == "DIV")
			{
				childs[i].onmouseover = function()
				{
					this.style.backgroundColor = fondo_onmouseover;
				}
				childs[i].onmouseout = function()
				{
					this.style.backgroundColor = fondo_onmouseout;
				}
				/*
				childs[i].onclick = function()
				{
					alert("hola"+this.id);
				}
				*/

				/*
				if(childs[i].className("vaciar"))
				{
					alert(childs[i].tagName);
				}
				*/
			}
		}
	}
	var forms = document.getElementsByTagName("form");
	for (var i=0; i < forms.length; i++)
	{
		if(forms[i].id.match("preactualizar"))
		{
			forms[i].onsubmit = function()
			{
				this.childNodes[9].src = "img/actualizando.gif";
				xajax_actualizar(this.childNodes[3].value, this.childNodes[7].value);
				return false;
			}
		}
		if(forms[i].id.match("preborrar"))
		{
			forms[i].onsubmit = function()
			{
				xajax_borrar(this.childNodes[3].value);
				return false;
			}
		}
		if(forms[i].id.match("preagregar"))
		{
			forms[i].onsubmit = function()
			{
				if(BrowserDetect.browser == "Explorer")
					var articulo = this.childNodes[2].value;
				else
					var articulo = this.childNodes[3].value;
				xajax_agregar(articulo, 1);
				return false;
			}
		}
	}
}

function xform()
{
	/* Label */
	var labels=document.getElementsByTagName("label");
	for (var i=0; i < labels.length; i++)
	{
		// Firefox
		if(BrowserDetect.browser == "Firefox")
		{
			var labelContent = labels[i].innerHTML;
			var labelWidth = document.defaultView.getComputedStyle( labels[i], '' ).getPropertyValue( 'width' );
			var labelSpan = document.createElement('span');
			labelSpan.style.display = 'block';
			labelSpan.style.width = labelWidth;
			labelSpan.innerHTML = labelContent;
			labels[i].style.display = '-moz-inline-box';
			labels[i].innerHTML = null;
			labels[i].appendChild( labelSpan );
		}
		// Resto de navegadores
		else
		{
			labels[i].style.display = 'inline-block';
		}
	};

	/* Input */
	var defaultInput = document.getElementById('defaultInput').value;
	var inputs = getElementsByTagNames('input');
	for (var i=0; i < inputs.length; i++)
	{
		var input = inputs[i];
		var label = input.parentNode.getElementsByTagName('label')[0];

		if(label && input.value == "")
		{
			input.value = stripTags(label.innerHTML);
			input.value = stripAsterisks(input.value);
			input.value = defaultInput+input.value.toLowerCase();
			input.predefined = input.value;

			input.onfocus = function()
			{
				if (this.value == this.predefined)
				{
					this.value = '';
				}
			};

			input.onblur = function()
			{
				if (this.value == null || this.value == '')
				{
					this.value = this.predefined;
				}
			};
		}
	}

	/* Textarea */
	var defaultTextarea = document.getElementById('defaultTextarea').value;
	var textareas = getElementsByTagNames('textarea');
	for (var i=0; i < textareas.length; i++)
	{
		var textarea = textareas[i];
		var label = textarea.parentNode.getElementsByTagName('label')[0];

		if(label && textarea.value == "")
		{
			textarea.value = stripTags(label.innerHTML);
			textarea.value = stripAsterisks(textarea.value);
			textarea.value = defaultTextarea+textarea.value.toLowerCase();
			textarea.predefined = textarea.value;

			textarea.onfocus = function()
			{
				if (this.value == this.predefined)
				{
					this.value = '';
				}
			};

			textarea.onblur = function()
			{
				if (this.value == null || this.value == '')
				{
					this.value = this.predefined;
				}
			};
		}
	}
}

function accordion()
{
	var accordion = new Accordion('h2.atStart', 'div.atStart', {
		opacity: true,
		display: 0,
		onActive: function(toggler, element)
		{
			//toggler.setStyle('color', '#c03f05');
			var str = toggler.innerHTML;
			var len = str.indexOf(".gif");
			var newHTML = str.substr(0,len) + "_a" + str.substr(len);
			//alert(newHTML);
			toggler.innerHTML = newHTML;
		},

		onBackground: function(toggler, element){
			//toggler.setStyle('color', '#000');
			var str = toggler.innerHTML;
			var len = str.indexOf("_a.");
			if(len>-1)
			{
				var newHTML = str.substr(0,len) + str.substr(len+2);
				toggler.innerHTML = newHTML;
			}
		}
	}, $('acordeon'));

	var filename = location.pathname.substring(location.pathname.lastIndexOf('\/')+1).split('.')[0];

	if(filename == "noticias")
		accordion.display(1);
	if(filename == "colecciones")
		accordion.display(2);
	if(filename == "catalogos" || filename == "marcas")
		accordion.display(3);
	if(filename == "contacto" || filename == "boletin")
		accordion.display(4);
	/*
	if(filename == "presupuesto")
		accordion.display(5);
	*/
}

function scroller()
{
	if($('destacados'))
	{
		var scroll = new Fx.Scroll('scroll', {
			wait: false,
			duration: 500,
			offset: {'x': 0, 'y': 0},
			transition: Fx.Transitions.Quad.easeInOut
		});

		var myId;
		var myElement;
		var myStep = 3;

		//document.getElementById('scroll').style.overflow = "hidden";
		var h3s = getElementsByTagNames('h3');
		for (var i=0; i < h3s.length; i++)
		{
			h3s[i].style.display = "none";
		}

		function createPage(obj)
		{
			myId = obj.id;
			myElement = 1;

			$('scroll-pag').appendChild(document.createElement('ul'));
			var str = obj.innerHTML;
			var len = str.indexOf(".");
			var innerHTML = str.substr(0,len) + "-pag" + str.substr(len);
			$('scroll-pag').childNodes[0].innerHTML = innerHTML;

			pagination(elements(myId));
			changePage(myId);
			scroll.toElement(myId+0);
		}

		function changePage(id)
		{
			var lis = document.getElementsByTagName("li");
			var pags = new Array();
			for (var i=0, j=0; i < lis.length; i++)
				if(lis[i].id.match("pag"))
					pags[j++] = lis[i];
			for(var i=0; i<pags.length; i++)
			{
				pags[i].onclick = function()
				{
					var str = this.id;
					var len = this.id.length - 1;
					var obj = str.substr(len,1);
					var cnt = 1;
					var inc = -1;
					while(cnt <= obj)
					{
						myElement = (cnt * 2) + inc;
						cnt++;
						inc++;
					}
					scroll.toElement(id+myElement);
				}
			}
		}

		function elements(id)
		{
			var divs = document.getElementsByTagName("div");
			var objs = new Array();
			for (var i=0, j=0; i < divs.length; i++)
				if(divs[i].id.match(id) && !divs[i].id.match(id+"0"))
				{
					objs[j++] = divs[i];
				}

			return objs.length;
		}

		function pagination(elements)
		{
			var pages = Math.ceil(elements / myStep);
			if(pages>1)
			{
				if(BrowserDetect.browser == "Explorer")
				{
					document.getElementById('prev').style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100);";
					document.getElementById('next').style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=100);";
				}
				else
				{
					document.getElementById('prev').style.opacity='1';
					document.getElementById('next').style.opacity='1';
				}
			}
			else
			{
				if(BrowserDetect.browser == "Explorer")
				{
					document.getElementById('prev').style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10);";
					document.getElementById('next').style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=10);";
				}
				else
				{
					document.getElementById('prev').style.opacity='.1';
					document.getElementById('next').style.opacity='.1';
				}
			}

			var innerHTML = "";
			if(pages>1)
				for(var p=1; p<=pages; p++)
				{
					innerHTML += "<li id=\"pag"+p+"\"><img src=\"img/paginas/"+p+".gif\" alt=\""+p+"\"></li>";
				}
			$('scroll-pag').childNodes[1].innerHTML = innerHTML;
		}

		if($('scroll-nav'))
		{
			createPage($('scroll-nav').firstChild);
			for(var i=0; i<$('scroll-nav').childNodes.length; i++)
			{
				$('scroll-nav').childNodes[i].onmouseover = function()
				{
					this.style.backgroundColor = fondo_cursor;
				}

				$('scroll-nav').childNodes[i].onmouseout = function()
				{
					this.style.backgroundColor = 'transparent';
				}

				$('scroll-nav').childNodes[i].onclick = function()
				{
					createPage(this);
				}
			}
		}

		if($('prev'))
		{
			$('prev').style.visibility = "visible";
			$('prev').addEvent('click', function(event)
			{
				event = new Event(event).stop();
				if($(myId+(myElement-myStep)) != null)
				{
					myElement = myElement - myStep;
					scroll.toElement(myId+myElement);
				}
			});
		}

		if($('next'))
		{
			$('next').style.visibility = "visible";
			$('next').addEvent('click', function(event)
			{
				event = new Event(event).stop();
				if($(myId+(myElement+myStep)) != null)
				{
					myElement = myElement + myStep;
					scroll.toElement(myId+myElement);
				}
			});
		}
	}
}

function populateRequest()
{
	String.prototype.trim = function()
	{
		return this.replace(/^s+|s+$/, '');
	}

	cookies = document.cookie.split(';');
	window.$_COOKIE = new Object();
	for(var i = 0; i < cookies.length; i++)
	{
    	curentCookie = cookies[i];
    	var ckv = curentCookie.split('=');
    	var k = ckv[0];
    	var v = ckv[1];
    	if( k && v )
    	{
        	k = k.trim();
        	$_COOKIE[k] = v;
    	}
	}

	var query = location.search.replace('?', '');
	params = query.split('&');
	window.$_GET = new Object();
	for(var i = 0; i < params.length; i++)
	{
    	curentParam = params[i];
    	var ckv = curentParam.split('=');
    	var k = ckv[0];
    	var v = ckv[1];
    	if( k && v )
    	{
        	k = k.trim();
        	$_GET[k] = v;
    	}
	}
}

function mostrar()
{
	if($('lateral')) $('lateral').style.display = "block";
	if($('destacados')) $('destacados').style.display = "block";
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
addLoadEvent(xajax_presupuestador);
addLoadEvent(populateRequest);
addLoadEvent(comportamientos);
addLoadEvent(presupuestador);
addLoadEvent(xform);
addLoadEvent(mostrar);
addLoadEvent(accordion);
addLoadEvent(scroller);
