var cantItems = 0;
var cantSubItems = 0;
var selectedItem = -1;
var selectedSubItem = -1;
var cod = -1;
var isFrame = false; // para usar el menú con o sin frames
var target = "_self"; // target a donde tienen que apuntar los links

var items = new Array();
var subItems = new Array();
	subItems[0] = new Array();
	subItems[1] = new Array();
	subItems[2] = new Array();

// class Navbar
function Navbar(id) {
	this.id = id;
	this.style = "navBar";
	this.items = items;
	this.subItems = subItems;
	this.addItem = add_item;
	this.addSubItem = add_sub_item;
	this.create = create_it;
	this.closeItems = close_items;
}

// class Item
function Item(){
	this.style;
	this.visible;
	this.txt;
	this.url;
	this.target;
	this.arrow;
	// subitems count
	this.qty;
}

function add_item( txt, url, _target, _visible ) {
	var item = new Item();
	item.style = "item";
	if( _visible == false ){
		item.visible = false;
	} else {
		item.visible = true;
	}
	item.txt = txt;
	item.url = url;
	if(!_target) {
		item.target = target;
	} else {
		item.target = _target;
	}
	item.arrow = false;
	item.qty = 0;
	items[cantItems++] = item;
}
//metodo para agregar un subitem a un item
function add_sub_item( txt, url, _target, _visible ) {
	var item = new Item();
	item.style = "subItem";
	item.visible = false;
	item.txt = txt;
	item.url = url;
	if(!_target) {
		item.target = target;
	} else {
		item.target = _target;
	}
	subItems[0][cantSubItems] = cantItems-1;
	subItems[1][cantSubItems] = item;
	// item subitem id
	subItems[2][cantSubItems] = items[cantItems-1].qty;
	items[cantItems-1].qty = items[cantItems-1].qty + 1;
	cantSubItems++;
}
function create_it() {
	switch (arguments.length){
		case 0:
			if (get_cod_item() != -1) {
				if (get_cod_item().toString().indexOf(",") == -1){
					this.create(get_cod_item());
				} else {
					var parent = get_cod_item().substring(0,get_cod_item().indexOf(","));
					var child = get_cod_item().substring((get_cod_item().indexOf(",")+1),get_cod_item().length);
					this.create(parent,child);
				}
			}
			//selectedItem = 0; // por si deseo algun item seleccionado por default
			break;
		case 1:
			selectedItem = arguments[0];
			selectedSubItem = -1;
			break;
		case 2:
			selectedItem = arguments[0];
			selectedSubItem = arguments[1];
			break;
	}
	select_visible_items();
	var html="";
	html+="<div class=\""+this.style+"\" id=\""+this.id+"\">";
	html+=create_items();
	html+="</div>";
	document.getElementById(this.id).innerHTML = html;
	
}
function create_items(){
	var html="";
	for (i=0;i<this.items.length;i++){
		if(this.items[i].visible == true){
			html+=create_html( this.items[i].style, this.items[i].url, this.items[i].target, i, this.items[i].txt, this.items[i].arrow );
			html+=create_sub_items(i);
		}
	}
	return html;
}
function create_sub_items(i){
	var html="";
	var arrTemp = new Array();
	for (j=0;j<cantSubItems;j++){
		if (i==this.subItems[0][j] && this.subItems[1][j].visible){
			var obj = new Object();
			obj.style = this.subItems[1][j].style;
			obj.url   = this.subItems[1][j].url;
			obj.target   = this.subItems[1][j].target;
			//obj.id    = i+","+j;
			obj.id    = i+","+this.subItems[2][j];
			obj.txt   = this.subItems[1][j].txt;
			arrTemp[ arrTemp.length ] = obj;
		}
	}
	if( arrTemp.length != 0 ){
		html += "<div class=\"subItems\">";
		for(var k = 0;k < arrTemp.length; k++){
			html += create_html( arrTemp[k].style, arrTemp[k].url, arrTemp[k].target, arrTemp[k].id, arrTemp[k].txt );
		}
		html += "</div>";
	}
	return html;
}
/*
function create_html( style, url, target, i, txt, arrow ){
	if (isImage(txt)) {
	    txt = "<img src=\""+txt+"\" border=\"0\" name=\""+i+"\" id=\"obj"+i+"\">";
	}
	if ( i.toString().indexOf(",") == -1 ){
		if ( url.length != "" ){
			html = "<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over';document.getElementById(\'bullet"+i+"\').className = '"+style+"OverBullet'\" onmouseout=\"this.className = '"+style+"';document.getElementById(\'bullet"+i+"\').className = '"+style+"Bullet'\"><div id=\"bullet"+i+"\" class=\""+style+"Bullet\"></div><a href=\""+this.setURL( url, i )+"\" target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		} else {
			if( arrow ){
				arrowStyle = 'arrowOpen';
			} else {
				arrowStyle = 'arrowClose';
			}
			html = "<div class=\""+style+"\"onmouseover=\"this.className = '"+style+"Over';document.getElementById(\'bullet"+i+"\').className = '"+style+"OverBullet'\" onmouseout=\"this.className = '"+style+"';document.getElementById(\'bullet"+i+"\').className = '"+style+"Bullet'\"><div id=\"bullet"+i+"\" class=\""+style+"Bullet\"></div><div class=\""+arrowStyle+"\" onclick=\"navbar.create("+i+")\"></div><a href=\"javascript:navbar.create("+i+")\" title=\""+txt+"\">"+txt+"</a></div>";
		}
	} else {
		if (isFrame) {
			html="<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over'\" onmouseout=\"this.className = '"+style+"'\"><a href=\""+url+"\" onclick=navbar.create("+i+") target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		} else {
			html="<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over'\" onmouseout=\"this.className = '"+style+"'\"><a href=\""+this.setURL( url, i )+"\" target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		}
	}
	return html;
}
*/

