var CART_IS_DISABLED = false;

function Comma(number) {
	decpart = '';
	var decpos = number.indexOf('.');
	if ( decpos != -1 )
	{
		decpart += ','+number.substr(decpos+1);
		number = number.substr(0,decpos);
	}
	number = '' + number;
	if (number.length > 3) {
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
			if ((mod == 0) && (i == 0))
				output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
			else
				output+= '.' + number.substring(mod + 3 * i, mod + 3 * i + 3);
		}
		return (output+decpart);
	}
	else return number+decpart;
}

function myround( number, numdec, asnumber ) {
	number = number.toString();

	var spos = number.indexOf( '.' );
	var is_float= false;

	if ( spos != -1 )
	{
		number = number.substr( 0, spos + numdec + 1 );
		is_float = true;
	}
	if ( is_float )
	{
		return parseFloat( number );
	}
	return parseInt( number );
}

function previewStockImgBase( img )
{
  img.src = img.src.replace(/cover\//, '');
}
function previewStockImg( src )
{
  $$('div.stockimg img').first().setAttribute('src', src.replace(/products\//, 'products/cover/') );
  $$('div.stockimg img').first().up('a').setAttribute('href', src);

  if ( typeof Shadowbox != 'undefined' ) { Shadowbox.setup(); }
}

function updateStockDetails( stock_id, size_id, color_id, product_id )
{
  var url = cHTML_ROOT+'queries/get_stock.php';

  new Ajax.Request( url, {
	  method: 'get',
	  onException: function( req, excep ){ alert( excep ); },
	  onSuccess: function(t) {
		  var stock = eval('(' + t.responseText + ')');

		  $('stock_price_container').innerHTML = stock.pfPrice;
		  $('stock_price_outshow_container').innerHTML = stock.pfPrice_out_shop;

		  var current_units = $('units').value;
		  if ( current_units == '' ) { current_units = 0; $('units').value = '0'; }

		  $('current_stock_id').value = stock.piId;
	  },

	  parameters: { size: size_id, colour: color_id, product: product_id }
  });
}

function addToCart( stock_id, qty )
{
  if ( isNaN( qty.replace(",",".") ) )
  {
    alert( 'Las unidades han de expresarse en número' ); return false;
  }
  if ( qty < 1 )
  {
    alert( 'Como mínimo ha de indicar una unidad' ); return false;
  }
	// comprobamos primero si se puede añadir
	var url = cHTML_ROOT+'queries/addtocart.php';

	jQuery.ajax({
	  type: "GET",
	  url: url,
	  data: "stock="+stock_id+"&quantity="+qty,
	  success: function(msg)
	  {
		var redirect_url = msg;
		if ( redirect_url.substring( 0, 6 ) == 'error:' )
		{
		  alert( redirect_url );return;
		}
		location.reload();
	  }
	});
}

function delFromCart( stock_id ) {

	if (CART_IS_DISABLED)
	{
		return false;
	}

	var url = cHTML_ROOT+'queries/removefromcart.php';
	jQuery.ajax({
	  type: "GET",
	  url: url,
	  data: "stock="+stock_id,
	  success: function(msg)
	  {
	      location.reload();
	  }
	});
}

function setStep( step ) {


	if ( step == 3 && !checkFormDatosCompra() )
	{
		return false;
	}

	jQuery('#migas_carro a').removeClass('active');
	jQuery('#migas_carro a.step'+step).addClass('active');

	jQuery('div[id*=step]').hide();

	// paso confirmar. Se muestran los pasos 2 y 3, pero en modo edición
	if ( step == 4 )
	{
		jQuery('#datosenvioform input').attr('disabled', 'disabled');
		jQuery('#datosenvioform textarea').attr('disabled', 'disabled');
		jQuery('#datosenvioform select').attr('disabled', 'disabled');
		jQuery('#pagotablemetodo input').attr('disabled', 'disabled');
		jQuery('#pagotable').attr('disabled', 'disabled');
		jQuery('#step2').show();
		jQuery('#step3').show();
		jQuery('#navigator_step2').hide();
		jQuery('#navigator_step3').hide();
	}
	else
	{
		jQuery('#datosenvioform input').removeAttr('disabled');
		jQuery('#datosenvioform textarea').removeAttr('disabled');
		jQuery('#datosenvioform select').removeAttr('disabled');
		jQuery('#pagotablemetodo input').removeAttr('disabled');
		jQuery('#pagotable').removeAttr('disabled');
		jQuery('#step2').hide();
		jQuery('#step3').hide();
		jQuery('#navigator_step2').show();
		jQuery('#navigator_step3').show();
	}
	jQuery('div#step'+step).show();
}

function syncParaRegalo( checkbox ) {
	var product_id = checkbox.getAttribute('id').split('_')[1];
	var checkbox_id = '#pararegalo_'+product_id;
	var confirm_checkbox_id = '#pararegalo2_'+product_id;

	if ( jQuery(checkbox_id).is(':checked') )
	{
	    check=1;
		jQuery(confirm_checkbox_id).attr('checked','checked');
	}
	else
	{
	    check=0;
		jQuery(confirm_checkbox_id).removeAttr('checked');
	}

	var url = cHTML_ROOT+'queries/addtoregalo.php';
	jQuery.ajax({
	  type: "GET",
	  url: url,
	  data: "stock="+product_id+"&regalo="+check,
	  success: function(msg)
	  {
// 	      alert(msg);
	  }
	});
	

	recalcRegalo();
}

function toggleBillData( checkbox ) {
	if ( checkbox.checked )
	{
		var frm = document.getElementById(jQuery(checkbox).parents('form').attr('id'));
		frm.nombre.value = frm.nombre2.value;
		frm.apellidos.value = frm.apellidos2.value;
		frm.movil.value = frm.movil2.value;
		frm.nif.value = frm.nif2.value;
		frm.razonsocial.value = frm.razonsocial2.value;
		frm.calle.value = frm.calle2.value;
		frm.poblacion.value = frm.poblacion2.value;
		frm.numero.value = frm.numero2.value;
		frm.piso.value = frm.piso2.value;
		frm.zip.value = frm.zip2.value;
		frm.provincia.selectedIndex = frm.provincia2.selectedIndex;
		frm.pais.selectedIndex = frm.pais2.selectedIndex;

		jQuery('#fieldset_datosentrega').hide();
		recalcTransportPrice(jQuery('#bill_pais').val(),jQuery('#bill_provincia').val(), jQuery("input[name='envioexpress']:checked").val() );
	}
	else
	{
		jQuery('#fieldset_datosentrega').show();
	}
}

function checkFormDatosCompra()
{
	//return true;
	var frm = document.getElementById('datosenvioform');
	var error = false;
	var sError = "";

	if ( frm.registro_email )
	{
		var emailreg = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)jQuery)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?jQuery)/i

// 		var fields = ['nombre','apellidos','sexo','poblacion','zip','email','pass'];
		var fields = ['registro_email','registro_pass'];

		for( var i = 0; i < fields.length; i++ )
		{
			var field = fields[i];
			var ofield = jQuery('#'+field);
			if ( !ofield.val() )
			{
				alert('El '+ofield.parent().find('label').html().toLowerCase() + ' es un campo obligatorio' );
				e.preventDefault();
				ofield.focus();
				return false;
			}
		}

		if ( !emailreg.test( frm.registro_email.value ) )
		{
			alert(cWarnWrongEmailFormat);
			e.preventDefault();
			frm.registro_email.select();
			frm.registro_email.focus();
			return false;
		}

		if ( jQuery('#registro_newsletter1:checked').val() == null && jQuery('#registro_newsletter2:checked').val() == null )
		{
			alert('Dinos si quieres recibir nuestra newsletter con ofertas y novedades exclusivas.');
			e.preventDefault();
			return false;
		}

		if ( jQuery('#registro_aceptar:checked').val() == null )
		{
			alert('Debes aceptar las condiciones de uso.');
			e.preventDefault();
			return false;
		}
		if ( jQuery('#registro_mayoredad:checked').val() == null )
		{
			alert('Solamente puedes registrarte si eres mayor de 18 años');
			e.preventDefault();
			return false;
		}

		if ( jQuery('#registro_pass').val() != jQuery('#registro_pass2').val() )
		{
			alert('Las contraseñas no coinciden');
			jQuery('#registro_pass').select();
			jQuery('#registro_pass').focus();
			e.preventDefault();
			return false;
		}

	}

	if ( frm.nombre2.value == '' )
	{
		sError = sError + 'Debe especificar el nombre del comprador!\n';
		error = true;
	}
	if ( frm.apellidos2.value == '' )
	{
		sError = sError + 'Debe especificar los apellidos del comprador!\n';
		error = true;
	}
	if ( frm.nif2.value == '' && frm.quierofactura.checked )
	{
		sError = sError + 'Debe especificar el nif/cif del comprador!\n';
		error = true;
	}
	if ( frm.calle2.value == '' )
	{
		sError = sError + 'Debe especificar la calle del comprador!\n';
		error = true;
	}
	if ( frm.poblacion2.value == '' )
	{
		sError = sError + 'Debe especificar la población del comprador!\n';
		error = true;
	}
	if ( frm.numero2.value == '' )
	{
		sError = sError + 'Debe especificar el número del comprador!\n';
		error = true;
	}
	if ( frm.piso2.value == '' )
	{
		sError = sError + 'Debe especificar el piso del comprador!\n';
		error = true;
	}
	if ( frm.zip2.value == '' )
	{
		sError = sError + 'Debe especificar el código postal del comprador!\n';
		error = true;
	}
	if ( frm.provincia2.options[frm.provincia2.selectedIndex].value == '' )
	{
		sError = sError + 'Debe especificar la provincia del comprador!\n';
		error = true;
	}


	if ( !frm.comprador_recibe.checked )
	{
		if ( frm.nombre.value == '' )
		{
			sError = sError + 'Debe especificar el nombre de entrega!\n';
			error = true;
		}
		if ( frm.apellidos.value == '' )
		{
			sError = sError + 'Debe especificar los apellidos de entrega!\n';
			error = true;
		}
		if ( frm.nif.value == '' && frm.quierofactura.checked )
		{
			sError = sError + 'Debe especificar el nif/cif de entrega!\n';
			error = true;
		}
		if ( frm.calle.value == '' )
		{
			sError = sError + 'Debe especificar la calle de entrega!\n';
			error = true;
		}
		if ( frm.poblacion.value == '' )
		{
			sError = sError + 'Debe especificar la población de entrega!\n';
			error = true;
		}
		if ( frm.numero.value == '' )
		{
			sError = sError + 'Debe especificar el número de entrega!\n';
			error = true;
		}
		if ( frm.piso.value == '' )
		{
			sError = sError + 'Debe especificar el piso de entrega!\n';
			error = true;
		}
		if ( frm.zip.value == '' )
		{
			sError = sError + 'Debe especificar el código postal de entrega!\n';
			error = true;
		}
		if ( frm.provincia.options[frm.provincia.selectedIndex].value == '' )
		{
			sError = sError + 'Debe especificar la provincia de entrega!\n';
			error = true;
		}
	}


	if ( error )
	{
		var formfields = jQuery('#datosenvioform input[type="text"], #datosenvioform input[type="checkbox"], #datosenvioform textarea, #datosenvioform select');
		formfields.removeAttr('disabled');
		alert( sError );
	}

	return ( !error )
}


