var base_url = '/';

function isProductPage(){
	return document.location.toString().indexOf("id_genere=") != -1 ? true : false;
}
function isMultiCategory(id_genere){
	return id_genere.indexOf(",") != -1 ? true : false;
}
function lightLeftMenu(){
	var selectedCategories = [];
	var str_url = document.location.toString();
	var id_genere = str_url.substring(str_url.indexOf("id_genere=") + 10);
	
	if(isMultiCategory(id_genere)){
		
		selectedCategories = id_genere.split(',');
	}else
		selectedCategories[0] = id_genere;
	
	$('.left-ul a').each(function(){

		currentIDs = $(this).attr('rel').split(',');

		for(i=0; i < currentIDs.length; i++){

			if( $.inArray(currentIDs[i], selectedCategories) != -1){
				currentMenuClass = $(this).attr('class');
				$(this).addClass(currentMenuClass + '-on');
			}

		}

	});
		
}

function isSameBillingShipping(){
	return $('#same_ship_bill').is(':checked');
}

function toggleShippingData(){
	if($('.shipping_data_fieldset input[type=text]:first').is(':disabled')){
		$('.shipping_data_fieldset input[type=text]').attr({
			'readonly'	: false
		}).removeClass('inpt-disabled');;
	}else{
		$('.shipping_data_fieldset input[type=text]').attr({
			'readonly'	: true
		}).addClass('inpt-disabled');;
	}		
}

function copyAllDataFromBilling(){
	$('.billing_data_fieldset input[type=text]').each(function(){
		fieldToCopy = $(this).attr('name').toString().replace('_fatt','');
			if($('input[name=' + fieldToCopy + ']').length > 0)
				$('input[name=' + fieldToCopy + ']').val($(this).val());
	});
}

$(document).ready(function(){
	
	if(isProductPage())
		lightLeftMenu();
	
	$('#fotoprod a').fancybox();
	
	$("#main-menu li a").corner("5px");
	
	// preload carrello
	$("#cart-loading").hide();
	
	// add to cart
	$(".add-cart, .add-cart-home").click(function(){
		var itemID = $(this).attr("rel");
		
		if(itemID)
			addToCart(itemID);
		else
			return false;
	});
	
	// add multicart (prodotti multipli)
	$(".add-multicart").click(function(){
		
		var itemIDs = Array();
		
		$(".multicart").each(function(){
			itemID = $(this).attr("id");
			itemIDs.push(itemID);
		});
		addToCart(itemIDs);
	});
	
	activateCartFunctions();
	
	// selezione genere (combo box libri)
	$("select[name=genere]").change(function(){
	    var itemID = $(this).val();
	    if(itemID != '')
		renderSearchTags(itemID);
	    else
		$("#search-tags").html('');
	});
	
	// selezione autore (combo box libri)
	$("select[name=azienda]").change(function(){
		/*
		var id_autore = $(this).val();
		document.location = './prodotti.php?id_azienda=' + id_autore;
		return false;
		*/
	});
	
	// checkout
	$("#but-buy").click(function(){
		checkout();
	});
	
	
	$('.but-ship-buy').click(function(){
		submitShippingForm();
	});
	
	// zoom scheda prodotto
	$('#fotoprod img').mouseenter(function(){
		$('.zoom-img-product').fadeIn();
	}).mouseleave(function(){
		$('.zoom-img-product').fadeOut();
	});
	$('#fotoprod a').click(function(){$('.zoom-img-product').fadeOut()});
	
	
	// FORM configura
	if($('.shipping_data_fieldset').length > 0){
		
		// di default disabilito gli shipping data
		$('.shipping_data_fieldset input[type=text]').attr('readonly', true).addClass('inpt-disabled');
		$('input[type=radio]').click(toggleShippingData);
		$('#same_ship_bill').click(copyAllDataFromBilling);
		
		// copia dati da billing a shipping
		$('.billing_data_fieldset input[type=text]').keyup(function(){
			if(isSameBillingShipping()){
				fieldToCopy = $(this).attr('name').toString().replace('_fatt','');
				if($('input[name=' + fieldToCopy + ']').length > 0)
					$('input[name=' + fieldToCopy + ']').val($(this).val());
			}
		});
		
	}

	
});

