
var element,width,height,duration=500,steps=10;
var altoSubmenu=[240,240,50,110,105,48,183,27];
var infos=null;
var datos=null;
var ip = null;
var aImg =new Array;
var imageMax=new Image();
var aImgMax=new Array;

function quitaFadeImagenes(){
	for(n=0;n<16;n++){
		var imag="imagen"+(n+1);	
		new Rico.Effect.FadeTo(imag,1,500,10);		
	}
}
//preloader de imagenes
//función call-back de éxito
function onPreload(aImages, nImages){   
   if ( nImages = aImg.length ){	  
	  	for(j=0; j<aImg.length;j++){
	  		noimg="imagen"+(j+1);
			$(noimg).src=aImg[j];			
   		}
		Element.hide('loader');
		quitaFadeImagenes();
		//se muestra sig y ant
		if(datos.length > 16)
			Element.show('siguiente');
		if(desde>0)
			Element.show('anterior');
		//se hace visible la info de los articulos
		
      return;
   }
}
function onPreloadMax(aImages, nImages){   
	$('marcoArticuloImage').src=aImgMax[0];
	Element.hide('loaderMax');	
	new Rico.Effect.FadeTo('marcoArticuloImage',1,500,10);
	return;
}
//constructor
function ImagePreloader(images, call_back){
   // store the call-back
   this.call_back = call_back;
   // initialize internal state.
   this.nLoaded = 0;
   this.nProcessed = 0;
   this.aImages = new Array;
   // record the number of images.
   this.nImages = images.length;
   // for each image, call preload()
   for ( var i = 0; i < images.length; i++ )
      this.preload(images[i]);
}
ImagePreloader.prototype.preload = function(image){
   // create new Image object and add to array
   var oImage = new Image;
   this.aImages.push(oImage);
   // set up event handlers for the Image object
   oImage.onload = ImagePreloader.prototype.onload;
   oImage.onerror = ImagePreloader.prototype.onerror;
   oImage.onabort = ImagePreloader.prototype.onabort;
   // assign pointer back to this.
   oImage.oImagePreloader = this;
   oImage.bLoaded = false;
   // assign the .src property of the Image object
   oImage.src = image;
}
ImagePreloader.prototype.onComplete = function(){
   this.nProcessed++;
   if ( this.nProcessed == this.nImages ){
      this.call_back(this.aImages, this.nLoaded);
   }
}
ImagePreloader.prototype.onload = function(){
   this.bLoaded = true;
   this.oImagePreloader.nLoaded++;
   this.oImagePreloader.onComplete();
}
ImagePreloader.prototype.onerror = function(){
   this.bError = true;
   this.oImagePreloader.onComplete();
}
ImagePreloader.prototype.onabort = function(){
   this.bAbort = true;
   this.oImagePreloader.onComplete();
}


function setSize(element,width,height){
	new Rico.Effect.Size( element, width,height ,duration,steps);
}
function setPosition(element,x,y){
	new Rico.Effect.Position(element, x, y, duration, steps);
}
function getHeight(element){
	return Element.getHeight(element);
}
function hide(element){
	Element.hide(element);
}
function show(element){
	Element.show(element);
}
function isVisible(element){
	return Element.visible(element);
}
function getSubcategorias(element,categoria){
		var url = 'modelo/modelo.php';
		var pars = 'action=getSubcategorias&categoria='+categoria;
		var myAjax = new Ajax.Updater( element, url, { method: 'get', parameters: pars });
}
function carga(){
		var infos=document.getElementsByClassName('info');
		for(i=0;i<infos.length;i++){
			setOpacity(infos[i],70);
		}
		Element.hide('siguiente');
		Element.hide('anterior');
		Element.hide('marcoArticulo');
		Element.hide('solicitarInformacion');
		setPosition('marcoArticulo',241,150);	
		new Rico.Effect.FadeTo('loader',.5,1,1);
		new Rico.Effect.FadeTo('loaderMax',.5,1,1);
		new Rico.Effect.FadeTo('marcoArticuloImage',.1,1,1);
		Element.hide('marcoEmpresa');
		
}
function ocultaSubmenu(element){
		setSize(element,226,1 );
		hide(element);
}
function muestraSubmenu(element,altura){
		show(element);
		setSize(element,226,altura);
}
function ocultaSubmenus(){
	for(i=0; i<8; i++){
		nom="submenu"+(i+1);
		if( getHeight(nom)>1 ) {
			ocultaSubmenu(nom);
		}
	}
}
function ocultaSubmenusMenos(idElement){	
	for(i=0; i<8; i++){		
		nom="submenu"+(i+1);
		if( getHeight(nom)>1 && nom!=idElement ) {
			ocultaSubmenu(nom);
		}
	}
}

function showImageMax(element,url){		
	aImgMax[0]=url;
	new ImagePreloader(aImgMax, onPreloadMax);			
}