function checkWantInvoice(o)
{
  if ( o.checked )
  {
// 		jQuery('#quierofactura_block').show();
// 		jQuery('#quierofactura_block2').show();
		jQuery('#quierofactura_nif_1').show();
		jQuery('#quierofactura_rsocial_1').show();
		jQuery('#quierofactura_block').show();
  }
  else
  {
// 		jQuery('#quierofactura_block').hide();
// 		jQuery('#quierofactura_block2').hide();
		jQuery('#quierofactura_nif_1').hide();
		jQuery('#quierofactura_rsocial_1').hide();
		jQuery('#quierofactura_block').hide();
  }
}

function finalizarCompra() {
	jQuery('#datosenvioenvio').val( jQuery('#pagotablemetodo input[name="envio"]:checked' ).val() );
	jQuery('#datosenviopago').val( jQuery('#pagotablemetodo input[name="metodo"]:checked' ).val());
	//jQuery('#datosenvioregalo').val(
	var pararegalo = jQuery('#productostable input[name~="pararegalo"]').map(function(){
		return this.checked ? this.getAttribute('id').split('_')[1] : 0;
	}).get().join(',');
	jQuery('#datosenvioregalo').val(pararegalo);
	jQuery('#datosenvioform input').removeAttr('disabled');
	jQuery('#datosenvioform textarea').removeAttr('disabled');
	jQuery('#datosenvioform select').removeAttr('disabled');
	jQuery('#pagotablemetodo input').removeAttr('disabled');
	jQuery('#datosenvioform').submit();
}

