/**
 * Adm. del carrito
 */

function pgCarritoVolver(){
	history.back();
}

/**
 * Agrega un ítem al carrito
 */
function pgCarritoMas(url){
	pgCarritoActualizar(url, '+');
}

/**
 * Disminuye un elemento del carrito
 */
function pgCarritoMenos(url){
	pgCarritoActualizar(url, '-');
}

/**
 * Actualiza los ítems del carrito
 *
 * @param string url
 * @param string signo
 */
function pgCarritoActualizar(url, signo){


	if(!url || url == '')return false;

	// divide la url
	var mtx = url.split('?');

	// encuentra el código y pregunta si es el último
	var id = url.substring(url.lastIndexOf('&') + 1, url.length);
	var fila = document.getElementById('pgCarrito_'+ id);
	var celdas = fila.getElementsByTagName('td');
	for(var i = 0; i < celdas.length; i++){
		if(celdas[i].className.indexOf('pgCarritoCantidad') > 0){
			if(celdas[i].innerHTML == 1 && signo == '-' && !confirm('¿Desea quitar este ítem?')){
				return false;
			}
		}
	}

	// cartel de aviso
	pgFichaArtAviso('<span id="pgCanalesArtAvisoImg">actualizando...</span>');
	location.href = '#';

	// llamada a ajax
	var oAjax = new ajaxObject(mtx[0]);
	var valores = id +'|'+ signo;
	oAjax.update(mtx[1] , 'GET', valores);
	oAjax.callback = function(respuesta, estado, error, valores){
		if(estado == 1){

			var mtx_cant = respuesta.split('|');
			if(respuesta == '' || mtx_cant[0] == '' || mtx_cant[0] == 0){	// no hay más items
				var url_vacio = document.getElementById('pgCarritoUrl');
				location.href = url_vacio.innerHTML;
				return;
			}
			else{
				// se pone el cartelito
				var cont = document.getElementById('pgCanalesArtAviso');
//				cont.innerHTML = ' ('+ mtx_cant[0] +')';
				window.setTimeout('pgFichaArtAviso("Cantidad actualizada!")', 400);
				window.setTimeout('pgFichaArtAviso("")', 2000);

				// se actualiza la fila
				var mtx = valores.split('|');
				pgCarritoActualizarValor(mtx[0], mtx[1], respuesta);
			}
		}
		else{
			pgFichaArtAviso('Ha ocurrido un error, vuelva a intentarlo.');
			window.setTimeout('pgFichaArtAviso("")', 4000);
		}
	}
	return false;

}

/**
 * Actualiza los totales en el carrito
 *
 * @param int id
 * @param string signo
 */
function pgCarritoActualizarValor(id, signo, totales){

	var fila = document.getElementById('pgCarrito_'+ id);
	if(!fila)return;
	var celdas = fila.getElementsByTagName('td');
	var mtx = totales.split('|');

	var precioUnitario = mtx[1];
	var subTPesos = mtx[2];
	var subTDolares = mtx[3];
	var totalPesos = mtx[4];
	var totalDolares = mtx[5];
	var promoPesos = mtx[6];
	var promoDolares = mtx[7];

	var totalPesosCont = document.getElementById('pgCarritoTotalPesos');
	var totalDolaresCont = document.getElementById('pgCarritoTotalDolares');
	var promoPesosCont = document.getElementById('pgCarritoPromoPesos');
	var promoDolaresCont = document.getElementById('pgCarritoPromoDolares');


	// se recorren las celdas de la fila en cuestión
	for(var i = 0; i < celdas.length; i++){

		// cantidad de artículos
		if(celdas[i].className.indexOf('pgCarritoCantidad') > 0){
			if(celdas[i].innerHTML == 1 && signo == '-'){	// si queda en cero, se elimina
				pgCarritoEliminar(id, mtx);
				return;
			}
			else{
				celdas[i].innerHTML = (signo == '+')?(celdas[i].innerHTML * 1) + 1:(celdas[i].innerHTML * 1) - 1;
			}
		}

		// subtotales
		if(celdas[i].className.indexOf('pgCarritoSubTPesos') > 0){
			celdas[i].innerHTML = subTPesos;
		}
		if(celdas[i].className.indexOf('pgCarritoSubTDolares') > 0){
			celdas[i].innerHTML = subTDolares;
		}
	}

	// se actualizan totales
	if(totalPesosCont){
		totalPesosCont.innerHTML = '$ '+ totalPesos;
	}
	if(totalDolaresCont){
		totalDolaresCont.innerHTML = 'U$S '+ totalDolares;
	}

	if(promoPesosCont && promoPesos){
		promoPesosCont.innerHTML = '$ '+ promoPesos;
	}
	if(promoDolaresCont && promoDolares){
		promoDolaresCont.innerHTML = 'U$S '+ promoDolares;
	}
}


/**
 * Quita un elemento del carrito
 */
