/*!
 * Ext JS Library 3.0.0
 * Copyright(c) 2006-2009 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
function mobi_redirect(url){
	window.location = url;
};
 
Ext.onReady(function(){
	var pid = document.getElementById('mobi-pid').innerHTML;
	var j = 0;
	var i = 0;

	var domain_name = window.location.hostname; //madeth
	/* IE causes problem with mt_search as the /index.php was not redirected to the root of the domain
	*/	
	
	var lang_close = 'Fermer la f&ecirc;netre';
	var lang_param = 'Param&eacute;trage';
	var lang_save = 'Enregistrer';
	var lang_submit = 'Chercher';
	var lang_info_submit_ok = 'Les informations ont &eacute;t&eacute; enregistr&eacute;es.';
	var lang_server_unreachable = 'Le serveur n\'as pas pu &ecirc;tre contact&eacute;.';
	
	var connUrl='/fileadmin/ressources_mob2/mt_search/form_functions.php';
	var conn = new Ext.data.Connection();
	var responseObject = new Object();
	conn.request({
		url: connUrl,
		method: 'POST',
		params:{
			actionMobi: 'getList',
			pid: pid
		},
		success: function(responseObject){	
			var json = Ext.util.JSON.decode(responseObject.responseText);
			var secPid = json[0];
			var list = json[1];
			var currentModule = 0;
			
			var searchPanel = new Ext.Panel({
				id: 'mobi-mt-search-panel',
				cls : 'mobi-mt-search-panel-'+pid,
				frame:true,
				width:'auto'
			});
			
			var submitBtn=new Ext.Button({
				id: 'mobi-mt-search-submitbtn',
				text: lang_submit
			});
			
			// genarate the modules
			/*
			while (i < list.length){
				var module = list[i];
				eval('var '+module+' = new '+module.toUpperCase()+'();'+
					module+'.on(\'finished\', function(panel){'+
						'searchPanel.add(panel);'+
						'searchPanel.render(\'mobi-mt-search\');'+
						'j++; '+
						'if(j==list.length){'+
							'searchPanel.add(submitBtn);'+
							'searchPanel.render(\'mobi-mt-search\');'+
						'}'+
					'});'
				);
				eval(module+'.create(pid);');
				i++;
			}*/
			
			var panelArr = new Array();
			while (i < list.length){
				panelArr[i] = null;
				var module = list[i];
				eval('var '+module+' = new '+module.toUpperCase()+'();'+
					module+'.on(\'finished\', function(panel){'+
						'var index = list.indexOf(panel.mobiClass.toLowerCase());'+
						'currentModule++;'+
						'panelArr[index]=panel;'+
						'if (currentModule == list.length){'+
							'j = 0;'+
							'while (j < panelArr.length){'+
								'searchPanel.add(panelArr[j]);'+
								'j++;'+
							'}'+

							'searchPanel.add(submitBtn);'+
							
							'searchPanel.render(\'mobi-mt-search\');'+
							
						'}'+
					'});'
				);
				var value = eval('json.'+module);
				eval(module+'.create(pid, \''+value+'\');');
				i++;
			}
			
			submitBtn.setHandler(function(btn, e){
					var urlAdd ='&';
					var c = 0;
					while (c < list.length){
						var module = list[c];
						var r = eval(module+'.get();');
						if(urlAdd.length > 1){
							urlAdd += '&';
						}
						urlAdd += r;
						c++;
					}
					if(urlAdd.length > 1){
						urlAdd += '&';
					}
					urlAdd += 'spid='+pid;
					// mobi_redirect('index.php?id='+secPid+urlAdd);
					mobi_redirect('http://'+domain_name+'/index.php?id='+secPid+urlAdd); //madeth test					
				}
			);
			
			searchPanel.render('mobi-mt-search');
		},
		failure:function(){ 
			Ext.Msg.alert('ERR', lang_server_unreachable);
		}
	});
});

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] == obj) {
            return true;
        }
    }
    return false;
}
