function InitGlobal(){
	CustomCSSForm.init;
	$('.PhotoContent').imageoverlay();
	generate_connect_form();
	main_adapte();
	if($('#logocontrol').length > 0){
		var txt=$('#logocontrol').next();
		txt.css( 'display', 'none' );
		}
	}

	function AffectDriverYcup(elem , champ_id , driver_id , ycup_id){
		var xhr = getXhr();
		xhr.onreadystatechange = function(){
			if(xhr.readyState == 4 && xhr.status == 200){
				closeBoxUpWait();
				if(xhr.responseText == 'false'){
					alert(_JAVA_ALERT_ERROR);
					}
				else{
					var rep = xhr.responseText;
					if(rep == 1){
						elem.checked = true;
						}
					else{
						elem.checked = false;
						}
					}
				}
			}
		xhr.open("POST","index.php?model=driver_in_ycup&action=setycup&admin",true);
		xhr.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); 
		xhr.send('champ_id='+champ_id+'&driver_id='+driver_id+'');
		openboxUpWait();
		}


	function addBannerClick(pub_id){
		var xhr = getXhr();
		xhr.onreadystatechange = function(){if(xhr.readyState == 4 && xhr.status == 200){return true;}}
		xhr.open("GET","index.php?model=pub&action=addclick&object_id="+pub_id+"",true);
		xhr.send(null);
		}

	function ActivateJump(num){
		for(var i=0;i<3;i++){
			if(G_obj('TJ'+i)){
				G_obj('TJ'+i).className = 'TJInActive';
				}
			if(G_obj('TJ'+i+'_contener')){
				G_obj('TJ'+i+'_contener').style.display = 'none';
				}
			}
		G_obj('TJ'+num).className = 'TJActive';
		G_obj('TJ'+num+'_contener').style.display = 'block';
		}

	function VerifResult(){
		var Myform = document.forms['FormCreate'];
		var nb = Myform.elements['nb_driver'].value;
		var tbpoint = _JAVA_RESULT_POINTS.split(',');
		var tbposleft = new Array();
		var cont = true;
		if(nb > 1){
			for(var i=1;i<nb;i++){
				tbposleft[i] = false;
				}
			for(var i=0;i<nb-1;i++){
				var driverPos = Myform.elements['driver_'+i+'_position'].options[Myform.elements['driver_'+i+'_position'].selectedIndex].value;
				if(driverPos != ''){
					if(tbposleft[driverPos] == true){
						cont = false;
						G_obj('point_'+i).innerHTML = "<span style='color: red;'>Error</span>";

						}
					else{
						tbposleft[driverPos] = true;
						if(driverPos > tbpoint.length-1){
							G_obj('point_'+i).innerHTML = "0 "+_JAVA_POINT;
							}
						else{
							G_obj('point_'+i).innerHTML = tbpoint[driverPos] + " " + ( tbpoint[driverPos] > 1 ? _JAVA_POINTS : _JAVA_POINT );
							}
						}
					}
				else{
					G_obj('point_'+i).innerHTML = "";
					}
				}
			}
		if(cont){
			G_obj(Myform.getAttribute('NAME')+'Submit').className = "Activate";
			G_obj(Myform.getAttribute('NAME')+'Submit').onclick = function(Form_name){return function() {document.forms[Form_name].submit();};}(Myform.getAttribute('NAME'));
			}
		else{
			G_obj(Myform.getAttribute('NAME')+'Submit').className = "InActivate";
			G_obj(Myform.getAttribute('NAME')+'Submit').onclick = function(){};
			}
		}

	function G_bSyntaxeEmail(sMail){
		var re=/^[a-z\d]+((\'|\.|-|_)[a-z\d]*)*@((?![-])[a-z\d-]{0,62}\.){1,4}[a-z\d]{2,6}$/gi;
		return (sMail.match(re)==sMail)&&(sMail.substr(sMail.lastIndexOf("@")).length<=256);
		}

	function G_bDomainTLD(sMail){
		var re=/^(ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw|aero|arpa|biz|com|coop|edu|eu|gov|info|int|mil|museum|name|net|org|pro|jobs|travel)$/gi;
		return sMail.substr(sMail.lastIndexOf(".") + 1).match(re)!=null;
		}

	function G_testmail(sMail){
		if (!G_bSyntaxeEmail(sMail)){return false;}
	  else if (!G_bDomainTLD(sMail)){return false;}
	  else {return true;}
		}


	function SendNewsLetterForm(){
		var mail = document.forms['NewsLetterForm'].elements['NewsletterMail'].value;
		if(document.forms['NewsLetterForm'].elements['NewsAction'][0].checked == true){
			var actio = 'subscribe';
			}
		else if(document.forms['NewsLetterForm'].elements['NewsAction'][1].checked == true){
			var actio = 'unsubscribe';
			}
		else{
			var actio = 'none';
			}

		if(G_testmail(mail)){
			var xhr = getXhr();
			xhr.onreadystatechange = function(){
			if(xhr.readyState == 4 && xhr.status == 200){
				closeBoxUpWait();
				if(xhr.responseText == '0'){alert(_JAVA_ML_ERROR_0);}
				else if(xhr.responseText == '2'){alert(_JAVA_ML_ERROR_2);}
				else if(xhr.responseText == '3'){alert(_JAVA_ML_ERROR_3);}
				else{
					document.forms['NewsLetterForm'].elements['NewsletterMail'].value = document.forms['NewsLetterForm'].elements['NewsletterMail'].defaultValue;
					document.forms['NewsLetterForm'].elements['NewsAction'][0].checked = true;
					alert('Thanks. '+actio+' done.');
					}
				}
			}
			xhr.open("POST","index.php?model=newsletter_categ_subscriber"+ ( actio == 'subscribe' ? '&action=subscribe':'&action=unsubscribe')+"",true);
			xhr.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); 
			xhr.send('mail='+mail+'&action='+actio+'');
			openboxUpWait();
			}
		else{
			alert('informations missing. please fill the newsletter form');
			}
		}

function isnumber(ide){
	reg=new RegExp("[^0-9]", "gi");
	ide.value=ide.value.replace(reg, "");
	}

// test pour numéro de téléphone

function isphone(ide){
	reg=new RegExp("[^0-9 .+()]", "gi");
	ide.value=ide.value.replace(reg, "");
	}


function ShowOriginalContent(model , object_id){
	if(model != '' && object_id != ''){
		var xhr = getXhr();
		xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			closeBoxUpWait();
			if(xhr.responseText == 'false'){alert("erreur : "+xhr.responseText);}
			else{
				var objdest = G_obj('OriginalTotranslate');
				if(xhr.responseText != 'none'){
					if (window.DOMParser){var parser = new DOMParser();	var xmlDoc = parser.parseFromString(xhr.responseText,"text/xml");}
					else {var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");	xmlDoc.async="false"; xmlDoc.loadXML(xhr.responseText);} 
	
					var originalcontent = xmlDoc.getElementsByTagName('objectoriginalcontent');
					var nb = originalcontent.length;
	
					if(nb == 1){
						objdest.innerHTML = originalcontent[0].firstChild.nodeValue;
						}
					objdest.style.display = 'block';
//					$('#OriginalTotranslate').draggable({opacity: 0.7 , cursor: 'move' , iframeFix: true}); 
//					$("#OriginalTotranslate").topZIndex( { increment: 10 });
					}
				}
			}
		}
		xhr.open("GET","index.php?model="+model+"&action=ajax_objects_original&object_id="+object_id+"&admin",true);
		xhr.send(null);
		openboxUpWait();
		}
	}	





function FinishFileUpload(Myform , prefix){
	G_obj(prefix+'_FileBrowsner').style.display = 'none';
	G_obj(prefix+'_FileResult').style.display = 'block';
	if(G_obj('current_contener_'+prefix+'_url')){
		var imgname = document.forms[Myform].elements[prefix+'_url'].value;
		var pos = imgname.lastIndexOf('.');
		imgname = imgname.substr(0, pos)+".jpg";
		G_obj('current_'+prefix+'_url').src = 'uploads/images/small/'+imgname+'';
		G_obj('current_contener_'+prefix+'_url').style.display = 'block';
		}
	VerifForm(document.forms[Myform].elements[prefix+'_url']);
	}
	
