// -------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------
// JQUERY EAD - plugin
// remote scripting
// ------------------------------------------------------------------------------------- 
// -------------------------------------------------------------------------------------
// ---
// INNER WINDOW
// ---	
$(".iw_loader").click(function(){
	var ifIwExist = '#iw_'+$(this).attr('id');
	$(this).toggleFocus({group:'.iw_loader', applyTo:'none'});
	if ($(ifIwExist).length) {
		$(ifIwExist).css('display','');
		$(ifIwExist).switchIndex({
			group 	: '.innerWindow',
			zindex 	: 'iw',
			focus	: true,
			msDown	: false
		});					
		return false;
	} else {
		$(this).innerWindow({
			zindex	: $.zindex.iw,
			ident 	: $(this).attr('id'),
			title 	: $(this).attr('title'),
			height	: getH($(this)),
			width	: getW($(this)),
			load 	: $(this).attr('href')
		});								
		return false;				
	}			
});	

// Opened item for show/hide
$.openItem = new Array();

// ---
// init show/hide
// ---	
(function($) {
	jQuery.fn.setShowHideInit = function() {
		for(var i=0; i<$.openItem.length; i++) {
			var elem = $('#'+$.openItem[i]).find('.boxTitle');
			var tiny = $(elem).next().find('textarea').attr('id');			
			$(elem).addClass('active');
			$(elem).next().removeClass('hidden'); 
			tinyMCE.execCommand('mceAddControl', false, tiny); 		
		}
	};
})(jQuery);

// ---
// set show/hide
// ---	
(function($) {
	jQuery.fn.setShowHide = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		// show all
		$('#accordion-active-all').click(function() {
			var container = '#'+params.container;												  
			$(container).find('.boxTitle:not(.active)').addClass('active').next().show('blind',{},'fast', function() {
				var tiny = $(this).find('textarea').attr('id');
				tinyMCE.execCommand('mceAddControl', false, tiny); 
				$(this).removeClass('hidden').css('display',''); 
				$.openItem.push($(this).parents('.box').attr('id'));
			});	
			return false;
		});
		// hide all
		$('#accordion-all').click(function() {
		   var container = '#'+params.container;
			$(container).find('.boxTitle.active').next().find('textarea').each(function(){ 
				var tiny = $(this).attr('id');
				tinyMCE.execCommand('mceRemoveControl', false, tiny);
			});
			$(container).find('.boxTitle.active').removeClass('active').next().hide('blind',{},'fast', function() { 
				$(this).addClass('hidden').css('display','');
				$.openItem.pop($(this).parents('.box').attr('id'));
			});	
			return false;
		});	
		// show/hide an item
		$('.ui-icon-accordion').live('click',function(event) {
			if (event.button == 0) {
				var elem = $(this).parents('.boxTitle');
				var tiny = $(elem).next().find('textarea').attr('id');				
				if($(elem).hasClass('active')) {
					$.openItem.pop($(elem).parents('.box').attr('id'));
					tinyMCE.execCommand('mceRemoveControl', false, tiny);
					$(elem).removeClass('active').next().hide('blind',{},'fast', function() { 
						$(this).addClass('hidden').css('display','');
					});		
				} else {
					$.openItem.push($(elem).parents('.box').attr('id'));
					$(elem).addClass('active').next().show('blind',{},'fast', function() { 
						tinyMCE.execCommand('mceAddControl', false, tiny); 
						$(this).removeClass('hidden').css('display','');
					});
				}	
			}
			return false;
		});	
	};
})(jQuery);	

// ---
// set item sortable
// ---	
(function($) {
	jQuery.fn.setItemSortable = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		var container = '#'+params.container;		
		// sortable
		$(container).sortable({
			handle: '.ui-icon-sortable',
			forceHelperSize: true,
			forcePlaceholderSize: true,
			placeholder: 'ui-state-highlight',			
			//axis: 'y',
			update: function() {
				var get = '';
				$(container).find("input[name$='orderList[]']").each(function() {
					get = get+'&orderList[]='+$(this).attr('value');					
				});
				$.ajax({
					type: 'GET',
					url: params.ajaxFile+'.ajax.php',
					data : 'cmd=exOrder'+get+'&cidReq='+cid+gid,
					dataType: 'html',
					success : function() {
						$.jGrowl('Liste réorganisée avec succès', { header: 'Modification', theme:'valid' });
					}
				});
			}
		});
	};
})(jQuery);	

