// r3fieldRenderer
// 
// Klasse mit Render funktionen
// 

var r3fieldRenderer = new fClass({

	getRenderer:function(field,r3grid){
		this.r3grid = r3grid;
		field.r3type = field.r3type || '-';
	
		switch (field.r3type) {
			case "-":
				return this.renderDefault;
			break;
			case "datefield":
				return this.renderDate;
			break;
			case "xdatetime":
				return this.renderDateTime;
			break;
			case "checkbox":
				return this.renderBoolean;
			break;
			case "combo":
				return this.makeRenderCombo(field);
			break;
			case "select_many":
				return this.makeRenderSelectMany(field);
			break;
			case "select_one_radio":
				return this.makeRenderRadio(field);
			break;
		}
		
		
	},
	
	// makeRenderPassword
	// 
	// hase5 -> ****
	// 
	makeRenderPassword:function(input){
		// return input;
		return "*****";
	},
	
	

	// renderDate
	// 
	// 1988/03/24 -> 24.03.1988
	// 
	renderDate:function(input){
		
		var input = input.split('-');
		
		return input[2]+ '.'+input[1]+"."+input[0];
	
	},
	
	// renderDateTime
	//
	// 1988-03-24 H:i:s
	//
	renderDateTime:function(input){
		// console.log('input',input);
		var input = input.split('-');
		var tag_time = input[2];
		var tag_time_splitted = tag_time.split(' ');
		var tag = tag_time_splitted[0];
		var time = tag_time_splitted[1].split(':');
		


		// var time = input[3].split(':');
		// return "test";
		// return tag+ '.'+input[1]+"."+input[0] + ' - ' + time[0] + ':' + time[1] + ':'+time[2];
		return tag+ '.'+input[1]+"."+input[0];
	
	},
	
	// renderBoolean
	// 
	// 0 -> nein, 1 -> ja 
	// 
	renderBoolean:function(input){
		if(input == 1){
			return 'ja';
		}
		
		if(input == 0){
			return 'nein';
		}
	},
	
	makeRenderCombo:function(field){
		var table = field.fTable;
		var column = field.fTableLabel;
		var grid = this.r3grid;
		
		return function(input){
			var store = grid.multiStoresRaw[table+'_'+column];
			

			if(!Ext.isEmpty(store[input])){
				return store[input];				
			}else{
				return "";
			}

		};
	},
	
	
	// makeRenderSelectMany
	// 
	// 
	makeRenderSelectMany:function(field){
		var table = field.fTable;
		var column = field.fTableLabel;
		var grid = this.r3grid;
		
		return function(input){
			var store = grid.multiStoresRaw[table+'_'+column];
			
			var value = "";
			
			
			
			var i=0;
			var ids = Ext.util.JSON.decode(input);
				
				Ext.each(ids, function(item){
					i++;
					item = parseInt(item);
					
					value = value + store[item]; 
					if(i!=ids.length){
						value = value+ ',';
					}

			},this);

			return value;
			
			

		};
	},
	
	// makeRenderRadio
	// 
	// 
	makeRenderRadio:function(field){
		var table = field.fTable;
		var column = field.fTableLabel;
		var grid = this.r3grid;
		
		return function(input){
			var store = grid.multiStoresRaw[table+'_'+column];
			
			var value = "";
			
			
			var value = store[input];

			return value;
			
			

		};
	},
	
	
	
	// renderDefault
	// 
	// der Standard Renderer ohne Rendering
	// 
	renderDefault:function(input){
		return input;
	}

	
});
