//window.onload = MostrarPedido;

var divHeight = 500;
var minWidth = 696;
var cestaYPos = 535;


//+ Frames + Despacio; 1 es lo más rapido
var Frames = 15;
var DestinoY = 50;
var DestinoX = 90;

// No modificar
var panelCestaId = "panelFlotante";
var divMoviendoId = "divMoviendo";


var paramIdProducto = "";
var objPlantillaProductoId = "";
var labelUnidadesId = "";
var labelPuntosId = "";
var inputUnidadesId = "";
var inputPuntosId = "";
var panelContenedorId = "";

var objCapaProductoId = "";

var inputTotalProductosId = "";
var inputTotalUnidadesId = "";

var IncrementoX = 0;
var IncrementoY = 0;
var WidthDec = 0;
var HeightDec = 0;
var veces = 5;

var objProducto = null;
var idProducto = null;

var xPointer = null;
var yPointer = null;

window.onload = MoverCesta;
window.onresize = MoverCesta;
window.onscroll = MoverCesta;
document.onmousedown = SelectMouse;

var listaIdProductos = new Array();

function MoverCesta()
{	
	var panelCesta = Common_GetObj(panelCestaId);
	if (panelCesta)
	{
	    var left = document.body.clientWidth - GetValor(panelCesta.style.width);
	    if (document.body.clientWidth<=minWidth)
	    {	
		    var left = minWidth - GetValor(panelCesta.style.width);
	    }
	    panelCesta.style.left = left;
	    var top = document.body.scrollTop<=cestaYPos?cestaYPos:document.body.scrollTop;
	    panelCesta.style.top = top;
	    panelCesta.style.visibility = "visible";
	}
}

function SelectMouse(e)
{
	if (e)
	{
		xPointer = e.clientX;
		yPointer = e.clientY;
	}	
}

function GetValor(propiedad)
{
	var valor = propiedad + "";
	valor = (valor.substring(0, valor.indexOf("p")) * 1);
	return valor;
}

function CalcularTotal()
{
	total = 0;
	inputIdProd = Common_GetObj(inputTotalProductosId);
	inputIdProd.value = "";

	inputIdUnidades = Common_GetObj(inputTotalUnidadesId);
	inputIdUnidades.value = "";
	for (i=0;listaIdProductos!=null && i<listaIdProductos.length;i++)
	{
		unidadesTotal = Common_GetObj(inputUnidadesId + listaIdProductos[i]).value;
		
		inputIdProd.value += listaIdProductos[i] + ",";
		inputIdUnidades.value += unidadesTotal + ",";
		
		puntos = Common_GetObj(inputPuntosId + listaIdProductos[i]).value * 1;
		uds = unidadesTotal * 1;
		total += puntos*uds;
	}
	Common_GetObj("lblPuntosUtilizados").innerHTML = total;
	
	objDisponibles = Common_GetObj("lblPuntosDisponibles");
	disponibles = (Common_GetObj("txtTotalPuntos").value * 1) - total;
	objDisponibles.innerHTML = disponibles;
	objDisponibles.style.className = disponibles>=0?"puntosRestantes":"puntosPasados";
}

function AddToCart(objName, id) 
{
	MoverCesta();
	objProducto = Common_GetObj(objName);
	idProducto = id;

	DestinoY = (document.body.scrollTop<=cestaYPos?cestaYPos - document.body.scrollTop:0) + 50;	
	InitMovement();
}

function RemoveHtmlProducto(objContenedor)
{
	objContenedor.innerHTML = "";
	objContenedor.innerText = "";
	objContenedor.id = "noVale";

	objPedido = Common_GetObj("divPedido");
	objPedido.innerHTML = objPedido.innerHTML.replace("<DIV id=noVale>&nbsp;</DIV>","");
	objPedido.innerHTML = objPedido.innerHTML.replace("<div id=\"noVale\">&nbsp;</div>","");
}

function RemoveProduct(id)
{
	l = new Array();
	for (i=0;i<listaIdProductos.length;i++)
	{
		if (listaIdProductos[i]!=id)
		{
			l[l.length] = listaIdProductos[i];
		}
	}
	listaIdProductos = l;
}

function RemoveCart(id)
{
	objContenedor = Common_GetObj(panelContenedorId + id);
	if (objContenedor!=null)
	{
		RemoveHtmlProducto(objContenedor);
		RemoveProduct(id);
	}
	CalcularTotal();
}