jQuery(document).ready(function(){

	if ( typeof cIsBackOffice != 'undefined' )
	{
	  if ( cIsBackOffice ) { return; }
	}

	if ( isNaN(cUSER_ID) )
	{
		var name = jQuery('input[name="email"]');
		var password = jQuery('input[name="clave"]');
		name.focus(function(){
			if ( !this.oldvalue ) {	this.oldvalue = this.value;	}
			if ( this.value == this.oldvalue ) { this.value = '' };
		}).blur(function(){
			if ( this.value == '' ) { this.value = this.oldvalue };
		});
		password.focus(function(){
			if ( !this.oldvalue ) {	this.oldvalue = this.value;	}
			if ( this.value == this.oldvalue ) { this.value = '' };
		}).blur(function(){
			if ( this.value == '' ) { this.value = this.oldvalue };
		});
	}
	jQuery('#bill_pais').change(function() { reloadprovince( jQuery('#bill_pais').val(), '#bill_provincia' ); } );
	jQuery('#pais2').change(function() { reloadprovince( jQuery('#pais2').val(), '#provincia2' ); } );

	jQuery('#bill_pais, #bill_provincia, #pais2, #provincia2, #envioexpress, #enviostandard').change(function()
	{
	    if ( jQuery('#comprador_recibe').attr('checked') )
	    {
	      recalcTransportPrice(jQuery('#pais2').val(),jQuery('#provincia2').val(), jQuery("input[name='envioexpress']:checked").val() );
	    } else {
	      recalcTransportPrice(jQuery('#bill_pais').val(),jQuery('#bill_provincia').val(), jQuery("input[name='envioexpress']:checked").val() );
	    }
	});

	jQuery('#recordarcontainer #recordarform').bind('submit',function(e){
		e.stopPropagation();

		var emailfield = jQuery('#recordarcontainer form input[name="recordaryouremail"]');

		// comprobar email
		if ( !emailfield.val().match(/[a-zA-Z0-9-_\.]+@[a-zA-Z0-9-_]+\.([a-zA-Z]{2}|[a-zA-Z]{2}\.[a-zA-Z]{2}|[a-zA-Z]{3}|[a-zA-Z]{3}\.[a-zA-Z]{2})/g) )
		{
			alert( cWarnWrongEmailFormat );
			emailfield.focus();
			return false;
		}

		var stock_id = jQuery(this).find('#stockid').val();
		var url = cHTML_ROOT+'queries/recover_password.php';
		jQuery('#recordarcontainer form').hide();
		jQuery('#recordarcontainer .progressbar').show();

		jQuery.ajax({
			type: "POST",
			url: url,
			data: jQuery('#recordarcontainer form').serialize(),
			success: function(msg)
			{
				if ( msg.substr(0,1) == '0' )
				{
					jQuery('#recordarcontainer .message').html(
						cEmailSendError + '<br /><br />*' + msg.substr(1)
					).show();
					jQuery('#recordarcontainer .progressbar').hide();
				}
				else
				{
					jQuery('#recordarcontainer .message').html(cEmailSentSuccessfully).show();
					jQuery('#recordarcontainer .progressbar').hide();
				}
			}
		});
		return false;
	});

	jQuery('.step1').bind('click',function(e){
	    setStep(1);
	  });
	jQuery('.step2').bind('click',function(e){
	    setStep(2);
	  });
	jQuery('.step3').bind('click',function(e){
	    setStep(3);
	  });


});

