/**
 * @author threecolors
 */

$(document).ready (function(){
	
	// AJAX
	 $("#ajaxloader").ajaxStart(function(){
	 	$(this).show();
	 }).ajaxStop(function(){
	 	$(this).hide();
	 });
	 

	
	$("#vp-elements").find("li").hide();
	$("#vp-shortcuts").makeFirstLetterShortcuts("#vp-elements");
	$("#showAllTerms").click(function(){
		$("#vp-elements li").show();
		
	})
	$("#vp-shortcuts li.firstLetter").click(function(){
		var string = $(this).text();
		$("#vp-elements").showAllElemByLetter(string.charAt(0));
	})
	$("#showAllTerms").click(function(){
		$("#vp-elements li").show();
	})
	$("#searchVP").searchElem("#vp-elements li a", "#vp-elements li");
	
	$("#sendEmail").hide();
	
	
	$("#vp-elements a").click(function(){
		
		var termId = $(this).attr("rel");
		var ajaxurl = "/valuepedia/getTerm/id/"+termId;
		var ajaxcontent = "<h3>"+$(this).text()+"</h3>";
		$("#sendEmail, #vp-feedback").hide()
		
		
		$("#ajaxLoadedContent").empty();
		$.get(ajaxurl, function(data){
			$("#vp-elements li").hide();
			ajaxcontent += " " + data;
			$("#ajaxLoadedContent").html(ajaxcontent);
			$("#term").val("http://realexperts.pl/valuepedia/termin/id/"+termId);
			$("#vp-feedback").show();
		})
		return false;
	})
	
	$("#submit").click(function(){					   				   
		$(".error").hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;				
		
		var emailFromVal = $("#emailFrom").val();
		if(emailFromVal == '') {
			$("#emailFrom").after('<span class="error">Podanie adresu nadawcy jest obowiązkowe</span>');
			hasError = true;
		} else if(!emailReg.test(emailFromVal)) {	
			$("#emailFrom").after('<span class="error">Proszę wpisać poprawny adres email</span>');
			hasError = true;
		}	
		
		var messageVal = $("#message").val();
		if(messageVal == '') {
			$("#message").after('<span class="error">Proszę podać treść wiadomości</span>');
			hasError = true;
		}
		var termVal = $("#term").val();
		
		if(hasError == false) {
			$(this).hide();
			$("#sendEmail p.ajaxload").append('<img src="/static/img/index/loader.gif" alt="Loading" id="loading" />');
			
			$.post("/valuepedia/sendcomment",
				{ emailFrom: emailFromVal, message: messageVal, term: termVal },
   					function(data){
						$("#sendEmail").slideUp("normal", function() {				   
							
							$("#sendEmail").before('<p> Twoje zgłoszenie zostało wysłane...</p>');											
						});
   					}
				 );
		}
		
		return false;
	});
})
$.fn.showAllElemByLetter = function(letter){
	$(this).find("li").each(function(index){
		if ($(this).find("a").text().charAt(0).toUpperCase() == letter)
			$(this).show();
		else
			$(this).hide();
	})
}

$.fn.makeFirstLetterShortcuts = function(listContainer) {
	var key = "";
	var shortcutsContainer = this;
	$(listContainer).find("a").each(function(index){
		var str = $(this).text();
		var firstLetter = str.charAt(0).toUpperCase();
		if (!key) $(listContainer).showAllElemByLetter(firstLetter); //shows all terms from first letter shortcuts
		if (key != firstLetter)
		{
			$(shortcutsContainer).append('<li class="firstLetter"><a>'+firstLetter+'</a></li>');
			key = firstLetter;
		}		
	})
}