// ---
// set item visibility
// ---	
(function($) {
	jQuery.fn.setItemVisibility = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		$('.mkShow').live('click', function() {
			var id = $(this).attr('href');								
			$.ajax({
				type: 'GET',
				url: params.ajaxFile+'.ajax.php',
				data: {cmd:'mkShow', id:id, cidReq:cid, gidR:gidD},
				dataType: "html"
			});
			$(this).attr('title','Rendre invisible').removeClass('mkShow').addClass('mkHide');
			$.jGrowl('Cet élément est maintenant visible', { header: 'Modification', theme:'valid' });
			return false;
		});	
		$('.mkHide').live('click', function() {
			var id = $(this).attr('href');
			$.ajax({
				type: "GET",
				url: params.ajaxFile+'.ajax.php',
				data: {cmd:'mkHide', id:id, cidReq:cid, gidR:gidD},
				dataType: "html"
			});
			$(this).attr('title','Rendre visible').removeClass('mkHide').addClass('mkShow');
			$.jGrowl('Cet élément est maintenant invisible', { header: 'Modification', theme:'valid' });			
			return false;
		});
	};
})(jQuery);

// ---
// set item edit
// ---	
(function($) {
	jQuery.fn.setItemEdit = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		$('.rqEdit').live('click', function() {
			var id = $(this).attr('href');
			var itemCell = '#'+params.prefix+id;
			$(itemCell).addLoader();			
			if ($(itemCell+' .boxTitle').hasClass('active')) {
				$(itemCell).rqEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
			} else {
				$(itemCell+' .boxTitle').toggleClass('active').next().removeClass('hidden').show('blind',{},'fast', function(){
					$(itemCell).rqEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
				});
			}
			return false;
		});
	};
})(jQuery);

// ---
// request edit
// ---	
(function($) {
	jQuery.fn.rqEdit = function(params) {
		var params = $.extend({
			itemId : null,
			ajaxFile : null,
			itemCell : this
		}, params);
		$(params.itemCell+' .boxContent').load(params.ajaxFile+'.ajax.php', {cmd:'rqEdit', id:params.itemId, cidReq:cid, gidR:gidD}, function() {
			$(params.itemCell+' .ico-valid').click(function() {
				tinyMCE.triggerSave();			
				var dataVar = $(params.itemCell).find('form').serializeArray();	
				dataVar[dataVar.length] = { name: 'cidReq', value: cid };
				dataVar[dataVar.length] = { name: gidR, value: gidD };
				$(params.itemCell).load(params.ajaxFile+'.ajax.php', dataVar, function() {
					$.jGrowl('Elément modifié avec succès', { header: 'Modification', theme:'valid' });																						  
				});
				return false;
			});
			$(params.itemCell+' .ico-cancel').click(function() {									 
				$(params.itemCell+' .boxContent').hide('blind',{},100).load(params.ajaxFile+'.ajax.php?cmd=cancel&id='+params.itemId+'&cidReq='+cid+gid,{},function(){
					$(this).show('blind',{},100).css('display','');
				});	
				return false;
			});
			setTimeout(function(){ $(params.itemCell).removeLoader() }, 1500);
		});
		
	};
})(jQuery);	