function RemoveDocOriginal(Myform , prefix , finalrep){
	if(G_obj('current_contener_'+prefix+'_url')){
		G_obj('current_contener_'+prefix+'_url').style.display = 'none';
		}
	G_obj(prefix+'_FileResult').style.display = 'none';
	Myform.elements[prefix+'_url'].value = "";
	Myform.elements[prefix+'_size'].value = "";
	Myform.elements[prefix+'_type_mime'].value = "";
	Myform.elements[prefix+'_original'].value = "";

	if(prefix == 'news_video'){
		Myform.elements[prefix+'_url'].disabled=true;
		Myform.elements[prefix+'_size'].disabled=true;
		Myform.elements[prefix+'_type_mime'].disabled=true;
		Myform.elements[prefix+'_original'].disabled=true;
		}

	if(Myform.elements[prefix+'_width']){
		Myform.elements[prefix+'_width'].value = "";
		Myform.elements[prefix+'_height'].value = "";
		}
	G_obj(prefix+'_FileBrowsner').src = 'upload.php?form='+Myform.name+'&finalrep='+finalrep+'&prefix='+prefix;
	G_obj(prefix+'_FileBrowsner').style.display = 'block';
	VerifForm(Myform.elements[prefix+'_url']);
	}

function handleEnter (event) {var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;if (keyCode == 13){return false;}else{return true;}}
function getXhr(){var xhr = null;if(window.XMLHttpRequest){xhr = new XMLHttpRequest();}else if(window.ActiveXObject){try {xhr = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {xhr = new ActiveXObject("Microsoft.XMLHTTP");}}else {alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false;}return xhr;}
function G_obj(objname){var testObj = document.getElementById(objname);return testObj;}
function ImgSet(champs , statut){
	if(G_obj('img_'+champs))
		G_obj('img_'+champs).src = './images/'+statut+'.gif';
	if(G_obj(champs))
		if(statut == 1){
			G_obj(champs).style.backgroundColor = '#ffffff';
			}
		else{
			G_obj(champs).style.backgroundColor = '#FAEBD7';
			}
	}

function openboxUpWait(){
	$("body > *:first").before('<div id="overlay"></div>');
	$("body > *:first").before('<div id="MyBoxUpSpecial" style="width: 150px; height: 40px;"><div style="padding: 10px; border: 0px; margin: 0px;"><img src="images/wait.gif" style="vertical-align: middle; border: 0px;"/>&nbsp;&nbsp; '+_JAVA_WAITING+'</div></div>');
	$("#overlay").css( 'height', parseInt($(document).height()) +'px' );
	$("#overlay").css( 'width', parseInt($(window).width())+'px' );
	$("#overlay").topZIndex( { increment: 10 } );
	$("#MyBoxUpSpecial").topZIndex( { increment: 20 } );
	$("#MyBoxUpSpecial").css( 'top', parseInt((($(window).height() - $("#MyBoxUpSpecial").height())/2) + $(document).scrollTop())+'px' );
	$("#MyBoxUpSpecial").css( 'left', parseInt((($(window).width() - $("#MyBoxUpSpecial").width())/2) + $(document).scrollLeft())+'px' );
	$('#overlay').fadeTo(0, 0.6);
	$('#MyBoxUpSpecial').show();
	}

function closeBoxUpWait(){
	if($('#overlay').length > 0){$('#overlay').remove();}
	if($('#MyBoxUpSpecial').length > 0){$('#MyBoxUpSpecial').remove();}
	}
	
function AjaxUpdate(Mym , Mya , Myid , Myconf , Myval ){
		var goin = false;
		if(Myconf){if(!confirm(_JAVA_CONFIRM_ACTION))
				return false;
			else
				goin = true;
			}
		else
			goin = true;

		if(goin){
			var xhr = getXhr();
			xhr.onreadystatechange = function(){
				if(xhr.readyState == 4 && xhr.status == 200){
					closeBoxUpWait();
					if(xhr.responseText == 'false'){
						alert(_JAVA_ALERT_ERROR);
						}
					else{
						var rep = xhr.responseText;
						var done = false;
						switch(Mya){
							case 'delete_object':
	 	    				if(G_obj('child_'+Mym+'_'+Myid)){
									var tr = G_obj('child_'+Mym+'_'+Myid);
	       					while (tr.hasChildNodes()) {
	         					tr.removeChild( tr.lastChild );
	       						}
	 	    					tr.parentNode.removeChild( tr );
									done = true;
									}
								for(var i=1;i<4;i++){
		 	    				if(G_obj('child_'+Mym+'_'+Myid+'_'+i)){
										var tr = G_obj('child_'+Mym+'_'+Myid+'_'+i);
		       					while (tr.hasChildNodes()) {
		         					tr.removeChild( tr.lastChild );
		       						}
		 	    					tr.parentNode.removeChild( tr );
		 	    					}
									done = true;
									}
								break;
							case 'is_current_object':
								var tb_img = G_obj('parent_champ').getElementsByTagName('img');
								if(tb_img.length > 0){
									for(var i=0;i<tb_img.length;i++){
										if(tb_img[i].getAttribute('id') && tb_img[i].getAttribute('id').substr(0,21) == 'img_champ_is_current_'){
											tb_img[i].src = "images/is_current_0.png";
											}
										}
									G_obj('img_champ_is_current_'+Myid).src = "images/is_current_1.png";
									}
								done = true;
								break;
							case 'active_object':
							case 'frontpage_object':
								var itm = Mya.split('_');
								var obj = G_obj('img_'+Mym+'_'+itm[0]+'_'+Myid);
								if(obj){
									obj.src = 'images/'+itm[0]+'_'+rep+'.png';
									done = true;
									}
								break;
							case 'movedown_object':
								var itm = Mya.split('_');
								var obj = G_obj('child_'+Mym+'_'+Myid);
								if(obj){
									var elem_name = 'child_'+Mym+'_'+Myid;

									if(Mym == 'menu_block'){
										var nextobj = $('#'+elem_name+'_3').next();
										var nextobj_name = nextobj.attr('id');
										var nextobj_attach = $('#'+nextobj_name+'_3');

										var elem = $('#'+elem_name).detach();
										var elem1 = $('#'+elem_name+'_1').detach();
										var elem2 = $('#'+elem_name+'_2').detach();
										var elem3 = $('#'+elem_name+'_3').detach();
										nextobj_attach.after(elem3);
										nextobj_attach.after(elem2);
										nextobj_attach.after(elem1);
										nextobj_attach.after(elem);
										}
									else{
										var nextobj = $('#'+elem_name).next();
										var nextobj_name = nextobj.attr('id');

										if(nextobj_name.substr(nextobj_name.length-6) == '_child'){
											nextobj = $('#'+nextobj_name).next();
											nextobj_name = nextobj.attr('id');
											}

										if(G_obj(nextobj_name+'_child')){
											nextobj = $('#'+nextobj_name+'_child');
											}

										var elem = $('#'+elem_name).detach();
										if(G_obj(elem_name+'_child')){
											var elem1 = $('#'+elem_name+'_child').detach();
											nextobj.after(elem1);
											}
										nextobj.after(elem);
										}

									if(!G_obj('movedown_'+nextobj_name)){
										$('#movedown_'+elem_name).remove();
										var pos = nextobj_name.lastIndexOf('_');
										var idnext = nextobj_name.substr(pos+1);
										$('#movedown_contener_'+nextobj_name).html('<img title="'+_JAVA_MOVE_DOWN+'" alt="'+_JAVA_MOVE_DOWN+'" src="images/menu_down.png" style="cursor: pointer;" onclick="AjaxUpdate(\''+Mym+'\' , \'movedown_object\' , '+idnext+' , false , \'\');" id="movedown_'+nextobj_name+'">');
										// on est sur le dernier....
										if(G_obj('decale_'+elem_name)){
											G_obj('decale_'+elem_name).style.background = '#f5f5f5 url(images/smLast.png) no-repeat left top';
											}
										if(G_obj('decale_'+nextobj_name)){
											G_obj('decale_'+nextobj_name).style.background = '#f5f5f5 url(images/smEntry.png) no-repeat left center';
											}
										if(G_obj('decale_'+elem_name+'_child')){
											G_obj('decale_'+elem_name+'_child').style.background = '#f5f5f5';
											}
										if(G_obj('decale_'+nextobj_name+'_child')){
											G_obj('decale_'+nextobj_name+'_child').style.background = '#f5f5f5 url(images/smFull.png) repeat-y left top';
											}
										}
									if(!G_obj('moveup_'+elem_name)){
										$('#moveup_'+nextobj_name).remove();
										$('#moveup_contener_'+elem_name).html('<img title="'+_JAVA_MOVE_UP+'" alt="'+_JAVA_MOVE_UP+'" src="images/menu_up.png" style="cursor: pointer;" onclick="AjaxUpdate(\''+Mym+'\' , \'moveup_object\' , '+Myid+' , false , \'\');" id="moveup_'+elem_name+'">');
										}
									done = true;
									}
								break;
							case 'moveup_object':
								var itm = Mya.split('_');
								var obj = G_obj('child_'+Mym+'_'+Myid);
								if(obj){
									var elem_name = 'child_'+Mym+'_'+Myid;
									var prevobj = $('#'+elem_name).prev();

									if(Mym == 'menu_block'){
										var prevobj_name = prevobj.attr('id').substr( 0 , prevobj.attr('id').length-2);
										prevobj = $('#'+prevobj_name);

										var elem = $('#'+elem_name).detach();
										var elem1 = $('#'+elem_name+'_1').detach();
										var elem2 = $('#'+elem_name+'_2').detach();
										var elem3 = $('#'+elem_name+'_3').detach();
										prevobj.before(elem);
										prevobj.before(elem1);
										prevobj.before(elem2);
										prevobj.before(elem3);
										}
									else{
										var prevobj_name = prevobj.attr('id');
										if(prevobj_name.substr(prevobj_name.length-6) == '_child'){
											prevobj_name = prevobj.attr('id').substr(0 , prevobj_name.length-6);
											}
										prevobj = $('#'+prevobj_name);
										var elem = $('#'+elem_name).detach();
										prevobj.before(elem);
										if(G_obj(elem_name+'_child')){
											var elem1 = $('#'+elem_name+'_child').detach();
											prevobj.before(elem1);
											}
										}
									// traitement des boutons up et down
									if(!G_obj('moveup_'+prevobj_name)){
										$('#moveup_'+elem_name).remove();
										var pos = prevobj_name.lastIndexOf('_');
										var idnext = prevobj_name.substr(pos+1);
										$('#moveup_contener_'+prevobj_name).html('<img title="'+_JAVA_MOVE_UP+'" alt="'+_JAVA_MOVE_UP+'" src="images/menu_up.png" style="cursor: pointer;" onclick="AjaxUpdate(\''+Mym+'\' , \'moveup_object\' , '+idnext+' , false , \'\');" id="moveup_'+prevobj_name+'">');
										}
									if(!G_obj('movedown_'+elem_name)){
										$('#movedown_'+prevobj_name).remove();
										$('#movedown_contener_'+elem_name).html('<img title="'+_JAVA_MOVE_DOWN+'" alt="'+_JAVA_MOVE_DOWN+'" src="images/menu_down.png" style="cursor: pointer;" onclick="AjaxUpdate(\''+Mym+'\' , \'movedown_object\' , '+Myid+' , false , \'\');" id="movedown_'+elem_name+'">');
										if(G_obj('decale_'+prevobj_name)){
											G_obj('decale_'+prevobj_name).style.background = '#f5f5f5 url(images/smLast.png) no-repeat left top';
											}
										if(G_obj('decale_'+prevobj_name+'_child')){
											G_obj('decale_'+prevobj_name+'_child').style.background = '#f5f5f5';
											}
										if(G_obj('decale_'+elem_name)){
											G_obj('decale_'+elem_name).style.background = '#f5f5f5 url(images/smEntry.png) no-repeat left center';
											}

										if(G_obj('decale_'+elem_name+'_child')){
											G_obj('decale_'+elem_name+'_child').style.background = '#f5f5f5 url(images/smFull.png) repeat-y left top';
											}
										}
									done = true;
									}
								break;								
							default:
								break;
							}
						if(done == false){
							window.location.reload();
							}
						}
					}
				}
			xhr.open("POST","index.php?model="+Mym+"&action="+Mya+"&admin",true);
			xhr.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); 
			xhr.send('object_id='+Myid+'&val='+Myval);
			openboxUpWait();
			}
		}

