//------------------------- AJAX ---------------------//
onloads.push( registerAjaxStuff2);
//enregistrement des elements AJAX
function registerAjaxStuff2(){
	ajaxEngine.registerRequest('mobAjax','http://www.lci-europe.com/page/mobilite.php');
	ajaxEngine.registerAjaxElement('regions');
	ajaxEngine.registerAjaxElement('nameList2');


}

// affiche dans la selectbox les differentes
// regions depuis la base de donnée

function getregions(region){

	ajaxEngine.sendRequest('mobAjax',"region="+region);
	//setTimeout("registerDraggables2(document.getElementById('regions').innerHTML)",500);
}

//var names = [ "idf", "centre", "bretagne", "sud", "centre", "bretagne", "sud", "centre", "bretagne", "sud", "centre", "bretagne", "sud", "centre", "bretagne", "sud"];
used2= new Array();
function writeNameSpans() {
		for(var i=0;i< names.length; i++)
										document.write("<span id='d"+i+"' class='nameSpan' style='border:1px solid #ffffee;display:block;cursor:pointer' alt='double-cliquer pour ajouter' title='double-cliquer pour ajouter'>"+names[i]+"</span>");
}

function createDraggables(){
		//for(var i=0;i< names.length; i++)	dndMgr.registerDraggable(new CustomDraggable3($('d'+i),names[i]));
}

var CustomDraggable3 = Class.create();
CustomDraggable3.removeOnDrop = false;
CustomDraggable3.revereNamesOnDrop = false;

CustomDraggable3.prototype = (new Rico.Draggable()).extend( {

   initialize: function( htmlElement, name ) {
      this.type        = 'Custom';
      this.htmlElement = $(htmlElement);
      this.name        = name;
   },

   log: function(str) {
      new Insertion.Bottom( $('logger'), "<span class='logMsg'>" + str + "</span>" );
      $('logger').scrollTop = $('logger').lastChild.offsetTop;

   },

   select: function() {
      this.selected = true;
      var el = this.htmlElement;

      // show the item selected.....
      el.style.color           = "#ffffff";
      el.style.backgroundColor = "#08246b";
      el.style.border          = "1px solid blue";
   },

   deselect: function() {
      this.selected = false;
      var el = this.htmlElement;
      el.style.color           = "#2b2b2b";
      el.style.backgroundColor = "transparent";
      el.style.border = "1px solid #ffffee";
   },

   startDrag: function() {
      var el = this.htmlElement;
      //this.log("startDrag: [" + this.name +"]");
   },

   cancelDrag: function() {
      var el = this.htmlElement;
     // this.log("cancelDrag: [" + this.name +"]");
   },

   endDrag: function() {
      var el = this.htmlElement;
      //this.log("endDrag: [" + this.name +"]");
      if ( CustomDraggable3.removeOnDrop )
         this.htmlElement.style.display = 'none';

   },

   getSingleObjectDragGUI: function() {
      var el = this.htmlElement;

      var div = document.createElement("div");
      div.className = 'customDraggable';
      div.style.width = (this.htmlElement.offsetWidth - 10) + "px";
      new Insertion.Top( div, this.name );
			return div;
   },

   getMultiObjectDragGUI: function( draggables ) {
      var el = this.htmlElement;

      var names = "";
      for ( var i = 0 ; i < draggables.length ; i++ ) {
          names += draggables[i].name;

         if ( i != (draggables.length - 1) )
            names += ",<br/>";
      }

      var div = document.createElement("div");
      div.className = 'customDraggable';
      div.style.width = (this.htmlElement.offsetWidth - 10) + "px";
      new Insertion.Top( div, names );
      return div;
   },

   getDroppedGUI: function() {
      var el = this.htmlElement;

      var div = document.createElement("div");
      var names = this.name.split(",");
			if(contient(used2,names)==false){
				used2.push(names);
				document.forms['frmcandidature'].mobilite.value=document.forms['frmcandidature'].mobilite.value+"#"+this.name;
				if ( CustomDraggable3.revereNamesOnDrop )
					new Insertion.Top( div, "<span ondblclick='effaceme(names[0],used2);this.style.display=\"none\"' class='nameSpan'>[" + names[1].substring(1) + " " + names[0]+ "]</span>" );
				else
					new Insertion.Top( div, "<span id=\""+this.name+"\" ondblclick=\"effaceme(this.id,used2);this.style.display='none';document.forms['frmcandidature'].mobilite.value=document.forms['frmcandidature'].mobilite.value.replace(/"+ addslashes(this.name)+"/,'');\" class='nameSpan' alt='Double cliquer pour supprimer' title='Double cliquer pour supprimer' style='cursor:pointer'>[" + this.name + "]</span>" );
			}else{
				new Insertion.Top( div, "" );
			}
				return div;
   },

   toString: function() {
      return this.name;
   }

} );