// ---
// set item create
// ---	
(function($) {
	jQuery.fn.setItemCreate = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.rqCreate').click(function() {
			var container = '#'+params.container;
			$('#createBox').addLoader();
			$('#createBox').load(params.ajaxFile+'.ajax.php?cmd=rqCreate&cidReq='+cid+gid,{}, function() {
				$('.exCancel').click(function() {
					$('#createBox').children().remove();						
					return false;
				});				
				$('.exCreate').click(function() {
					tinyMCE.triggerSave();
					var dataVar = $('#createBox').find('form').serializeArray();
					dataVar[dataVar.length] = { name: 'cidReq', value: cid };
					dataVar[dataVar.length] = { name: gidR, value: gidD };
					$('#createBox').load(params.ajaxFile+'.ajax.php', dataVar, function(){
						var newId = $('#createBox .box').attr('id');
						$(container).prepend($('#createBox').html());
						$('#createBox').empty();
						var get = '';
						$(container).find("input[name$='orderList[]']").each(function() {
							get = get+'&orderList[]='+$(this).attr('value');					
						});
						$.ajax({
							type: 'GET',
							url: params.ajaxFile+'.ajax.php',
							data : 'cmd=exOrder'+get+'&cidReq='+cid+gid,
							dataType: 'html',
							success : function() {
								$.jGrowl('Elément créé avec succès', { header: 'Création', theme:'valid' });																						  
							}
						});
						$('#noItemList').remove();
					});						
					return false;
				});
				setTimeout(function(){ $('#createBox').removeLoader() }, 1000);
			});
			return false;
		});		
	};
})(jQuery);

// ---
// Loader
// ---	
(function($) {
	jQuery.fn.addLoader = function() {	
		$(this).addClass('loader');
	};
})(jQuery);	
(function($) {
	jQuery.fn.removeLoader = function() { 
		$(this).removeClass('loader');
	};
})(jQuery);	

// ---
// set item delete
// ---	
(function($) {
	jQuery.fn.setItemDelete = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exDelete').live('click', function() {
			var id = $(this).attr('href');
			var itemCell = '#'+params.prefix+id;
			var container = '#'+params.container;			
			jConfirm('Veuillez confirmer cette suppression','Confirmation', function(r){
				if (r) {			
					$.ajax({
						type: 'GET',
						url: params.ajaxFile+'.ajax.php',
						data: {cmd:'exDelete', id:id, cidReq:cid, gidR:gidD},
						dataType: 'html',
						success : function() {
							$(itemCell).remove();
							$.jGrowl('Elément supprimé avec succès', { header: 'Suppression', theme:'valid' });
							if ($(container+' .box').length == 0)
								$(container).empty().append('<div id="noItemList">Cette liste ne comporte aucun élément.</div>');									
						}
					});	
					return false;
				}
			});	
			return false;
		});		
	};
})(jQuery);	

// ---
// set item print
// ---	
(function($) {
	jQuery.fn.setItemPrint = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null			
		}, params);
		// print item
		$('.ui-icon-print').live('click', function() {
			var elem = $(this).parents('.box');
			$(elem).printElement({
				overrideElementCSS: ['../css/print.css'],
				pageTitle: cid+'_'+(gidD=='true' ? '' : '_'+gidD+'_')+$(elem).attr('id')+'.html'
			});
			return false;
		});	
		// print all item
		$('#print-all').click(function() {
			var container = '#'+params.container;												  
			$(container).printElement({
				overrideElementCSS: ['../css/print.css'],
				pageTitle: cid+'_'+(gidD=='true' ? '' : '_'+gidD+'_')+params.prefix+'all.html'
			});	
			return false;
		});

	};
})(jQuery);

// ---------------------------
// GROUPS
// ---------------------------

