var myEffects 	= new _funky.effects();

function checkProductItemIntegrity(frmRef,number){

	var PRODUCT_ITEM_AMOUNT_FAIL 		= "La cantidad introducidad no es valida.";
	var PRODUCT_ITEM_NOT_SPITTABLE_A 	= "Este producto se srive en paquetes de ";
	var PRODUCT_ITEM_NOT_SPITTABLE_B 	= " unidades. ";
	var res = 0;

	var productCode		= document.getElementById("productCode").value;
	var isSplittable	= parseInt(document.getElementById("isSplittable").value);
	var packing 		= parseInt(document.getElementById("packing").value);

	if (isNaN(document.getElementById("units").value)){

		alert(PRODUCT_ITEM_AMOUNT_FAIL);
		return false;
	}
	var units 			= parseInt(document.getElementById("units").value);
	if(units<=0){
		alert(PRODUCT_ITEM_AMOUNT_FAIL);
		return false;
	}
	if(number>0) changePackage(document.getElementById("units"),number);
/*
	if(units>number)
	{
		res = parseInt(units/number);
		res = res +1;
		document.getElementById("units").value =  res * number;
	}else{
		document.getElementById("units").value =  number;
	}
*/

	request_checkStock(true);

	return false;
}
function changePackage(item, number)
{

	if(isNaN(item.value)){
		item.value = number;
		alert('debes introducir un numero');
	}
	var value = parseInt(item.value);
	if(value>number)
	{
		// si el valor ya introducido ya es multiple lo dejamos
		// como esta
		if((value%number)==0) return;


		// ahora comprobamos el limite
		res = parseInt(999/number);
		limite = res * number;
		if(value >= limite){
			item.value = limite;
			return;
		}

		res = parseInt(value/number);
		res = res +1;
		item.value =  res * number;
	}else{
		item.value =  number;
	}

}



function selectProduct(productCode){

	var oSelect = document.getElementById("productInfo");
	var l 		= oSelect.options.length;

	for (i=0; i<l; i++){

		var arguments = oSelect.options[i].value.split("|");

		if (arguments[0] == productCode){

			oSelect.selectedIndex = i;

			changeProductModel(oSelect);

			break;
		}
	}

	return false;
}

function changeProductModelPage(objRef)
{
	var sValue 			= objRef.options[objRef.selectedIndex].value;
	var arguments 		= sValue.split("|");
	var codProduct = arguments[0];
	window.location.href =  SITE_URL + codProduct ;
}


function changeProductModel(objRef) {

	var sValue 			= objRef.options[objRef.selectedIndex].value;
	var arguments 		= sValue.split("|");

	document.getElementById("productCode").value		= arguments[0];
	//bug ignasi
	document.getElementById("h6ProductCode").innerHTML = arguments[0];

	document.getElementById("group").value				= arguments[1];

	document.getElementById("sellPrice").value			= arguments[2];

	if(document.getElementById("workspacehidden").value=="0")
		document.getElementById("price").innerHTML			= arguments[4] + " &euro;";
	else
		document.getElementById("price").innerHTML			= arguments[2] + " &euro;";

	document.getElementById("priceDto").innerHTML		= arguments[3] + " &euro;";
	document.getElementById("priceIVA").innerHTML		= arguments[4] + " &euro;";
	document.getElementById("priceDtoIVA").innerHTML	= arguments[5] + " &euro;";

	document.getElementById("VATCode").value			= arguments[7];
	document.getElementById("family").value				= arguments[8];
	document.getElementById("category").value			= arguments[9];
	document.getElementById("packing").value			= parseInt(arguments[10]);
	document.getElementById("isSplittable").value		= parseInt(arguments[11]);
	document.getElementById("isDeliverable").value		= parseInt(arguments[12]);
	document.getElementById("isDiscontinued").value		= parseInt(arguments[13]);
	document.getElementById("image").src 				= "images/BM/" + arguments[14];
	document.getElementById("providerRef").value		= arguments[15];
	document.getElementById("ref1").innerHTML		       = arguments[15];

	document.getElementById("name").value				= arguments[16];
	document.getElementById("titleName").innerHTML		= arguments[17];

	/** MOUNT VISIBLE PARTS **/
	document.getElementById("spProviderRef").innerHTML		= arguments[15];
	document.getElementById("image").setAttribute("alt", document.getElementById("name").value);

	/*
	document.getElementById("packPrice").innerHTML 			= packPrice.strReplace(".", ",");
	document.getElementById("spPacking").innerHTML 			= parseInt(arguments[10]);
	//document.getElementById("spisSplittable").innerHTML 	= parseInt(arguments[11]) ? "Sí" : "No";
	document.getElementById("spProviderRef").innerHTML		= arguments[13];
	document.getElementById("h6ProductCode").innerHTML		= arguments[0];
	document.getElementById("priceDTO").style.display 		= arguments[4] == "0" ? "none" : "";
	*/
}


