/*------------EFECTOS/ FUNCIONES DEL BUSCADOR DE PRODUCTOS-----------------------*/
function IniBuscadorProductos(idDepartamento)
{		
	var iniBuscador = new Ajax.Request("templates/buscadorproductos.php",
                        {
                                method: 'get',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('MainContent').innerHTML = resp.responseText;																		
									setContentIniBuscador(idDepartamento);
								}
                        });						
}

function setContentIniBuscador(idDepartamento)
{				
	var setBuscador = new Ajax.Request("comp/buscadorProductosResult.php",
                        {
                                method: 'get',
                                parameters: 'idDepartamento=' + idDepartamento + '&idFamilia=-1',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('contenido').innerHTML =resp.responseText;																
									
									setPaginacionBuscadorProductos();
									setHeaderBuscador(idDepartamento);									
								}
                        });											
}

function animarSalidaBuscadorProductos()
{
	Effect.Fade('productos',{duration: 1.0, queue:{scope:'myscope', position:'end', limit: 1}});	
}

function setCargandoBuscadorProductos()
{
	//Tabla Buscador Cargando... para el cambio de Departamento o Primera carga del Buscador.
	var tblBuscadorCargando =  "<table class='tblbuscador' border='0'>";
	tblBuscadorCargando +=  "<colgroup>";
    tblBuscadorCargando +=  "	<col class='labels' />";
    tblBuscadorCargando +=  "	<col class='inputs' />";
	tblBuscadorCargando +=  "</colgroup>";
	tblBuscadorCargando +=  "  <tr class='title'>";
  	tblBuscadorCargando +=  "<td colspan='2'><span class='defaultLabel'>Productos: 0</span></td>";
	tblBuscadorCargando +=  "  </tr>";
	tblBuscadorCargando +=  "  <tr class='Arriba'>";
	tblBuscadorCargando +=  "	  <td colspan='2'></td>";
	tblBuscadorCargando +=  "  </tr>";
	tblBuscadorCargando +=  "  <tr class='Medio'>";
	tblBuscadorCargando +=  "    <td class='labels'>Categoria</td>";
	tblBuscadorCargando +=  "    <td class='inputs'>Modelo</td>";
	tblBuscadorCargando +=  "  </tr>";
	tblBuscadorCargando +=  "  <tr class='Medio'>";
	tblBuscadorCargando +=  "    <td class='labels'>";
	tblBuscadorCargando +=  "		<select id='idFamilia' disabled><option value='-1'>Todos</option></select>";
	tblBuscadorCargando +=  "	</td>";
	tblBuscadorCargando +=  "<td class='inputs'>";
	tblBuscadorCargando +=  "	<select name='idProducto' disabled><option value='-1'>Seleccionar</option></select>  ";    
	tblBuscadorCargando +=  "</td>";
	tblBuscadorCargando +=  "</tr>";
	tblBuscadorCargando +=  "<tr  class='Abajo'><td colspan='2'>&nbsp;</td></tr>";
	tblBuscadorCargando +=  "<tr class='titleBuscador'>";
	tblBuscadorCargando +=  "<td class='NombreDepartamento'>	";
	tblBuscadorCargando +=  "</td>";
	tblBuscadorCargando +=  "<td></td></tr>";	
	tblBuscadorCargando +=  "<tr>";
	tblBuscadorCargando +=  " <td colspan='2' style='background:url(images/lineagrisBck.gif) repeat-x center; height:10px;'></td>";
	tblBuscadorCargando +=  "</tr>";
	tblBuscadorCargando +=  "<tr>";
    tblBuscadorCargando +=  "<td colspan='2'>";
    tblBuscadorCargando +=  "    <!--TABLA DE PRODUCTOS RESULTADO DEL BUSCADOR-->";
    tblBuscadorCargando +=  "    <div id='productos' align='center'><br><br><br><br><br><img src='images/spinner.gif' style='height:32px; width:32px;' /></div>";
	tblBuscadorCargando +=  "</td>";
	tblBuscadorCargando +=  "</tr>";
	tblBuscadorCargando +=  "</table>";	
	
	$('contenido').innerHTML = tblBuscadorCargando;
}

function setPaginacionBuscadorProductos()
{
	new Control.Tabs('tabs_paginacion');
}

function setHeaderBuscador(viewId)
{
	switch(viewId)
	{
		case 1:
			SetBaseHeader_View(13);
			break;
		case 2:
			SetBaseHeader_View(14);
			break;
		case 3:
			SetBaseHeader_View(15);
			break;
		case 4:
			SetBaseHeader_View(16);
			break;
		case 5:
			SetBaseHeader_View(17);
			break;
		case 6:
			SetBaseHeader_View(18);
			break;
		case 7:
			SetBaseHeader_View(19);
			break;
	}
}

