﻿var velocidad = 20;
var divCarrito = false;
var volador = false;
var actualProductDiv = false;
var carrito_x = false;
var carrito_y = false;
var diffX = false;
var diffY = false;
var actualXPos = false;
var actualYPos = false;

function getTopPosComprar(inputObj){		
	var returnValue = inputObj.offsetTop;
	while((inputObj = inputObj.offsetParent) != null){
		if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
	}
	return returnValue;
}

function getLeftPosComprar(inputObj){
	var returnValue = inputObj.offsetLeft;
	while((inputObj = inputObj.offsetParent) != null){
		if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
	}
	return returnValue;
}


function actualiza() {
	document.location.reload();
}

function anadirArticulo(idL,aCodigo,titul,autor,prec,imagen) {
	var titulo2= escape(replaceChars(replaceChars(titul,'|','l'),'_','-'));
	var autor2= escape(replaceChars(replaceChars(autor,'|','l'),'_','-'));
	var numLib=0;
	var valorLib=0;
	var newCart="";
	var libCart="";
	var incluido=false;
	var cart=getCookie("cart");

        var origen=getCookie("origen");
        if(origen==null || origen=='') origen='0';
        
	if (cart!=null && cart!='') {
		if (cart.indexOf(aCodigo)>-1){
			incluido=true;
		}
		var lineas= cart.split('|');
		for (var i=0;i < lineas.length;i++) {
			var linea = lineas[i].split('_');
			var codigo=linea[0];
			var titulo=linea[1];
			var precio=linea[2];
			var aut=linea[3];
			var img=linea[4];
			var cantidad=linea[5];
            var orig=linea[6];
			if (codigo==aCodigo){
				cantidad++;
				if (libCart!=""){
					libCart=codigo+"_"+titulo+"_"+precio+"_"+aut+"_"+img+"_"+cantidad+"_"+orig+"|"+libCart;
				}else {
					libCart=libCart+codigo+"_"+titulo+"_"+precio+"_"+aut+"_"+img+"_"+cantidad+"_"+orig;
				}
			}else {
				if (libCart!=""){
					libCart=libCart+"|"+lineas[i];
				}else {
					libCart=libCart+lineas[i];
				}
			}
			numLib=eval(numLib)+eval(cantidad);
			valorLib=eval(valorLib)+(cantidad*precio);
		}
		if (!incluido){
			libCart=aCodigo+"_"+titulo2+"_"+prec+"_"+autor2+"_"+imagen+"_1_"+origen+"|"+cart;
			numLib++;
			valorLib=valorLib+eval(prec);
		}
	}else{
		libCart=aCodigo+"_"+titulo2+"_"+prec+"_"+autor2+"_"+imagen+"_1_"+origen;
		numLib++;
		valorLib=prec;
	}
	setCookie("cart",libCart,"","/","","");
        //setCookie("origen","","","/","","");
    
	addToBasket(idL);    
	mostrarBolsa('');	
    //setTimeout ("irAnadido('"+aCodigo+"');", 1000);      
}	


function addToBasket(productId){
	if(!divCarrito)divCarrito = document.getElementById('librosBolsa');
	if(!volador){
		volador = document.createElement('DIV');
		volador.style.position = 'absolute';
		document.body.appendChild(volador);
	}

	carrito_x = getLeftPosComprar(divCarrito);
	carrito_y = getTopPosComprar(divCarrito);

	actualProductDiv = document.getElementById(productId);

	actualXPos = getLeftPosComprar(actualProductDiv);
	actualYPos = getTopPosComprar(actualProductDiv);

	diffX = carrito_x - actualXPos;
	diffY = carrito_y - actualYPos;

	var shoppingContentCopy = actualProductDiv.cloneNode(true);
	shoppingContentCopy.id='';
	volador.innerHTML = '';
	volador.style.left = actualXPos + 'px';
	volador.style.top = actualYPos + 'px';
	volador.appendChild(shoppingContentCopy);
	volador.style.display='block';
	volador.style.width = actualProductDiv.offsetWidth + 'px';
	flyToBasket(productId);	
}

function flyToBasket(productId){
	var maxDiff = Math.max(Math.abs(diffX),Math.abs(diffY));
	var moveX = (diffX / maxDiff) * velocidad;
	var moveY = (diffY / maxDiff) * velocidad;	

	actualXPos = actualXPos + moveX;
	actualYPos = actualYPos + moveY;

	volador.style.left = Math.round(actualXPos) + 'px';
	volador.style.top = Math.round(actualYPos) + 'px';	

	if(moveX>0 && actualXPos > carrito_x){
		volador.style.display='none';		
	}
	if(moveX<0 && actualXPos < carrito_x){
		volador.style.display='none';		
	}

	if(volador.style.display=='block')setTimeout('flyToBasket("' + productId + '")',10);	
}


