function tndMoney(v){
	if (isNaN(v))
		return "0.000 TND";
     v = (Math.round((v-0)*1000))/1000;
     v = (v == Math.floor(v)) ? v + ".000" : ((v*10 == Math.floor(v*10)) ? v + "0" : v);
     v = String(v);
     var ps = v.split('.');
     var whole = ps[0];
     var sub = ps[1] ? '.'+ ps[1] : '.000';
     var r = /(\d+)(\d{3})/;
     while (r.test(whole)) {
         whole = whole.replace(r, '$1' + ',' + '$2');
     }
     v = whole + sub;
     if(v.charAt(0) == '-'){
         return '-' + v.substr(1) + " TND";
     }
     return v+ " TND"; 
}
 
function dzdMoney(v){
	if (isNaN(v))
		return "0.00 EUR";
     v = (Math.round((v-0)*100))/100;
     v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v);
     v = String(v);
     var ps = v.split('.');
     var whole = ps[0];
     var sub = ps[1] ? '.'+ ps[1] : '.00';
     var r = /(\d+)(\d{3})/;
     while (r.test(whole)) {
         whole = whole.replace(r, '$1' + ',' + '$2');
     }
     v = whole + sub;
     if(v.charAt(0) == '-'){
         return '-' + v.substr(1) + " EUR";
     }
     return v+ " EUR";
}

/**
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
asda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasdasda sdasdasd
*/
function bindToForm(o,form) {
	if(!form){
		form = document.getElementById('form');
	}
	for (var x in o) {
		var input = document.createElement("input");
		input.type = "hidden";
		input.name = x;
		if (typeof o[x] == "Array") {
			bindCollectionToForm(x,o[x],form);
		} else {
			input.value = o[x];
		}
		form.appendChild(input);
	}
}
function bindCollectionToForm(key,col,type,form) {
	if(!form){
		form = document.getElementById('form');
	}
	for (var i=0 ; i < col.length ; i++) {
		var o = col[i];
		if (o["type"])
			type = o["type"];
		
		if(type) {
			var input = document.createElement("input");
			addParameter(key+"["+i+"]ObjectType",type,form);
		}
		addParameter(key+"["+i+"]","",form);
		for (var x in o) {
			var input = document.createElement("input");
			input.type = "hidden";
			input.name = key+"["+i+"]."+x;
			input.value = o[x];
			form.appendChild(input);
		}
	}
}
function submit(event,form) {
	if(!form){
		form = document.getElementById('form');
	}
	document.getElementById('_eventId').value=event;
	form.submit();
}
function addParameter(name,value,form) {
	if(!form){
		form = document.getElementById('form');
	}
	var input = document.createElement("input");
	input.type = "hidden";
	input.name = name;
	input.value = value;
	form.appendChild(input);

}
function removeGridSelectedCell(grid) {
	var selected = grid.getSelectionModel().getSelectedCell();
	grid.store.removeAt(selected[0]);
}

function isValid(elements) {
	for (var i=0 ; i < elements.length ; i++) {
		var element  = elements[i];
		element.validate();
	}
	for (var i=0 ; i < elements.length ; i++) {
		var element  = elements[i];
		if (!element.validate())
			return false;
	}
	return true;
}

function addFields(fields,form) {
	for (var i=0 ; i < fields.length; i++) {
		var field= fields[i];
		var value = field.getValue();
		if ( typeof value == "object") {
			value = Ext.util.Format.date(value,"d/m/Y");
		}
		if (value == field.emptyText)
			return;
		addParameter(field.name,value,form);
	}	
}

function createUrlParameters(fields) {
	var params = {};
	for (var i=0 ; i < fields.length; i++) {
		var field= fields[i];
		var value = field.getValue();
		if ( typeof value == "object") {
			value = Ext.util.Format.date(value,"d/m/Y");
		}
		if (value == field.emptyText)
			return;
		params[field.name] = value;
	}	
	return params;
}