// ---
// set group params
// ---	
(function($) {
	jQuery.fn.setGroupParamsDefault = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.rqParamsDefault').click(function() {
			var container = '#'+params.container;
			$('#paramsBox').addLoader();
			$('#paramsBox').load(params.ajaxFile+'.ajax.php?cmd=rqParamsDefault&cidReq='+cid+gid,{}, function() {
				$('.exCancel').click(function() {
					$('#paramsBox').children().remove();						
					return false;
				});
				$('.exParams').click(function() {
					tinyMCE.triggerSave();
					var dataVar = $('#paramsBox').find('form').serializeArray();
					dataVar[dataVar.length] = { name: 'cidReq', value: cid };
					dataVar[dataVar.length] = { name: gidR, value: gidD };					
					$('#paramsBox').load(params.ajaxFile+'.ajax.php', dataVar, function(){
						$('#paramsBox').empty();
						$.jGrowl('Configuration par défaut des groupes modifiée avec succès', { header: 'Modification', theme:'valid' });
					});						
					return false;
				});
				setTimeout(function(){ $('#paramsBox').removeLoader() }, 1000);
			});
			return false;
		});		
	};
})(jQuery);
// ---
// set group params
// ---	
(function($) {
	jQuery.fn.setGroupParams = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.rqParams').click(function() {
			var container = '#'+params.container;
			$('#paramsBox').addLoader();
			$('#paramsBox').load(params.ajaxFile+'.ajax.php?cmd=rqParams&cidReq='+cid+gid,{}, function() {
				$('.exCancel').click(function() {
					$('#paramsBox').children().remove();						
					return false;
				});
				$('.exParams').click(function() {
					tinyMCE.triggerSave();
					var dataVar = $('#paramsBox').find('form').serializeArray();
					dataVar[dataVar.length] = { name: 'cidReq', value: cid };
					dataVar[dataVar.length] = { name: gidR, value: gidD };					
					$('#paramsBox').load(params.ajaxFile+'.ajax.php', dataVar, function(){
						$('#paramsBox').empty();
						$.jGrowl('Configuration générale des inscriptions modifiée avec succès', { header: 'Modification', theme:'valid' });
					});						
					return false;
				});
				setTimeout(function(){ $('#paramsBox').removeLoader() }, 1000);
			});
			return false;
		});		
	};
})(jQuery);
// ---
// set group create
// ---	
(function($) {
	jQuery.fn.setGroupCreate = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.rqCreate').click(function() {
			var container = '#'+params.container;
			$('#createBox').addLoader();
			$('#createBox').load(params.ajaxFile+'.ajax.php?cmd=rqCreate&cidReq='+cid+gid,{}, function() {
				$('.exCancel').click(function() {
					$('#createBox').children().remove();						
					return false;
				});
				$('.exCreate').click(function() {
					tinyMCE.triggerSave();					
					var dataVar = $('#createBox').find('form').serializeArray();
					dataVar[dataVar.length] = { name: 'cidReq', value: cid };
					dataVar[dataVar.length] = { name: gidR, value: gidD };					
					$(container).load(params.ajaxFile+'.ajax.php', dataVar, function(){
						var newId = $('#createBox .box').attr('id');
						$('#createBox').empty();
						var get = '';
						$(container).find("input[name$='orderList[]']").each(function() {
							get = get+'&orderList[]='+$(this).attr('value');					
						});
						$.ajax({
							type: 'GET',
							url: params.ajaxFile+'.ajax.php',
							data : 'cmd=exOrder'+get+'&cidReq='+cid+gid,
							dataType: 'html',
							success : function() {
								$.jGrowl('Elément créé avec succès', { header: 'Création', theme:'valid' });																						  
							}
						});
						$('#noItemList').remove();
					});						
					return false;
				});
				setTimeout(function(){ $('#createBox').removeLoader() }, 1000);
			});
			return false;
		});		
	};
})(jQuery);

// ---
// set item fill
// ---	
(function($) {
	jQuery.fn.setItemFill = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exFill').live('click',function() {
			var itemId = $(this).attr('href');							
			var container = '#'+params.container;			
			jConfirm('Remplir ce groupe, veuillez confirmer cette action','Confirmation', function(r){
				if (r) {			
					$(container).load(params.ajaxFile+'.ajax.php',{cmd:'exFillGroup', id:itemId, cidReq:cid, gidR:gidD}, function() {
						$.jGrowl('Le groupes a été rempli avec succès', { header: 'Modification', theme:'valid' });		
					});
					return false;
				}
			});
			return false;
		});
	};
})(jQuery);

// ---
// set all item fill
// ---	
(function($) {
	jQuery.fn.setItemFillAll = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exFillAll').click(function() {
			var container = '#'+params.container;			
			jConfirm('Remplir tous les groupes, veuillez confirmer cette action','Confirmation', function(r){
				if (r) {			
					$(container).load(params.ajaxFile+'.ajax.php?cmd=exFillGroup&cidReq='+cid+gid,{}, function() {
						$.jGrowl('Tous les groupes ont été remplis avec succès', { header: 'Modification', theme:'valid' });		
					});
					return false;
				}
			});	
			return false;
		});		
	};
})(jQuery);	