function AffectDriverRun(item , driver){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			closeBoxUpWait();
			if(xhr.responseText == 'false'){
				alert(_JAVA_ALERT_ERROR);
				}
			else{
				}
			}
		}
	xhr.open("POST","index.php?model=categ_in_course&action=affect_object&admin",true);
	xhr.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); 
	xhr.send('driver_id='+driver+'&object_id='+item.value);
	openboxUpWait();
	}
	
function AffectDriverRunAll(categ , driver , champ , act){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			closeBoxUpWait();
			if(xhr.responseText == 'false'){
				alert(_JAVA_ALERT_ERROR);
				}
			else{
				var tbChamps = MygetElementsByClassName(G_obj('parentcheck') , 'checkspecial');
				var nb = tbChamps.length;
				for(var i = 0 ; i < nb ; i++){
					tbChamps[i].checked = (act == 'add' ? true : false);
					}
				}
			}
		}
	xhr.open("POST","index.php?model=categ_in_course&action=affect_object&admin",true);
	xhr.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" ); 
	xhr.send('driver_id='+driver+'&action='+act+'&categ_id='+categ+'&champ_id='+champ+'&object_id=');
	openboxUpWait();
	}


function FCKeditor_OnComplete( editorInstance ){
	if(G_obj('page_local_content_init') && editorInstance.Name == 'page_local_content'){
		editorInstance.SetData(G_obj('page_local_content_init').value);
		}
	if(G_obj('news_local_content_init') && editorInstance.Name == 'news_local_content'){
		editorInstance.SetData(G_obj('news_local_content_init').value);
		}
  editorInstance.Events.AttachEvent( 'OnBlur', DoSomething ) ;
	}

function DoSomething( editorInstance ){
  var oEditor = FCKeditorAPI.GetInstance( editorInstance.Name ) ;
	if(G_obj('control')){
		VerifForm(G_obj('control'));
		}
	}