/*****************EVENTOS POSTBACK DEL BUSCADOR*******************/
function makePostBackBuscador(urlParams)
{	
	var familiaChange = new Ajax.Request(urlParams,
                        {
                                method: 'get',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('contenido').innerHTML =resp.responseText;															
									
									setPaginacionBuscadorProductos();																		
								}
                        });
}

function departamento_Change(idDepartamento)
{
	if(document.getElementById('BuscadorCurrentState').value == 0)
	{	
		setCargandoBuscadorProductos();
		setContentIniBuscador(idDepartamento);
	}
	else
	{
		document.getElementById('BuscadorCurrentState').value = 0;
		
		setCargandoBuscadorProductos();		
		setContentIniBuscador(idDepartamento);
	}
}

function ddlFamilia_Change(urlParams)
{	
	makePostBackBuscador(urlParams);
}

function ddlPropiedad_Change(urlParams)
{
    selects = document.getElementsByName('ddlPropiedad');
	num = selects.length;
	propiedadesParam = "&idPropiedad=";	
	
	for(var i=0;i<num;++i)
	{
		if(selects[i].value != -1)
		{			
			propiedadesParam += selects[i].value + ",";
		}
	}	
	
	makePostBackBuscador(urlParams + propiedadesParam);	
}

function productSelected(urlParams)
{
	ScrollTop();
	animarSalidaBuscadorProductos();
	
	var c=setTimeout("Effect.SwitchOff('buscadorTbl')",750);

	//GENERAR LOS PARAMETROS DE LAS PROPIEDADES SELECCIONADAS PARA EL BOTON ATRAS DEL DETALLE DE PRODUCTO.
	selects = document.getElementsByName('ddlPropiedad');
	num = selects.length;
	propiedadesParam = "&idPropiedad=";	
	
	for(var i=0;i<num;++i)
	{
		if(selects[i].value != -1)
		{			
			propiedadesParam += selects[i].value + ",";
		}
	}
	
	var p=setTimeout("SetProductoDetalle('" + urlParams + propiedadesParam + "')",1500);
}

function setProductOutSearcher(idProducto, idDepartamento)
{
	$('content').innerHTML = "<div align='center'><br><br><br><br><br><img src='images/spinner.gif' style='height:32px; width:32px;' /></div>";

	var BuildPageContent = new Ajax.Request('templates/buscadorproductos.php',
                        {
                                method: 'get',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('MainContent').innerHTML = resp.responseText;
									SetProductoDetalle('comp/detalleProducto.php?idProducto=' + idProducto + '&idDepartamento=' + idDepartamento + '&idFamilia=-1&idPropiedad=');
								}
                        });
}

function setProductInSearcher(idProducto, idDepartamento)
{
	SetProductoDetalle('comp/detalleProducto.php?idProducto=' + idProducto + '&idDepartamento=' + idDepartamento + '&idFamilia=-1&idPropiedad=');
}

function SetProductoDetalle(urlParams)
{		
	$('contenido').innerHTML = "<div align='center'><br><br><br><br><br><img src='images/spinner.gif' style='height:32px; width:32px;' /></div>";
	
	var productSelected = new Ajax.Request(urlParams,
                        {
                                method: 'get',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('contenido').innerHTML =resp.responseText;
									animarDetalleProducto();
									
									document.getElementById('BuscadorCurrentState').value = 1;
								}
                        });					
}

function ProductoDetalleRegresar(urlParams)
{
	document.getElementById('BuscadorCurrentState').value = 0;

	setCargandoBuscadorProductos();		
	makePostBackBuscador(urlParams);
}

function SetBuildPageContent(idPagina, viewId)
{
	SetBuildPage_Contenido(idPagina, viewId);
	
	document.getElementById('BuscadorCurrentState').value = 1;
}

/*------------EFECTOS/ FUNCIONES DEL DETALLE DE PRODUCTO-----------------------*/
function animarDetalleProducto()
{
	Effect.Appear('producto',{duration: 1.0, queue:{scope:'myscope', position:'end', limit: 1}});	
}

function zoomImagen()
{
	//FUNCION QUE ABRE LA VENTANA MODAL PARA VER LA IMAGEN ZOOM DEL PRODUCTO ACTUALMENTE SELECCIONADO.
	//MANDA LLAMAR LA FUNCION modalAjaxWindow CON LOS PARAMETROS SOLICITADOS.
	document.getElementById("imgZoom").href = document.getElementById('hdnZoomImg').value;
	document.getElementById("imgZoom").rel = "lightbox[" + document.getElementById("hdnIdColor").value + "]";
}

