﻿// JavaScript Document

var tm = 0; // Timer
var ie = ( navigator.appName.indexOf("Microsoft Internet Explorer") > -1 );
var ff = ( navigator.appName.indexOf("Netscape") > -1 || navigator.appName.indexOf("ozilla") > -1 );
var ie7 = ( navigator.appVersion.indexOf("MSIE 7.") > -1 );

function getOffsetIzquierdoAncla(el) {
	var ol = el.offsetLeft;
	while ((el = el.offsetParent) != null) {
		ol += el.offsetLeft;
	}
	return ol;
}

function setOffsetIzquierdoAncla(el, x) {
	el.style.left = x + "px";
}

function getOffsetSuperiorAncla(el) {
	var ot = el.offsetTop;
	while ((el = el.offsetParent) != null) {
		ot += el.offsetTop;
	}
	return ot;
}

function setOffsetSuperiorAncla(el, y) {
	el.style.top = y + "px";
}

function getPosicionTabla(element) {
	var coordenadas = new Object();
	var positionX = 0;
	if (ie) {
		positionX = element.offsetLeft;
	} else if (ff) {
		positionX = parseInt(document.body.clientWidth / 2 - element.width / 2);
	}
	var positionY = element.offsetTop;
	coordenadas.x = positionX;
	coordenadas.y = positionY;
	return coordenadas;
}

function getPosicionAncla(nombreAncla) {
	
	// Esta función retornará un objeto con sus propiedades x, y
	var usaVentana = false;
	var coordenadas = new Object();
	var x = 0, y = 0;
	
	// Detección de capacidades del navegador
	var usa_gebi = false;
	var usa_css = false;
	var usa_capas = false;
	
	if (document.getElementById) {
		usa_gebi = true;
	} else if (document.all) {
		usa_css = true;
	} else if (document.layers) {
		usa_capas = true;
	}
	
	// L�gica para encontrar la posición/* && document.all*/
 	if (usa_gebi && document.all) {
		x = getOffsetIzquierdoAncla(document.all[nombreAncla]);
		y = getOffsetSuperiorAncla(document.all[nombreAncla]);
	} else if (usa_gebi) {
		var o = document.getElementById(nombreAncla);
		x = getOffsetIzquierdoAncla(o);
		y = getOffsetSuperiorAncla(o);
	} else if (usa_css) {
		x = getOffsetIzquierdoAncla(document.all[nombreAncla]);
		y = getOffsetSuperiorAncla(document.all[nombreAncla]);
	} else if (usa_capas) {
		var loEncontre = 0;
		for (var i = 0; i < document.anchors.length; i++) {
			if (document.anchors[i].name == nombreAncla) {
				loEncontre = 1;
				break;
			}
		}
		if (loEncontre == 0) {
			coordenadas.x = 0;
			coordenadas.y = 0;
			return coordenadas;
		}
		x = document.anchors[i].x;
		y = document.anchors[i].y;
	} else {
		coordenadas.x = 0;
		coordenadas.y = 0;
		return coordenadas;
	}	
	
	coordenadas.x = x;
	coordenadas.y = y;
	return coordenadas;	

}

function moverObjeto(el, x, y) {
	setOffsetIzquierdoAncla(el, x);
	setOffsetSuperiorAncla(el, y);
}

function restablecerObjeto(el) {
	moverObjeto(el, 0, 0);
}

function moverMenu(el) {
	var lnk = document.getElementById('mas');
	lnk.className = "masActiva";
	var coordenadas = getPosicionAncla('mas');
	var tabla = document.getElementById('tblPrincipal');
	var coordTabla = getPosicionTabla(tabla);
	var posx = coordenadas.x - parseInt(lnk.offsetWidth) + parseInt(tabla.width) - parseInt(el.offsetWidth);
	moverObjeto(el, posx + 4, coordenadas.y + 20);
}

function mostrarMenu() {
	clearInterval(tm);
	var menu = document.getElementById("menuPost");
	if (menu) {
		menu.className = "visible";
		moverMenu(menu);
		if ( !ie7 && !ff ) {
			ocultarCmbCategorias();
		}
	}
}

function ocultarMenu() {
	tm = setInterval("esconderMenu()", 1000);
}

function esconderMenu() {	
	var menu = document.getElementById("menuPost");
	if (menu) {
		menu.className = "invisible";
		if ( !ie7 && !ff ) {
			mostrarCmbCategorias();
		}
	}
	restablecerObjeto(menu);
	var lnk = document.getElementById('mas');
	lnk.className = "mas";
}

function mostrarCmbCategorias() {
	var cmb = document.getElementById("idCat");
	if (cmb) {
		cmb.className = "visible";
	}
}

function ocultarCmbCategorias() {
	var cmb = document.getElementById("idCat");
	if (cmb) {
		cmb.className = "invisible";
	}
}

function buscar() {
	var forma = document.forms["frmBusqueda"];
	var query = forma.query;
	var categoria = forma.idCat;
	var mensaje = "";
	if (esVacio(query.value) || query.value.indexOf("Busque un producto") > -1) {
		mensaje += "Por favor escriba una palabra o frase para efectuar la búsqueda";
	}
	if (mensaje.length > 0) {
		alert(mensaje);
	} else {
		forma.submit();
	}
}

function cambiarFraseCampo() {
	var forma = document.forms["frmBusqueda"];
	var query = forma.search;
	if (query.value.indexOf("Busque un producto") > -1) { 
		query.value = "";
	} else if (esVacio(query.value)) {
		query.value = "Busque un producto...";
	}
}

function cambiarFraseCampo1() {
//	var forma = document.forms["frmBusqueda"];
//	var query = forma.search;
	var query = document.getElementById("search");
	if (query.value.indexOf("Nombre del novio o de la novia ...") > -1) { 
		query.value = "";
	} else if (esVacio(query.value)) {
		query.value = "Nombre del novio o de la novia ...";
	}
}

function comprarProducto(id) {
	location.href = "index.php?opcion=productos&id=" + id;	
}
