
Evonux.Page = {};

Evonux.Page.get = function (/* data, container, onComplete */) 
{
    var		p_data = null;
    var		p_container = null;
    var		p_complete = function () {};

    // Get arguments
    if (arguments.length > 0)
    p_data = arguments[0] + "&dyn=1";
    if (arguments.length > 1)
    p_container = $(arguments[1]);
    if (arguments.length > 2)
    p_complete = arguments[2];    

    // Load ajax    
    //    document.body.style.cursor = 'wait'; 
    new Request.HTML ({url: U_ROOT + "/", data: p_data, update: p_container, onComplete: p_complete, evalScripts: true}).get ();
    //    document.body.style.cursor = 'auto'; if (arguments[1] == "msg") {$('msgbox').style.display = "block"; }
}

Evonux.Page.post = function (/* data, container, onComplete, url */)
{
    var         p_data = null;
    var         p_container = null;
    var         p_complete = function () {};
    var         p_url = 'index.php';

    // Get arguments
    if (arguments.length > 0)
    p_data = $(arguments[0]);
    if (arguments.length > 1)
    p_container = $(arguments[1]);
    if (arguments.length > 2)
    p_complete = arguments[2];
    if (arguments.length > 3)
    p_url = arguments[3];

    // Post form
    new Request.HTML ({url: U_ROOT + '/' + p_url + '?dyn=1', data: p_data, update: p_container, onComplete: p_complete, evalScripts: true}).post ();
}

Evonux.Page.submit = function (prefix)
{    
    var		frm;
    var		box;
    var		msg;

    frm = $("frm-" + prefix);
    box = $("msg-box-" + prefix);
    msg = $("msg-" + prefix);

    // Save WYSIWYG content
    Evonux.Control.saveWysiwyg ();

    // Post request
    Evonux.Page.post (frm, msg, function ()
    {
	if (this.response.text)
	    box.style.display = "block";
	if (frm.save && frm.save.value)	    	       
	    frm.save.value = 0;	    
    });
}

Evonux.Page.reset = function (prefix)
{    
    var		frm = $('frm-' + prefix);
    
    if (frm.save && frm.save.value)
    {
	frm.save.value = 0;
    }
}

Evonux.Page.relocate = function (url)
{
    document.location = url;
}

Evonux.Page.load = function (/* data, container, onComplete */)
{   
    var         p_data = null;
    var         p_container = null;
    var         p_complete = function () {};
    
    // Default args
    p_data = arguments[0];
    p_container = (arguments.length < 2 ? "content" : arguments[1]);
    p_complete = (arguments.length < 3 ? p_complete : arguments[2]);
    Evonux.Page.get (p_data, p_container, p_complete);
}

Evonux.Page.loadUrl = function (url)
{
    new Request.HTML ({url: url, data: "dyn=1", update: "content", evalScripts: true}).get ();
}

Evonux.Page.reload = function ()
{    
    document.location = document.location;
}

Evonux.Page.goBack = function (prefix, action)
{
    var		frm = $('frm-' + prefix);
    var		url = "";
    var		go = true;

    // Display a confirm pop up if document not saved
    /*
      if (frm.save && frm.save.value == 1)
      {
      if (!confirm (metadatas['MSG_SAVE']))
      go = false;
      }
    */

    // Folow URL
    if (go == true)
    {
	// Unload WYSIWYG
	Evonux.Control.unloadWysiwyg ();
	
	// Load URL & unlock item after
	Evonux.Page.load (action ? 'module=' + frm.module.value + '&action=' + action : 'module=webpage&action=view&ref=ADMIN', 'content', Evonux.Page.get ('module=' + frm.module.value + '&action=lock&oid=' + frm.oid.value + '&value=0'));	
    }
}

Evonux.Page.addSaveHandler = function (prefix)
{    
    var		frm = $('frm-' + prefix);
    var         items = $$ (".ctrl");
    
    for (var i = 0; i < items.length; i++)
    {
	var item = items[i];
	document.body.addEvent ('change', function (e) 	{ frm.save.value = 1; });
    }
}