// ---
// set item sweep
// ---	
(function($) {
	jQuery.fn.setItemEmpty = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exSweep').live('click',function() {
			var itemId = $(this).attr('href');							
			var container = '#'+params.container;			
			jConfirm('Vider le groupe, veuillez confirmer cette action','Confirmation', function(r){
				if (r) {			
					$(container).load(params.ajaxFile+'.ajax.php',{cmd:'exEmptyGroup', id:itemId, cidReq:cid, gidR:gidD}, function() {
						$.jGrowl('Le groupe a été vidé avec succès', { header: 'Modification', theme:'valid' });		
					});
					return false;
				}
			});
			return false;
		});
	};
})(jQuery);

// ---
// set all item sweep
// ---	
(function($) {
	jQuery.fn.setItemEmptyAll = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exSweepAll').click(function() {
			var container = '#'+params.container;			
			jConfirm('Vider tous les groupes, veuillez confirmer cette action','Confirmation', function(r){
				if (r) {			
					$(container).load(params.ajaxFile+'.ajax.php?cmd=exEmptyGroup&cidReq='+cid+gid,{}, function() {
						$.jGrowl('Tous les groupes ont été vidés avec succès', { header: 'Modification', theme:'valid' });		
					});
					return false;
				}
			});
			return false;
		});
	};
})(jQuery);

// ---
// set all items delete
// ---
(function($) {
	jQuery.fn.setAllItemDelete = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.exDeleteAll').click(function() {
			var container = '#'+params.container;											 
			jConfirm('Veuillez confirmer la suppression de tous les éléments','Confirmation', function(r){
				if (r) {			
					$(container).load(params.ajaxFile+'.ajax.php?cmd=exDeleteAll&cidReq='+cid+gid,{}, function() {
						$(container).empty().append('<div id="noItemList">Cette liste ne comporte aucun élément.</div>');
						$('#order').parent().addClass('hidden');
						$.jGrowl('Tous les éléments ont été supprimés avec succès', { header: 'Suppression', theme:'valid' });		
					});
					return false;
				}
			});	
			return false;
		});		
	};
})(jQuery);	

// ---------------------------
// CALENDAR
// ---------------------------
// ---
// set calendar open dialog (create or edit event)
// ---	
(function($) {
	jQuery.fn.openDial = function(params) {
		var params = $.extend({
			//thisEvent : null,
			even_ : null,
			cmd : null,
			start : null
		}, params);
		// empty => load
		var dialogBox = $(this);
		$(dialogBox).load('agenda.ajax.php?cmd='+params.cmd+'&cidReq='+cid+gid,{}, function() {
			// case create only
			if (params.cmd == 'dialCreate') {	
				newEventStartLib = $.fullCalendar.formatDate(params.start, 'dddd d MMMM yyyy');
				newEventStartDate = $.fullCalendar.formatDate(params.start, 'dd/MM/yyyy');
				$('#newDate', this).html(newEventStartLib);
				$('#startDate', this).attr('value',newEventStartDate);
				$('#endDate', this).attr('value',newEventStartDate);				
				$('#calendar').fullCalendar('renderEvent',{
					id			: 'tmpEvent',
					title		: 'Nouvel événement',
					start		: params.start,
					className	: 'newEvent'
				});
			}
			// case both (create or edit)
			$(dialogBox).dialog('open');
			// pos dialog (get mouse position)
			var uiDialog = $('.ui-dialog');
			var dw = uiDialog.width();					
			var dh = uiDialog.height();
			uiDialog.css('left', ((params.even_.pageX+dw)>$(window).width() ? Math.abs(params.even_.pageX-dw)+'px' : params.even_.pageX+'px'));
			uiDialog.css('top', (((params.even_.pageY-$(window).scrollTop())+dh)>$(window).height() ? Math.abs(params.even_.pageY-dh)+'px' : params.even_.pageY+'px'));
			$('body').mousedown(function(){
				$('.ui-dialog-titlebar-close').trigger('click');					 
			});
		});
	};
})(jQuery);