function cambiarImagenProducto(imgThumb, imgZoom)
{		
	//ESTA FUNCION HACE LOS EFECTOS DE TRANSICION DE SALIDA DE IMAGEN, LLAMA A LA FUNCION QUE CAMBIA LA IMAGEN EN EL CONTROL
	//Y DESPUES HACE APARECER LA IMAGEN CON UN NUEVO EFECTO ESTABLECIDO.
	Effect.Fade('imgProducto', { duration: 0.5 });
	
	var i=setTimeout("cambiaImagen('" + imgThumb + "','" + imgZoom + "')", 500);
	
	var t=setTimeout("Effect.Appear('imgProducto');",1000);
}

function cambiaImagen(imgThumb, imgZoom)
{
	//ESTA FUNCION CAMBIA LA IMAGEN EN EL CONTROL IMG DEL PRODUCTO.
	var img = document.getElementById("imgProducto");
	img.setAttribute("src", imgThumb);	
}

function colorRollover(idImg, img, nombreColor)
{
	//FUNCION QUE CAMBIA LA IMAGEN DEL COLOR, DEL ID QUE RECIBE Y QUE CAMBIA EL NOMBRE DEL COLOR EN EL DIV NOMBRE COLOR.
	//SEGUN EL PARAMETRO nombreColor.
	//ESTO LO HACE SIEMPRE Y CUANDO EL ID RECIBIDO NO SE EL ACTUALMENTE SELECCIONADO.
	if(document.getElementById('hdnIdColor').value == idImg)
	{

	}
	else
	{
		document.getElementById(idImg).src = img;
			
		document.getElementById("divImgColor").innerHTML = nombreColor;	 
	}
}

function colorRollout(idImg, img)
{
	//FUNCION QUE CAMBIA LA IMAGEN DEL COLOR, DEL ID QUE RECIBE Y QUE CAMBIA EL NOMBRE DEL COLOR EN EL DIV NOMBRE COLOR.
	//SEGUN EL ESTABLECIDO EN EL HIDDEN CONTROL NOMBRE COLOR.
	//ESTO LO HACE SIEMPRE Y CUANDO EL ID RECIBIDO NO SE EL ACTUALMENTE SELECCIONADO.
	if(document.getElementById('hdnIdColor').value == idImg)
	{
		
	}
	else
	{
		document.getElementById(idImg).src = img;
				
		document.getElementById("divImgColor").innerHTML = document.getElementById('hdnNombreColor').value;
	} 
}

function colorSelected(idImg, imgThumb, imgZoom, imgColor, NombreColor)
{
	//FUNCION QUE SE DISPARA CUANDO SE SELECCIONA UN NUEVO COLOR EN LA GALERIA DE LOS PRODUCTOS.
	//HACE EL SWITCH DE IMAGEN Y COLOR SELECCIONADO.
	//ESTO LO HACE SIEMPRE Y CUANDO EL ID RECIBIDO NO SE EL ACTUALMENTE SELECCIONADO.
	if(document.getElementById('hdnIdColor').value == idImg)
	{

	}
	else
	{
		//Cambiar la Imagen del color actualmente seleccionado por la de estado "normal".
		var arrayImagenNormal = document.getElementById(document.getElementById('hdnIdColor').value).src.split("_",2);	
		document.getElementById(document.getElementById('hdnIdColor').value).src = arrayImagenNormal[0] + ".jpg";
	
		//seteamos en los Hidden los nuevos valores del color seleccionado.
		document.getElementById('hdnIdColor').value = idImg;
		document.getElementById('hdnNombreColor').value = NombreColor;
		document.getElementById('hdnZoomImg').value = imgZoom;			
		
		//Seteamos la nueva imagen seleccioanda, en el id de img recibido.
		document.getElementById(idImg).src = imgColor;
		
		//pintamos el nombre del Nuevo color seleccionado en el Div del nombre de Color.
		document.getElementById("divImgColor").innerHTML = NombreColor;	
		
		//llamamos a la funcion que cambia la imagen del producto con los efectos establecidos en esa funcion.
		cambiarImagenProducto(imgThumb, imgZoom);
	}
}


/*------------------FUNCIONES EFECTOS DEL LAYOUT CONTENIDO---------------------------------*/