function activateTags(){
    if($("input[type=hidden][name=tagz[]]").length == 0)
	return false;

    $("input[type=hidden][name=tagz[]]").each(function(){
	tagID = $(this).val();

	$("#tag" + tagID).attr("checked", true);
    });
    
}

function renderSearchTags(itemID){
    $.ajax({
	type: "GET",
	url: base_url + "resources/ajax/get-tags.php?itemID=" + itemID,
	success: function(data){
		//document.location = './carrello.php';
		$("#search-tags").html(data);
	},complete: function(){
	    activateTags();
	}
     });
    return false;
}

// add to cart function
function addToCart(itemID){
	$.ajax({
		type: "GET",
		url: base_url + "resources/ajax/add-to-cart.php?itemID=" + itemID,
		success: function(){
			document.location =  base_url + 'carrello.php';
		}
	 });
}

// delete item from cart function
function deleteItem(e){
	var divContainer = $(e).parent().parent();
	var itemID = $(divContainer).attr("id").toString().substring(5);
	
	$.ajax({
		type: "GET",
		url: base_url + "resources/ajax/remove-from-cart.php?itemID=" + itemID,
		success: function(){
			$(divContainer).fadeOut(300,function(){
				$(this).remove();
				$.ajax({
					type: "GET",
					url: base_url + "resources/ajax/render-cart.php",
					success: function(data){
						$("#rendered_cart").html(data);
						activateCartFunctions();
					}
				});
			});
		}
	 });
}


// change quantity function
function changeQuantity(e){
	$("#cart-loading").show();
	var allowed = /^[0-9]+$/
	if(!allowed.test($(e).val()))
		$(e).val(1);
	
	var itemID = $(e).parent().parent().attr("id").toString().substring(5);
	var quantity = $(e).val();
		
	$.ajax({
		type: "GET",
		url: base_url + "resources/ajax/change-quantity-from-cart.php?itemID=" + itemID + '&quantity=' + quantity,
		success: function(){
			$.ajax({
				type: "GET",
				url: base_url + "resources/ajax/render-cart.php",
				success: function(data){
					$("#rendered_cart").html(data);
					activateCartFunctions();
					$("#cart-loading").delay(500).hide();
				}
			});
		}
	 });
}


function activateCartFunctions(){
	$(".cart-buttons input[type=text]").focusout(function(){
		changeQuantity($(this));
	});
	$(".but-cart.b-c").click(function(){
		deleteItem($(this));
	});
	$(".cart-buttons input[type=text]").focus(function(){
		$(this).select();
	});
	// enter (code 13)
	$(".cart-buttons input[type=text]").bind('keydown',function(e){
		if(e.which == 13)
			changeQuantity($(this));
	});
}

// destroy session
function destroySession(){
	document.location = './configura.php';
	return;
	
	var form = document.form_paypal;
	form.submit();
	$.ajax({
	   url: base_url + "resources/ajax/inc.session.destroy.php",
	   async:true,
	   complete: function(){
	       document.location = './';
	   }
	});
}

function checkout(){
	destroySession();
}

function submitShippingForm(){
	
	var regExEmail = /^[a-zA-Z\-\_\.0-9]+@[a-zA-Z\-\_\.0-9]+\.[a-zA-Z]{2,4}$/;
	var error = false;
	
	// reset errors
	$('fieldset').find('span[class=alert-error]').remove();
	$('fieldset input[type=text]').removeClass('inpt-err');
	
	/*
	$('fieldset input[type=text]').each(function(){
		if($(this).val() == '' || ($(this).attr('name') == 'email' && !regExEmail.test($(this).val()))){
			$(this).addClass('inpt-err');
			error = true;
		}
	});
	*/
   
   if($('input[name=societa_fatt]').val() == '' && $('input[name=nome_fatt]').val() == '' && $('input[name=cognome_fatt]').val() == ''){
	   $('input[name=societa_fatt]').addClass('inpt-err');
	   $('input[name=nome_fatt]').addClass('inpt-err');
	   $('input[name=cognome_fatt]').addClass('inpt-err');
	   error = true;
   }
   
   $('input[type=text]').each(function(){
	   if($(this).hasClass('req')){
		   if($(this).val() == ''){
			   $(this).addClass('inpt-err');
				error = true;
		   }
	   }
   });
	
	if(error){
		$('fieldset:first').prepend('<span class="alert-error">Compilare correttamente tutti i campi</span>');
		return false;
	}
	else
		document.frm_shipping.submit();
}
