/**
* @ param : params, an array containing : html element to update and callbak to execute when form was submitted
*/
function ajax_submit(e, params)
{
	new Event(e).preventDefault();

    var container = params.container;
    var callback = params.callback;
    var callbefore = params.callbefore;

    var Expression = new RegExp("^((http://)?[^/]*)(.*)$");
    var old_action = e.target.action;
    var matches = Expression.exec(e.target.action);
    e.target.action = matches[1]+"/ajax"+matches[3];

    if(callbefore)
        callbefore();

    if ( container!=undefined )
    {
        e.target.send({
            update: container,
            evalScripts: true,
            onComplete: callback
        });
    }
    else
    {
        e.target.send({
            evalScripts: true,
            onComplete: callback
        });
    }
    
    if (!container && MOOdalBox)
    {
        MOOdalBox.close();
    }
    
    e.target.action = old_action;
    return correctSubmitHandler(e);
}


function ajax_link(e, params)
{
	new Event(e).preventDefault();
	
    var container = params.container;
    var callback = params.callback;
    var callbefore = params.callbefore;

    var Expression = new RegExp("^((http://)?[^/]*)(.*)$");
    var old_action = e.target.href;
    var matches = Expression.exec(e.target.href);
    e.target.href = matches[1]+"/ajax"+matches[3];

    if(callbefore)
        callbefore();
		
			
    if ( container!=undefined )
    {
		var $request = new Request({
			url: e.target.href,
			method: 'get',
			update: container,
			evalScripts: true,
			onComplete: Class.empty || callback
		}).send();
    }

    
    if (!container && MOOdalBox)
    {
        MOOdalBox.close();
    }
    
    e.target.href = old_action;
    return correctSubmitHandler(e);
}

/**
* 
*/
function ajax_reset(e, params)
{
    var container = params.container;
    var callback = params.callback;
    
    var Expression = new RegExp("^((http://)?[^/]*)(.*)$");
    var old_action = this.action;
    var matches = Expression.exec(this.action);
    request_url = matches[1]+"/ajax"+matches[3];

	$request = new Request({
		url: request_url,
        update: container , 
        evalScripts: true,
		method: 'get',
		onComplete: callback
	});
	
	$request.send();
    
    return correctSubmitHandler(e);
}

/**
*
*/
function correctSubmitHandler(event)
{
    if (event && event.preventDefault)
        event.preventDefault();

    event.returnValue = false;
  
    if (event.stopPropagation)
        event.stopPropagation();
    event.cancelBubble = true;

	return false;
}

/**
*
*/
var myGrowl = null;

function showLoader()
{
	window.notimooManager.show({
     	title: '',
     	message: 'Chargement en cours',
     	width: 200, 
        visibleTime: 2500
     });
    //$('loader').style.display = "inline";
    return false;
}

/**
*
*/
function hideLoader()
{
	setTimeout(function() {
		window.notimooManager.close($$('.notimoo')[0]);
	}, 1000);
}