// ---
// set MYcalendar open dialog
// ---	
(function($) {
	jQuery.fn.openDialMyCalendar = function(params) {
		var params = $.extend({
			url : null,
			even_ : null			
		}, params);
		var dialogBox = $(this);
		$(dialogBox).load('myagenda.ajax.php?'+params.url,{}, function() {
			$(dialogBox).dialog('open');
			var uiDialog = $('.ui-dialog');
			var dw = uiDialog.width();					
			var dh = uiDialog.height();
			uiDialog.css('left', ((params.even_.pageX+dw)>$(window).width() ? Math.abs(params.even_.pageX-dw)+'px' : params.even_.pageX+'px'));
			uiDialog.css('top', (((params.even_.pageY-$(window).scrollTop())+dh)>$(window).height() ? Math.abs(params.even_.pageY-dh)+'px' : params.even_.pageY+'px'));
			$('body').mousedown(function(){
				$('.ui-dialog-titlebar-close').trigger('click');					 
			});
			$('.exGotoCourse', this).click(function(){
				$(this).attr('href','agenda.php?'+params.url);					 
			});
			
		});
	};
})(jQuery);
// ---
// set MYcalendar open dialog
// ---	
(function($) {
	jQuery.fn.openDialMyAnnouncements = function(params) {
		var params = $.extend({
			url : null,
			even_ : null			
		}, params);
		var dialogBox = $(this);
		$(dialogBox).load('myannouncement.ajax.php?'+params.url,{}, function() {
			$(dialogBox).dialog('open');
			var uiDialog = $('.ui-dialog');
			var dw = uiDialog.width();					
			var dh = uiDialog.height();
			uiDialog.css('left', ((params.even_.pageX+dw)>$(window).width() ? Math.abs(params.even_.pageX-dw)+'px' : params.even_.pageX+'px'));
			uiDialog.css('top', (((params.even_.pageY-$(window).scrollTop())+dh)>$(window).height() ? Math.abs(params.even_.pageY-dh)+'px' : params.even_.pageY+'px'));
			$('body').mousedown(function(){
				$('.ui-dialog-titlebar-close').trigger('click');					 
			});
			$('.exGotoCourse', this).click(function(){
				$(this).attr('href','announcements.php?'+params.url);					 
			});
			
		});
	};
})(jQuery);


// ---------------------------
// WORK
// ---------------------------

// ---
// set work edit
// ---	
(function($) {
	jQuery.fn.setWorkEdit = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		$('.rqEdit').live('click', function() {
			var id = $(this).attr('href');
			var itemCell = '#'+params.prefix+id;
			$(itemCell).addLoader();			
			if ($(itemCell+' .boxTitle').hasClass('active')) {
				$(itemCell).rqWorkEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
			} else {
				$(itemCell+' .boxTitle').toggleClass('active').next().removeClass('hidden').show('blind',{},'fast', function(){
					$(itemCell).rqWorkEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
				});
			}
			return false;
		});
	};
})(jQuery);

// ---
// request work edit
// ---	
(function($) {
	jQuery.fn.rqWorkEdit = function(params) {
		var params = $.extend({
			itemId : null,
			ajaxFile : null,
			itemCell : this
		}, params);
		$(params.itemCell+' .boxContent').load(params.ajaxFile+'.ajax.php', {cmd:'rqEdit', id:params.itemId, cidReq:cid, gidR:gidD}, function() {
			$(params.itemCell+' .ico-valid').click(function() {
				tinyMCE.triggerSave();
				$('#cmd'+params.itemId).attr('value','validForm');
				var dataVar = $(params.itemCell).find('form').serializeArray();
				dataVar[dataVar.length] = { name: 'cidReq', value: cid };
				dataVar[dataVar.length] = { name: gidR, value: gidD };				
				$.ajax({
					type: 'GET',
					url: 'work.ajax.php',
					data : dataVar,
					dataType: 'html',
					success : function(data) {
						if (data=='ok') {
							$('#cmd'+params.itemId).attr('value','exEdit');
							queueSize = $(params.itemCell).find('form .uploadifyQueueItem').size();
							if (queueSize==0) {
								$(params.itemCell).find('form').append('<input type="hidden" name="noUpload" value="1" />');
								var dataVar = $(params.itemCell).find('form').serializeArray();
								dataVar[dataVar.length] = { name: 'cidReq', value: cid };
								dataVar[dataVar.length] = { name: gidR, value: gidD };									
								$(params.itemCell).load(params.ajaxFile+'.ajax.php', dataVar, function() {
									$.jGrowl('Elément modifié avec succès', { header: 'Modification', theme:'valid' });																						  
								});					
							} else {								
								$(params.itemCell).find('form .file').uploadifyUpload();	
							}															
						} else {
							$.jGrowl(data, { header: 'ERREUR', theme:'error' });	
						}
					}
				});	
				return false;
			});
			$(params.itemCell+' .ico-cancel').click(function() {
				$(params.itemCell+' .boxContent').hide('blind',{},100).load(params.ajaxFile+'.ajax.php?cmd=cancel&id='+params.itemId+'&cidReq='+cid+gid,{},function(){
					$(this).show('blind',{},100).css('display','');
				});
				return false;
			});
			setTimeout(function(){ $(params.itemCell).removeLoader() }, 1500);
		});
		
	};
})(jQuery);	