function pgCarritoQuitar(url){

	// pregunta
	if(!confirm('¿Desea quitar este ítem?')){
		return false;
	}

	// cartel de aviso
	pgFichaArtAviso('<span id="pgCanalesArtAvisoImg">eliminando...</span>');
	location.href = '#';

	// divide la url
	var mtx = url.split('?');

	// encuentra el código y pregunta si es el último
	var id = url.substring(url.lastIndexOf('&') + 1, url.length);

	// llamada a ajax
	var oAjax = new ajaxObject(mtx[0]);
	oAjax.update(mtx[1] , 'GET', id);
	oAjax.callback = function(respuesta, estado, error, id){
		if(estado == 1){
alert(respuesta);
			var mtx_total = respuesta.split('|');

			if(respuesta == '' || mtx_total[0] == '' || mtx_total[0] == 0){	// no hay más items
				var url_vacio = document.getElementById('pgCarritoUrl');
				location.href = url_vacio.innerHTML;
				return;
			}
			else{
				// se pone el cartelito
				var cont = document.getElementById('pgCanalesArtAviso');
				cont.innerHTML = ' ('+ mtx_total[0] +')';
				window.setTimeout('pgFichaArtAviso("Item eliminado!")', 400);
				window.setTimeout('pgFichaArtAviso("")', 2000);

				pgCarritoEliminar(id, mtx_total);
			}
		}
		else{
			pgFichaArtAviso('Ha ocurrido un error, vuelva a intentarlo.');
			window.setTimeout('pgFichaArtAviso("")', 4000);
		}
	}

}

/**
 * Elimina una fila
 *
 * @param int id
 * @param array datos
 */
function pgCarritoEliminar(id, datos){

	var fila = document.getElementById('pgCarrito_'+ id);
	var padre = fila.parentNode;
	var totalPesosCont = document.getElementById('pgCarritoTotalPesos');
	var totalDolaresCont = document.getElementById('pgCarritoTotalDolares');
	var cantidad = datos[0];
	var totalPesos = (datos.length == 3)?datos[1]:datos[4];
	var totalDolares = (datos.length == 3)?datos[2]:datos[5];
	var promoPesosCont = document.getElementById('pgCarritoPromoPesos');
	var promoDolaresCont = document.getElementById('pgCarritoPromoDolares');
	var promoPesos = datos[6];
	var promoDolares = datos[7];

	// se elimina la fila
	padre.removeChild(fila);

	// se actualiza los totales
	if(totalPesosCont){
		totalPesos = (totalPesos != '')?totalPesos:0;
		totalPesosCont.innerHTML = '$ '+ totalPesos;
	}
	if(totalDolaresCont){
		totalDolares = (totalDolares != '')?totalDolares:0;
		totalDolaresCont.innerHTML = 'U$S '+ totalDolares;
	}

	if(promoPesosCont){
		promoPesos = (promoPesos != '')?promoPesos:0;
		promoPesosCont.innerHTML = '$ '+ promoPesos;
	}
	if(promoDolaresCont){
		alert('aaa');
		promoDolares = (promoDolares != '')?promoDolares:0;
		promoDolaresCont.innerHTML = 'U$S '+ promoDolares;
	}

}

/**
 * Muesta un aviso de agregar al carrito
 *
 * @param string texto
 */
function pgFichaArtAviso(texto){

	var aviso = document.getElementById('pgCanalesArtAviso');

	aviso.innerHTML = texto;
	if(texto == ''){
		aviso.className = 'pgInv';
	}
	else{
		aviso.className = '';
	}
}

/**
 * Confirma si vacía el carrito
 *
 * @param string url
 */
function pgCarritoCancelar(url){

	if(confirm('¿Desea eliminar todos los ítems?')){
		location.href = url;
	}
}

/**
 * Realiza el control del formulario
 * de confirmación
 */
function frmConfirmar(){

	var formu = document.forms['frmConfirmar'];
	var nombre = formu.elements['NOMBRE'];
	var telefono = formu.elements['TELEFONO'];
	var movil = formu.elements['MOVIL'];

	if(nombre.value == ''){
		nombre.className += ' pgFormuCorregir';
		nombre.focus();
		return;
	}
	else{
		nombre.className = 'pgFormuObligatorio';
	}

	if(telefono.value == '' && movil.value == ''){
		telefono.className += ' pgFormuCorregir';
		movil.className += ' pgFormuCorregir';
		telefono.focus();
		return;
	}
	else{
		telefono.className = (telefono.value != '')?'pgFormuObligatorio':'pgFormuObligatorio pgFormuCorregir';
		movil.className = (movil.value != '')?'pgFormuObligatorio':'pgFormuObligatorio pgFormuCorregir';
	}

	formu.submit();

}

/**
 * AL cambiar el teléfono, activa o desactiva
 * el campo de Movil
 */
function TELEFONO(){

	var formu = document.forms['frmConfirmar'];
	var telefono = formu.elements['TELEFONO'];
	var movil = formu.elements['MOVIL'];

	if(telefono.value == ''){
		movil.className = 'pgFormuObligatorio';
	}
	else{
		movil.className = '';
	}
}

/**
 * AL cambiar el t1eléfono, activa o desactiva
 * el campo de teléfono
 */
function MOVIL(){

	var formu = document.forms['frmConfirmar'];
	var telefono = formu.elements['TELEFONO'];
	var movil = formu.elements['MOVIL'];

	if(movil.value == ''){
		telefono.className = 'pgFormuObligatorio';
	}
	else{
		telefono.className = '';
	}
}