﻿/*!
 * Ext JS Library 3.0.0
 * Copyright(c) 2006-2009 Ext JS, LLC
 * licensing@extjs.com
 * http://www.extjs.com/license
 */
var CX_THE_CLASSIC = Ext.extend(Ext.util.Observable, {
    constructor: function(config){
        this.addEvents('finished'); // specify the events we're going to fire
        CX_THE_CLASSIC.constructor.call(this, config);
    },
    
    create: function(pid, selObts){
		var me = this;
		 
		this.json = Ext.util.JSON.decode('{"id":"77"}');
		this.panel = new Ext.Panel({});
		this.pid = pid;
		
		var connUrl='/fileadmin/ressources_mob/mt_results/cx/cx_the_classic/form_functions.php';
		var conn = new Ext.data.Connection();
		var responseObject = new Object();
		conn.request({
			url: connUrl,
			method: 'POST',
			params:{
				actionMobi: 'feImport',
				pid: me.pid,
				nodes: selObts
			},
			success: function(responseObject){	
				me.json = Ext.util.JSON.decode(responseObject.responseText);
				
				me.panel = new Ext.Panel({ 
					title: me.json.labels[0].title,
					id: 'mt_results_cx_the_classic',
					layout:'form',
					width:'auto'
				});
				
				switch (me.json.id){
					case '1':	//tableau
						var columns = Array();
						var fields = Array();
						
						columns.push({id:'title', header: 'Title', width: 125, sortable: true, dataIndex: 'title'});
						fields.push('title');
						
						var obts = selObts.split(',');
						var i = 0;
						while (i < obts.length){
							columns.push({id:'c'+i,  header: 'C'+i, width: 86, sortable: true, renderer: pctChange, dataIndex: 'c'+i});
							fields.push('c'+i);
							i++;
						}
						
						me.panel.add(new Ext.grid.GridPanel({
							id: 'mt_results_cx_the_classic-grid',
							
							view: new Ext.grid.GridView({
									getRowClass : function (row, index) {
										if (index % 2 == 0){
											return 'mobi-even';
										}
										else{
											return 'mobi-odd';
										}
									}
								}),
							
							hideHeaders: true,
					        store: new Ext.data.JsonStore({
								root: 'blocks',
						        fields: fields,
								data: me.json
						    }),
					        columns: columns,
					        //stripeRows: true,
					        autoHeight: true,
					        autoWidth: true,
					        hideLabel: true
					    }));
						break;
					default: 
						break;
				}
				
				me.fireEvent('finished', me.panel);
			},
			failure:function(){ 
				return '{}';
			}
		});	
    },
	
	get: function(){
		var r = '';
		switch (this.json.id){
			case '2':	//case_a_cocher_fourchette
				var list = '';
				var i = 0;
				while (i < this.json.blocks.length){
					if (Ext.getCmp('mt_results_cx_the_classic_check-'+i).getValue() == true){
						if(list.length > 0){
							list += ',';
						}
						list += Ext.getCmp('mt_results_cx_the_classic_check-'+i).getName();
					}
					i++;
				}
				r = list;
				break;
			case '3':	//bouton_radio_fourchette
				r = Ext.getCmp('mt_results_cx_the_classic_radio-0').getGroupValue();
				break;
			case '4':	//liste_deroulante
				r = Ext.getCmp('mt_results_cx_the_classic_combo').getValue();
				break;	
			default: 
				break;
		}
		r = 't='+escape(r);
		return r;
	}
	
});

function pctChange(val){
	if( val == 0 ){
		return '<div cls="mobi-comp-ko">-</div>';
	}
	else{
		return '<div cls="mobi-comp-ok">'+val+'</div>';
	}
	return val;
}