function setOpacity(element,opacity){
	new Rico.Effect.FadeTo( element, opacity/100,1,1);
}
function showInfo(element){
	var inf=document.getElementsByClassName('info',element);
	if( inf[0].innerHTML!="")
		show(inf[0]);
	new Rico.Effect.Size( inf[0], 124,24 ,100,10);
}
function hideInfo(element){
	var inf=document.getElementsByClassName('info',element);
	hide(inf[0]);	
}
function ponImagenesBlanco(){
	Element.hide('anterior');
	Element.hide('siguiente');
	for(n=0;n<16;n++){
		var imag="imagen"+(n+1);	
		new Rico.Effect.FadeTo(imag,.1,1,1);
		$(imag).src="imgs/blank.jpg";		
	}
}
function showResponse(originalRequest){		
	//se cargan los datos de la petición json
	datos=eval(originalRequest.responseText);
	infos=document.getElementsByClassName('info');
	var nomimagen="";	
	//se ocultan infos que no se usan	
	if( datos.length<=16 ){
		for( i=datos.length;i<16;i++){
			nomimagen="imagen"+(i+1);		
			Element.hide(nomimagen);
			$(infos[i]).innerHTML="";
			Element.hide(infos[i]);
		}		
	}
	
		
	//se rellena de información e imágenes		
	for(i=0;i<datos.length&&i<16;i++){			
		$(infos[i]).innerHTML=datos[i].referencia+"<br />"+datos[i].nombre;
		//nomimagen="imagen"+(i+1);	
		Element.show("imagen"+(i+1));
		aImg[i]="/web/img_productos/mini/"+datos[i].imagen;
	}
	//se cargan las imágenes
	ip = new ImagePreloader(aImg, onPreload);

}
function getArticulosCategoria(categoria){
	ponImagenesBlanco();
	var url="modelo/modelo.php?action=getArticulosCategoria&categoria="+categoria;
	var pars="";
	var myAjax = new Ajax.Request(url,{	method: 'get',parameters: pars,	onComplete: showResponse });
}
function getArticulosSubCategoria(categoria,subcategoria,desde){
	ponImagenesBlanco();
	var url="modelo/modelo.php?action=getArticulosSubCategoria&subcategoria="+subcategoria+"&categoria="+categoria;
	var pars="desde="+desde;
	var myAjax = new Ajax.Request(url,{	method: 'get',parameters: pars,	onComplete: showResponse });
}
function buscaArticulos(articulo,categoria,desde){
	ponImagenesBlanco();
	var url="modelo/modelo.php?action=buscaArticulos&articulo="+articulo+"&categoria="+categoria;
	var pars="desde="+desde;
	var myAjax = new Ajax.Request(url,{	method: 'get',parameters: pars,	onComplete: showResponse });
}
function showArticulo(id){	
	new Rico.Effect.FadeTo('marcoArticuloImage',.1,1,1);
	showImageMax('marcoArticuloImage',"/web/img_productos/"+datos[id].imagen);
	$('marcoArticuloDatos').innerHTML='<span class="negrita">Referencia:</span> '+datos[id].referencia+'<br /><span class="negrita"><br />Artículo:</span><br />'+datos[id].nombre+'<br /><br /><span class="negrita">Descripción:</span><br />'+datos[id].descripcion+"<br /><br />"+datos[id].medidas+datos[id].diametro+datos[id].distancia_agujeros+datos[id].acabado;
}

function correoEnviado(){
	
}
function enviaEmailSolicitandoInformacion(idArticulo,nombre,email,comentarios){	
	if( nombre=="" )
		$('solicitarInfoNombre').style.border="1px solid #FF0000";
	else
		$('solicitarInfoNombre').style.border="1px solid #E3E5E1";
	if( email=="" || !validarEmail(email) )
		$('solicitarInfoMail').style.border="1px solid #FF0000";
	else
		$('solicitarInfoMail').style.border="1px solid #E3E5E1";
	if( nombre!="" && email!="" && validarEmail(email) ){			
		var url="modelo/solicitarInformacion.php?nombre="+nombre+"&email="+email+"&comentarios="+comentarios+"&idArticulo="+idArticulo;
		var pars="";
		var myAjax = new Ajax.Request(url,{	method: 'get',parameters: pars,	onComplete: correoEnviado });
	new Rico.Effect.Position('solicitarInformacion',-400,null,100,10);
//		Element.hide('solicitarInformacion');
	}
}

function validarEmail(valor) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
   return (true)
  } else {
   return (false);
  }
 }
 
 function enviaEmailContacto(nombre,email,comentarios){	
	if( nombre=="" )
		$('contactoNombre').style.border="1px solid #FF0000";
	else
		$('contactoNombre').style.border="1px solid #E3E5E1";
	if( email=="" || !validarEmail(email) )
		$('contactoEmail').style.border="1px solid #FF0000";
	else
		$('contactoEmail').style.border="1px solid #E3E5E1";
	if( nombre!="" && email!="" && validarEmail(email) ){			
		var url="modelo/contactoEmail.php?nombre="+nombre+"&email="+email+"&comentarios="+comentarios;
		var pars="";
		var myAjax = new Ajax.Request(url,{	method: 'get',parameters: pars,	onComplete: correoEnviado });
		new Rico.Effect.Size('marcoContacto',null,1,500,10);
		Element.hide('marcoContacto');
	}
}