function MajFormMenuType(champs , champsdestname){
	var Myform = champs.form;	
	var Mytype = champs.value;
	Myform.elements['menu_dest_id'].selectedIndex = 0;
	Myform.elements['menu_link'].value = '';
	Myform.elements['menu_link'].disabled=true;
	Myform.elements['menu_dest_id'].disabled=true;
	$('#menu_dest_id').removeAttr("rel");
	$('#menu_link').removeAttr("rel");
	G_obj('MenuDest1Title').style.display = 'none';
	G_obj('MenuDest1Img').style.display = 'none';
	G_obj('MenuDest1Type').style.display = 'none';
	G_obj('MenuDest2Title').style.display = 'none';
	G_obj('MenuDest2Img').style.display = 'none';
	G_obj('MenuDest2Type').style.display = 'none';
	var do_ajax = false;
	
	
	
	if(Mytype == ''){}
	else{
		var Mytitle = _JAVA_MENU_DEST_TITLE.split(',');
		var Mytitle2 = _JAVA_MENU_DEST_TITLE2.split(',');
		G_obj('MenuDest1Title').innerHTML = Mytitle[Mytype]+' : ';
		G_obj('MenuDest2Title').innerHTML = Mytitle2[Mytype]+' : ';

		switch(parseInt(Mytype,10)){
			case 1:
			case 2:
			case 3:
				G_obj('MenuDest1Title').style.display = 'block';
					G_obj('MenuDest1Img').style.display = 'block';
					G_obj('MenuDest1Type').style.display = 'block';
					Myform.elements['menu_dest_id'].selectedIndex = 0;
					$('#menu_dest_id').attr("rel" , "required|10");
					Myform.elements['menu_dest_id'].disabled=false;

					G_obj('MenuDest2Title').style.display = 'none';
					G_obj('MenuDest2Img').style.display = 'none';
					G_obj('MenuDest2Type').style.display = 'none';
					
					Myform.elements['menu_link'].value = '';
					Myform.elements['menu_link'].disabled=true;
					$('#menu_link').removeAttr("rel");
					do_ajax = true;
					break;
				case 4:
					G_obj('MenuDest1Title').style.display = 'block';
					G_obj('MenuDest1Img').style.display = 'block';
					G_obj('MenuDest1Type').style.display = 'block';
					Myform.elements['menu_dest_id'].selectedIndex = 0;
					$('#menu_dest_id').attr("rel" , "required|10");
					Myform.elements['menu_dest_id'].disabled=false;
	
					G_obj('MenuDest2Title').style.display = 'block';
					G_obj('MenuDest2Img').style.display = 'block';
					G_obj('MenuDest2Type').style.display = 'block';
					Myform.elements['menu_link'].value = '&';
					Myform.elements['menu_link'].disabled=false;
					$('#menu_link').attr("rel" , "required|64");
					do_ajax = true;
					break;
				case 5:
				case 6:
					G_obj('MenuDest1Title').style.display = 'none';
					G_obj('MenuDest1Img').style.display = 'none';
					G_obj('MenuDest1Type').style.display = 'none';
					Myform.elements['menu_dest_id'].selectedIndex = 0;
					$('#menu_dest_id').removeAttr("rel");
					Myform.elements['menu_dest_id'].disabled=true;
	
					G_obj('MenuDest2Title').style.display = 'block';
					G_obj('MenuDest2Img').style.display = 'block';
					G_obj('MenuDest2Type').style.display = 'block';
					Myform.elements['menu_link'].value = 'http://';
					Myform.elements['menu_link'].disabled=false;
					$('#menu_link').attr("rel" , "required|256");
					break;
				case 7:
				case 8:
				default:
					G_obj('MenuDest1Title').style.display = 'none';
					G_obj('MenuDest1Img').style.display = 'none';
					G_obj('MenuDest1Type').style.display = 'none';
					Myform.elements['menu_dest_id'].selectedIndex = 0;
					$('#menu_dest_id').removeAttr("rel");
					Myform.elements['menu_dest_id'].disabled=true;

					G_obj('MenuDest2Title').style.display = 'none';
					G_obj('MenuDest2Img').style.display = 'none';
					G_obj('MenuDest2Type').style.display = 'none';
					Myform.elements['menu_link'].value = '';
					Myform.elements['menu_link'].disabled=true;
					$('#menu_link').removeAttr("rel");
					break;
			}
		if(do_ajax == true){
			var xhr = getXhr();
			xhr.onreadystatechange = function(){
			if(xhr.readyState == 4 && xhr.status == 200){
				closeBoxUpWait();
				if(xhr.responseText == 'false'){alert("erreur : "+xhr.responseText);}
				else{
					var objdest = Myform.elements[champsdestname];
					objdest.options.length = 0;
					var objoption = document.createElement("option");	
					objoption.setAttribute('value', '');
					objoption.innerHTML = _JAVA_CHOOSE;
					objdest.appendChild(objoption);
	
					if(xhr.responseText != 'none'){
						if (window.DOMParser){var parser = new DOMParser();	var xmlDoc = parser.parseFromString(xhr.responseText,"text/xml");}
						else {var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");	xmlDoc.async="false"; xmlDoc.loadXML(xhr.responseText);} 
	
						var optionid = xmlDoc.getElementsByTagName('optionid');
						var optiontitle = xmlDoc.getElementsByTagName('optiontitle');
						var nb = optionid.length;
	
						if(nb > 0){
							for(var i=0;i<nb;i++){
								var objoption = document.createElement("option");	
								objoption.setAttribute('value', optionid[i].firstChild.nodeValue);
								objoption.innerHTML = optiontitle[i].firstChild.nodeValue;
								objdest.appendChild(objoption);
								}
							}
						}
					}
				}
			}
		switch(parseInt(Mytype,10)){
			case 1:
				xhr.open("GET","index.php?model=page_list&action=ajax_objects_list&admin",true);
				xhr.send(null);
				break;
			case 2:
				xhr.open("GET","search_result.php",true);
				xhr.send(null);
/*
			xhr.open("GET","index.php?model=news_list&action=show_list&admin&xml",true);
			xhr.send(null);
*/
				break;
			case 3:
				xhr.open("GET","search_result.php",true);
				xhr.send(null);
/*
			xhr.open("GET","index.php?model=news_list&action=show_list&video&admin&xml",true);
			xhr.send(null);
*/
				break;
		case 4:
				xhr.open("GET","search_result.php",true);
				xhr.send(null);
/*
			xhr.open("GET","index.php?model=module_list&action=show_list&admin&xml",true);
			xhr.send(null);
*/
			break;
			}
		openboxUpWait();
		}
	}		
}

function MajFormBlockPosition(champs , champsdestname){
	var Myform = champs.form;	
	var Myplace = champs.value;
	var objdest = Myform.elements[champsdestname];
	objdest.options.length = 1;
	objdest.selectedIndex = 0;
	objdest.options[0].value = 1;

	if(Myplace != ''){
		var xhr = getXhr();
		xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			closeBoxUpWait();
			if(xhr.responseText == 'false'){alert("erreur : "+xhr.responseText);}
			else{
	
				if(xhr.responseText != 'none'){
					if (window.DOMParser){var parser = new DOMParser();	var xmlDoc = parser.parseFromString(xhr.responseText,"text/xml");}
					else {var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");	xmlDoc.async="false"; xmlDoc.loadXML(xhr.responseText);} 
	
					var optionid = xmlDoc.getElementsByTagName('optionid');
					var optiontitle = xmlDoc.getElementsByTagName('optiontitle');
					var nb = optionid.length;
	
					if(nb > 0){
						for(var i=0;i<nb;i++){
							var objoption = document.createElement("option");	
							objoption.setAttribute('value', (parseInt(optionid[i].firstChild.nodeValue , 10)+1));
							objoption.innerHTML = _JAVA_BEFORE_PLACE + ' ' + optiontitle[i].firstChild.nodeValue;
							objdest.appendChild(objoption);
							}
						objdest.options[0].value = (nb+1);
						}
					}
				}
			}
		}
		xhr.open("GET","index.php?model=menu_block&action=ajax_objects_list&menu_block_place="+Myplace+"&admin",true);
		xhr.send(null);
		openboxUpWait();
		}
	}		


function assign_attr_rel(champs , val){		// non use
	if(G_obj(champs)){
		var obj = G_obj(champs);
		for( var x = 0; x < obj.attributes.length; x++ ) {
  		if( obj.attributes[x].nodeName.toLowerCase() == 'rel' ) {
  			obj.attributes[x].nodeValue = val;
	  		}
			}
		}
	}

