//$(document).ready(function (){
//	Ext.onReady(function (){init_app();}); // fin ext ready
//}); // document ready


Ext.onReady(function (){
	init_app();
}); // fin ext ready

function init_app(){
	// gere un pb de double affichage du menu
	if ($('#top-menu-render').html() != ''){
		return;
	}

	var menuItemsRaw	= eval($('#top-menu').val());
    var menuItems		= menuItemsRaw['menu'];

    var topToolbar = new Ext.Toolbar({
    renderTo: 'top-menu-render'
    });

    // test menu
    /*var menu = new Ext.menu.Menu();
    topToolbar.add({
    	text: menuItems[i][0]['libelle'],
    	menu: menu
    });

    return;*/


    var menuActions = new Array();
    /* crée le menu */
    for (i = 0; i < menuItems.length; i++) {
    	if (menuItems[i].length > 1) {
    		var menu = new Ext.menu.Menu();
    		for (j = 1; j < menuItems[i].length; j++) {
    			str = 	'menu.add(new Ext.Action({';
    			str +=	'text: "' + menuItems[i][j]['libelle'] + '",';
    			str +=	'handler: function(){window.location.href = "' + $('#ROOT_URL').val() + menuItems[i][j]['url'] + '";}';
    			str +=	'}));';
    			eval(str);
    		}

    		topToolbar.add({
    			text: menuItems[i][0]['libelle'],
    			menu: menu
    		});
    	} else {
    		str = 	'topToolbar.add(new Ext.Action({';
    		str +=	'text: "' + menuItems[i][0]['libelle'] + '",';
    		str +=	'handler: function(){var url="'+menuItems[i][0]['url']+'";if (url.indexOf("logout") >= 0){Ext.MessageBox.confirm("Confirmation","Se déconnecter ?", function (confirme){if(confirme == "yes"){window.location.href = "' + $('#ROOT_URL').val() + menuItems[i][0]['url'] + '";}}); }else{window.location.href = "' + $('#ROOT_URL').val() + menuItems[i][0]['url'] + '";}}';
    		str +=	'}));';
    		eval(str);
    	}
    }

    switch($('body').attr('id')){
    case 'contact' :
    	if ($('#frm-contact #btn-envoyer').length > 0) {
    	$('#frm-contact #btn-envoyer').bind('click', function (){
    		$('#frm-contact').submit();
    	});
    	}
    break;
    }

	if (!show_errors()){
		return false;
	}
} // fin fonction init

/*
	Déclare un "DataStore" et place l'objet dans la variable
	dont le nom est passé dans le paramère "id"
*/
function loadDataStore(id, ajax_action, task, columns){

	eval_str = id + " = new Ext.data.Store({\n";
	eval_str += " 	id: '" + id + "',\n";
    eval_str += "	proxy: new Ext.data.HttpProxy({\n";
    eval_str += "            url: $('#ROOT_URL').val() + '/ajax/" + ajax_action + "/',\n";
    eval_str += "            method: 'GET'\n";
    eval_str += "        }),\n";
    eval_str += "    baseParams:{task: '" + task + "'},\n";
	eval_str += "	reader: new Ext.data.JsonReader({\n";
	eval_str += "        root: 'results',\n";
	eval_str += "        totalProperty: 'total',\n";
	eval_str += "        id: '" + columns[0]['name'] + "'\n";
	eval_str += "	},[ \n";
	for(i = 0; i < columns.length; i++) {
		eval_str += "    {name: '" + columns[i]['name'] + "', type: '" + columns[i]['type'] + "', mapping: '" + columns[i]['name'] + "'}";
		if (i  < (columns.length - 1)) {
			eval_str += ",\n";
		}
	}
	eval_str += "	]),\n";
	eval_str += "	sortInfo:{field: '" + columns[1]['name'] + "', direction: 'ASC'}\n";
	eval_str += "});";

	eval(eval_str);
}

function show_errors(){
	if ($('#func_errors').length > 0) {
		errors	= eval($('#func_errors').val());
		str = '';
        if (errors.length > 0) {
			for (i = 0; i < errors.length; i++) {
				str += errors[i] + "<br />";
			}
			Ext.MessageBox.alert('Erreur', str);
        	return false;
        }
	}
	return true;
}