$.fn.loader = function(options) {
	var h = this.height();
    this.html('<div class="Loader" style="height: '+h+'px" id="loader"></div>');
};




/**
 * Bind link so that it loads into specified element.
 * @param link
 * @param target
 * @param expose
 * @return
 */

/*
function BindLoadToLink(link, expose) {

  $(link).click(function(){

	var target = $(link).attr("rel");
	var url = $(link).attr("href");
	
	$(target).loader();
	$(target).load(url);
	return false;
  });  
  
}*/


/**
 * All links with "rel" attribute will load to overlay window.
 * @return
 */
function BindLinkToAdminOverlay(link, modal) {
	  $(link).overlay({ 
	    expose: 'silver' ,
	    //effect: 'apple', 
	    
	    closeOnClick: !modal,
	    
	    onBeforeLoad: function() { 
	      var wrap = $("#overlayContentWrap"); 
	 
	      // load the page specified in the trigger 
	      wrap.loader();
	      wrap.load(this.getTrigger().attr("href"));  
	    } 
	    
	  });
	}


/**
 * All links with "rel" attribute will load inside element specified in their "rel" attribute.
 * @return false
 */
function BindLinkToRel(link) {
	
	$(link).click(function(){

		var output_element = $(link).attr("rel");
		var url = $(link).attr("href");
		
		$(output_element).loader();
		$(output_element).load(url);
		return false;
	});  
}




function bindAjaxForm(form, output) {

  var options = { 
      target:          output  // target element(s) to be updated with server response 
      //beforeSubmit:  showRequest  // pre-submit callback 
      //success:       showResponse  // post-submit callback 

  }; 
  
  $(form).ajaxForm(options);

}


/////////////////////////////////////////
  


//pre-submit callback 
function showRequest(formData, jqForm, options) { 
	// formData is an array; here we use $.param to convert it to a string to display it 
	// but the form plugin does this for you automatically when it submits the data 
	var queryString = $.param(formData); 

	// jqForm is a jQuery object encapsulating the form element.  To access the 
	// DOM element for the form do this: 
	// var formElement = jqForm[0]; 

	alert('About to submit: \n\n' + queryString); 

	// here we could return false to prevent the form from being submitted; 
	// returning anything other than false will allow the form submit to continue 
	return true; 
} 

//post-submit callback 
function showResponse(responseText, statusText)  { 
	// for normal html responses, the first argument to the success callback 
	// is the XMLHttpRequest object's responseText property 

	// if the ajaxForm method was passed an Options Object with the dataType 
	// property set to 'xml' then the first argument to the success callback 
	// is the XMLHttpRequest object's responseXML property 

	// if the ajaxForm method was passed an Options Object with the dataType 
	// property set to 'json' then the first argument to the success callback 
	// is the json data object returned by the server 

	alert('status: ' + statusText + '\n\nresponseText: \n' + responseText + 
	'\n\nThe output div should have already been updated with the responseText.'); 
}   

