;(function(window) 
{
	window.Site = Site = new Object();

	Site.Constalaris = function() 
	{
        var self;
        
        /* HTML Objects */
        
        var ReplaceFonts = function()
        {
        	Cufon.replace('#navigation li.normal a', { 
        										fontFamily: 'DaxlinePro-Regular',
    											hover : { "color": "#E21E26" } 
											});
        	Cufon.replace('#navigation li.active a', { fontFamily: 'DaxlinePro-Medium' });
        	
        	Cufon.replace('h1, h2, h3, h4, h5, #categories span.name', { fontFamily: 'DaxlinePro-Regular' });
        	Cufon.replace('.offer .star, .offer .name, .offer .currency', { fontFamily: 'DaxlinePro-Bold' });
        	Cufon.replace('.offer .price, .offer .penny', { fontFamily: 'DaxlinePro-Black' });
        };
        
        var SetCategoriesCarousel = function()
        {
        	$("#categories").jcarousel({
    			"scroll": 3
    		});
        };
        
        var SetFeaturedProductsCycle = function()
        {
        	var featuredBlock = $('#featured');
        	
        	if (featuredBlock.length > 0)
        	{
	    		featuredBlock	.before($("<div/>", { "id": "featured-navigation" }))
    							.cycle({ pager:  '#featured-navigation' });
        	}
        };
        
        var SetProductThumbLightBox = function()
        {
        	$("#product-thumb").lightBox({
    			imageBtnClose: '/img/lightbox-btn-close.gif'		
			});
        };
        
        SetCategoryAccordionClickEvent = function()
        {
        	$("#category-list a.name").click(function(){
    			var self = $(this);
    			var hideDetails = self.parent().parent().find(".details");
    			var showDetails = self.parent().find(".details");
    			
    			hideDetails.hide();
    			showDetails.slideDown(500);
    			
    			return false;
    		});
        };
        
        SetLoginFormButtonClickEvent = function()
        {
        	$("#login-form .button a").click(function(){
    			var errors = false;
    			var form = $(this).parent().parent();
    			var user = form.find("input[name=user]");
    			var password = form.find("input[name=password]");
    			
    			user.removeClass("error");
    			password.removeClass("error");
    			
    			if ($.trim(user.val()) == "")
    			{
    				user.addClass("error");
    				errors = true;
    			}
    			
    			if ($.trim(password.val()) == "")
    			{
    				password.addClass("error");
    				errors = true;
    			}
    			
    			if (!errors)
    			{
    				form.submit();
    			}
    			
    			return false;
    		});
        };
        
        var SetCommandFormButtonClicked = function()
        {
        	$("#command_form a.button").click(function(){
    			var errors = false;
    			var form = document.forms.command_form;
    			
    			$(form).find("input").removeClass("error");
    			
    			var nameInput = form.name;
    			var name = $.trim(nameInput.value);
    			var phoneInput = form.phone;
    			var phone = $.trim(phoneInput.value);
    			var emailInput = form.email;
    			var email = $.trim(emailInput.value);
    			
    			if (name == "")
    			{
    				$(nameInput).addClass("error");
    				errors = true;
    			}
    			
    			if (phone.length < 10 || isNaN(phone))
    			{
    				$(phoneInput).addClass("error");
    				errors = true;
    			}
    			
    			if (!IsEmailValid(email))
    			{
    				$(emailInput).addClass("error");
    				errors = true;
    			}
    			
    			if (!errors)
    			{
    				$.ajax({
    					"url": "/ajax/saveOffer.php",
    					"data": {
    							"name": name,
    							"phone": phone,
    							"email": email
    						},
    					"type": "POST",
    					"success": function(){
    						$(form)	.height($(form).height())
    								.empty()
    								.append($("<strong/>", { 
    															"text": "Comanda dvs. a fost salvata.", 
    															"style": "font-size: 16px;" 
															}))
    					}	
    				});
    			}
    			
    			return false;
    		});
        };
        
        var SetNewsletterFormHandle = function()
        {
        	var newsletter = $("#newsletter");
        	var newsletterInput = newsletter.find("input");
        	var newsletterButton = newsletter.find("a");
        	var holder = newsletter.find(".input"); 
        	
        	newsletterInput.focus(function(){
        		newsletterInput.removeClass("error");
        		
        		if (newsletterInput.val() == newsletterInput.attr("title"))
        		{
        			newsletterInput.val("");
        		}
        	});
        	
        	newsletterInput.blur(function(){
        		if ($.trim(newsletterInput.val()) == "")
        		{
        			newsletterInput.val(newsletterInput.attr("title"));
        		}
        	});
        	
        	newsletterButton.click(function(){
        		if (!IsEmailValid(newsletterInput.val()))
        		{
        			newsletterInput.addClass("error");
        		}
        		else
        		{
        			$.ajax({
        				"url": "/ajax/subscribe.php",
        				"type": "POST",
        				"data": { "email": $.trim(newsletterInput.val()) },
        				"success": function(){
        					var successMessage = $("<div/>", { 
    															"style": "margin-bottom: 10px; font-weight: bold; height: 34px;"
															});
        					holder.before(successMessage);
        					
        					var text = $("<div/>", { 
											"style": "font-weight: bold; line-height: 34px; display: none;",
											"text": "Ati fost abonat cu succes!"
										})
        					successMessage.append(text);
        					
        					var clone = holder.clone();
        					successMessage.append(clone);
        					
							holder.remove();
							
							clone.fadeOut("fast", function(){
								text.fadeIn("fast");
							});
        				}
        			});
        		}
        		
        		
        	});
        	
        };
        
        var IsEmailValid = function(email)
        {
 		   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

 		   return reg.test(email);
        };
        
        var SetSearchFormHandle = function()
        {
        	var search = $("#search");
        	var searchInput = search.find("input");
        	var searchButton = search.find("a");
        	var searchUrl = searchButton.attr("href");
        	
        	searchInput.focus(function()
			{
        		if ($.trim(this.value) == this.title)
        		{
        			this.value = "";
        		}
        	});
        	
        	searchInput.blur(function()
			{
        		if ($.trim(this.value) == "")
        		{
        			this.value = this.title;
        		}
        	});
        	
        	searchButton.click(function()
			{
        		if ($.trim(searchInput.val()) != "")
        		{
        			window.location.href = searchUrl + "?cauta=" + $.trim(searchInput.val());
        		}
        		
        		return false;
        	});
        	
        	searchInput.keydown(function(e)
			{
        		if (e.keyCode == 13 && $.trim(searchInput.val()) != "")
        		{
        			window.location.href = searchUrl + "?cauta=" + $.trim(searchInput.val());
        		}
        	})
        };
        
        var SetContactFormHandle = function()
        {
        	var contactForm = $("#contact-form");
        	var nameInput = contactForm.find("input[name=name]");
        	var phoneInput = contactForm.find("input[name=phone]");
        	var emailInput = contactForm.find("input[name=email]");
        	var messageInput = contactForm.find("textarea[name=message]");
        	var button = contactForm.find("a");
        	
        	button.click(function()
			{
        		var errors = false;
        		nameInput.removeClass("error");
        		phoneInput.removeClass("error");
        		
        		if ($.trim(nameInput.val()) == "")
        		{
        			nameInput.addClass("error");
        			errors = true;
        		}
        		
        		if ($.trim(phoneInput.val()).length < 10 || isNaN($.trim(phoneInput.val())))
        		{
        			phoneInput.addClass("error");
        			errors = true;
        		}
        		
        		
	        	if (!errors)
	        	{
	        		$.ajax({
	        			"url": "/ajax/contact.php",
	        			"data": contactForm.find("form").serialize(),
	        			"type": "POST",
	        			"success": function(response)
	        			{
		        			if (response = "1")
		        			{
		        				contactForm	.height(contactForm.height())
		        							.find("form").remove();
    							contactForm.append($("<div/>", { "text": "Mesajul dumneavoastra a fost trimis. In scurt timp veti fi contactat." }));
		        			}
	        			}
	        		});
	        	}
	        		
        		return false;
        	});
        	
        	
        };
        
    	var SetEvents = function()
    	{
    		SetCategoryAccordionClickEvent();
    		SetLoginFormButtonClickEvent();
    		SetCommandFormButtonClicked();
    		SetNewsletterFormHandle();
    		SetSearchFormHandle();
    	};
    	
		(this.Init = function() 
		{
			self = this;
			
			/* Init HTML Objects */
			/* End Init HTML Objects */
			
			ReplaceFonts();
			SetEvents();
			SetFeaturedProductsCycle();
			SetCategoriesCarousel();
			SetProductThumbLightBox();
			SetContactFormHandle();
		})();
	}
	
})(window);
/* End Of File */
