function removeFocusOnLinks() {
	$('a').focus(function(){ $(this).blur(); });
}

function initcap(str) {
	return str.substr(0,1).toUpperCase() + str.substr(1);
}

$.widget( "custom.searchcomplete", $.ui.autocomplete, {
	_renderMenu: function( ul, items ) {
		var self = this;
		var currentCategory = "";

		if(items.length == 1 && items[0].id == 0) {
			ul.append( '<li class="search-autocomplete-category">' + items[0].name + '</li>' );
		}
		else {
			$.each( items, function( index, item ) {
				if ( item.category != currentCategory ) {
					ul.append( '<li class="search-autocomplete-category">' + item.category + '</li>' );
					currentCategory = item.category;
				}
				self._renderItem( ul, item );
			});
		}

		ul.attr("id", "search-autocomplete");
	},
	_renderItem: function( ul, item ) {
		return $( "<li></li>" )
			.addClass("search-autocomplete-item")
			.data( "item.autocomplete", item )
			.append( '<a href="' + item.href + '" style="background-image: url(\'' + item.image + '\');">' + item.name + (item.color != ''? '<br/>- ' + item.color : '') + '</a>' )
			.appendTo( ul );
	}
});

function initializeRating() {
	$('.star').click(function() {return false;});

	$('.star:not(.disabled)').mouseover(function() {
		var id = this.id.split('-')[1];
		$('.star').removeClass('rating-half rating-full').addClass('rating-empty');
		for(var i=1; i<= id; i++) {
			$('#rating-' + i).addClass('rating-full');
		}
	}).click(function() {
		var link = $(this);
		$.ajax({
			url: link.attr('href'),
			type: 'GET',
			data: {},
			dataType: 'json',
			cache: false,
			success: function(response) {
				if(typeof response.error == "undefined") {
					//$.noticeAdd({ text: response.success, stayTime: 5000 });
					$('.rating-response').html(response.success).show();

					$('#rating').val(response['rating_score']);
					var ratings = {1: 'empty', 2: 'empty', 3: 'empty', 4: 'empty', 5: 'empty'};
					var fullRating = Math.floor(response['rating_score']);

					if(fullRating > 0) {
						for(i=0; i<fullRating; i++) {
							ratings[i+1] = 'full';
						}
					}
					var partialRating = response['rating_score']-Math.floor(response['rating_score']);
					if(partialRating > 0)
						ratings[Math.floor(response['rating_score'])+1] = 'half';

					$('.star').each(function(index, star) {
						$(star).removeClass('rating-half rating-full rating-empty').addClass('rating-' + ratings[star.id.split('-')[1]] + ' disabled');
						$(star).unbind().click(function() {return false;});
						$('#rating-input-' + star.id.split('-')[1]).val(ratings[star.id.split('-')[1]]);
					});
				}
				else {
					$.noticeAdd({ text: response.error, stayTime: 5000 });
				}
			}
		});
		return false;
	});

	$('#stars').mouseleave(function() {
		$('input[id^="rating-input-"]').each(function(index, star) {
			$('#rating-' + (index+1)).removeClass('rating-half rating-full rating-empty').addClass('rating-' + $(star).val());
		});
	});
}

function initializeImagesCarousels() {
	$('#main-image-carousel').jcarousel({
		scroll: 1,
		wrap: "circular",
		buttonNextHTML: null,
        buttonPrevHTML: null,
        initCallback: mainImageCarousel_initCallback
    });

	function mainImageCarousel_initCallback(carousel) {
		$('#main-image-carousel-prev').click(function(){ carousel.prev(); return false; });
		$('#main-image-carousel-next').click(function(){ carousel.next(); return false; });

		$('.small-image').click(function(){
			var index = parseInt($(this).attr("id").substr(3));
			carousel.scroll(index);
		});
	};

	$('#secondary-images-carousel').jcarousel({
		scroll: 1,
		wrap: "circular",
		buttonNextHTML: null,
        buttonPrevHTML: null,
        initCallback: secondaryImagesCarousel_initCallback
    });

	function secondaryImagesCarousel_initCallback(carousel) {
		$('#secondary-images-carousel-prev').click(function(){ carousel.prev(); return false; });
		$('#secondary-images-carousel-next').click(function(){ carousel.next(); return false; });
	};
}

