$(function(){
	doCufon();
	searchBox();
	footerLinks();
	customSelect();
	contactForm();
	loginField();
	commentForm();
	sideMenus();
});

function doCufon(){
	Cufon.replace('.underHeader .menu a', {fontSize:"14px", fontFamily: 'Georgia' });
	Cufon.replace('.title', {fontSize:"18px", fontFamily: 'Myriad Pro' });
	
	Cufon.replace('.productDetails h1', {fontSize:"23px", fontFamily: 'Tahoma' });
}

function sideMenus(){
	//Показваме подменютата на избрания елемент
	var submenus = $('ul.sideMenu');
	if(submenus.length===0){
		return false;
	}
	
	submenus.each(function(){
		var sel = $(this).children('li').children('a.sel');
		if(sel.length!==0){
			sel.siblings('ul').show();
		}
	});
}

function searchBox(){
	var form = $('form.simpleSearch');
	if(form.length === 0){return false;}
	
	var input = form.children('input.input');
	var firstVal = input.val();
	input.focus(function(){
		if($(this).val() == firstVal){
			$(this).val('');
		}
	});
	input.blur(function(){
		if($(this).val() == ''){
			$(this).val(firstVal);
		}
	});
	
	form.submit(function(e){
		e.preventDefault();
		var q = input.val();
		if(q == firstVal){
			return false;
		}
		window.location.href = form.attr('action')+'/search:'+q;;
	});
}

function footerLinks(){
	$('.copyright a').css({"opacity":.5});
	$('.copyright a').hover(function(){
		$(this).stop().animate({"opacity":1});
	}, function(){
		$(this).stop().animate({"opacity":.5});
	});
}

function customSelect(){
	if($('select.custom').length===0){return false;}
	$('select.custom').sSelect({ddMaxHeight: '170px'});
}

function advancedSearch(){
	var form = $('form.advansedSearch');
	if(form.length===0){
		return false;
	}
	
	var url = $.domain+'catalog';
	form.find("input,textarea,select").each(function (i, el) {
		if(el.name != ''){
			url += '/'+el.name+':'+$(el).val();
		}
	});
	window.location.href = url;
	return false;
}



var contactFormFirstVals = new Array();
var contactFormsInputs = '';
function contactForm(){
	
	if($('form.contacts_form').length === 0){return false;}
	var form = $('form.contacts_form');
	contactFormsInputs = form.find('input, textarea');

	count = contactFormsInputs.length;
	for(i=0; i< count; i++){
		contactFormFirstVals[i] = contactFormsInputs.eq(i).val();
	}
	
	contactFormsInputs.each(function(){
			var input = $(this);			
			if(!input.attr('readonly')){
				var firstVal = input.val();
				input.focus(function(){
					if($(this).val() == firstVal){
						$(this).val('');
					}
				});
				
				input.blur(function(){
					if($(this).val() == ''){
						$(this).val(firstVal);
					}
				});		
			}					
	});
	
	
	$('.clear').click(function(){
		contactFormsInputs.each(function(i){
			$(this).val(contactFormFirstVals[i]);
		});
	});
}



var sendingContact = false;
function sendContact(){
	if(sendingContact == true){return false}
	sendingContact = true;
	var form = $('form.contacts_form');
	var formData = form.serialize();
	var url = $.domain+'/sendContact';
	
	$.post(url, formData, function (data){
		sendingContact = false;	
		obj = string2json(data);
		switch(obj.status){
			
			case false:
				viewMess(obj.mess);
				return false;
				break;
			case true:
				viewMess(obj.mess);
					contactFormsInputs.each(function(i){
						$(this).val(contactFormFirstVals[i]);
					});
				break;
			
			default:
				viewMess('Error!');
				return false;
				break;
			
		}
	});	
}

function loginField(){
	var login = $('.header .login');
	var openButton = login.find('#openButton');
	var closeButton = login.find('#closeButton');
	
	var loginClosed = login.find('.loginClosed');
	var loginOpened = login.find('.loginOpened');
	
	var loginForm = login.find('form');
	var username = loginForm.find('input.username');
	var password = loginForm.find('input.password[type=password]');
	var passwordText = loginForm.find('input.password[type=text]');
	
	var loginButton = loginForm.find('#loginButton');
	
	password.hide();
	
	var usernameVal = username.val();

	
	openButton.click(function(e){
		e.preventDefault();
		openForm();
	});
	
	closeButton.click(function(e){
		e.preventDefault();
		closeForm();
	});
	
	function openForm(){
		login.animate({"top":"-200px"}, 300, 'easeOutSine', function(){
			loginClosed.css({"display":"none"});
			loginOpened.css({"display":"block"});
			login.animate({"top":"-50px"}, 300);
		});
	}
	
	function closeForm(){
		login.animate({"top":"-200px"}, 300, 'easeOutSine', function(){
			loginClosed.css({"display":"block"});
			loginOpened.css({"display":"none"});
			login.animate({"top":"-150px"}, 300);
		});
	}
	
	/*
	 * Това е за скриване на началните текстове от полетата на логина
	 */
	username.focus(function(){
		if($(this).val() == usernameVal){
			$(this).val('');
		}
	});	
	username.blur(function(){
		if($(this).val() == ''){
			$(this).val(usernameVal);
		}
	});
	
	passwordText.focus(function(){		
		$(this).hide();
		password.show();
		password.focus();	
	});
	
	password.blur(function(){
		if($(this).val() == ''){
			passwordText.show();
			$(this).hide();
		}
	});
	
	/*
	 * Събиране и изпращане на данните за логин
	 */
	loginButton.click(function(){
		var formData = loginForm.serialize();
		var url = $.domain+'clients/login';
		$.post(url, formData, function(data){
			obj = string2json(data);
			
				switch(obj.status){			
					case false:
						viewMess(obj.mess);						
						break;
					case true:
						window.location.reload();
						break;
					
					default:
						viewMess('Error!');
						return false;
						break;
					
				}
		});
	});
}