function LoadTemplate_PageContent(urlTemplate, idPagina, viewId)
{
	$('content').innerHTML = "<div align='center'><br><br><br><br><br><img src='images/spinner.gif' style='height:32px; width:32px;' /></div>";

	var BuildPageContent = new Ajax.Request(urlTemplate,
                        {
                                method: 'get',
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('MainContent').innerHTML = resp.responseText;
									SetBuildPage_Contenido(idPagina, viewId);
								}
                        });	
}

function SetBuildPage_Contenido(idPagina, viewId)
{
	$('contenido').innerHTML = "<div align='center'><br><br><br><br><br><img src='images/spinner.gif' style='height:32px; width:32px;' /></div>";
	
	if(viewId != '')
	{
		SetBaseHeader_View(viewId);	
	}

	var BuildPageContent = new Ajax.Request('comp/buildPage.php',
                        {
                                method: 'get',
                                parameters: 'idPagina=' + idPagina,
                                asynchronous: true,
								evalScripts: true,
                                onComplete: function (resp)
								{
									$('contenido').innerHTML =resp.responseText;
								}
                        });	
}

function SetBaseHeader_View(viewId)
{	
	var sObjectFlash;
	var oDiv = document.getElementById("header");
	sObjectFlash = '<object id="bannerHeader" type="application/x-shockwave-flash" data="swf/basebaners.swf"  height="322" width="771" > \
					<param name="Movie" value="swf/basebaners.swf"> \
					<param name="Src" value="swf/basebaners.swf"> \
					<param name="Menu" value="0"> \
					<param name="FlashVars" value="clip_cargar=' + viewId  +'"> \
					<param name="WMode" value="Transparent"> \
					</object>'    
	oDiv.innerHTML = sObjectFlash;
}

function SetFooter()
{	
	var sObjectFlash;
	var oDiv = document.getElementById("footer");
	sObjectFlash = '<object id="bannerFooter" type="application/x-shockwave-flash" data="swf/footer.swf"  height="62" width="771" > \
					<param name="Movie" value="swf/footer.swf"> \
					<param name="Src" value="swf/footer.swf"> \
					<param name="Menu" value="0"> \
					<param name="WMode" value="Transparent"> \
					</object>'    
	oDiv.innerHTML = sObjectFlash;
}

function animarContenido()
{
	Effect.Appear('contenido');
}


/*-----------------EFECTOS, FUNCIONES, VALIDACIONES DE ENVIAR MAIL CONTACTO------------------------*/

function ContactoValidarCampos()
{
	var mensaje = "";
	var isValid = true;
	
	if(document.getElementById('txtNombre').value == "")
	{
		mensaje += " Nombre es requerido\n";
		isValid =false;
	}
	
	if(document.getElementById('txtApellido').value == "")
	{
		mensaje += "Apellido es requerido\n";
		isValid =false;
	}
	
	if(document.getElementById('txtEmail').value == "")
	{
		mensaje += "Email es requerido\n";
		isValid =false;
	}
	else
	{
		var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
		
		if (filter.test(document.getElementById('txtEmail').value))
		{
		
		}	
		else
		{
			mensaje += "Ingrese una direcci\u00f3n de correo v\u00e1lida\n";
			isValid =false;
		}
	}
	
	if(document.getElementById('txtTelefono').value == "")
	{
		mensaje += "Telefono es requerido\n";	
		isValid =false;
	}
	
	if(document.getElementById('txtMensaje').value == "")
	{
		mensaje += "Mensaje es requerido\n";
		isValid =false;
	}
	
	if(!isValid)
	{
		alert(mensaje);
		return false;
	}
	else
	{
		return true;
	}
}

function ContactoEnviarMail()
{		
	if(ContactoValidarCampos())
	{
		document.getElementById('btnEnviarMailContacto').disabled=true;
	
		var parametros = "nombre=" + document.getElementById('txtNombre').value;
		parametros += "&apellido=" + document.getElementById('txtApellido').value;
		parametros += "&email=" + document.getElementById('txtEmail').value;
		parametros += "&telefono=" + document.getElementById('txtTelefono').value;
		parametros += "&estado=" + document.getElementById('txtEstado').value;
		parametros += "&conocerte=" + document.getElementById('ddlConocerte').value;		
		parametros += "&edad=" + document.getElementById('ddlEdad').value;		
		parametros += "&mensaje=" + document.getElementById('txtMensaje').value;		
	
		getHTML('contacto', 'comp/contactoEnviarMail.php', parametros);	
	}					
}

/*-----------------EFECTOS, FUNCIONES, VALIDACIONES DE ENVIAR A UN AMIGO------------------------*/
function ScrollTop()
{
	new Effect.ScrollTo('header');
}