function initializeProductViewToolTips() {
	$.fn.qtip.defaults.position.viewport = $(window);

	$("#product-size-info").qtip({
		content: 'Daca nu regasiti aici marimea cautata de dumneavoastra va rugam sa ne contactati pentru o verificare sau o eventuala comanda speciala.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#product-pricealert-info").qtip({
		content: 'In cazul in care  va aparea o promotie la acest produs, dumneavoastra veti fi alertat imediat pe email.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#product-faq-info").qtip({
		content:
			'<a href="/conditii-de-returnare">ce fac daca nu imi vin ?</a>' +
			'<a href="/cum-cumpar">cum comand ?</a>' +
			'<a href="/plata-si-livrare">cum platesc ?</a>' +
			'<a href="/conditii-de-returnare">conditii de returnare</a>' +
			'<a href="/protectia-datelor">protectia datelor</a>' +
			'<a class="more" href="/intrebari-frecvente">mai multe</a>',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#product-delivery-info").qtip({
		content: 'Vedeti aici detalii despre livrarea produselor catre dumneavoastra.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#product-return-info").qtip({
		content: 'Vedeti aici detalii despre conditiile de returnare a produselor.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});
}

function initializeCartToolTips() {
	$.fn.qtip.defaults.position.viewport = $(window);

	$("#payment-method-label-1").qtip({
		content: 'Alegand aceasta metoda de plata,vei achita contravaloarea comenzii atunci cand aceasta va ajunge la tine.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#payment-method-label-2").qtip({
		content: 'Alegand aceasta metoda de plata, te vom redirectiona catre pagina securizata a firmei care se ocupa de procesarea platilor prin card.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});

	$("#payment-method-label-3").qtip({
		content: 'Alegand aceasta metoda de plata, vei primi inainte o factura proforma din partea Papucei.ro pe care va trebui sa o achiti prin ordin de plata.',
		hide: { fixed: true, delay: 100, event: 'click mouseleave' }
	});
}

function initializeSearch() {
	var searchReplacementValue = "CAUTI CEVA ANUME?";
	$('#search').val(searchReplacementValue);
	$('#search').focus(function(){
		if($(this).val() == searchReplacementValue) $(this).val('');
	});
	$('#search').blur(function(){
		if($(this).val() == '') $(this).val(searchReplacementValue);
	});

	$('#search').searchcomplete({
		delay: 0,
		autoFocus: true,
		minLength: 2,
		source: WEBROOT + 'search',
		select: function(event, ui) {
			window.location.href = ui.item.href;
		},
		open: function(event, ui) {
			$('#search-autocomplete').css('z-index', '300');
		}
	}).keypress(function(event) {
		if (event.which == 13) event.preventDefault();
	});

	$('#search').focus(function(){ $(this).searchcomplete("search", $(this).val()); });
}

function initializeNewsletter() {
	var newsletterReplacementValue = "introdu adresa ta de e-mail";
	if($('#newsletter-field').val() == '') $('#newsletter-field').val(newsletterReplacementValue).addClass('empty');
	$('#newsletter-field').focus(function(){
		if($(this).val() == newsletterReplacementValue) $(this).val('').removeClass('empty');
	});
	$('#newsletter-field').blur(function(){
		if($(this).val() == '') $(this).val(newsletterReplacementValue).addClass('empty');
	});

	$('#newsletter-btn').click(function() {
		newsletterSubmit();
	});

	$('#newsletter-field').keypress(function(event) {
		if (event.keyCode == '13') {
			event.preventDefault();
			newsletterSubmit();
		}
	});
}

function newsletterSubmit() {
	var newsletterReplacementValue = "introdu adresa ta de e-mail";
	if($('#newsletter-field').val() == newsletterReplacementValue || $('#newsletter-field').val() == '') return false;

	var url = '/users/subscribeNewsletter/' + $('#newsletter-field').val();
	$.ajax({
		url: url, dataType: 'json', cache: false,
		success: function(response) { $.noticeAdd({ text: response, stayTime: 5000 }); }
	});
}

function initializeLoginForm() {
	$('.login-form-toggle').click(function(){
		$('#login-form-container').slideToggle(200);
	});

	$('#login-submit').click(function(){
		$("#login-form").submit();
	});

	$("#login-form input").keypress(function(event) {
		if (event.keyCode == '13') {
			event.preventDefault();
			if($('#login-form #UserEmail').val() != '' && $('#login-form #UserPassword').val() != '') $("#login-form").submit();
		}
	});
}

function initializeCartLoginForm() {
	$('#cart-login-form-toggle').click(function(){
		var containerOffset = $('.cart-container').offset();
		var anchorOffset = $(this).offset();
		anchorOffset.top += $(this).outerHeight();
		var offset = { top: anchorOffset.top - containerOffset.top, left: anchorOffset.left - containerOffset.left};
		$('#cart-login-form-container').css(offset);
		$('#cart-login-form-container').slideToggle(200);
	});

	$('#cart-login-submit').click(function(){
		$("#cart-login-form").submit();
	});

	$("#cart-login-form input").keypress(function(event) {
		if (event.keyCode == '13') {
			event.preventDefault();
			if($('#cart-login-form #UserEmail').val() != '' && $('#cart-login-form #UserPassword').val() != '') $("#cart-login-form").submit();
		}
	});
}

