var Attachements={
	ComFile: function (){return LILIOS_ROOT_HTML+'system/mods/mod_attachements/mod_attachements_com.php';},
//////////////////////////////////////////////////////////////////////////////////////////////////
	get: function (type){
			new Ajax.Request( this.ComFile(), { 
								asynchronous:true	, method:'post'	, 
								parameters	:'action=get'+type+'&params='+this.attachementsList ,
								onSuccess	:function(obj)	{ WBID('attachements',obj.responseText);	} ,
								onLoading	:function()		{  	} 
							}
			);		
		},
/////////////////// list of file	
	attachementsList:  Array(),
	InitList: function (){
	this.attachementsList = Array();
	var objElems =  $('attachementsChooser_receiver').childNodes;
		  for(i=0;i<objElems.length;i++){
			  var str = objElems[i].id;
			if(  str.contain('attachementItemInList_')){
				var idAttachement = str.split('attachementItemInList_');
    			this.attachementsList.push(idAttachement[1]);
			}
  		}		
	},
	AddAttachementInList: function (){
		var index = $id('attachementsChooserList').options.selectedIndex ;
		var text  = $id('attachementsChooserList').options[index].innerHTML;
		var idAttachement  = $id('attachementsChooserList').options[index].value;
		if(index!=0){
		if ( ! this.attachementsList.inArray(idAttachement)){
			this.attachementsList.push(idAttachement);
			ABID('attachementsChooser_receiver',ajaxText(Attachements.ComFile(),'action=attachementSelected&idAttachement='+idAttachement));
		}
		if(this.attachementsList.length>1)
			WBID('attachementsChooser_r',ajaxText(Attachements.ComFile(),'action=lnk2SetAttachementsList'));
		}
	},
	RemoveAttachementInList: function (idAttachement){
		this.attachementsList.unShiftValue(idAttachement);
		RBID('attachementItemInList_'+idAttachement);
		if(this.attachementsList.length<=1)
			WBID('attachementsChooser_r','');
	},
	EmptyList: function (){
			this.attachementsList=Array();
			WBID('attachementsChooser_receiver','');
			WBID('attachementsChooser_r','');
	},
	SetList: function (){
			return this.attachementsList;
	},
/////////////////////////	
	RemoveAttachement: function (idAttachement,divId){
//		CreateAttachementTable_row_
//		attachementsManager_item_
if (divId){var div2Remove = divId+idAttachement;}else{var div2Remove ='attachementsManager_item_'+idAttachement;}
			new Ajax.Request( this.ComFile(), { 
								asynchronous:true	, method:'post'	, 
								parameters	:'action=removeAttachement&idAttachement='+idAttachement ,
								onSuccess	:function(obj)	{ WBID(div2Remove,obj.responseText);/* WBID('attachementsManager_item_'+idAttachement,obj.responseText);*/	} ,
								onLoading	:function()		{ WBID('removeAttachement_a_'+idAttachement,progress()); 	} 
							}
			);		
	},
/////////////////////////	
	Start: function (){
		if($id('attachementUpload_0').value!=''){
			WBID('attachementForm_a',progress()+ajaxText(Attachements.ComFile(),'action=getMessage&i=0&type=inf'));
			$id('attachementForm').submit();
			DisableEnableForm($id('attachementForm'),true);
		}else{
			WBID('attachementForm_r',ajaxText(Attachements.ComFile(),'action=getMessage&i=2&type=err'));		
		}
	},
	Stop:function (idUser,trans){
			new Ajax.Request( this.ComFile(), { 
								asynchronous:true	, method:'post'	, 
								parameters	:'action=addAttachements&idUser='+idUser+'&trans='+trans ,
								onSuccess	:function(obj)	{ 
									WBID('attachementForm_r',obj.responseText);
									WBID('attachementForm_a',ajaxText(Attachements.ComFile(),'action=lnk2AttachementStart'));
									$id('attachementForm').reset();
									DisableEnableForm($id('attachementForm'),false);
								} ,
								onLoading	:function()		{  	} 
							}
			);
	},
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	startLocalReq	: function(id)	{  	WBID('CreateAttachementTable_row_'+id,progress());	},
	stopLocalReq	: function(id)	{  	WBID('CreateAttachementTable_row_'+id,'');			},
	startReq		: function ()	{	WBID('complexReq_w_Attachements',progress());			},
	stopReq			: function ()	{ 	WBID('complexReq_w_Attachements','');					},
///////////////////
	screenAddAttachement: function(){ 
			new Ajax.Request( this.ComFile(), { 
								asynchronous:true	, method:'post'	, 
								parameters	:'action=getUploadInMod' ,
								onSuccess	:function(obj)	{ WBID('attachementsContent',obj.responseText);	} ,
								onLoading	:function()		{  	} 
							}
			);		
	},
	screenAttachementsTable: function(){ 
		params = 'action=screenAttachementsTable';
		new Ajax.Request( this.ComFile(), { asynchronous: true, method: 'post', 
						   		parameters	: params ,
					   			onSuccess	:function(obj)	{	RBID('modsInfos','');WBID('attachementsContent',obj.responseText);} ,
					   			onLoading	:function()		{	ABID('attachementsToolbox','<span id="modsInfos">'+progress()+'</span>'); } 
							}
			);
	},
/////////////////CompositeRequest
	screenCompositeReq: function (obj){
		WBID('attachementsContent',obj.responseText);
		this.stopReq();
	},
	filterDirect: function (col,val,str_where){
		this.startReq();
		params = "action=reqFilterDirect&col="+col+"&val="+val+"&str_where="+str_where;
		new Ajax.Request( this.ComFile(), {asynchronous: true, method: 'post', parameters: params , onSuccess:this.screenCompositeReq});
	},	
	filterIndirect: function (col,val,str_where){
		this.startReq();
		params = "action=reqFilterDirect&col="+col+"&val="+val+"&str_where="+str_where;
		new Ajax.Request(  this.ComFile(), {asynchronous: true, method: 'post', parameters: params , onSuccess:this.screenCompositeReq});
	},
	setLimit: function (ser_arrayWhere,start,length,order,orderWay){
		this.startReq();
		params = "action=reqSet&ser_arrayWhere="+ser_arrayWhere+"&start="+start+"&length="+length+"&order="+order+"&orderWay="+orderWay;
		new Ajax.Request(  this.ComFile(), {asynchronous: true, method: 'post', parameters: params ,onSuccess:this.screenCompositeReq});
	},
	setLimitByStep: function (way,ser_arrayWhere,start,length,order,orderWay){
		this.startReq();
		if(way=='inc'){start=length+start;}else{start=start-length;}
		params = "action=reqSet&ser_arrayWhere="+ser_arrayWhere+"&start="+start+"&length="+length+"&order="+order+"&orderWay="+orderWay;
		new Ajax.Request(  this.ComFile(), {asynchronous: true, method: 'post', parameters: params , onSuccess:this.screenCompositeReq});		
	},
	setOrder: function (ser_arrayWhere,start,length,order,orderWay){
		this.startReq();
		params = "action=reqSet&ser_arrayWhere="+ser_arrayWhere+"&start="+start+"&length="+length+"&order="+order+"&orderWay="+orderWay;
		new Ajax.Request(  this.ComFile(), {asynchronous: true, method: 'post', parameters: params , onSuccess:this.screenCompositeReq});
	}			
}