function recalcTransportPrice( pais, provincia, express ) {
	var url = cHTML_ROOT + 'queries/get_transport_price.php';
	jQuery.ajax({
		type: "GET",
		url: url,
		data: "pais="+pais+"&provincia="+provincia,
		success: function(msg)
		{
		    var pNormal = msg.split('|')[0];
		    var pExpress = msg.split('|')[1];
		    if (express=='1') { msg = pExpress; } else { msg = pNormal; }

		    var totalcontainer = parseFloat(msg) + parseFloat(jQuery('#totalsintransportecontainer').html().replace(',','.'));
		    totalcontainer = a_decimal( totalcontainer, 2 );

		    jQuery('#transportcontainer').html( a_decimal( parseFloat(msg), 2 ) );
		    jQuery('#totalcontainer').html(totalcontainer);

		    jQuery('#value_enviostandard').html( a_decimal( pNormal, 2 ) );
		    jQuery('#value_envioexpress').html( a_decimal( pExpress, 2 ) );
		}
	});
}


function recalcRegalo() {
	var url = cHTML_ROOT + 'queries/get_regalo_price.php';
	jQuery.ajax({
		type: "GET",
		url: url,
		success: function(msg)
		{
		    var precio = msg;
		    var totalacumulado = 0;
		    jQuery('input[id^="pararegalo2_"]').each( function() {
			var total = parseFloat( jQuery('#' + this.id.replace(/pararegalo2/,'total2') ).val() );
			if ( this.checked )
			{
			  var qty = parseInt( jQuery('#' + this.id.replace(/pararegalo2/,'qty2') ).val(), 10 );
			  var s = ''+(total + (qty * precio) );

			  totalacumulado+=(total + (qty * precio) );

			  s=s.replace(/\./,',');
			  jQuery('#' + this.id.replace(/pararegalo2/,'totalcell2')).html( s + ' eur');
			} else {
			  totalacumulado+=total;

			  s = ''+total;
			  s=s.replace(/\./,',');
			  jQuery('#' + this.id.replace(/pararegalo2/,'totalcell2')).html( s + ' eur');
			}
		      } );
		    jQuery('#subtotalcontainer').html(totalacumulado);
		    jQuery('#totalsintransportecontainer').html(totalacumulado);

		    var totalacumulado = 0;
		    jQuery('input[id^="pararegalo_"]').each( function() {
			var total = parseFloat( jQuery('#' + this.id.replace(/pararegalo/,'total1') ).val() );
			if ( this.checked )
			{
			  var qty = parseInt( jQuery('#' + this.id.replace(/pararegalo/,'qty1') ).val(), 10 );
			  var s = ''+(total + (qty * precio) );

			  totalacumulado+=(total + (qty * precio) );

			  s=s.replace(/\./,',');
			  jQuery('#' + this.id.replace(/pararegalo/,'totalcell1')).html( s + ' eur');
			} else {
			  totalacumulado+=total;

			  s = ''+total;
			  s=s.replace(/\./,',');
			  jQuery('#' + this.id.replace(/pararegalo/,'totalcell1')).html( s + ' eur');
			}
		      } );
		    jQuery('#subtotalcontainer1').html(totalacumulado);

		    recalcTransportPrice(jQuery('#bill_pais').val(),jQuery('#bill_provincia').val(), jQuery("input[name='envioexpress']:checked").val() );

		}
	});
}

function reloadprovince( country, combo )
{
  var url = cHTML_ROOT + 'queries/get_provinces.php';
  jQuery.ajax({
	  type: "GET",
	  url: url,
	  data: "c="+country,
	  success: function(msg)
	    {
	      jQuery(combo).html( msg );
	    }
  })

}

function showRecordar() {
	var div = jQuery('#recordarcontainer');
	if ( div.is(':visible') )
	{
		hideRecordar();
	}
	else
	{
	    if ( jQuery.browser.msie ) { div.css('margin-top', '1px' ); }
		div.show('slow',function(){div.find('input.text').get(0).focus();});
	}
}

function hideRecordar() {
	jQuery('#recordarcontainer').hide();
	jQuery('#recordarcontainer form').show();
	jQuery('#recordarcontainer .message').hide();
}


function a_decimal( valor, decim )
{
    valor = ''+valor.toFixed( decim );
    valor = valor.replace(/\./,',');

    return valor;
}