function create_html( style, url, target, i, txt, arrow ){
	if (isImage(txt)) {
	    txt = "<img src=\""+txt+"\" border=\"0\" name=\""+i+"\" id=\"obj"+i+"\">";
	}
	if ( i.toString().indexOf(",") == -1 ){
		if ( style == "item" ){
			i = i+",101"; 
			html = "<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over';document.getElementById(\'bullet"+i+"\').className = '"+style+"OverBullet'\" onmouseout=\"this.className = '"+style+"';document.getElementById(\'bullet"+i+"\').className = '"+style+"Bullet'\"><div id=\"bullet"+i+"\" class=\""+style+"Bullet\"></div><a href=\""+this.setURL( url, i )+"\" target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		} else {
			if( arrow ){
				arrowStyle = 'arrowOpen';
			} else {
				arrowStyle = 'arrowClose';
			}
			html = "<div class=\""+style+"\"onmouseover=\"this.className = '"+style+"Over';document.getElementById(\'bullet"+i+"\').className = '"+style+"OverBullet'\" onmouseout=\"this.className = '"+style+"';document.getElementById(\'bullet"+i+"\').className = '"+style+"Bullet'\"><div id=\"bullet"+i+"\" class=\""+style+"Bullet\"></div><div class=\""+arrowStyle+"\" onclick=\"navbar.create("+i+")\"></div><a href=\"javascript:navbar.create("+i+")\" title=\""+txt+"\">"+txt+"</a></div>";
		}
	} else {
		if (isFrame) {
			html="<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over'\" onmouseout=\"this.className = '"+style+"'\"><a href=\""+url+"\" onclick=navbar.create("+i+") target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		} else {
			html="<div class=\""+style+"\" onmouseover=\"this.className = '"+style+"Over'\" onmouseout=\"this.className = '"+style+"'\"><a href=\""+this.setURL( url, i )+"\" target=\""+target+"\" title=\""+txt+"\">"+txt+"</a></div>";
		}
	}
	return html;
}
function select_visible_items(){
	for (j = 0; j < cantItems; j++) {
		this.items[j].style = "item";
		this.items[j].arrow = false;
	    if (j == selectedItem) {
			this.items[j].style = "itemSelected";
			this.items[j].arrow = true;
			if (this.items[j].arrow == true) {
				this.items[j].arrow = false;			   
			} else {
				this.items[j].arrow = true;			    
			}
	    } else {
			this.items[j].arrow = false;
	    }
	}

	for (j=0;j<cantSubItems;j++){
		//this.subItems[1][j].style = "subItem";
		if (this.subItems[0][j] == selectedItem && selectedSubItem == -1 && !(this.subItems[1][j].visible)){
			this.subItems[1][j].visible = true;
			this.items[selectedItem].arrow = true;
		} else if(this.subItems[0][j] == selectedItem && selectedSubItem > -1) {
			this.subItems[1][j].visible = true;
			this.items[selectedItem].arrow = true;
			//if (j == selectedSubItem){
			if (this.subItems[2][j] == selectedSubItem){
				this.subItems[1][j].style = "subItemSelected";
			} else {
				this.subItems[1][j].style = "subItem";
			}
		} else {
//			this.subItems[1][j].visible = false;
			this.subItems[1][j].visible = false;
		}
	}
}
//funcion que lee los parametros del menu que viene por url
function get_cod_item(){
	cod = location.href.substring(location.href.indexOf('cod=')+4);
	if( cod.indexOf('&') != -1 ){
		cod = cod.substring(0,cod.indexOf('&'));
	}
	if( cod.indexOf('#') != -1 ){
		cod = cod.substring(0,cod.indexOf('#'));
	}
	if( location.href.indexOf('?') != -1 ){
		return(cod);
	} else {
		return -1;
	}
}
function setURL( url, i, target ){ 
	if(url.indexOf('javascript:') == 0) return url;
		if( url.indexOf('?') == -1 ){
			return url+"?cod="+i;
		} else {
			return url+"&cod="+i;
		}
} 

function isImage(txt) {
	if(txt.indexOf('.gif')!= -1){
		return true;
	} else if(txt.indexOf('.jpg')!= -1) {
	    return true;
	} else if(txt.indexOf('.jpeg')!= -1) {
	    return true;
	} else {
	    return false;
	}
}
function close_items(){
	this.create(-1,-1);
}
var navbar = new Navbar('menu');
