/**
 * 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('pgCanalesArtCant');
				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 totalPesosCont = document.getElementById('pgCarritoTotalPesos');
	var totalDolaresCont = document.getElementById('pgCarritoTotalDolares'); 
	
	// 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;
		}
	
	}


/**
 * 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){
			
			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('pgCanalesArtCant');
				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];
	
	// 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;
		}
	
	}

/**
 * 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 = '';
		}
	}