function VerifForm(champs){
	var cont = true;
	var Myform = champs.form;	
	var tbChamps = MygetElementsByClassName(Myform , 'FormInput');
	var nb = tbChamps.length;
	var tbElement = new Array();
	var tbElementRequired = new Array();
	var tbElementSize = new Array();
	var tbElementDone = new Array();

	var j=0;
	for(var i=0;i<nb;i++){
		
		for( var x = 0; x < tbChamps[i].attributes.length; x++ ) {
  		if( tbChamps[i].attributes[x].nodeName.toLowerCase() == 'name' ) {
  			tbElement[i] = tbChamps[i].attributes[x].nodeValue;
	  		}
  		if( tbChamps[i].attributes[x].nodeName.toLowerCase() == 'rel' ) {
  			var explo = tbChamps[i].attributes[x].nodeValue.split('|');
  			tbElementRequired[i] = explo[0];
  			tbElementSize[i] = explo[1];
	  		}
			}
		}
	for(var i=0; i<tbElement.length;i++){
		var obj = Myform.elements[tbElement[i]];
		if(!obj.tagName){
			// ca c est les radio : je sais pas pq ...
			
			if(tbElementRequired[i] == 'required'){
				var nbradio = obj.length;
				if(nbradio == 1){
					if(obj.checked == false){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
					}
				else{
					var conttmp = false;
					for(var k=0;k<nbradio;k++){
						if(obj[i].checked == true){conttmp = true;}
						}
					if(conttmp == false){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
					}
				}
			else{
				ImgSet(tbElement[i] , 1);
				}
			}
		else{
			switch(obj.tagName.toLowerCase()){
				case 'textarea':
					if(obj.value.length > tbElementSize[i]){
						cont = false;ImgSet(tbElement[i] , 0);
//						alert (obj.value.length+" greater than "+tbElementSize[i]);
						}
					else{
						if(tbElementRequired[i] == 'required'){
							if(obj.value == ""){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
							}
						else{
							ImgSet(tbElement[i] , 1);
							}
						}
					break;
				case 'select':
					if(tbElementRequired[i] == 'required'){
						if(obj.options[obj.options.selectedIndex].value == "" || obj.options[obj.options.selectedIndex].value == 0){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
						}
					else{
						ImgSet(tbElement[i] , 1);
						}
					break;
				case 'input':
				default:
					switch(obj.getAttribute('TYPE').toLowerCase()){
						case 'hidden':
							if(obj.name.substr(0,7) == 'control'){
								if(tbElementRequired[i] == 'required'){
									var textreturn = return_form_Content(obj.value);
									if(textreturn == ''){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
									}
								else{
									ImgSet(tbElement[i] , 1);
									}
								}
							else if(obj.name.substr(0,7) == 'ckeditor'){
								if(tbElementRequired[i] == 'required'){
									var textreturn = return_form_Content_ckeditor(obj.value);
									if(textreturn == ''){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
									}
								else{
									ImgSet(tbElement[i] , 1);
									}
								}
							break;
						case 'radio':
						// on remet les radio au cas ou
							if(tbElementRequired[i] == 'required'){
								var nbradio = obj.length;
								if(nbradio == 1){
									if(obj.checked == false){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
									}
								else{
									var conttmp = false;
									for(var k=0;k<nbradio;k++){
										if(obj[i].checked == true){conttmp = true;}
										}
									if(conttmp == false){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
									}
								}
							else{
								ImgSet(tbElement[i] , 1);
								}
						 	break;
						case 'checkbox':
							if(tbElementRequired[i] == 'required'){
								if(obj.checked == false){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
								}
							else{
								ImgSet(tbElement[i] , 1);
								}

						 	break;
						case 'password':
						case 'text':
						default:
							if(obj.value.length > tbElementSize[i]){
								cont = false;ImgSet(tbElement[i] , 0);
								}
							else{
								if(tbElementRequired[i] == 'required'){
									if(obj.value == "" || obj.value == "http://"){cont = false;ImgSet(tbElement[i] , 0);}	else{ImgSet(tbElement[i] , 1);}
									}
								else{
									ImgSet(tbElement[i] , 1);
									}
								}
						 	break;
						}
					break;
				}
			}
		}
	if(G_obj('news_video_url')){
		if(G_obj('news_video_url').value == ''){
			Myform.elements['news_video_url'].disabled = true;
			Myform.elements['news_video_type_mime'].disabled = true;
			Myform.elements['news_video_size'].disabled = true;
			Myform.elements['news_video_original'].disabled = true;
			}
		else{
			Myform.elements['news_video_url'].disabled = false;
			Myform.elements['news_video_type_mime'].disabled = false;
			Myform.elements['news_video_size'].disabled = false;
			Myform.elements['news_video_original'].disabled = false;
			}
		}
	if(G_obj('news_created')){
		if(G_obj('news_created').value == ''){
			Myform.elements['news_created'].disabled = false;
			}
		else{
			Myform.elements['news_created'].disabled = false;
			}
		}
		
	
	if(cont){
		G_obj(Myform.getAttribute('NAME')+'Submit').className = "Activate";
		G_obj(Myform.getAttribute('NAME')+'Submit').onclick = function(Form_name){return function() {document.forms[Form_name].submit();};}(Myform.getAttribute('NAME'));
		}
	else{
		G_obj(Myform.getAttribute('NAME')+'Submit').className = "InActivate";
		G_obj(Myform.getAttribute('NAME')+'Submit').onclick = function(){};
		}
}

function return_form_Content(champsName){
		
		// on ne prend que le texte brut pas les tags
		var inst = FCKeditorAPI.GetInstance(champsName);
		var MyText = inst.GetHTML();
		MyText = MyText.replace(new RegExp("<([^>]+)>" , "g"),' ');
		MyText = html_entity_decode(MyText);
    MyText = MyText.replace(new RegExp("[\\s]{1,}","g")," ");
		return MyText;
	}

function return_form_Content_ckeditor(champsName){
		var MyText = editor.getData();
		MyText = MyText.replace(new RegExp("<([^>]+)>" , "g"),' ');
		MyText = html_entity_decode(MyText);
    MyText = MyText.replace(new RegExp("[\\s]{1,}","g")," ");
		return MyText;
	}


/*	CUSTOM FORM ELEMENTS Created by Ryan Fait www.ryanfait.com */

var checkboxHeight = "25";
var radioHeight = "12";
var selectWidth = "190";

/* No need to change anything after this */
	document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + selectWidth + 'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; } .disabled { opacity: 0.5; filter: alpha(opacity=50); }</style>');

var CustomCSSForm = {
	init: function() {
		var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
		for(a = 0; a < inputs.length; a++) {
			if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
				span[a] = document.createElement("span");
				span[a].className = inputs[a].type;

				if(inputs[a].checked == true) {
					if(inputs[a].type == "checkbox") {
						position = "0 -" + (checkboxHeight*2) + "px";
						span[a].style.backgroundPosition = position;
					} else {
						position = "0 -" + (radioHeight*2) + "px";
						span[a].style.backgroundPosition = position;
					}
				}
				inputs[a].parentNode.insertBefore(span[a], inputs[a]);
				inputs[a].onchange = CustomCSSForm.clear;
				if(!inputs[a].getAttribute("disabled")) {
					span[a].onmousedown = CustomCSSForm.pushed;
					span[a].onmouseup = CustomCSSForm.check;
				} else {
					span[a].className = span[a].className += " disabled";
				}
			}
		}
		inputs = document.getElementsByTagName("select");
		for(a = 0; a < inputs.length; a++) {
			if(inputs[a].className == "styled") {
				option = inputs[a].getElementsByTagName("option");
				active = option[0].childNodes[0].nodeValue;
				textnode = document.createTextNode(active);
				for(b = 0; b < option.length; b++) {
					if(option[b].selected == true) {
						textnode = document.createTextNode(option[b].childNodes[0].nodeValue);
					}
				}
				span[a] = document.createElement("span");
				span[a].className = "select";
				span[a].id = "select" + inputs[a].name;
				span[a].appendChild(textnode);
				inputs[a].parentNode.insertBefore(span[a], inputs[a]);
				if(!inputs[a].getAttribute("disabled")) {
					inputs[a].onchange = CustomCSSForm.choose;
				} else {
					inputs[a].previousSibling.className = inputs[a].previousSibling.className += " disabled";
				}
			}
		}
		document.onmouseup = CustomCSSForm.clear;
	},
	pushed: function() {
		element = this.nextSibling;
		if(element.checked == true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 -" + checkboxHeight*3 + "px";
		} else if(element.checked == true && element.type == "radio") {
			this.style.backgroundPosition = "0 -" + radioHeight*3 + "px";
		} else if(element.checked != true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
		} else {
			this.style.backgroundPosition = "0 -" + radioHeight + "px";
		}
	},
	check: function() {
		element = this.nextSibling;
		if(element.checked == true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 0";
			element.checked = false;
		} else {
			if(element.type == "checkbox") {
				this.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
			} else {
				this.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
				group = this.nextSibling.name;
				inputs = document.getElementsByTagName("input");
				for(a = 0; a < inputs.length; a++) {
					if(inputs[a].name == group && inputs[a] != this.nextSibling) {
						inputs[a].previousSibling.style.backgroundPosition = "0 0";
					}
				}
			}
			element.checked = true;
		}
	},
	clear: function() {
		inputs = document.getElementsByTagName("input");
		for(var b = 0; b < inputs.length; b++) {
			if(inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
			} else if(inputs[b].type == "checkbox" && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 0";
			} else if(inputs[b].type == "radio" && inputs[b].checked == true && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
			} else if(inputs[b].type == "radio" && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 0";
			}
		}
	},
	choose: function() {
		option = this.getElementsByTagName("option");
		for(d = 0; d < option.length; d++) {
			if(option[d].selected == true) {
				document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
			}
		}
	}
}

window.onload = CustomCSSForm.init;

function addLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}
addLoadEvent(InitGlobal);

$(function(){
	if($('#OriginalTotranslate').length > 0){
		$('#OriginalTotranslate').draggable({opacity: 0.7 , cursor: 'move' , iframeFix: true}); 
		$("#OriginalTotranslate").topZIndex( { increment: 10 });
		}
	});


$(function(){
  $("#NewsPrompterMainPage").mbScrollable({
    dir:"vertical",
    width:648,
    height:42,
    elementsInPage:1,
    elementMargin:6,
    shadow:false,
    controls:"#NewsPrompterCategory",
    slideTimer:600,
    autoscroll:true,
    scrollTimer:4000
    });
	});

$(function($) {
  var options = {
		timeNotation:'24h',
		UTC: true,
    fontFamily: 'Verdana, Times New Roman',
    fontSize: '12px',
		fontFamily:'Arial',
    format: '%d %B %Y %H:%M:%S'
    }
  $('.jclock').jclock(options);
	});

$(function() {
	$("#page_start").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd hh:mm:ss)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+' 00:00:00';} }});
	$("#page_end").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd hh:mm:ss)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+' 00:00:00';} }});
	$("#news_created").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd hh:mm:ss)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+' 00:00:00';} }});
	$("#driver_birth").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+'';} }});
	$("#compet_date").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+'';} }});
	$("#course_date").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+'';} }});
	$("#pub_start").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd hh:mm:ss)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+' 00:00:00';} }});
	$("#pub_end").datepicker({ altFormat: 'yy-mm-dd', constrainInput: true , appendText: '(yyyy-mm-dd hh:mm:ss)', dateFormat:'yy-mm-dd' , onClose: function(dateText, inst) { if(dateText != '' && dateText.length < 19 ){this.value = dateText+' 00:00:00';} }});
	});

