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";
}


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;
}