jQuery(document).ready(function(){

		var dialogBox = jQuery('div#dialogBox');
		dialogBox.dialog({
			modal: true,
			autoOpen: false,
			draggable: false,
			resizable: false
		});
		
		jQuery('.category-name').click(function(){	
			if(jQuery(this).next('ul').attr('class') == 'ul-c')
			{
				jQuery(this).next('ul').slideUp('slow', function(){
					jQuery(this).addClass('closed');
				});
			}
			else
			{
				jQuery(this).next('ul').slideDown('slow', function(){
					jQuery(this).removeClass('closed');
				});
			}
		});
		
		jQuery('form#search_form').submit(function(event){
			event.preventDefault();
			var url =  jQuery(this).attr('action');
			var kw = jQuery('input#keywords').val();

			if (kw)
			{
				dialogBox.dialog({
					title: "Va rugam asteptati..."
				});
				dialogBox.html('');
				dialogBox.html('Se face cautare dupa urmatorii termeni: "' + kw + '"');
				dialogBox.dialog('open');
				
				jQuery.post(url, {keywords: kw, page: 1},
					function(response)
					{
						dialogBox.dialog('close');
						jQuery(".content .products-container").replaceWith(response);
					}
				);
			} else
			{
				dialogBox.dialog({
					title: "Cautare"
				});
				dialogBox.html('');
				dialogBox.html('Introduceti termenul de cautare');
				dialogBox.dialog('open');
			}
		});
		
		jQuery.fn.isNumeric = function(data)
		{
			if (!parseInt(data)) // not 0
			return false;
			var RE = /^\d{1,3}$/;
			return (RE.test(data));
		};
		
		jQuery.fn.ajaxPagination = function(paramsJSON){
			jQuery('.paginationControl a').click(function(event){
				event.preventDefault();

				params = '';
				if (paramsJSON)
				{
					for (i in paramsJSON)
						params = params + i + '=' + paramsJSON[i] + '&';
					
					params = params.replace(/&$/, '');
				}

				var content = jQuery('.products-container');
				var url = jQuery(this).attr('href');

				// fade in wait div .fadeIn(500);

				jQuery.post(url, params, function(response) {
					content.replaceWith(response);
					// fadeOut(500);
				});
			});
		};
		jQuery('input#search_simple').hover(
			function(){jQuery(this).attr('src','/media/images/search-on.png');},
			function(){jQuery(this).attr('src','/media/images/search-off.png');}
		);

		jQuery.fn.animateToTarget = function(target)
		{
			jQuery('html, body').animate({
			scrollTop: target.offset().top
			}, 2000);
		};

		jQuery("form#order_form").submit(function(event){
			event.preventDefault();
			
			var url =  jQuery(this).attr('action');
			var params = jQuery(this).serialize();

			if (jQuery().isNumeric(jQuery(this).find('input[name="quantity"]').val()))
				jQuery.post(url, params, function(response){
					switch(response)
					{
					case 'Success':
						jQuery().animateToTarget(jQuery('.header-menu-content .basket'));
						jQuery('.p-d-pic-attributes .p-d-pic').effect("transfer",{ to:".header-menu-content .basket" }, 1000);
						jQuery().updatePartialCart();
						break;
					case 'Unsuccessfull':
						window.location.reload(true);
						break;
					default:
						dialogBox.dialog({
							title: "A aparut o eroare!"
						});
						dialogBox.html('');
						dialogBox.html('In cazul revenirii acestui mesaj, va rugam redeschideti browserul.');
						dialogBox.dialog('open');
					}
				});
			else
				jQuery(this).find('input[name="quantity"]').val(1);
		});
		
		jQuery.fn.updatePartialCart = function()
		{
			jQuery.post('/cart-partial', {}, function(response){
				jQuery('.header-menu-content .header-account').html('');
				jQuery('.header-menu-content .header-account').html(response);
			});
		};
		
		jQuery.fn.partialCartEffect = function()
		{
			jQuery('.header-menu-content .basket').hover(
				function(){
					jQuery(this).siblings('#partial-cart-container').show();
				},
				function(){
					jQuery(this).siblings('#partial-cart-container').hide();
				}
			);
			jQuery('.header-menu-content #partial-cart-container').hover(
				function(){jQuery(this).show();},
				function(){jQuery(this).hide();}
			);
		};
		
		jQuery.fn.reloadShoppingCart = function()
		{
			jQuery.post('/cart', {}, function(response){
				jQuery('.products-container').replaceWith(response);
			});
		};
	});
