function ajax_link(update_holder, url, loading_holder, loading_string, loaded_holder, loaded_string){
	if(loaded_holder && loaded_holder!=""){
		new Ajax.Updater(update_holder,url, 
			{	asynchronous:true, 
				evalScripts:true, 
				onLoading:function(request) {
					$(loading_holder).innerHTML = loading_string;
				},
				onComplete:function(request) {
					$(loaded_holder).innerHTML = loaded_string;
				}
			}
		);
	}else{
		new Ajax.Updater(update_holder,url, 
			{	asynchronous:true, 
				evalScripts:true, 
				onLoading:function(request) {
					$(loading_holder).innerHTML = loading_string;
				}
			}
		);
	}
}

function ajax_submit(update_holder, url, loading_holder, loading_string, form, loaded_holder, loaded_string){
	if(loaded_holder && loaded_holder!=""){
		new Ajax.Updater(update_holder,url, 
			{	asynchronous:true, 
				evalScripts:true, 
				onLoading:function(request) {
					$(loading_holder).innerHTML = loading_string;
				},
				onComplete:function(request) {
					$(loaded_holder).innerHTML = loaded_string;
				},
				parameters:Form.serialize($(form)), 
		 		requestHeaders:['X-Update', update_holder]
			}
		);
	}else{
		new Ajax.Updater(update_holder,url, 
			{	asynchronous:true, 
				evalScripts:true, 
				onLoading:function(request) {
					$(loading_holder).innerHTML = loading_string;
				},
				parameters:Form.serialize($(form)), 
		 		requestHeaders:['X-Update', update_holder]
			}
		);
	}
}