// ---
// set work create
// ---	
(function($) {
	jQuery.fn.setWorkCreate = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);		
		$('.rqCreate').click(function() {
			var container = '#'+params.container;
			$('#createBox').addLoader();
			$('#createBox').load(params.ajaxFile+'.ajax.php?cmd=rqCreate&cidReq='+cid+gid,{}, function() {
				$('.exCancel').click(function() {
					$('#createBox').children().remove();						
					return false;
				});				
				$('.exCreate').click(function() {
					tinyMCE.triggerSave();
					$('#cmd').attr('value','validForm');
					var dataVar = $('#createBox').find('form').serializeArray();
					dataVar[dataVar.length] = { name: 'cidReq', value: cid };
					dataVar[dataVar.length] = { name: gidR, value: gidD };
					$.ajax({
						type: 'GET',
						url: 'work.ajax.php',
						data : dataVar,
						dataType: 'html',
						success : function(data) {
							if (data=='ok') {
								$('#cmd').attr('value','exCreate');
								queueSize = $('#createBox').find('form .uploadifyQueueItem').size();
								if (queueSize==0) {
									$('#createBox').find('form').append('<input type="hidden" name="noUpload" value="1" />');
									var dataVar = $(params.itemCell).find('form').serializeArray();
									dataVar[dataVar.length] = { name: 'cidReq', value: cid };
									dataVar[dataVar.length] = { name: gidR, value: gidD };								
									$('#createBox').load(params.ajaxFile+'.ajax.php', dataVar, function() {
										$(container).prepend($('#createBox').html());
										$('#createBox').empty();
										var get = '';
										$(container).find("input[name$='orderList[]']").each(function() {
											get = get+'&orderList[]='+$(this).attr('value');					
										});
										$.ajax({
											type: 'GET',
											url: params.ajaxFile+'.ajax.php',
											data : 'cmd=exOrder'+get+'&cidReq='+cid+gid,
											dataType: 'html',
											success : function() {
												$.jGrowl('Elément créé avec succès', { header: 'Création', theme:'valid' });																						  
											}
										});
										$('#noItemList').remove();																					  
									});					
								} else {
									var dataVar = $(params.itemCell).find('form').serializeArray();
									dataVar[dataVar.length] = { name: 'cidReq', value: cid };
									dataVar[dataVar.length] = { name: gidR, value: gidD };									
									$.ajax({
										type: 'GET',
										url: params.ajaxFile+'.ajax.php',
										data : dataVar,
										dataType: 'html',
										success : function(data) {
											$('#createBox').find('form').append('<input type="hidden" id="createId" name="createId" value="'+data+'" />');
											$('#createBox').find('form .file').uploadifySettings('scriptData', {'id':data});
											$('#createBox').find('form .file').uploadifyUpload();								
										}
									});
								}
							} else {
								$.jGrowl(data, { header: 'ERREUR', theme:'error' });	
							}
						}
					});											  
					return false;
				});
				setTimeout(function(){ $('#createBox').removeLoader() }, 1000);
			});
			return false;
		});		
	};
})(jQuery);

