// JavaScript Document
// AUTOR: Nacho
// FECHA: Sab, 17 de Marzo de 2007
// ----------------------------------

function encodeMas(cadena){
	cadena = cadena.replace(/\+/gi,"<mas>");
	return cadena;
}

function decodeMas(cadena){
	cadena = cadena.replace(/<mas>/gi,"+");
	return cadena;
}


// Cargador de Objeto XMLHttpRequest() (AJAX)
//-------------------------------------------
function nuevoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch (E) {
			xmlhttp = false;
		}
	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
//-------------------------------------------

function llamaAjaxSinCarga(url){
	ajaxSinCarga=nuevoAjax();
	ajaxSinCarga.open("GET", url,true);
//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajaxSinCarga.send(null)
}

// Carga la url pasado por parametro en el Elemento correspondiente al ID
// ----------------------------------------------------------------------
function cargarContenido(url, id){
	var contenedor;
	var cadena;
	var cadenafinal;
	
	contenedor = document.getElementById(id);
	ajax=nuevoAjax();
	ajax.open("GET", url,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
			//contenedor.innerHTML = ajax.responseText;		
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send(null)
}

function cambiarListadoProductos(categoria){
	var contenedor;
	var cadena;
	var cadenafinal;
	var url = 'fotos_productos.php?id='+categoria;
	var id = 'contenedorProductosCategoria';
	
	contenedor = document.getElementById(id);
	ajax=nuevoAjax();
	ajax.open("GET", url,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send(null)
	
}

function seleccionarProductoListado(idProducto){
	var contenedor;
	var cadena;
	var cadenafinal;
	var url = 'fotos_getFormAjax.php?idProducto='+idProducto;
	var id = 'contenedorFormFotoProducto';
	
	contenedor = document.getElementById(id);
	ajax=nuevoAjax();
	ajax.open("GET", url,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send(null)
}

function subirArchivo(){
	document.getElementById('imgEsperaSubida').style.visibility = 'visible';
	document.getElementById('frmSubirArchivo').submit();
}

function productosRelacionados_cambiarCategoria(idCategoria){
	var contenedor;
	var cadena;
	var cadenafinal;
	var url = 'productosRelacionados_getProductos.php?idCategoria='+idCategoria;
	var id = 'contenedorProductosASeleccionar';
	
	contenedor = document.getElementById(id);
	ajax=nuevoAjax();
	ajax.open("GET", url,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send(null)
	
}

function productosRelacionados_seleccionarProducto(idProducto){
	var contenedor;
	var cadena;
	var cadenafinal;
	var url = 'productosRelacionados_productoSeleccionado.php?idProducto='+idProducto;
	var id = 'productoSeleccionado';

 	var contenedorProductoSeleccionado = document.getElementById('contenedorSelectorProductosRelacionados');
	contenedorProductoSeleccionado.style.visibility = 'visible';
	if (idProducto == '0'){
		contenedorProductoSeleccionado.style.visibility = 'hidden';
	}
	
	contenedor = document.getElementById(id);
	ajax=nuevoAjax();
	ajax.open("GET", url,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send(null)
}

function productosRelacionados_cambiarCategoriaRelacionados(idCategoria){
	
}

function enviarNewsletter(idCategoria){
		var mail = document.getElementById('newsletter').value;
		if (validarEmail(mail)) {
			alert("El mail ingresado es inválido.");
			document.getElementById("newsletter").focus();
		}
		else
			guardarNewsletter(idCategoria, mail);
}

function suscripcionNewsletter(oEvento, idCategoria, mail){
	var iAscii;
	if (oEvento.keyCode)
		iAscii = oEvento.keyCode;
	else if (oEvento.which)
		iAscii = oEvento.which;
	else
		return false;

	if (iAscii == 13) {
		if (validarEmail(mail)) {
			alert("El mail ingresado es inválido.");
			document.getElementById("newsletter").focus();
			return false;
		}
		else
			guardarNewsletter(idCategoria, mail);
	}
	
	return true;
}
function validarEmail(valor) {
	return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) ? false : true;
}
function guardarNewsletter(idCategoria, mail) {
	var url = 'newsletter_alta.php?idCategoria='+idCategoria+'&mail='+mail;
	ajax = nuevoAjax();
	ajax.open("GET", url, true);
	ajax.onreadystatechange = function() {
		if (ajax.readyState == 4)
			document.getElementById("contenedor_desc_columnaCentral").innerHTML = ajax.responseText;
	}
	ajax.send(null);
}
function suscribirNewsletterAlta(idCategoria, mail){
	ajax=nuevoAjax();
	ajax.open("GET", "/newsletter_alta.php?idCategoria="+idCategoria+"&mail="+mail,true);

	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			var salida = ajax.responseText;		
			generarVentana(salida);	// requiere ventana.js
		} 
	}

//	ajax.setRequestHeader("Content-Type","text/html; charset=iso-8859-1"); 
	ajax.send("idCategoria="+idCategoria+"&mail="+mail);
}

function newsletter_ajaxSeleccionarCategoria(objSelect){
	var contenedor;
	var cadena;
	var cadenafinal;
	
	var idCategoria = objSelect.options[objSelect.selectedIndex].value;
	
	contenedor = document.getElementById('newsletterMuestraItems');
	var url = 'newsletter_muestraItems.php?idCategoria='+idCategoria;
	
	ajax=nuevoAjax();
	ajax.open("GET", url,true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			txt=ajax.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor.innerHTML = txt2;
		} 
	}
	ajax.send(null)

	var url2 = 'newsletter_emailsCategoria.php?idCategoria='+idCategoria;
	var contenedor2 = document.getElementById('newsletterEmailsCategoria');

	ajax2=nuevoAjax();
	ajax2.open("GET", url2,true);
	ajax2.onreadystatechange=function() {
		if (ajax2.readyState==4) {
			txt=ajax2.responseText;
			txt=txt.replace(/\+/gi,"##mas##");
			txt=unescape(txt);
			txt2=txt.replace(/\+/gi," ");
			txt2=decodeMas(txt2);
			txt2=txt2.replace(/##mas##/gi,"+");
			contenedor2.innerHTML = txt2;
		} 
	}
	ajax2.send(null)

}

function enviarMails(idActual, total, mail, idNewsletter){
	// controlamos que queden mails para mandar.
	var urlEnvioMail = 'newsletter_enviarProceso.php';
	var contenedor = document.getElementById('contenedorRespuesta');
	var params = 'email='+mail+'&idNewsletter='+idNewsletter;
	
	if (idActual < total) {
		ajaxEnvio = nuevoAjax();
		ajaxEnvio.open("POST", urlEnvioMail,true);
		ajaxEnvio.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		ajaxEnvio.setRequestHeader("Content-length", params.length);
		ajaxEnvio.setRequestHeader("Connection", "close");		
		ajaxEnvio.onreadystatechange=function() {
			if (ajaxEnvio.readyState==4) {
				// funcion en la página de envio
				enviarMail_actualizarInterfaz(mail);
				contenedor.innerHTML = contenedor.innerHTML + ajaxEnvio.responseText;
			} 
		}
		ajaxEnvio.send(params);
	} else {
		finEnvioMails();
	}
}