function mostrarBolsa(path){
	var cuantos=3;
	var ruta=window.location.href;
	//if (ruta.indexOf('fichabiblio')>-1 || ruta.indexOf('/libro-')>-1) cuantos=3;
	var carro=getCookie("cart");
	var numLib=0;
	var valorLib=0;var lib="";
	var libros=document.getElementById("librosBolsa");
	var valLib=document.getElementById("valLib");	
	var totLib=document.getElementById("totLib");

    if (carro!=null && carro!=''){		
	    var lineas= carro.split('|');
	    for (var i=0;i < lineas.length;i++) {
		    var linea = lineas[i].split('_');
		    var codigo=linea[0];
		    var titulo=linea[1];
		    var precio=linea[2];
		    precio = precio.replace(',','.');
		    var autor=linea[3];
		    var img=linea[4];
		    var cantidad=linea[5];
		    titulo=unescape(titulo);
		    if (titulo.length>38) titulo=titulo.substring(0,35)+"...";
		    autor=unescape(autor);
		    if (autor.length>30) autor=autor.substring(0,30)+"...";
		    numLib=eval(numLib)+eval(cantidad);
		    valorLib=eval(valorLib)+(cantidad*precio);	
		    
        	if (path.indexOf("Tienda")!=-1) 
        	{
        	    lib="<p>En proceso de compra</p>";	    	    
            }	
            else
            {
                if (i<cuantos) lib=lib+"<div class='lIz'><div class='ocultar_izda'><img src='"+img+"' /></div><div class='ocultar_dcha'><span class='tx2'>"+titulo+"</span><br /><span class='tx3'>"+autor+"</span><br /><span class='tx2N'>"+precio+" &euro;</span></div>";
            }
	    }
    }else{
	    lib="<p>La bolsa está vacía</p>";
    }
    
	libros.innerHTML=lib;
	valLib.innerHTML=formatFloat(valorLib)+" &euro;";
	totLib.innerHTML=numLib;
}

function changeUnidadesArticulo(aCodigo, unid) {
	var newCart="";
	if (getCookie("cart")!=null) {
		var cart=getCookie("cart");
		var lineas= cart.split('|');	
		for (var i=0;i < lineas.length;i++) {
			var linea = lineas[i].split('_');
			var codigo=linea[0];
			var titulo=linea[1];
			var precio=linea[2];
			var aut=linea[3];
			var img=linea[4];
			var cantidad=linea[5];
                        var origen=linea[6];
			if (codigo==aCodigo){ 
				cantidad = unid;
				if (isNaN(cantidad)) cantidad=1;
				if (newCart!=""){
					newCart=newCart+"|"+codigo+"_"+titulo+"_"+precio+"_"+aut+"_"+img+"_"+cantidad+"_"+origen;
				}else {
					newCart=newCart+codigo+"_"+titulo+"_"+precio+"_"+aut+"_"+img+"_"+cantidad+"_"+origen;
				}
			}else {
				if (newCart!=""){
					newCart=newCart+"|"+lineas[i];
				}else {
					newCart=newCart+lineas[i];
				}
			}
		}
	}		
	setCookie("cart",newCart,"","/","","");
}	

function borrarArticulo(aCodigo) {
	var newCart="";
	if (getCookie("cart")!=null) {
		var cart=getCookie("cart");
		var lineas= cart.split('|');	
		for (var i=0;i < lineas.length;i++) {
			var linea = lineas[i].split('_');
			var codigo=linea[0];
			if (codigo!=aCodigo && newCart!="") newCart=newCart+"|"+lineas[i];
			else if (codigo!=aCodigo && newCart=="") newCart=newCart+lineas[i];
		}
	}		
	setCookie("cart",newCart,"","/","","");
}

function borrarCarrito() {
	deleteCookie("cart","/","");
}

function recargarPagina() {
    location.reload();
}
    
function SubFormatEuro(value) 
{ 
    var valStr = value + "";
    var valSgn=(valStr.indexOf("-")==-1);	
    valStr=SubStrReplace(valStr,".",""); 
    valStr=SubStrReplace(valStr,",",".");
    valStr=SubStrReplace(valStr,"-","");
    var valInt = Math.floor(valStr); 
	
    if ((valInt + "") == "NaN") valInt=0;
	
    var valFrac="00";
	
    if (valStr.indexOf(".")!=-1) {
	    valStr=valStr.substring(valStr.indexOf(".") + 1,valStr.length);
	    valFrac=((valStr.length > 0) ? ( (valStr.length > 1) ? (valStr.substring(0,2)):(valStr + "0")):"00");
    }
	
    var valIntStr=valInt + "";
    var i,j=0;
    valStr="";
	
    for (i=valIntStr.length-1;i>=0;i--) {
	    if (j>2) {
		    valStr="." + valStr;
		    j=0;
	    }
	    valStr=valIntStr.charAt(i) + valStr;
	    j++;
    }
    if (valStr.charAt(0)==".") valStr=valStr.substring(1,valStr.length);
		
    return (valSgn ? "": ( ((valStr!="0") || (valFrac!="00")) ? "-":"" )) + valStr + "," + valFrac;
}