function EndAddToCart()
{	
	objPedido = Common_GetObj("divPedido");

	var html = Common_GetObj(objPlantillaProductoId).innerHTML;		
	html = html.replace(Common_GetObj(objCapaProductoId).innerHTML, "<div id='Producto_Cesta'>" + objProducto.innerHTML + "</div>");
	html = html.replace(objCapaProductoId,objCapaProductoId + "aux" + idProducto);
	
	html = html.replace(paramIdProducto, idProducto);
	html = html.replace("onclick=\"RemoveCart('" + paramIdProducto + "')","onclick=\"RemoveCart('" + idProducto + "')") 
	
	html = html.replace(labelUnidadesId, labelUnidadesId + idProducto);	
	html = html.replace(inputUnidadesId , inputUnidadesId + idProducto);	
	html = html.replace(inputPuntosId, inputPuntosId + idProducto);	
	html = html.replace(labelPuntosId, labelPuntosId + idProducto);	
	html = html.replace(panelContenedorId, panelContenedorId + idProducto);	
	
	unidades = 1;
	objContenedor = Common_GetObj(panelContenedorId + "" + idProducto);
	if (objContenedor!=null)
	{
		unidades = (Common_GetObj(inputUnidadesId + idProducto).value * 1) + 1;
		RemoveHtmlProducto(objContenedor);
		RemoveProduct(idProducto);
	}
		
	objPedido.innerHTML = html + objPedido.innerHTML;
	inputUds = Common_GetObj(inputUnidadesId + idProducto);
	inputUds.value = unidades;
	Common_GetObj(labelUnidadesId + idProducto).innerHTML = unidades;
	Common_GetObj(inputPuntosId + idProducto).value = Common_GetObj(labelPuntosId + idProducto).innerHTML;
	
	//Reorganizamos la lista para que quede al principio el último
	l = new Array();
	l[0] = idProducto;
	for (i=0;i<listaIdProductos.length;i++)
	{
		l[l.length] = listaIdProductos[i];
	}
	listaIdProductos = l;
	
	CalcularTotal();	
	return;
}

function InitMovement()
{
	var IE = document.all?true:false;

	var tempX = 0;
	var tempY = 0;
	if (IE) 
	{ 
		tempX = event.clientX;
		tempY = event.clientY;
	}
	else 
	{
		if (xPointer==null)
		{
			setTimeout("InitMOvement()",50);
			return;
		}
		tempX = xPointer;
		tempY = yPointer;
	}
	tempY += document.body.scrollTop;
	
	var objMoveHtml = "<div id='" + divMoviendoId + "' style='width:150;height:250;position:absolute;top:" + tempY + ";left:" + tempX + "'>" + objProducto.innerHTML + "</div>";

	Common_GetObj("divTemporal").innerHTML = objMoveHtml;
	
	var moviendoObj = Common_GetObj(divMoviendoId);
	var xDest = document.body.clientWidth - DestinoX;
	var yDest = DestinoY + document.body.scrollTop;
	var xInit = GetValor(moviendoObj.style.left);
	var yInit = GetValor(moviendoObj.style.top);
	var widthObj = GetValor(moviendoObj.style.width);
	var heightObj = GetValor(moviendoObj.style.height);
	
	IncrementoX = ((xDest - xInit) / Frames);
	IncrementoY = ((yInit - yDest) / Frames);
	WidthDec = widthObj / Frames;
	HeightDec = heightObj / Frames;

	xPointer = null;
	MoverObjeto();
}

function MoverObjeto()
{
	var xDest = document.body.clientWidth - DestinoX;
	var yDest = DestinoY + document.body.scrollTop;
	
	var moviendoObj = Common_GetObj(divMoviendoId);	
	var xInit = GetValor(moviendoObj.style.left) + IncrementoX;
	var yInit = GetValor(moviendoObj.style.top) - IncrementoY;
	var widthObj = GetValor(moviendoObj.style.width) - WidthDec;
	var heightObj = GetValor(moviendoObj.style.height) - HeightDec;
	
	if (yInit>yDest && xInit<xDest && xInit>0)
	{
		moviendoObj.style.top = yInit;
		moviendoObj.style.left = xInit;
		if (widthObj>0)
		{
			moviendoObj.style.width = widthObj;
		}
		if (heightObj>0)
		{
			moviendoObj.style.height = heightObj;
		}
		moviendoObj.style.clip = "rect(0px " + widthObj + "px " + heightObj + "px 0px)";		
		veces--;
		setTimeout("MoverObjeto()",1);
	}
	else
	{
		document.all.divTemporal.innerHTML = "";
		EndAddToCart();
	}
}