$(function(){
  $("#extruderLeft").buildMbExtruder({
    position:"left",
    flapDim:140,
    sensibility:10,
    width:300,
    extruderOpacity:.8,
    onClose:function(){},
    positionFixed:true,
    onContentLoad: function(){},
    slideTimer:100
  });
});
    
function generate_connect_form(){
	$('#ShowConnectForm').click(function() {
		$("#Lang").before('<div id="overlay"></div>');
		$("#Lang").before('<div id="ConnectForm"><div id="ConnectFormClose"><div id="ConnectFormName">Connection</div><div id="ConnectFormCloseButton"><img src="images/closeBtn.gif" alt="Close" title="Close" /><br style="clear: both;" /></div></div><iframe src="" id="ConnectFormFrame" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 style="width: 100%; height: 300px; border: 0px; margin: 0px; padding: 0px;"></iframe></div>');
		$('#ConnectFormCloseButton').click(function() {
			$('#overlay').fadeOut('fast');
			$('#ConnectForm').fadeOut('fast');
			$('#overlay').remove();
			$('#ConnectForm').remove();
			});
		$("#overlay").css( 'height', parseInt($(document).height()) +'px' );
		$("#overlay").css( 'width', parseInt($(window).width())+'px' );
		$("#overlay").topZIndex( { increment: 10 } );
		$("#ConnectForm").topZIndex( { increment: 20 } );
		$("#ConnectForm").css( 'top', parseInt((($(window).height() - $("#ConnectForm").height())/2) + $(document).scrollTop())+'px' );
		$("#ConnectForm").css( 'left', parseInt((($(window).width() - $("#ConnectForm").width())/2) + $(document).scrollLeft())+'px' );
		$('#ConnectFormFrame').attr('src' , '?model=user&action=show_form&type=login&popup');
		$('#overlay').fadeTo('fast', 0.6);
		$('#ConnectForm').fadeIn('fast');
		});
	}

function openBoxUp(MyUrl , Mytitle , MyW , MyH){
	if(MyW){}else{
		var MyW = parseInt($(window).width())-200;
		if(MyW < 200){ MyW = 200;}
		}

	if(MyH){}else{
		var MyH = parseInt($(window).height()) -200;
		if(MyH < 200){ MyH = 200;}
		}

	$("#Lang").before('<div id="overlay"></div>');
	$("#Lang").before('<div id="MyBoxUpSpecial" style="width: '+MyW+'px;"><div id="MyBoxUpSpecialTop"><div id="MyBoxUpSpecialTitle">'+Mytitle+'</div><div id="MyBoxUpSpecialCloseButton"><img src="images/closeBtn.gif" alt="Close" title="Close" /><br style="clear: both;" /></div></div><iframe src="" id="MyBoxUpSpecialFrame" FRAMEBORDER=0 MARGINWIDTH=0 MARGINHEIGHT=0 style="width: 100%; height: '+MyH+'px; border: 0px; margin: 0px; padding: 0px;"></iframe></div>');
	$('#MyBoxUpSpecialCloseButton').click(function() {closeBoxUp();});
	$("#overlay").css( 'height', parseInt($(document).height()) +'px' );
	$("#overlay").css( 'width', parseInt($(window).width())+'px' );
	$("#overlay").topZIndex( { increment: 10 } );
	$("#MyBoxUpSpecial").topZIndex( { increment: 20 } );
	$("#MyBoxUpSpecial").css( 'width', MyW+'px' );
	var TopPos = parseInt((($(window).height() - $("#MyBoxUpSpecial").height())/2) + $(document).scrollTop());
	TopPos = (TopPos > 0 ? TopPos : 0);
	var LeftPos = parseInt((($(window).width() - $("#MyBoxUpSpecial").width())/2) + $(document).scrollLeft());
	LeftPos = (LeftPos > 0 ? LeftPos : 0);
	
	$("#MyBoxUpSpecial").css( 'top', TopPos+'px' );
	$("#MyBoxUpSpecial").css( 'left', LeftPos+'px' );
	$('#MyBoxUpSpecialFrame').attr('src' , ''+MyUrl+'');
	$('#overlay').fadeTo('fast', 0.6);
	$('#MyBoxUpSpecial').fadeIn('fast');
	}

function closeBoxUp(){
	if($('#overlay').length > 0){$('#overlay').fadeOut('fast');}
	if($('#MyBoxUpSpecial').length > 0){$('#MyBoxUpSpecial').fadeOut('fast');}
	if($('#overlay').length > 0){$('#overlay').remove();}
	if($('#MyBoxUpSpecial').length > 0){$('#MyBoxUpSpecial').remove();}
	}

function main_adapte(){
	if( $("#PageLocalMain").length > 0 && $("#RightContent").length > 0){
		var htmain = $("#PageLocalMain").height();
		var htright = $("#RightContent").height();
		if( htmain < htright){
			$(".PageLocalContent").css( 'height' , (htright-30)+'px' );
			}
		}
	}

(function($) {
	jQuery.fn.imageoverlay = function(){
		var bcl = 0;  
		return this.each(function(){					
			var element = this;
			if( $("#PhotoOverlay_"+bcl).length === 0){
				$(element).after('<div class="PhotoOverlay" id="PhotoOverlay_'+bcl+'"><div><div><div><div><div><div><div>&nbsp;</div></div></div></div></div></div></div></div>');
				}
			var q = $("#PhotoOverlay_"+bcl);
			var p = $(element).position();
			q.css( 'position', 'absolute' );
			q.css( 'top', p.top+'px' );
			q.css( 'left', (p.left+parseFloat($(element).css("marginLeft").replace("px", "")))+'px' );
			q.css( 'width' , $(element).width()+'px' );
			q.css( 'height' , ($(element).height()+1)+'px' );
			bcl++;			
			});
		};
 })(jQuery);

$(window).resize(function() {
  $('.PhotoContent').imageoverlay();
});


/**********************************************************************************************************************************************
TRAITEMENT DES DESCRIPTIONS, MOTS CLES ET URLREWRITING
***********************************************************************************************************************************************

***********************************************************************************************************************************************
IMPORTATION TEXT URLREWRITING
-> champs url_rewriting.value = champs_titre.value
**********************************************************************************************************************************************/

	function suggestUrl(dest , sourc){
		dest.value = sourc.value;
		VerifUrlRewriting(dest);
		}

/***********************************************************************************************************************************************
URLREWRITING FORMATTING
***********************************************************************************************************************************************/

	function VerifUrlRewriting(champs){
		var r = champs.value.toLowerCase();
/*
	  r = r.replace(new RegExp("[àáâãäå]","g"),"a");
    r = r.replace(new RegExp("æ" , "g"),"ae");
    r = r.replace(new RegExp("ç","g"),"c");
    r = r.replace(new RegExp("[èéêë]","g"),"e");
    r = r.replace(new RegExp("[ìíîï]","g"),"i");
    r = r.replace(new RegExp("ñ","g"),"n");                
    r = r.replace(new RegExp("[òóôõö]","g"),"o");
    r = r.replace(new RegExp("œ","g"),"oe");
    r = r.replace(new RegExp("[ùúûü]","g"),"u");
    r = r.replace(new RegExp("[ýÿ]","g"),"y");
*/
    r = r.replace(new RegExp("[^a-z0-9]","g"),"-");
    r = r.replace(new RegExp("[-]{1,}","g"),"-");
    r = r.replace(new RegExp("[-]{1}[a-z0-9]{1}[-]{1}","g"),"-");

		champs.value = r;
		}

