// JavaScript Document
/*
Descompone productos de lista para mostrar resumen y detalle con rollover
- Dependencias:
	- /include/js/utilidades.js: getElementsByClass()
@28/04/05 Ismael Celis
*/
var prods_settings					=	[];
prods_settings["itemClass"]			=	"item";				// class de elemento item
prods_settings["itemTag"]			=	"div";				// elemento html de elemento item
prods_settings["itemTitleTag"]		=	"h2";				// tag de titulo de item
prods_settings["itemTextTag"]		=	"span";				// tag de todo el texto de item (sin titulo)
prods_settings["itemExcerptTag"]	=	"q";				// tag de extracto (primer párrafo) de item
prods_settings["menuId"]			=	"din_menu";			// id wrapper menu dinamico
prods_settings["menuItemId"]		=	"menuItem";			// Elemento que contendrá menu
prods_settings["menuItemTag"]		=	"h2";				// Elemento que contendrá el link dentro de menuItem
prods_settings["showExcerptId"]		=	"tagline";			// Contenedor de extracto y titulo de item
prods_settings["idFormElements"]	=	false;				// false o id de item para todos sus elementos de form

var ITEM_SELECTED = false;// id item seleccionado con prod_showItem()
var prods_items = false;// objetos con info de elementos
var prods_menu = false;// links del menu
// INICIA PANTALLA
function initPage(){
	// Obtiene todos los elementos a tratar
	prods_items = document.getElementsByClass(prods_settings["itemClass"],prods_settings["itemTag"]);
	var t = prods_items.length;
	if(t<1)return false;
	if(prods_settings["idFormElements"])
		tagItemFormElements();
	if(!document.all)var Menu = document.getElementById(prods_settings["menuId"]);
		
	else var Menu = document.all[prods_settings["menuId"]];
	if(!Menu)return;
	// Template para item de menu
	var mitem = document.getElementById(prods_settings["menuItemId"]);
	// Esconde elementos, crea menu
	for(var i=0;i<t;i++){
		// esconde
		prods_items[i].className = prods_settings["itemClass"]+" hidden";
		// Menu
		var menuItem = mitem.cloneNode(true);
		var menuLink = document.createElement("a");
		menuLink.idx = i;
		menuLink.style.cursor = "pointer";
		var datos = prods_getItem(prods_items[i]);
		var c = document.createTextNode(datos["title"]);

		menuLink.appendChild(c) ;
		aid = "menuItem"+i;
		menuLink.id = aid;
		menuLink.onclick = function(){
			prods_showItem(this.idx);
		}
		menuItem.getElementsByTagName(prods_settings["menuItemTag"])[0].innerHTML = "";
		menuItem.getElementsByTagName(prods_settings["menuItemTag"])[0].appendChild(menuLink);
		Menu.appendChild(menuItem);
		}
	// Muestra primer item
	mitem.id="";
	mitem.parentNode.removeChild(mitem);
	colorRows();
	prods_showItem(0);
}
function prods_getItem(it){
	var datos = [];
	if(!it)return false;
	datos["title"] = it.getElementsByTagName(prods_settings["itemTitleTag"])[0].innerHTML;
	datos["excerpt"] = "";//it.getElementsByTagName(prods_settings["itemExcerptTag"])[0].innerHTML;
	datos["alltext"] = it.getElementsByTagName(prods_settings["itemTextTag"])[0].innerHTML;
	return datos;
}
// MUESTRA UN PRODUCTO
function prods_showItem(idx){
	var it,datos;
	it = prods_items[idx];
	ITEM_SELECTED = idx;
	//it.getElementsByTagName(prods_settings["itemExcerptTag"])[0].className = "hidden";
	datos = prods_getItem(it);
	if(this.lastSelected > -1){
		prods_items[this.lastSelected].className = prods_settings["itemClass"]+" hidden";
		if(W3CDOM)
			document.getElementById("menuItem"+this.lastSelected).className="";
		else
			document.all["menuItem"+this.lastSelected].className = "";
	}
	if(W3CDOM){
		document.getElementById("menuItem"+idx).className="selected";
		document.getElementById("menuItem"+idx).blur();
	}
	else{
		document.all["menuItem"+idx].className="selected";
		document.all["menuItem"+idx].blur();
	}
	it.className = prods_settings["itemClass"];
	this.lastSelected = idx;
}
// Agrega idx de item a sus elementos de form (para validaciones)
function tagItemFormElements()
{
	var formelements = ["input","select","textarea"];
	if(!prods_items || prods_items.length < 1)return false;
	for(var i=0;i<prods_items.length;i++){
		it = prods_items[i];
		for(var u=0;u<formelements.length;u++){
			els = it.getElementsByTagName(formelements[i]);
			if(els)
				asignParentIdx(els,i);
		}
	}
}
// asigna idx de parent item a elementos
function asignParentIdx(els,idx)
{
	//return;
	for(var i=0;i<els.length;i++){
		els[i][prods_settings["idFormElements"]] = idx;
	}
}
prods_showItem.prototype.lastSelected = 0;
prods_showItem.prototype.ini = false;
// INICIA
window.onload = initPage;
