	  function addButtonAction(buttonId, data, errorMessageDivID, pageToLoad, formIdToHide, divToShow)
	  {		
	  		$("#"+buttonId).unbind();
	  		$("#"+buttonId).click(function()
			{	
				this.disabled = true;
				$("#"+errorMessageDivID).load(pageToLoad, data(), 
					function(responseText)
					{ 	if(responseText.indexOf("Messages") > -1)
						{ 
							document.getElementById(buttonId).disabled = false;	
						}else
						{
							$("#"+formIdToHide).hide("slow");
		 					$("#"+divToShow).show("fast");
						} 
					} 
			); 
			return false;			
		});
	  }
	  
	  
	  
	  function loadADivData(divToLoad, data, pageToLoad)
	  {
	  		var callbackA = function() {};	
			return loadADivDataCallback(divToLoad, data, pageToLoad, callbackA);  
	  }
	  
	  function loadADivDataCallback(divToLoad, data, pageToLoad, varFunct)
	  {
	  		$(divToLoad).hide("slow");
			$(divToLoad).load(pageToLoad, data(this),  
				function(responseText)
				{
			  		$(divToLoad).show("slow");
			  		varFunct();
				}
			);
			return false;  
	  }
	  
	  function loadADiv(divToLoad, pageToLoad)
	  {
	  		var dataFunction = function(item) 
			{ 
				var data = {};
				return data;
			};	
	  		loadADivData(divToLoad, dataFunction, pageToLoad);
			return false;  
	  }
	  
	  function callbackAction(buttonId, data, divToLoad, pageToLoad, varFunct)
	  {
			$("#"+buttonId).click(function()
			{
					$("#"+divToLoad).load(pageToLoad, 
					data, 
						function(responseText)
						{
							varFunct();
						}
					);
					return false;
			});	  
	  }
	  
	  function callbackAction2(buttonId, data, divToLoad, pageToLoad, varFunct)
	  {
			$(buttonId).unbind();
			$(buttonId).click(function()
			{
					$(divToLoad).load(pageToLoad, 
					data(this), 
						function(responseText)
						{
							varFunct(responseText);
						}
					);
					return false;
			});	  
	  }
	  
	  function actionPreAndPost(buttonId, data, divToLoad, pageToLoad, beforeFunct, varFunct)
	  {
			$(buttonId).unbind();
			$(buttonId).click(function()
			{
					var result = beforeFunct();
					if(!result)
						return false;
					
					$(divToLoad).load(pageToLoad, 
					data(this), 
						function(responseText)
						{
							varFunct(responseText);
						}
					);
					return false;
			});	  
	  }	  
	  
	  function callbackActionID(buttonId, data, divToLoad, pageToLoad, varFunct)
	  {
			$(buttonId).unbind();
			$(buttonId).click(function()
			{
					var id = splitValue(this.id, "-", 2);
					$(divToLoad + "-" + id).load(pageToLoad, 
					data(this), 
						function(responseText)
						{
							varFunct(responseText, id);
						}
					);
					return false;
			});	  
	  }
	  
	  function loadIntoBackground(buttonId, data, pageToLoad, beforeFunct, varFunct)
	  {			
			var button = $(buttonId);
			
			button.unbind();
			button.click(function()
			{
					var result = beforeFunct();
					if(!result)
						return false;
						
					loadIntoBackgroundBasic(data, button,pageToLoad, varFunct);
					return false;
			});	  
	  }
	  
	  function loadIntoBackgroundBasic(data, button, pageToLoad, varFunct)
	  {
 			addBackground();
			$("#middleDiv").load(pageToLoad, 
			data(button), 
				function(responseText)
				{
					varFunct(responseText);
				}
			);
	  }	  
	  
	  
     
   function addBackground()
   {
        removeBackground();
        $('html, body').animate({scrollTop:0}, 'fast'); 
		        var background = $('<div/>');
			    $(background).attr('id', 'overlayBackground')
			    .css(
			     {
			      'width' : $(document).width(),
			      'height' : 2048,
			      'opacity' : '.5'
			     })
			    .animate(
			     {
			      'opacity' : '.5'
			     }, 1000);
			                   
			     $('body').append(background);
			     addToBackground();
   }
	  
	  
   function addToBackground()
   {
         var middleDiv = $('<div/>');
	     var width = $('body').width();
	     $(middleDiv).attr('id', 'middleDiv').css(
	      {
	       		'left' : width/2 - 200	       		
	      });
	     $('body').append(middleDiv);
   }	  
	  
   function removeBackground()
   {
   	  $("#middleDiv").remove();
   	  $("#overlayBackground").remove();
   }  	  
	  
   function splitValue(value, token, index)
   {
 		var arr = value.split(token);
 		return arr[index];
   }
	  