function registerClient(){
	//Проверяваме за валидност на попълнените данни
	var form = $('form.register');
	var formData = form.serialize();
	var url = $.domain+'clients/register';
	$.post(url, formData, function(data){
		var obj = string2json(data);
		switch(obj.status){
			case false:
				viewMess(obj.mess);
				break;
			case true:
				viewMess(obj.mess);
				clearForm(form);
				break;
				
			default:
				viewMess('Error');
				break;
		}	
	});
}

function editReg(){
	//Проверяваме за валидност на попълнените данни
	var form = $('form.register');
	var formData = form.serialize();
	var url = $.domain+'clients/editReg';
	$.post(url, formData, function(data){
		var obj = string2json(data);
		switch(obj.status){
			case false:
				viewMess(obj.mess);
				break;
			case true:
				viewMess(obj.mess);
				clearForm(form);
				break;
				
			default:
				viewMess('Error');
				break;
		}	
	});
}


function logClient(){
	//Проверяваме за валидност на попълнените данни
	var form = $('form.login');
	var formData = form.serialize();
	var url = $.domain+'clients/login';
	$.post(url, formData, function(data){
		var obj = string2json(data);
		switch(obj.status){
			case false:
				viewMess(obj.mess);
				break;
			case true:
				window.location.reload();
				break;
				
			default:
				viewMess('Error');
				break;
		}	
	});
}


function forgottenPass(){
	if($('input[name=email]').lenght==0){return false;}
	var email = $('input[name=email]').val();
	if(email==''){return false;}
	var url = $.domain+'/clients/forgotten';
	$.post(url, {email:email}, function(data){
		openModal(data);
	});
}

function add2cart(key){
	var url = $.domain+'catalog/add2cart';
	$.post(url, {key:key}, function(data){
		viewMess(data);
	});
	return false;
}

function editQuantityForm(key){
	var url = $.domain+'catalog/editQuantityForm';
	$.post(url, {key:key}, function(data){
		openModal(data);
	});
}

function editQuantity(key){
	var quantity = $('select#quantity option:selected').val();
	
	var url = $.domain+'catalog/editQuantity';
	$.post(url, {key:key, quantity:quantity}, function(){
		window.location.reload();
	});
}

function removeFromCart(key){
	var url = $.domain+'catalog/removeFromCart';
	if(confirm('Сигурни ли сте, че искате да премахнете този продукт от вашата поръчка?')){
		$.post(url, {key:key}, function(){
			window.location.reload();
		});
	}
}

function emptyCart(){
	var url = $.domain+'catalog/emptyCart';
	if(confirm('Сигурни ли сте, че искате да изтрите цялата поръчка?')){
		$.post(url, {empty:true}, function(){
			window.location.reload();
		});
	}
}

function sendOrder(){
	var formData = '';;
	var form = $('form.anonimousReg');
	if (form.length > 0) {
		formData = form.serialize();
	}
		
	var url = $.domain+'catalog/order';
	$.post(url, formData, function(data){
		var obj = string2json(data);
		switch(obj.status){
			case false:
				viewMess(obj.mess);
				break;
			case true:
				window.location.href = $.domain;
				break;
			default:
				viewMess('Error');
				break;
		}	
	});
	
}




function commentForm(){
	var form = $('.otzivi form.form');
	if(form.length===0){
		return false;
	}
	
	var url = $.domain+'sendComment';
	var sendLink = form.find('a.send');
	
	inputs = form.find('input, textarea');
	inputs.each(function(){
			var input = $(this);
					
				var firstVal = input.val();
				input.focus(function(){
					if($(this).val() == firstVal){
						$(this).val('');
					}
				});
				
				input.blur(function(){
					if($(this).val() == ''){
						$(this).val(firstVal);
					}
				});		
	});
	
	sendLink.click(function(e){
		e.preventDefault();
		
		formData = form.serialize();	
		$.post(url, formData, function(data){
			var obj = string2json(data);
			switch(obj.status){
				case false:
					viewMess(obj.mess);
					break;
				case true:
						alert(obj.mess);
						window.location.href= obj.url;
					
					
					break;
					
				default:
					viewMess('Error');
					break;
			}
		});
	});
}


function addCommentForm(key){
	var url = $.domain+'catalog/addCommentForm';
	$.post(url, {key:key}, function(data){
		openModal(data);
	});
}

function addComment(key){
	var comment = $('textarea#comment').val();
	var url = $.domain+'catalog/addComment';
	$.post(url, {key:key, comment:comment}, function(){
		window.location.reload();
	});
}

