/**
 * @author tecnopyme
 */
var artEliminados = new Array();
var myWaitCarro = new YAHOO.tecnopyme.util.wait("Actualizando Carro");
var isCartDirty = false;
function actualizarCarro(){	  
  	var params = "";
  	var request = "";
  	var split_array;
	var id_art;
	var oCant;
	var cant;
	var ids = "";
	var cants = "";
	var tallas = "";
	var envoltorios = "";
	var quitar = "";
	var vaciar = "s";
		
  	var Dom = YAHOO.util.Dom;
  	var div = Dom.get("tabla_carro");
  	myWaitCarro.show();
  	//Obtener el body
		var tbody = Dom.getLastChild(div);
		//Obtener todos los hijos (filas)
		var trs = Dom.getChildren(tbody);
		if ((trs) && (trs.length > 5))
			vaciar = "n";
	  //No coger las cinco últimas filas que almacena el subtotal
      for (var i = 0; i <trs.length-5; i++){
      	//Una vez tenemos las filas, obtener los datos de cada una de ellas
      	//El id es de tipo ID_#codigo_articulo
      	//alert(trs.name);
      	split_array = trs[i].id.split("_");
      	id_art = split_array[1];
		//la cantidad se almacena en un input con id cant_#codigo_articulo
		oCant = Dom.get("cant_" + id_art);
		cants += "cants[]=" + oCant.value;
		oTalla = Dom.get("talla_" + id_art);
		if (oTalla)
			tallas += "tallas[]=" + oTalla.value;
		else
			tallas += "tallas[]=0";
		oEnvoltorio = Dom.get("envoltorio_" + id_art);
		if ((oEnvoltorio) && (oEnvoltorio.checked))
			envoltorios += "envoltorios[]=S";
		else
			envoltorios += "envoltorios[]=N";
			
		ids += "ids[]=" + id_art;
		ids += "&";
		cants += "&";
		tallas += "&";
		envoltorios += "&";
	}
	for (var i = 0; i <artEliminados.length; i++){
		quitar += "quitar[]=" + artEliminados[i] + "&";
	}
	request = '/compra/json_actualizar_carro.php?' + ids + cants + tallas + envoltorios + quitar + "vaciar=" + vaciar;
//	prompt("S", request);
		aObj = new JSONscriptRequest(request);
	// Build the script tag
	aObj.buildScriptTag();
	// Execute (add) the script tag
	aObj.addScriptTag();        
}
function processRequestCarroActualizado(){
	myWaitCarro.hide();
	isCartDirty = false;
	var c  = new YAHOO.tecnopyme.util.myAlert("Su carro ha sido actualizado correctamente");
}
function setFocus(queId){
	  que = document.getElementById("cant_" + queId);
	  que.focus();
	  que.select();
}
function actCarro(id){
	var Dom =  YAHOO.util.Dom;
	var stockDiv = Dom.get("stock_" + id);
	var stock = parseInt(stockDiv.value);

//**
	var tallaDiv = Dom.get("talla_" + id);
	var tallaActual = 0;
	var tallaAnterior = 0;
	if (tallaDiv){
		if (tallaDiv.value != "")
			tallaActual = parseInt(tallaDiv.value);
		//Si la talla cambia, poner a dirty
		if (tallaDiv.attributes['_current_value'].value != "")		
			tallaAnterior = parseInt(tallaDiv.attributes['_current_value'].value);
		if (tallaActual != tallaAnterior){
			isCartDirty = true;				
		}
		//Actualizar el valor actual
		tallaDiv.attributes['_current_value'].value = tallaActual;
	}
//**
	var cantDiv = Dom.get("cant_" + id);
	var cant = 0;
	cant = parseInt(cantDiv.value);
	//Si la cantidad supera el stock, mostrar mensaje de pedido fraccionado
	if (cant > parseInt(stock)){
//		cant = cantDiv.attributes['_current_value'].value;
//		cantDiv.value = cant;
	 var c  = new YAHOO.tecnopyme.util.myAlert("En stock disponemos de "+ parseInt(stock) + " unidad del reloj" );
	}

	//Si la cantidad cambia, poner a dirty
	if (cant != cantDiv.attributes['_current_value'].value){
		isCartDirty = true;
		disponibilidad();
	}
	//Actualizar el valor actual
	cantDiv.attributes['_current_value'].value = cant;
	//Calcular subtotales
	var precio = Dom.get("precio_" + id);
	var total = Dom.get("total_" + id);
	var precioInt = parseInt(precio.attributes['_original_value'].value);
	var currentEnvoltorio = Dom.get('envoltorio_' + id);	
	var totalNum = parseInt(cant * precioInt);
	if (currentEnvoltorio.checked == true){
		totalNum += parseInt(cant * currentEnvoltorio.attributes['_precio_envoltorio'].value);
		}	
	total.innerHTML = totalNum + ",00 &euro;";
	calcularSubtotal();
	
}
function disponibilidad(){
	var Dom =  YAHOO.util.Dom;
	var els = Dom.getElementsByClassName("stock_hidden", "", Dom.get('tabla_carro'));
	var split_array, currentPrecio, currentId, currentCant, currentEnvoltorio;
	var subtotal = 0;
	var disp = true;
	if (els)
		for (var i = 0; i <els.length; i++){
			split_array = els[i].id.split("_");
			stock = parseInt(els[i].value);			
			currentId = split_array[1];
			currentCant = parseInt(Dom.get('cant_' + currentId).value);		
			if (currentCant > stock){
				disp = false;
				 
				break;
			}
		}
		
	//alert(subtotal);
	var dispoDiv = Dom.get('disponibilidad_r');
	if (disp)
		dispoDiv.innerHTML = mensajeDispo;
	else
		dispoDiv.innerHTML = mensajeNoDispo;
	disponibilidad2();	
}
function disponibilidad2(){
	var Dom =  YAHOO.util.Dom;
	var els = Dom.getElementsByClassName("stock_hidden", "", Dom.get('tabla_carro'));
	var split_array, currentPrecio, currentId, currentCant, currentEnvoltorio;
	var subtotal = 0;
	var nohay = false;
	var hay = false;
	var currentSpan;
	if (els)
		for (var i = 0; i <els.length; i++){
			split_array = els[i].id.split("_");
			stock = parseInt(els[i].value);			
			currentId = split_array[1];
			currentCant = parseInt(Dom.get('cant_' + currentId).value);		
			currentSpan = Dom.get('dispo_' + currentId);		
			if (currentCant > stock) {
				nohay = true;
				
				currentSpan.innerHTML = "<span id='dispo_" + currentId + "'><img src='/css/img/disponibilidad.png' title='Bajo pedido' alt='Bajo pedido'><img src='/css/img/no_disponibilidad.png' title='Bajo pedido' alt='Bajo pedido'><img src='/css/img/no_disponibilidad.png' title='Bajo pedido' alt='Bajo pedido'></span>";
			}
			else {
				hay = true;
				currentSpan.innerHTML = "<span id='dispo_" + currentId + "'><img src='/css/img/disponibilidad.png' title='Inmediata' alt='Inmediata'><img src='/css/img/disponibilidad.png' title='Inmediata' alt='Inmediata'><img src='/css/img/disponibilidad.png' title='Inmediata' alt='Inmediata'></span>";
			}
		}
	if ((hay) && (nohay)){
		var c  = new YAHOO.tecnopyme.util.myAlert("Si desea recibir inmediatamente los artículos en existencia,\nrealice pedidos independientes.\nGracias.");
	}
	
}
function calcularSubtotal(){
	//Calcular el subtotal
	//class=cant
	//Dom.get
	var Dom =  YAHOO.util.Dom;
	var els = Dom.getElementsByClassName("cant_input", "", Dom.get('tabla_carro'));
	var split_array, currentPrecio, currentId, currentCant, currentEnvoltorio;
	var subtotal = 0;
  if (els)
		for (var i = 0; i <els.length; i++){
			split_array = els[i].id.split("_");
			currentCant = els[i].value;			
			currentId = split_array[1];
			currentPrecio = Dom.get('precio_' + currentId).attributes['_original_value'].value;			
			subtotal += parseInt(currentPrecio * currentCant);
			currentEnvoltorio = Dom.get('envoltorio_' + currentId);			
			if (currentEnvoltorio.checked == true){
				subtotal += parseInt(currentCant * currentEnvoltorio.attributes['_precio_envoltorio'].value);
			}			
		}
	//alert(subtotal);
	var subtotalDiv = Dom.get('subtotal');
	subtotalDiv.innerHTML = "Subtotal: " + subtotal + ",00 &euro;";
	var el = Dom.get('hidden_portes');
	var p = parseInt(el.value);

	var tDiv = Dom.get('total');
	var t = subtotal +  p;
	tDiv.innerHTML = "Total: " + t + ",00 &euro;";

	tDiv = Dom.get('contra_r');
	el = Dom.get('hidden_contra_r');
	p = parseInt(el.value);
	t +=p;
	tDiv.innerHTML = "Si elige contrareembolso, el importe total será: " + t + ",00 &euro;";
	


}
//quitarEl
function quitarEl(id){
	var item = YAHOO.util.Dom.get("item_" + id);	
	item.parentNode.removeChild(item);
	artEliminados.push(id);
	isCartDirty = true;
}
window.onbeforeunload = function (evt) {
	if(isCartDirty){
		var message = 'Su carro de la compra no ha sido actualizado!!';
		if (typeof evt == 'undefined') {//IE
			evt = window.event;
		}
		if (evt) {
		evt.returnValue = message;
		}
		return message;
	} 
}
function volverATienda(){
var url = YAHOO.tecnopyme.util.readCookie("redir");
if (url == "")
	url = "/";
document.location.href = url;
}
function resalt(el, mode){
	if (mode == true){
		el.style.backgroundColor = "#c09829";
	}else{
		el.style.backgroundColor = "white";
	}
}