/***********************************************************************************************************************************************
EXTRACTION DES MOTS CLES
***********************************************************************************************************************************************/
		
	// appel : ExtractMotCle("Nom de l'instance fckeditor");
		
	function suggestKeys(champs , nameofinstance){
		var r = return_local_content(nameofinstance).toLowerCase();
/*
	  r = r.replace(new RegExp("[àáâãäå]","g"),"a");
    r = r.replace(new RegExp("æ" , "g"),"ae");
    r = r.replace(new RegExp("ç","g"),"c");
    r = r.replace(new RegExp("[èéêë]","g"),"e");
    r = r.replace(new RegExp("[ìíîï]","g"),"i");
    r = r.replace(new RegExp("ñ","g"),"n");                
    r = r.replace(new RegExp("[òóôõö]","g"),"o");
    r = r.replace(new RegExp("œ","g"),"oe");
    r = r.replace(new RegExp("[ùúûü]","g"),"u");
    r = r.replace(new RegExp("[ýÿ]","g"),"y");
*/
    r = r.replace(new RegExp("[^a-z]","g")," ");
		r = r.replace(new RegExp("[\\s]{1,}","g")," ");

		var tbWord = r;
		tbWord = tbWord.split(" ");
		var nbmot = tbWord.length;
		var mot = new Array();
		var pertinence = new Array();
		var j = 0;
		if(nbmot > 0){
			for(var i=0 ;i < nbmot ; i++){
				if(tbWord[i].length > 5){

					var Myindex = array_search(tbWord[i], mot);
					if(Myindex == false){
						mot[j] = tbWord[i];
						pertinence[j] = 1;
						j++;
						}
					else{
						pertinence[Myindex]++;
						}
					}
				}
 			}
		nbmot = mot.length;
		if(nbmot > 0){
			array_multisort(pertinence, 'SORT_DESC', 'SORT_NUMERIC', mot);
			}
		mot = mot.slice(0,15);
		mot = mot.join(",");

		// SPECIFIER LE BON CHAMPS DE RETOURS !!!
		champs.value = mot;
		}
	
/***********************************************************************************************************************************************
EXTRACTION DES LA DESCRIPTION : 197 premiers caractres
***********************************************************************************************************************************************/
	
	// appel : ExtractDescr("Nom de l'instance fckeditor");
	function suggestDescr( champs , nameofinstance){
		var tbWord = return_local_content(nameofinstance);
		tbWord = tbWord.substr(0,197)+"...";
		champs.value = tbWord;
		}

/***********************************************************************************************************************************************
RENVOI LE CONTENU DE L'INSTANCE FCKEDITOR
***********************************************************************************************************************************************/
		
	function return_local_content(nameofinstance){
		if(typeof(editor) != "undefined"){
			var MyText = editor.getData();
			}
		else{
			var inst = FCKeditorAPI.GetInstance(nameofinstance);
			var MyText = inst.GetHTML();
			}
		MyText = MyText.replace(new RegExp("<([^>]+)>" , "g"),' ');
		MyText = html_entity_decode(MyText);
    MyText = MyText.replace(new RegExp("[\\s]{1,}","g")," ");
		return MyText;
		}

/***********************************************************************************************************************************************
ARRAY SEARCH EN JAVASCRIPT
***********************************************************************************************************************************************/
		
function array_search(needle,haystack,argStrict){var strict=!!argStrict;var key='';for(key in haystack){if((strict&&haystack[key]===needle)||(!strict&&haystack[key]==needle)){return key;}}return false;}

function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict; 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
            	return true;
            }
        }
    }
     return false;
}

 function html_entity_decode(str){
	 try{
		var tarea=document.createElement('textarea');
		tarea.innerHTML = str; return tarea.value;
		tarea.parentNode.removeChild(tarea);
		}
	catch(e){
	 //for IE add <div id="htmlconverter" style="display:none;"></div> to the page
	 document.getElementById("htmlconverter").innerHTML = '<textarea id="innerConverter">' + str + '</textarea>';
	 var content = document.getElementById("innerConverter").value;
	 document.getElementById("htmlconverter").innerHTML = "";
	 return content;
	 }
 }
	