// fonction qui enregistre les elements draggables à partir d'une chaine
function registerDraggables2(chaine){
	var CustomDraggable8 = Class.create();
	CustomDraggable8.removeOnDrop = false;
	CustomDraggable8.revereNamesOnDrop = false;

	CustomDraggable8.prototype = (new Rico.Draggable()).extend( {

		   initialize: function( htmlElement, name ) {
		      this.type        = 'Custom';
		      this.htmlElement = $(htmlElement);
		      this.name        = name;
		   },

		   select: function() {
		      	this.selected = true;
		      var el = this.htmlElement;

		      // show the item selected.....
		      el.style.color           = "#ffffff";
		      el.style.backgroundColor = "#08246b";
		      el.style.border          = "1px solid blue";
		   },

		   deselect: function() {
		      this.selected = false;
		      var el = this.htmlElement;
		      el.style.color           = "#2b2b2b";
		      el.style.backgroundColor = "transparent";
		      el.style.border = "1px solid #ffffee";
		   },

		   startDrag: function() {
		      var el = this.htmlElement;
		   },

		   cancelDrag: function() {
		      var el = this.htmlElement;
		   },

		   endDrag: function() {
		      var el = this.htmlElement;
		      //this.log("endDrag: [" + this.name +"]");
		      if ( CustomDraggable8.removeOnDrop )
		         this.htmlElement.style.display = 'none';

		   },

		   getSingleObjectDragGUI: function() {
		      var el = this.htmlElement;
					var div = document.createElement("div");
		      div.className = 'customDraggable';
		      div.style.width = (this.htmlElement.offsetWidth - 10) + "px";
		      new Insertion.Top( div, this.name );
					return div;
		   },

		   getMultiObjectDragGUI: function( draggables ) {
		      var el = this.htmlElement;
					var names = "";
		      for ( var i = 0 ; i < draggables.length ; i++ ) {
		          names += draggables[i].name;

		         if ( i != (draggables.length - 1) )
		            names += ",<br/>";
		      }

		      var div = document.createElement("div");
		      div.className = 'customDraggable';
		      div.style.width = (this.htmlElement.offsetWidth - 10) + "px";
		      new Insertion.Top( div, names );
		      return div;
		   },

		   getDroppedGUI: function() {
		      var el = this.htmlElement;
					var div = document.createElement("div");
		      var names = this.name.split(",");
					if(contient(used2,names)==false){
						used2.push(names);
						document.forms['frmcandidature'].mobilite.value=document.forms['frmcandidature'].mobilite.value+"#"+this.name;
						if ( CustomDraggable8.revereNamesOnDrop )
							new Insertion.Top( div, "<span ondblclick='effaceme(names[0],used2,'compac');this.style.display=\"none\"' class='nameSpan'>[" + names[1].substring(1) + " " + names[0]+ "]</span>" );
						else{
							new Insertion.Top( div, "<span id=\""+this.name+"\" ondblclick=\"effaceme(this.id,used2);this.style.display='none';document.forms['frmcandidature'].mobilite.value=document.forms['frmcandidature'].mobilite.value.replace(/"+ addslashes(this.name)+"/,'');\" class='nameSpan' alt='Double cliquer pour supprimer' title='Double cliquer pour supprimer' style='cursor:pointer'>[" + this.name + "]</span>" );
							}
					}else{
						new Insertion.Top( div, "" );
					}
						return div;
		   },

		   toString: function() {
		      return this.name;
		   }

	} );


	var names=chaine.split("#");
	for(var i=0;i< names.length; i++)
											dndMgr.registerDraggable(new CustomDraggable8($('d'+i),names[i]));
}