// ---
// set subject work edit
// ---	
(function($) {
	jQuery.fn.setWorkSubjectEdit = function(params) {
		var params = $.extend({
			ajaxFile : null,
			prefix : null,
			container : null
		}, params);
		$('.rqEdit').live('click', function() {
			var id = $(this).attr('href');
			var itemCell = '#'+params.prefix+id;
			$(itemCell).addLoader();			
			if ($(itemCell+' .boxTitle').hasClass('active')) {
				$(itemCell).rqWorkSubjectEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
			} else {
				$(itemCell+' .boxTitle').toggleClass('active').next().removeClass('hidden').show('blind',{},'fast', function(){
					$(itemCell).rqWorkSubjectEdit({ itemId : id, ajaxFile : params.ajaxFile, itemCell : itemCell, cidReq:cid, gidR:gidD });
				});
			}
			return false;
		});
	};
})(jQuery);
// ---
// request subject work edit
// ---	
(function($) {
	jQuery.fn.rqWorkSubjectEdit = function(params) {
		var params = $.extend({
			itemId : null,
			ajaxFile : null,
			itemCell : this
		}, params);
		$(params.itemCell+' .boxContent').load(params.ajaxFile+'.ajax.php', {cmd:'rqEdit', id:params.itemId, cidReq:cid, gidR:gidD}, function() {
			$(params.itemCell+' .ico-valid').click(function() {
				tinyMCE.triggerSave();
				$('#cmd'+params.itemId).attr('value','validForm');
				var dataVar = $(params.itemCell).find('form').serializeArray();
				dataVar[dataVar.length] = { name: 'cidReq', value: cid };
				dataVar[dataVar.length] = { name: gidR, value: gidD };
				$.ajax({
					type: 'GET',
					url: 'work.ajax.php',
					data : dataVar,
					dataType: 'html',
					success : function(data) {
						if (data=='ok') {
							$('#cmd'+params.itemId).attr('value','exSubjectEdit');
							queueSize = $(params.itemCell).find('form .uploadifyQueueItem').size();
							if (queueSize==0) {
								$(params.itemCell).find('form').append('<input type="hidden" name="noUpload" value="1" />');
								var dataVar = $(params.itemCell).find('form').serializeArray();
								dataVar[dataVar.length] = { name: 'cidReq', value: cid };
								dataVar[dataVar.length] = { name: gidR, value: gidD };
								$(params.itemCell).load(params.ajaxFile+'.ajax.php', dataVar, function() {
									$.jGrowl('Elément modifié avec succès', { header: 'Modification', theme:'valid' });																						  
								});					
							} else {
								$(params.itemCell).find('form .file').uploadifyUpload();	
							}															
						} else {
							$.jGrowl(data, { header: 'ERREUR', theme:'error' });	
						}
					}
				});	
				return false;
			});
			$(params.itemCell+' .ico-cancel').click(function() {
				$(params.itemCell+' .boxContent').hide('blind',{},100).load(params.ajaxFile+'.ajax.php?cmd=cancelSubject&id='+params.itemId+'&cidReq='+cid+gid,{},function(){
					$(this).show('blind',{},100).css('display','');
				});
				return false;
			});
			setTimeout(function(){ $(params.itemCell).removeLoader() }, 1500);
		});
		
	};
})(jQuery);	
// ---
// work dir loader
// ---	
$.download = function(url,data){
	var inputs = '';
	var iframeX;
	var downloadInterval;
	if(url && data){
		if($.browser.msie || $.browser.mozilla)
		$.jGrowl('Veuillez attendre la fin du téléchargement', { header: 'TELECHARGEMENT', theme:'load', sticky: true });
		if($("#iframeX")) $("#iframeX").remove();
		iframeX = $('<iframe src="javascript:false" name="iframeX" id="iframeX"></iframe>').appendTo('body');
		if($.browser.msie){
			downloadInterval = setInterval(function(){ if (iframeX&& iframeX[0].readyState !=="loading"){ $('.jGrowl-notification .close').trigger('click'); clearInterval(downloadInterval); }}, 23);
		} else if ($.browser.mozilla) {
			$("#iframeX").load(function(){ $('.jGrowl-notification .close').trigger('click'); });
		}
		data = typeof data == 'string' ? data : jQuery.param(data);
		jQuery.each(data.split('&'), function(){ 
			var pair = this.split('=');
			inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
		});
		$('<form action="'+url+'" target="iframeX" name="dform" id="dform">'+inputs+'</form>').appendTo('body').submit().remove();
	}
};