/** ADD TO BASKET **/
function request_addItem(){

	var basket 		= document.getElementById('box_basket_center');

	//myEffects.opacity(basket, 100, 0, 1500);
	//myEffects2.opacity(document.getElementById('box_basket_left'), 0, 100, 1500);
	//myEffects3.opacity(document.getElementById('box_basket_right'), 0, 100, 1500);

	document.getElementById("loader").style.visibility = "visible";

	var sParams 		= ""
	var sURL 			= SITE_URL + "core/item_add.ajax.php";
	var onSuccess 		= function (request) 	{ response_addItem(request) };
	var onError 		= function (status) 	{ alert("AJAX error: " + status); };
	var myAjax 			= new _funky.AJAX();

	var productCode 	= document.getElementById("productCode").value;
	var name 			= document.getElementById("name").value;
	var units 			= document.getElementById("units").value;
	var sellPrice 		= document.getElementById("sellPrice").value;
	var packing 		= document.getElementById("packing").value;
	var VATCode 		= document.getElementById("VATCode").value;
	var dto 			= document.getElementById("dto").value;
	var isSplittable 	= document.getElementById("isSplittable").value;

	sParams = myAjax.addPostParam(sParams, "productCode", 	productCode);
	sParams = myAjax.addPostParam(sParams, "name", 			name);
	sParams = myAjax.addPostParam(sParams, "units", 		units);
	sParams = myAjax.addPostParam(sParams, "sellPrice", 	sellPrice);
	sParams = myAjax.addPostParam(sParams, "packing",	 	packing);
	sParams = myAjax.addPostParam(sParams, "VATCode", 		VATCode);
	sParams = myAjax.addPostParam(sParams, "dto", 			dto);
	sParams = myAjax.addPostParam(sParams, "isSplittable", 	isSplittable);

	myAjax.request(sURL, "POST", onSuccess, onError, sParams);
}

function response_addItem(request){

	// alert(request.responseText);

	var basket 		= document.getElementById('box_basket_center');
	var myEffects 	= new _funky.effects();
	var myEffects2  = new _funky.effects();
	var myEffects3  = new _funky.effects();

	var oXmlDom 	= request.responseXML;
	var root  		= oXmlDom.getElementsByTagName("basket")[0];
	var totalItems	= root.getElementsByTagName("totalItems")[0];
	var totalAmount	= root.getElementsByTagName("totalAmount")[0];
	var error		= root.getElementsByTagName("error")[0];

	var productCode 	= document.getElementById("productCode").value;

	document.getElementById("response").style.visibility = "visible";

	if (error.childNodes[0].nodeValue == "0"){

		document.getElementById("basket_totalItems").innerHTML 	= totalItems.childNodes[0].nodeValue;
		document.getElementById("basket_totalAmount").innerHTML = totalAmount.childNodes[0].nodeValue;

		// document.getElementById("loader").style.visibility = "hidden";
		document.getElementById("loader").src = "interface/images/lila/carrito_verde.gif";
		document.getElementById("msginfo").innerHTML = '<span style="color:green; font-size:11px;">Producto añadido a la cesta correctamente</span>';
		visi("cesta"+productCode); // mostramos el enlace de ver cesta

		myEffects.opacity(basket, 0, 100, 1500);
		myEffects2.opacity(document.getElementById('box_basket_left'), 0, 100, 1500);
		myEffects3.opacity(document.getElementById('box_basket_right'), 0, 100, 1500);
		//document.getElementById("response").innerHTML 			= '<span class="green">Producto añadido a la cesta correctamente <br /> <a href="index.php?module=basket">Ir a la cesta</a></span>';

	} else {
		document.getElementById("loader").src 	= "interface/images/lila/icoNoDisponible.gif";
		document.getElementById("msginfo").innerHTML = '<span style="color:red; font-size:11px;">Existencias agotadas</span>';
	}



}


/** CHECK STOCK **/
function request_checkStock(addToBasket){

	document.getElementById("loader").style.visibility = "visible";

	var sParams 	= ""
	var sURL 		= SITE_URL + "tools/getStock.php";
	var onSuccess 	= function (request) 	{ response_checkStock(request, addToBasket) };
	var onError 	= function (status) 	{ alert("AJAX error: " + status); };
	var myAjax 		= new _funky.AJAX();
	var productCode = document.getElementById("productCode").value;

	sParams 		= myAjax.addPostParam(sParams, "code", productCode);

	myAjax.request(sURL, "POST", onSuccess, onError, sParams);
}

function response_checkStock(request, addToBasket){

	// alert(request.responseText);

	var oXmlDom = request.responseXML;
	var root	= oXmlDom.getElementsByTagName("stock")[0];
	var item 	= root.getElementsByTagName("item")[0];
	var error	= item.getElementsByTagName("GetAccountStockData2Result")[0].childNodes[0].nodeValue;

	//alert(error);

	document.getElementById("response").style.visibility = "visible";

	if (error == "-1"){

		document.getElementById("response").innerHTML = '<span class="red">Error: ' + item.getElementsByTagName("ErrorDescription")[0].childNodes[0].nodeValue + '</span>';
		document.getElementById("loader").style.visibility = "hidden";

		return;
	}

	var stock	= item.getElementsByTagName("LocalFree")[0].childNodes[0].nodeValue;
	var sHTML	= "";

	if (parseInt(stock)<=0){

		sHTML =  '<span class="red">Disponible proximamente</span>';

		addToBasket = false;

	} else if (parseInt(stock) < parseInt(document.getElementById("units").value)) {

		sHTML = '<span class="red">No hay suficientes existencias</span>';

		addToBasket = false;

	} else {

		//sHTML = '<span class="green">Disponible</span>';
	}

	document.getElementById("response").innerHTML 		= sHTML;
	document.getElementById("loader").style.visibility 	= "hidden";

	if(parseInt(stock) && addToBasket){

		request_addItem();
	}
}
function checkQuant(inputUnits){
	if(inputUnits.value == "0" || inputUnits.value == ""){
		inputUnits.value = "1";
	}
}