$(function() {
	//open a link in a blank window
	$('a[rel="blank"]').click(function(){
		window.open(this.href);
		return false;
	});
	// default options override for fancybox
	function formatTitle(title, currentArray, currentIndex, currentOpts) {
    	return '<div>' + (title && title.length ? '<b>' + title + '</b>' : '' ) + '<br /><span><a href="javascript:$.fancybox.close();" onclick="$.fancybox.close();">Click aici</a> pentru a inchide.</span></div>';
	}
	$("a[rel^=lightbox]").fancybox({'overlayOpacity':'0.7', 'centerOnScroll':'false', 'imageScale': 'false', 'titlePosition':'inside','titleFormat'	: formatTitle});
	$("a[rel^=iframe]").fancybox({ 'width' : 750, 'overlayOpacity':'0.7', 'centerOnScroll':'false', 'imageScale': 'false', 'titlePosition' : 'inside','type' : 'iframe', 'autoScale' : 'true'});
	$.extend(true, $.fn.fancybox.defaults, {'overlayOpacity' : '0.7', 'overlayColor' : '#000000', 'titlePosition':'inside','titleFormat'	: formatTitle});
	$('A[rel=gallery[]], A[rel=gallery]').fancybox();
	//open a link in a blank window
	$('A[rel="external"]').attr('target', '_blank');
	$('#categories .sub>A').click(function(e){
		e.preventDefault();
		var $this = $(this);
		$this.next().slideToggle();
		$this.parent().toggleClass('open');
	});
	$('.frm-add-to-cart, .frm-update-cart').submit(function(e){
		e.preventDefault();
		var $this = $(this);
		$this.find('INPUT[type="submit"]').blur();
		$this.css('visibility', 'hidden');
		$this.next().show();
		var action = $this.attr('action');
		action += (action.indexOf('?') > -1) ? '&ajax' : '?ajax';
		var prodid = $this.find('INPUT[name="prodid"]').val();
		var qty = $this.find('INPUT[name="qty"]').val();
		var params = { 
						'prodid'	: prodid,
						'qty'		: qty
						};
		function callback(data) {
			$('#ajax_cart_qty').html(data.cantitate + data.sufix_cantitate);
			$('#ajax_cart_val').html(data.valoare_comanda);
			if ( $this.hasClass('frm-add-to-cart') ) {
				$this[0].reset();
			}
			if ($this.hasClass('frm-update-cart') && qty == 0) {
				if ( $('#cartList .prod-row').size() <= 2 ) {
					$('#cartWrapper').slideUp(600, function(){
						$('.empty-cart-msg').slideDown(300);
					});
				} else {
					$('#prodid_' + prodid).slideUp(600, function(){
						$(this).remove();
					});
				}
				$('#cart-notify-total').load('_ajax.php?op=cart-notificare', function(){});
			} else {
				$this.css('visibility', 'visible');
				$this.next().hide();
				$('#cart-notify-total').load('_ajax.php?op=cart-notificare', function(){});
			}
			for ( var _prodid in data.valoare_produse ) {
				var _id = '#total_' + _prodid;
				$(_id).html(data.valoare_produse[_prodid]);
			}
			$('#valoare_comanda').html(data.valoare_comanda);
			$('#valoare_tva').html(data.valoare_tva);
			$('#valoare_livrare').html(data.valoare_livrare);
			$('#valoare_total').html(data.valoare_total);
		}
		$.post( action, params, callback, 'json' );
	});
	$('SELECT[name="ordoneaza-dupa"]').change(function(){
		$(this).parents('FORM').submit();
	});
	$('#slides').cycle({
		fx		: 'fade',
		easing	: 'easeInQuad',
		speed	: 600,
		timeout	: 5000,
		pager	: '#slideControls',
		pause	: true,
		manualTrump			: true,
		pauseOnPagerHover	: true,
		pagerAnchorBuilder	: function(idx, slide) {
			return '#slideControls LI:eq(' + (idx) + ') A';
		}
	});
	// tooltip
	$('.prod-name A').hover(function(e){
		var $this = $(this);
		var $img = $this.find('.tooltip-img').clone().attr('id', 'visibleTooltipImg');
		$this.data('title', this.title);
		this.title = '';
		$img.css({
			top		: e.pageY + 10 +'px',
			left	: e.pageX + 10 +'px'
		}).appendTo('body');
		$img.show();
	}, function(){
		this.title = $(this).data('title');
		$('#visibleTooltipImg').remove();
	}).mousemove(function(e){
		var $img = $('#visibleTooltipImg');
		$img.css({
			top		: e.pageY + 10 +'px',
			left	: e.pageX + 10 +'px'
		})
	});
	$('A[id="a-cart-login-form"]').click(function(){
		$('#cart-login-form').slideToggle();
		return false;
	});
	$('INPUT[id="cf-want-notes"]').click(function(){
		$('#li-cart-notes').slideToggle();
		$('#cf_cart_notes').focus();
	});
	$('INPUT[name="adresa_livrare"]').click(function(){
		if ( this.checked ) {
			if (this.value == '-') {
				$('#adresa-noua').slideDown();
			} else {
				$('#adresa-noua').slideUp();
			}
		}
	});
	$('INPUT[name="facturare_firma"]').click(function(){
		if ( this.checked ) {
			if (this.value == '-') {
				$('#firma-noua').slideDown();
			} else {
				$('#firma-noua').slideUp();
			}
		}
	});
	$('#cf_factura_pe_firma').click(function(){
		if ( this.checked ) {
			$('#facturare-firma').slideDown();
		} else {
			$('#facturare-firma').slideUp();
		}
	});
	$('#cf_creeaza_cont').click(function(){
		if ( this.checked ) {
			$('#creeaza-cont-nou').slideDown();
		} else {
			$('#creeaza-cont-nou').slideUp();
		}
	});
	$('#cf_email').bind('blur keyup keydown keypress change', function(){
		$('#creeaza_cont_email').html(this.value);
	});
	$('A[rel^="shipping-details"], A[rel^="payment-details"]').fancybox({titleShow : false});
	bindLoadLocalitati('#cf_judet', '#cf_localitate', '#cf_cod_postal_cauta');
	bindLoadLocalitatiCompany('#cf_firma_judet', '#cf_firma_localitate', '#cf_firma_cod_postal_cauta');
	bindLinkPosta('#cf_cod_postal_cauta', '#cf_adresa', '#cf_localitate');
	bindLinkPosta('#cf_firma_cod_postal_cauta', '#cf_firma_adresa', '#cf_firma_localitate');
	bindLoadLocalitatiServices();
	$('INPUT[name="metoda_de_plata"], INPUT[name="metoda_de_livrare"]').live('click', loadOrderSummary);
	$('#cf_email').blur(function(){
		$('#creeaza_cont_email').html(this.value);
	});
	loadOrderSummary();
	$('#add-wishlist').click(function(){
		$('#add-wishlist-result').html('<div class="msg-adding">Proceseaza...</div>');
		$('#add-wishlist-result').load($(this).attr('href'), function(){
		});
		return false;
	});
	$('#add-alerta').click(function(){
		$('#add-alert-result').html('<div class="msg-adding">Activeaza alerta...</div>');
		$('#add-alert-result').load($(this).attr('href'), function(){
		});
		return false;
	});
});
function bindLoadLocalitatiServicesUser(locid,judid){
	//if(locid >0 && judid>0){
		$('#cart-lista-opt-plata LI').remove();
		$('#cart-lista-opt-plata').load('_ajax.php?op=metode_plata&loc='+locid+'&jud='+judid, function(){
		});
		$('#cart-lista-opt-livrare').load('_ajax.php?op=metode_livrare&loc='+locid+'&jud='+judid, function(){
			loadOrderSummary();
		});		
	//}
}
function bindLoadLocalitatiServices(){
	$('#cf_localitate').change(function(){
		var $jud = $('#cf_judet');
		$('#cart-lista-opt-plata').load('_ajax.php?op=metode_plata&loc='+this.value+'&jud='+$jud.val(), function(){
		});
		$('#cart-lista-opt-livrare').load('_ajax.php?op=metode_livrare&loc='+this.value+'&jud='+$jud.val(), function(){
			loadOrderSummary();
		});
	});
}
function bindLoadLocalitati(judete, localitati, linkPosta) {
	$(judete).change(function(){
		var $loc = $(localitati);
		var $link = $(linkPosta);
		var href = $link.attr('href');
		href = href.split('?');
		href = href[0];
		$link.attr('href', href);
		$loc.hide().next().show();
		$('#cart-lista-opt-plata LI').remove();
		$('#cart-lista-opt-plata').html('<li class="cart-wide-field">Selectati si o localitate pentru afisarea serviciilor disponibile.</li>');
		$('#cart-lista-opt-livrare LI').remove();
		$('#cart-lista-opt-livrare').html('<li class="cart-wide-field">Selectati si o localitate pentru afisarea serviciilor disponibile.</li>');
		$loc.load('_ajax.php?op=localitati&judet=' + this.value, function(){
			$loc.next().hide().end().show()[0].focus();
			loadOrderSummary();
		});
	});
}
function bindLoadLocalitatiCompany(judete, localitati, linkPosta) {
	$(judete).change(function(){
		var $loc = $(localitati);
		var $link = $(linkPosta);
		var href = $link.attr('href');
		href = href.split('?');
		href = href[0];
		$link.attr('href', href);
		$loc.hide().next().show();
		$loc.load('_ajax.php?op=localitati&judet=' + this.value, function(){
			$loc.next().hide().end().show()[0].focus();
		});
	});
}
function bindLinkPosta(link, adresa, localitate) {
	function updateLinkPosta() {
		var $loc = $(localitate + ' :selected').text();
		var $adr = $(adresa).val();
		if ( $(localitate).val() == '-' ) {
			$loc = '';
		}
		if ( $adr && $adr.indexOf(',') > -1 ) {
			$adr = $adr.split(',');
			$adr = $adr[0];
		}
		if ( $loc != '' || $adr != '' ) {
			var newHref = 'http://www.posta-romana.ro/postal_codes?moo_cp_location=' + $loc + '&moo_cp_street=' + $adr;
			$(link).attr('href', newHref);
		}
	}
	updateLinkPosta();
	$(localitate + ', ' + adresa).bind('change blur', updateLinkPosta);
}
function loadOrderSummary() {
	var $pay	= $('INPUT[name="metoda_de_plata"]:checked').val() || 0;
	var $ship	= $('INPUT[name="metoda_de_livrare"]:checked').val() || 0;
	var $sumarComanda = $('#sumarComanda');
	$sumarComanda
			.css('height', $sumarComanda.height() - 10 + 'px')
			.html('<div class="msg-adding">Se recalculeaza totalul...</div>')
			.load('_ajax.php?op=sumar-comanda&pay=' + $pay + '&ship=' + $ship, function(){
				$sumarComanda.css('height', 'auto');
			});
}
