	
	
	/*
		Plugin :  Pages
		Description : Post a reaction
		Author : Dennis Laupman - (dennis[at]pluxbox.nl)
		Created : 12/11/2008
		
		CHANGES
		12/11/2008 - 15:10 | Dennis
		Start
		
		06/07/2009 - 13:50 | Floris
		Adapted for Luisterpaal
	*/
	
	$.luisterpaalReactions =
	({
			build : function( args )
			{
				var	args = args || {};
					args.nid = $("input.article-id").val() || 0;
				
				try
				{
					var	obj = $(this);
						obj.find(".reaction-input").bind("submit", function()
						{	
							if($.luisterpaalReactions.validateForm( obj.find(".reaction-input") ))
							{
								$.luisterpaalReactions.sendForm( obj.find(".reaction-input"), args );
							}
							else
							{
								top.location.href = "#top-post-reaction";
								$("div.server-message p.error").show();
							}
							
							return false; 
						});

						$.luisterpaalReactions.submitEvent( obj );
						$("div.reactions").pages( args );

					$.luisterpaalReactions.log( "info", "Class \"lp reactions\" wordt geladen");			
				}
				catch(err)
				{
					$.luisterpaalReactions.log( "error", "Class \"lp reactions\" wordt NIET geladen - " + err);
				}	
			}
			
		,	submitEvent : function( obj )
			{
					//obj.find(".button").bind("mouseenter", function() { $(this).css( { background:"#e6e6e6" } ); });
					//obj.find(".button").bind("mouseleave", function() { $(this).css( { background:"#ffffff" } ); });
					obj.find("input:not(.button)").bind("mouseup", function() { if($(this).val() == "Bericht" || $(this).val() == "0000") {$(this).val(""); } $(this).css({ color:"#333" }); });
			}
			
		,	sendForm : function( obj, args )
			{
				try
				{
					var	postVar = 
						{
								nid : $("input.article-id").val() || ""
							,	name : obj.find("input.name").val() || ""
							,	email : obj.find("input.email").val() || ""
							,	message : obj.find("textarea.message, input.message").val() || ""
							,	captcha : obj.find("input.captcha").val() || ""
							,	captcha_checksum : obj.find("input.captcha_checksum").val() || ""
							,	captcha_time : obj.find("input.captcha_time").val() || ""
						}
					
					$.getJSON("/api/2008/pb.luisterpaal.reactions.api.php", postVar, function( data )
					{
						var data = eval(data);
						
						if(data.success)
						{		
							$.luisterpaalReactions.log( "warn", "Class \"lp reactions\" wordt geladen");		
							
							obj.hide();
							$("div.server-message p.send").show();
						
							var	newMessage 	 = 	"<tr class=\"highlighted\"><td class=\"author\">"+postVar.name+"</td><td class=\"date\">vandaag</td></tr>"
											 +	"<tr class=\"highlighted\"><td class=\"message\" colspan=\"2\">"+postVar.message+"</td></tr>";
									
            
							var	newShout 	 = 	'<div class="left highlighted"><p></p>Vandaag</div><div class="right highlighted"><p>' + postVar.message + '</p></div><div class="clear"></div>';

							var	newShoutHome 	 = 	'<tr  class="highlighted"><td class="date">Vandaag</td><td>' + postVar.message + '</td></tr>';

							$("div.page-content").find(".first").before( newMessage );
							$("div.page-content").find(".firstShout").before( newShout );
							$("div.page-content").find(".firstShoutHome").before( newShoutHome );

							top.location.href = "#top-reaction";

						}
						else
						{
							$.luisterpaalReactions.log( "error", "Fouten gevonden");							
							for(error in data.errors)
							{
								$("div.server-message p.error").show();
								$("label."+p.errors[error]).addClass("add-error");
								top.location.href = "#top-post-reaction";
							}
						}
					});
				}
				catch(err)
				{
					$.luisterpaalReactions.log( "error", "sendForm niet uitgevoerd - " + err);
				}	
				
				
			}
		
		,   validateForm : function( obj )
			{
				var	errors = false; 
			
				$(".add-error").removeClass("add-error");
				$("div.server-message p.error").hide();
		
				try
				{
					if(!obj.find("input.name").val())
					{
						$("label.name").addClass("add-error");
						errors = true;
					}
					
					if(!obj.find("input.email").val())
					{
						$("label.email").addClass("add-error");
						errors = true;
					}
					else
					{
						var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
		
						if(!emailPattern.test(obj.find("input.email").val()))
						{
							$("label.email").addClass("add-error");
							errors = true;
						}
					}
					
					if(!obj.find("textarea.message, input.message").val())
					{
						$("label.message").addClass("add-error");
						errors = true;
					}
					
					var	code = obj.find("input.captcha").val();
					if(code.length < 4)
					{
						$("label.captcha").addClass("add-error");
						errors = true;
					}
					
					$.luisterpaalReactions.log( "info", "Form validatie is uitgevoerd");
				}
				catch(err)
				{
					$.luisterpaalReactions.log( "error", "Form validatie niet uitgevoerd - " + err);
				}	
				
				if(errors)
                	return false;
				else
					return true;
            }

			
		,	log : function( type, msg )
			{
				
				$.pbLog.debug( { title:"Reactions", msgs : [{type:type, msg:msg }] } );
			}
	});
	
	$.fn.extend
	({
		luisterpaalReactions : $.luisterpaalReactions.build
	});
	
