	
	
	/*
		Plugin :  Shoutbox
		Description : Post a reaction
		Author : Dennis Laupman - (dennis[at]pluxbox.nl)
		Created : 12/11/2008
		
		CHANGES
		12/11/2008 - 15:10 | Dennis
		Start

		CHANGES
		07/03/2009 - 17:00 | Boy
		Aangepast voor 3FM Presents Shoutbox

	*/
	
	$.shoutbox =
	({	
			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($.shoutbox.validateForm( obj.find(".reaction-input") ))
							{
								$.shoutbox.sendForm( obj.find(".reaction-input"), args );
							}
							else
							{	
								//top.location.href = "#top-post-reaction";
								$("div.server-message div.error").show();
							}
							
							return false; 
						});

						$.shoutbox.submitEvent( obj );
						//$("div.shoutbox").pages( args );
	
					$.shoutbox.log( "info", "Class \"shoutbox\" wordt geladen");			
				}
				catch(err)
				{
					$.shoutbox.log( "error", "Class \"shoutbox\" 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(".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.reactions.api.php", postVar, function( data )
					{
						var data = eval(data);
						
						if(data.success)
						{		
							$.shoutbox.log( "warn", "Class \"shoutbox\" wordt geladen");		
							
							obj.hide();
							$("div.server-message .send").show();
						
							/*
							var	newMessage 	 = 	"<tr class=\"color3\"><td class=\"author\">"+postVar.name+"</td><td class=\"date\">vandaag</td></tr>"
											 +	"<tr class=\"color3\"><td class=\"message\" colspan=\"2\">"+postVar.message+"</td></tr>";
			
							$("div.page-content").find(".first").before( newMessage );
							*/	
							
							//top.location.href = "#top-reaction";
						}
						else
						{
							for(error in data.errors)
							{
								$("div.server-message .error").show();
								$("label."+data.errors[error]).addClass("add-error");
								top.location.href = "#top-post-reaction";
							}
						}
					});
				}
				catch(err)
				{
					$.shoutbox.log( "error", "sendForm niet uitgevoerd - " + err);
				}	
				
				
			}
		
		,   validateForm : function( obj )
			{
				var	errors = false; 
			
				$(".add-error").removeClass("add-error");
				$("div.server-message div.error").hide();
		
				try
				{
					if(!obj.find("input.name").val())
					{
						$("label.name").addClass("add-error");
						$.shoutbox.log( "error", "Fout bij naam");
						errors = true;
					}
					
					if(!obj.find("input.email").val())
					{
						$("label.email").addClass("add-error");
						$.shoutbox.log( "error", "Fout bij email");
						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");
							$.shoutbox.log( "error", "Fout bij email");
							errors = true;
						}
					}
					
					if(!obj.find(".message").val())
					{
						$("label.message").addClass("add-error");
						$.shoutbox.log( "error", "Fout bij message");
						errors = true;
					}
					
					var	code = obj.find("input.captcha").val();
					if(code.length < 4)
					{
						$("label.captcha").addClass("add-error");
						$.shoutbox.log( "error", "Fout bij captcha");
						errors = true;
					}
					
					$.shoutbox.log( "info", "Form validatie is uitgevoerd");
				}
				catch(err)
				{
					$.shoutbox.log( "error", "Form validatie niet uitgevoerd - " + err);
				}	
				
				if(errors)
                	return false;
				else
					return true;
            }

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