var numFilas=4;
var numColumnas=3;
var prodList;
var prodInfo;
var skip=0;
var prodGrid=new Array();
var formatoProducto='{NOMBRE__PRD}<br>$ {PRECIO__PRD}';
var formatoCatItem='{NOMBRE__PRD}<br>$ {PRECIO__PRD}';
var isFinalPage=false;

function prevPage()
{
	var k=0;
	var i=0;
	var j=0;
	var item; /* for item no funciona si item no está declarada */
	for(k=0;k<numColumnas*numFilas;k++) {
		if(!$('catinfo'+k)) {
			alert(k);
			return;
		}
		$('catinfo'+k).innerHTML='&nbsp;';
		if(skip>0) {
			skip--;
		}
	}
	var count=0; /* Tiene que ser distinto de k */
	k=0;
	isFinalPage=false;
	for(item in prodList) {
		if(count<skip) {
			count++;
			continue;
		}
		var prodInfo=prodList[item];
		var textoProducto=formatoCatItem;
		if(!prodInfo['FOTOCHICPRD']||prodInfo['FOTOCHICPRD']=='') {
			prodInfo['FOTOCHICPRD']='blank.gif';
		}
		if(!prodInfo['FOTOGRANPRD']||prodInfo['FOTOGRANPRD']=='') {
			prodInfo['FOTOGRANPRD']='blank.gif';
		}
		var key;
		if(prodInfo) {
			for(key in prodInfo) {
				var re=new RegExp("{"+key+"}","g");
				textoProducto=textoProducto.replace(re,prodInfo[key]);
			}
			$('catinfo'+k).innerHTML=textoProducto;
		} else {
			$('catinfo'+k).innerHTML='&nbsp;';
			isFinalPage=true;
		}
		k++;
		j++;
		if(j>=numColumnas) {
			j=0;
			i++;
		}
		if(i>=numFilas) {
			break;
		}
	}
	$('finder').style["display"]="none";
}

function nextPage()
{
	var k=0;
	var i=0;
	var j=0;
	var item; /* for item no funciona si item no está declarada */
	if(isFinalPage) {
		return;
	}
	for(k=0;k<numColumnas*numFilas;k++) {
		$('catinfo'+k).innerHTML='&nbsp;';
		skip++;
	}
	var count=0; /* Tiene que ser distinto de k */
	k=0;
	isFinalPage=true;
	for(item in prodList) {
		if(count<skip) {
			count++;
			continue;
		}
		var prodInfo=prodList[item];
		var textoProducto=formatoCatItem;
		var key;
		if(prodInfo) {
			if(!prodInfo['FOTOCHICPRD']||prodInfo['FOTOCHICPRD']=='') {
				prodInfo['FOTOCHICPRD']='blank.gif';
			}
			if(!prodInfo['FOTOGRANPRD']||prodInfo['FOTOGRANPRD']=='') {
				prodInfo['FOTOGRANPRD']='blank.gif';
			}
			for(key in prodInfo) {
				var re=new RegExp("{"+key+"}","g");
				textoProducto=textoProducto.replace(re,prodInfo[key]);
			}
			$('catinfo'+k).innerHTML=textoProducto;
			isFinalPage=false;
		} else {
			$('catinfo'+k).innerHTML='&nbsp;';
			isFinalPage=true;
		}
		k++;
		j++;
		if(j>=numColumnas) {
			j=0;
			i++;
		}
		if(i>=numFilas) {
			break;
		}
	}
	if(k<numColumnas*numFilas) {
		isFinalPage=true;
	}
	$('finder').style["display"]="none";
}