/***********************************************************************************************************************************************
ARRAY MULTISORT EN JS
***********************************************************************************************************************************************/
		
	
function array_multisort (arr) {
	var flags = {'SORT_REGULAR': 16, 'SORT_NUMERIC': 17, 'SORT_STRING': 18, 'SORT_ASC': 32, 'SORT_DESC': 40},    sortArrs = [[]], sortFlag = [0], sortKeys = [[]], g = 0, i = 0, j = 0, k = '', l = 0, thingsToSort = [], vkey = 0, zlast = null,
  args = arguments, nLastSort = [], lastSort = [], lastSorts = [], tmpArray = [], elIndex = 0, sortDuplicator = function (a, b) {
	  return nLastSort.shift();
    };
  var sortFunctions = [[function (a, b) {
  	lastSort.push(a > b ? 1 : (a < b ? -1 : 0));
    return a > b ? 1 : (a < b ? -1 : 0);
    }, function (a, b) {
		lastSort.push(b > a ? 1 : (b < a ? -1 : 0));
    return b > a ? 1 : (b < a ? -1 : 0);    }], [function (a, b) {
    lastSort.push(a - b);
    return a - b;
    }, function (a, b) {
    lastSort.push(b - a);
    return b - a;
    }], [function (a, b) {
    lastSort.push((a + '') > (b + '') ? 1 : ((a + '') < (b + '') ? -1 : 0));
    return (a + '') > (b + '') ? 1 : ((a + '') < (b + '') ? -1 : 0);
    }, function (a, b) {
   	lastSort.push((b + '') > (a + '') ? 1 : ((b + '') < (a + '') ? -1 : 0));
    return (b + '') > (a + '') ? 1 : ((b + '') < (a + '') ? -1 : 0);
    }]];
 
    if (arr instanceof Array) {
        sortArrs[0] = arr;
    }
    else if (arr instanceof Object) {
    	for (i in arr) {
				if (arr.hasOwnProperty(i)) {
        	sortKeys[0].push(i);
          sortArrs[0].push(arr[i]);
          }
        }
    	}
    else {
      return false;
    } 
 
    var arrMainLength = sortArrs[0].length, sortComponents = [0, arrMainLength];
    for (j = 1; j < arguments.length; j++) {
        if (arguments[j] instanceof Array) {
            sortArrs[j] = arguments[j];
            sortFlag[j] = 0;
            if (arguments[j].length !== arrMainLength) {
                return false;
            }        } else if (arguments[j] instanceof Object) {
            sortKeys[j] = [];
            sortArrs[j] = [];
            sortFlag[j] = 0;
            for (i in arguments[j]) {                
            	if (arguments[j].hasOwnProperty(i)) {
                    sortKeys[j].push(i);
                    sortArrs[j].push(arguments[j][i]);
                }
            }            if (sortArrs[j].length !== arrMainLength) {
                return false;
            }
        } else if (typeof arguments[j] === 'string') {
            var lFlag = sortFlag.pop();            
            if (typeof flags[arguments[j]] === 'undefined' || ((((flags[arguments[j]]) >>> 4) & (lFlag >>> 4)) > 0)) { 
                return false;
            }
            sortFlag.push(lFlag + flags[arguments[j]]);
        } else {            return false;
        }
    }
 
     for (i = 0; i !== arrMainLength; i++) {
        thingsToSort.push(true);
    }
 
    // Sort all the arrays....    
    for (i in sortArrs) {
        if (sortArrs.hasOwnProperty(i)) {
            lastSorts = [];
            tmpArray = [];
            elIndex = 0;            nLastSort = [];
            lastSort = [];
 
    
            if (sortComponents.length === 0) {                
            	if (arguments[i] instanceof Array) {
                    args[i] = sortArrs[i];
                }
                else {
                    for (k in arguments[i]) {                        
                    	if (arguments[i].hasOwnProperty(k)) {
                            delete arguments[i][k];
                        }
                    }
                    for (j = 0, vkey = 0; j < sortArrs[i].length; j++) {                        
                    	vkey = sortKeys[i][j];
                        args[i][vkey] = sortArrs[i][j];
                    }
                }
                delete sortArrs[i];                
                delete sortKeys[i];
                continue;
            }
 
            var sFunction = sortFunctions[(sortFlag[i] & 3)][((sortFlag[i] & 8) > 0) ? 1 : 0];
 
            // Sort current array.
            for (l = 0; l !== sortComponents.length; l += 2) {
                tmpArray = sortArrs[i].slice(sortComponents[l], sortComponents[l + 1] + 1);
                tmpArray.sort(sFunction);
                lastSorts[l] = [].concat(lastSort); // Is there a better way to copy an array in Javascript?
                elIndex = sortComponents[l];
                for (g in tmpArray) {
                    if (tmpArray.hasOwnProperty(g)) {                        
                    	sortArrs[i][elIndex] = tmpArray[g];
                        elIndex++;
                    }
                }
            } 
            // Duplicate the sorting of the current array on future arrays.
            sFunction = sortDuplicator;
            for (j in sortArrs) {
                if (sortArrs.hasOwnProperty(j)) {                    
                	if (sortArrs[j] === sortArrs[i]) {
                        continue;
                    }
                    for (l = 0; l !== sortComponents.length; l += 2) {
                        tmpArray = sortArrs[j].slice(sortComponents[l], sortComponents[l + 1] + 1);                        
                        nLastSort = [].concat(lastSorts[l]); // alert(l + ':' + nLastSort);
                        tmpArray.sort(sFunction);
                        elIndex = sortComponents[l];
                        for (g in tmpArray) {
                            if (tmpArray.hasOwnProperty(g)) {                                
                            	sortArrs[j][elIndex] = tmpArray[g];
                                elIndex++;
                            }
                        }
                    }                }
            }
 
            // Duplicate the sorting of the current array on array keys
            for (j in sortKeys) {                if (sortKeys.hasOwnProperty(j)) {
                    for (l = 0; l !== sortComponents.length; l += 2) {
                        tmpArray = sortKeys[j].slice(sortComponents[l], sortComponents[l + 1] + 1);
                        nLastSort = [].concat(lastSorts[l]);
                        tmpArray.sort(sFunction);                        
                        elIndex = sortComponents[l];
                        for (g in tmpArray) {
                            if (tmpArray.hasOwnProperty(g)) {
                                sortKeys[j][elIndex] = tmpArray[g];
                                elIndex++;                            }
                        }
                    }
                }
            } 
            // Generate the next sortComponents
            zlast = null;
            sortComponents = [];
            for (j in sortArrs[i]) {                
            	if (sortArrs[i].hasOwnProperty(j)) {
                    if (!thingsToSort[j]) {
                        if ((sortComponents.length & 1)) {
                            sortComponents.push(j - 1);
                        }                        zlast = null;
                        continue;
                    }
                    if (!(sortComponents.length & 1)) {
                        if (zlast !== null) {                            
                        	if (sortArrs[i][j] === zlast) {
                                sortComponents.push(j - 1);
                            }
                            else {
                                thingsToSort[j] = false;                            }
                        }
                        zlast = sortArrs[i][j];
                    } else {
                        if (sortArrs[i][j] !== zlast) {                            
                        	sortComponents.push(j - 1);
                            zlast = sortArrs[i][j];
                        }
                    }
                }            }
 
            if (sortComponents.length & 1) {
                sortComponents.push(j);
            }            if (arguments[i] instanceof Array) {
                args[i] = sortArrs[i];
            }
            else {
                for (j in arguments[i]) {                    
                	if (arguments[i].hasOwnProperty(j)) {
                        delete arguments[i][j];
                    }
                }
                for (j = 0, vkey = 0; j < sortArrs[i].length; j++) {                    
                	vkey = sortKeys[i][j];
                    args[i][vkey] = sortArrs[i][j];
                }
 
            }            delete sortArrs[i];
            delete sortKeys[i];
        }
    }
    return true;
    }
    

function MygetElementsByClassName(parentElem , classnam){
	var retnode = [];
	var myclass = new RegExp('\\b'+classnam+'\\b');
	var elem = parentElem.getElementsByTagName('INPUT');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
		}
	var elem = parentElem.getElementsByTagName('TEXTAREA');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
		}
	var elem = parentElem.getElementsByTagName('SELECT');
	for (var i = 0; i < elem.length; i++) {
		var classes = elem[i].className;
		if (myclass.test(classes)) retnode.push(elem[i]);
		}
	return retnode;
	}	
	
document.getElementsByClassName = function(cl) {
	var retnode = [];
	var myclass = new RegExp('\\b'+cl+'\\b');
	var elem = this.getElementsByTagName('*');
	for (var i = 0; i < elem.length; i++) {
	var classes = elem[i].className;
	if (myclass.test(classes)) retnode.push(elem[i]);
	}
	return retnode;
}; 

window.jsonParse=function(){var r="(?:-?\\b(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b)",k='(?:[^\\0-\\x08\\x0a-\\x1f"\\\\]|\\\\(?:["/\\\\bfnrt]|u[0-9A-Fa-f]{4}))';k='(?:"'+k+'*")';var s=new RegExp("(?:false|true|null|[\\{\\}\\[\\]]|"+r+"|"+k+")","g"),t=new RegExp("\\\\(?:([^u])|u(.{4}))","g"),u={'"':'"',"/":"/","\\":"\\",b:"\u0008",f:"\u000c",n:"\n",r:"\r",t:"\t"};function v(h,j,e){return j?u[j]:String.fromCharCode(parseInt(e,16))}var w=new String(""),x=Object.hasOwnProperty;return function(h,
j){h=h.match(s);var e,c=h[0],l=false;if("{"===c)e={};else if("["===c)e=[];else{e=[];l=true}for(var b,d=[e],m=1-l,y=h.length;m<y;++m){c=h[m];var a;switch(c.charCodeAt(0)){default:a=d[0];a[b||a.length]=+c;b=void 0;break;case 34:c=c.substring(1,c.length-1);if(c.indexOf("\\")!==-1)c=c.replace(t,v);a=d[0];if(!b)if(a instanceof Array)b=a.length;else{b=c||w;break}a[b]=c;b=void 0;break;case 91:a=d[0];d.unshift(a[b||a.length]=[]);b=void 0;break;case 93:d.shift();break;case 102:a=d[0];a[b||a.length]=false;
b=void 0;break;case 110:a=d[0];a[b||a.length]=null;b=void 0;break;case 116:a=d[0];a[b||a.length]=true;b=void 0;break;case 123:a=d[0];d.unshift(a[b||a.length]={});b=void 0;break;case 125:d.shift();break}}if(l){if(d.length!==1)throw new Error;e=e[0]}else if(d.length)throw new Error;if(j){var p=function(n,o){var f=n[o];if(f&&typeof f==="object"){var i=null;for(var g in f)if(x.call(f,g)&&f!==n){var q=p(f,g);if(q!==void 0)f[g]=q;else{i||(i=[]);i.push(g)}}if(i)for(g=i.length;--g>=0;)delete f[i[g]]}return j.call(n,
o,f)};e=p({"":e},"")}return e}}();


function startSendingNewsletter(mailing_id){
	if(mailing_id != ''){
		$('#ButtonStartSending').removeClass('Activate');
		$('#ButtonStartSending').addClass('InActivate');
		G_obj('ButtonStartSending').onclick = function(){return false;};
		$('#SendingInProgress').css('display' , 'inline');

		var rep = $.ajax({ url: "index.php?model=newsletter_mail&action=sendmailing&object_id="+mailing_id+"&admin&ajax", type: "GET", async: false }).responseText;
		var myJsonObj = jsonParse(rep);
			if(myJsonObj['result'] == 'sending'){
				$('#progressbar').progressbar('option', 'value', parseInt(myJsonObj['progress']) );
				var item = myJsonObj['item'];
				for(var i = 0;i<item.length;i++){
					$('#sending_'+item[i]['id']).attr('src' , 'images/sending_1.gif');
				}
				startSendingNewsletter(mailing_id);
			}else if(myJsonObj['result'] == 'finish'){
				$('#progressbar').progressbar('option', 'value', 100 );
				$('#SendingInProgress').html("Send done.");
			}else{
				$('#SendingInProgress').html("Error during process.");
			}
	}
}
