//========= Funció per iniciar la càrrega de la cistella i l'efecte de compra ================
$(document).ready(
	function()
	{	
		//inicio la funció per carregar el carro la primera vegada que carrego la pàgina
		AfegirCarro(0,0);
		
		//per activar el confirmar carro, quan clica el checkbox de l'acceptar condicions
		$("#condicions").click(function() 
		   {  
				if ($('#condicions').is(':checked') == true) //si el checkbox està seleccionat
				{ 
					$("#confirmar_carro").removeAttr("disabled"); //desactivo el botó deshabilito (per tant l'habilito)
					$("#confirmar_carro").css("background","#000000"); //canvio el color de fons del botó
					$("#confirmar_carro").css("color","#FFFFFF"); //canvio el color de la lletra del botó
					$("#confirmar_carro").css("cursor","pointer"); //cursor en forma de link
				}else
				{
					$("#confirmar_carro").attr("disabled", "disabled"); //deshabilito el botó
					$("#confirmar_carro").css("background","#727272"); //canvio el color de fons del botó
					$("#confirmar_carro").css("color","#eaeaea"); //canvio el color de la lletra del botó
					$("#confirmar_carro").css("cursor","default"); //cursor normal
				}
			});
				
	}
);

//funció per carregar el carro a la pàgina, ja sigui o la primera vegada o quan compro algun producte
function AfegirCarro(idCC,idSub){
	$.ajax({
		url : "../website/afegir_carro.asp?id="+idCC+"&id_subreferencia="+idSub,
		cache: false,
		success : function (dataAfegir) {
			$("#cistella").html(dataAfegir);
		}
	});
}


//funció per fer el moviment des del producte que comprem fins a la cistella
function MovimentCarro(capa_don_surt)
{
	$(capa_don_surt).TransferTo(
		{
			to:'container_cistella_mobil',
			className:'producteTransfer', 
			duration: 600
		}
	);
	return false;
}



//funció per modificar el carro a la pàgina, ja sigui per augmentar, decrementar, esborrar un producte o tot el carro
function ModificarCarro(idProd,estat,idSub,idZona){
	$.ajax({ 
		url : "modificar_carro.asp?id_producte="+idProd+"&estat="+estat+"&id_subreferencia="+idSub+"&estat_cond="+$('#condicions').is(':checked')+"&zona="+idZona,
		cache: false,
		beforeSend: function(){
			$("#carregant").show();
		},
		complete: function(){			
			$("#carregant").hide();
		},
		success : function (dataModificar) {
			$("#compraRequadre").html(dataModificar);
		}
	});
}

// =============== Funcions per moure la cistella ==========================
function mouCistella(capa, valor,totalProductes,valorBaixaProductes){
	var marginTopActual = $(capa).css("marginTop");
	var desplasament = valor;
	
	//----------------------- comprobació de si puc moure la capa o no en funció de la posició d'aquesta -------
	//el divident ha de ser un número sencer, sinó és que no estic al final del moviment
	resultatDivisio = parseInt(marginTopActual) / parseInt(desplasament);
	//passo el resultat a cadena de texte
	var resultatDivisio2 = resultatDivisio.toString();
	//comprobo si hi ha coma ('.') en el resultat de la divisió
	var resultatDivisio3 = resultatDivisio2.indexOf('.');
	//si el resultat és -1 vol dir que no hi ha coma, per tant estic a una posició múltimple del valor del desplaçament i
	//per tant és una posició vàlida. Si no dona -1 és que estic a mig fer un desplaçament i per tant no executo la funció
	if (resultatDivisio3 != "-1") {
		return;
	};
	//----------------------------------------------------------------------------------------------------------
	
	//funció per baixar els productes fins a l'últim sempre i quant no estiguem en aquest últim
	if (valor == valorBaixaProductes){ //comprobem que hem apretat el botó per baixar els productes
		if (marginTopActual != -1 * (valor * (totalProductes-1)) + "px"){ //si encara no soc a l'últim producte les moc
			moviment = parseInt(marginTopActual) - parseInt(desplasament);
			$(capa).animate({marginTop: parseInt(moviment)}, 1000 );
		}
		else {
			//acabo la funció, ja que si no ho faig a l'apretar de nou la fletxa que tinc amb opacitat baixa se'm torna a activar
			return;
		};
	}
	//funció per pujar els productes fins al primer sempre hi quant no siguem en aquest primer
	else {
		if (marginTopActual != "0px"){
			moviment = parseInt(marginTopActual) - parseInt(desplasament);
			$(capa).animate({marginTop: parseInt(moviment)}, 1000 );	
		}
		else {
			//acabo la funció, ja que si no ho faig a l'apretar de nou la fletxa que tinc amb opacitat baixa se'm torna a activar
			return;
		};
	};
	
	//comprobo que quan els he mogut, si ja soc a l'últim producte faig desapareixer la fletxa
	if (parseInt(marginTopActual) - parseInt(valor) == -1 * (valor * (totalProductes-1))){
		$("#fletxa_avall").animate({opacity: 0.2});
	}
	else {
		$("#fletxa_avall").animate({opacity: 1});
	};
	//comprobo que quan els he mogut, si ja soc al primer producte faig desapareixer la fletxa
	if (parseInt(marginTopActual) - parseInt(valor) == "0"){
		$("#fletxa_amunt").animate({opacity: 0.2});
	}
	else {
		$("#fletxa_amunt").animate({opacity: 1});
	};
};

// Estat inicial de les fletxes en funció de si tinc o no productes
function fletxes(totalProductes) {
	//quan carrego la pàgina activo o desactivo les fletxes segons si tinc o no productes
	if (totalProductes == "0"){
		$("#fletxa_amunt").hide();
		$("#fletxa_avall").hide();
	}
	else if (totalProductes == "1"){
		$("#fletxa_amunt").animate({opacity: 0.2});
		$("#fletxa_avall").animate({opacity: 0.2});
	}
	else if (totalProductes >= "2"){
		$("#fletxa_amunt").animate({opacity: 0.2});
	};
};