function updateCatalogFinalCallback(req)
{
	var nuevos_prods;
	if(typeof req=='string') {
		nuevos_prods=eval("("+req+")");
	} else {
		//$('catinfo0').innerHTML=req.responseText;return;
		nuevos_prods=eval("("+req.responseText+")");
	}
	if(nuevos_prods.each) {
		nuevos_prods={};
	}
	var k=0;
	var item; /* for item no funciona si item no está declarada */
	for(k=0;k<numColumnas*numFilas;k++) {
		$('catinfo'+k).innerHTML='&nbsp;';
	}
	var i=0;
	for(item in nuevos_prods) {
		prodList[item]=nuevos_prods[item];
	}
	i=j=k=0;
	k=0;
	for(item in prodList) {
		var prodInfo=prodList[item];
		var textoProducto=formatoCatItem;
		if(!prodInfo['FOTOCHICPRD']||prodInfo['FOTOCHICPRD']=='') {
			prodInfo['FOTOCHICPRD']='blank.gif';
		}
		if(!prodInfo['FOTOGRANPRD']||prodInfo['FOTOGRANPRD']=='') {
			prodInfo['FOTOGRANPRD']='blank.gif';
		}
		var key;
		if(prodInfo) {
			for(key in prodInfo) {
				var re=new RegExp("{"+key+"}","g");
				textoProducto=textoProducto.replace(re,prodInfo[key]);
			}
			$('catinfo'+k).innerHTML=textoProducto;
		} else {
			$('catinfo'+k).innerHTML='&nbsp;';
		}
		k++;
		j++;
		if(j>=numColumnas) {
			j=0;
			i++;
		}
		if(i>=numFilas) {
			break;
		}
	}
	$('finder').style["display"]="none";
}

function updateCatCallback(req)
{
	var cat=eval("("+req.responseText+")");
	if($('nombrecat')) {
		$('nombrecat').innerHTML=cat;
	}
}

function updateCatalogCallback(req)
{
	var nuevos_prods=eval("("+req.responseText+")");
	var pedir_info="";
	var item;
	var i;
	for(item in prodList) {
		var valid=false;
		for(i in nuevos_prods) {
			if(i==item) {
				valid=true;
			}
		}
		if(!valid) {
			delete prodList[i];
		}
	}
	for(i=0;i<nuevos_prods.length;i++) {
		var tmp=nuevos_prods[i];
		if(!prodList[tmp]) {
			if(pedir_info!="") {
				pedir_info=pedir_info+"|";
			}
			pedir_info=pedir_info+tmp;
		}
	}
	if(pedir_info!="") {
		var myAjax = new Ajax.Request("/js/products.php",{method:'get',parameters:"list="+pedir_info,onComplete:updateCatalogFinalCallback});
	}
}

function updateCatalog(thiscat)
{
	prodList={};
	$('finder').style["display"]="block";
	var myAjax = new Ajax.Request("/js/productlist.php",{method:'get',parameters:"cat="+thiscat,onComplete:updateCatalogCallback});
//	var myAjax2 = new Ajax.Request("/js/category.php",{method:'get',parameters:"cat="+thiscat,onComplete:updateCatCallback});
}

function loadCartCallback(req){
	var i,item,content,total;
	cart = eval("("+req.responseText+")");
	total = 0;
//	alert(cart);
	content = "<table>";
	if (cart!="")
	for(item in cart){
		content +="<tr><td>";
		content +="<img src=\"/includes/thumbnailer.php/30/30/" + cart[item]["image"] + "\"></td>";
		content +="<td><a href='#' class='Nombre_producto' onClick='showProduct(" + item + ");return false;'>" + cart[item]["name"] + "</a></td>";
		content +="<td  class='Nombre_producto'>"+cart[item]["count"]+"</td>"
		content +="<td><button onClick='removeFromCart("+item+");return false;'>X</button></td>";
		content +="</tr>";
		total += +cart[item]["price"]*+cart[item]["count"];
	}
	content +="<tr><td></td><td colspan='3' class='Nombre_producto'>Total: $" + total + "</td></tr>";
//	content +="<tr><td colspan='3' ><input type='submit' class='bot'></td></tr>";
	if (total)
		content +="<tr><td colspan='4' align='center'><button class='bot' onClick=\"document.location.href='/comprar.php';return false;\"> Comprar</button></td></tr>";

	content +="</table>";
	 $('carro').innerHTML=content;

}

function loadProductsCallback(req)
{
	var i,j,k,item,field;
	prodList=eval("("+req.responseText+")");
	//$('catinfo0').innerHTML=req.responseText;return;
	if(prodList.each) {
		prodList={};
	}
	i=j=k=0;
	for(k=0;k<numColumnas*numFilas;k++) {
		$('catinfo'+k).innerHTML='&nbsp;';
	}
	k=0;
	for(item in prodList) {
		var prodInfo=prodList[item];
		var textoProducto=formatoCatItem;
		if(!prodInfo['FOTOCHICPRD']||prodInfo['FOTOCHICPRD']=='') {
			prodInfo['FOTOCHICPRD']='blank.gif';
		}
		if(!prodInfo['FOTOGRANPRD']||prodInfo['FOTOGRANPRD']=='') {
			prodInfo['FOTOGRANPRD']='blank.gif';
		}
		for(key in prodInfo) {
			var re=new RegExp("{"+key+"}","g");
			textoProducto=textoProducto.replace(re,prodInfo[key]);
		}
		$('catinfo'+k).innerHTML=textoProducto;
		prodGrid[k]=item;
		k++;
		j++;
		if(j>=numColumnas) {
			j=0;
			i++;
		}
		if(i>=numFilas) {
			break;
		}
	}
}

var productshown=0;
var currentpage=0;
function showProduct(n)
{


	$('prodinfotext').innerHTML="";
	if(productshown==n) {
		$('prodinfo').style["display"]="none";
		productshown=0;
		return;
	}
	productshown=n;
	if (prodList != undefined)
		if (prodList[n] != undefined)
			prodInfo=prodList[n];

	if(!prodInfo) {
		prodInfo={"NOMBRE__PRD":"No se encontró el producto"};
	}
	if(!prodInfo['FOTOCHICPRD']||prodInfo['FOTOCHICPRD']=='') {
		prodInfo['FOTOCHICPRD']='blank.gif';
	}
	if(!prodInfo['FOTOGRANPRD']||prodInfo['FOTOGRANPRD']=='') {
		prodInfo['FOTOGRANPRD']='blank.gif';
	}
	var textoProducto=formatoProducto;
	var i;
	for(i in prodInfo) {
		var re=new RegExp("{"+i+"}","g");
		textoProducto=textoProducto.replace(re,prodInfo[i]);
	}
	$('prodinfotext').innerHTML=textoProducto;
	//$('prodinfo').style["display"]="block";
	Effect.Appear('prodinfo');

}

function hide(x) {
	$(x).style["display"]="none";
}

function loadProducts(thiscat,r,c)
{
	numFilas=r;
	numColumnas=c;
	var myAjax = new Ajax.Request("/js/products.php",{method:'get',parameters:"cat="+thiscat,onComplete:loadProductsCallback});
}

function loadHighLights(n,r,c)
{
	inicio=n; /* Nº de productos para saltarse */
	numFilas=r;
	numColumnas=c;
	var myAjax = new Ajax.Request("/js/highlights.php",{method:'get',parameters:"skip="+inicio,onComplete:loadProductsCallback});
}

function loadCart()
{
	var myAjax = new Ajax.Request("/js/cart.php",{method:'get',parameters:"",onComplete:loadCartCallback});
}

function addToCart(prodid,count){
	var myAjax = new Ajax.Request("/js/cart.php",{method:'get',parameters:"product="+prodid +"&count=" + count +"&action=add",onComplete:loadCartCallback});

}

function removeFromCart(prodid){
	var myAjax = new Ajax.Request("/js/cart.php",{method:'get',parameters:"product="+prodid +"&action=del",onComplete:loadCartCallback});

}




function searchProducts(thisquery,r,c)
{
	numFilas=r;
	numColumnas=c;
	var myAjax = new Ajax.Request("/js/products.php",{method:'get',parameters:"busqueda="+escape(thisquery),onComplete:loadProductsCallback});
	var k;
	for(k=0;k<r*c;k++) 
		$('catinfo'+k).innerHTML='&nbsp;';
	$("nombrecat").innerHTML ="Resultados de b&uacute;squeda para '" + thisquery + "'";
}
