
function CF_inline_editor(id_form,get_url,save_url){this.id_form=id_form;this.get_url=get_url;this.save_url=save_url;this.editors=new Array();this.waiting=new Array();this.mem=null;this.init();}
CF_inline_editor.prototype.init=function(){var form=get(this.id_form);var elements=form.getElementsByTagName('*');for(var i=0;i<elements.length;i++){if(elements[i].id.match(this.id_form+'_')){elements[i].className=elements[i].className+' edit_in_place';elements[i].title='Cliquer pour modifier';elements[i].onclick=CF_bind(this,this.onclick,elements[i]);if(document.all){elements[i].onmouseover=CF_bind(this,this.onmouseover,elements[i]);elements[i].onmouseout=CF_bind(this,this.onmouseout,elements[i]);}}else if(elements[i].name){if(elements[i].tagName.toLowerCase()=='select'){elements[i].onchange=CF_bind(this,this.save_timout,elements[i],10);}else if(elements[i].type=='text'){elements[i].onkeyup=CF_bind(this,this.save_timout,elements[i],500);elements[i].onchange=CF_bind(this,this.save_timout,elements[i],510);}else{elements[i].onchange=CF_bind(this,this.save_timout,elements[i],10);elements[i].onclick=CF_bind(this,this.save_timout,elements[i],20);}}}
form.onsubmit=CF_bind(this,this.save_all);}
CF_inline_editor.prototype.onmouseover=function(e){if(!e.className.match('edit_in_place_hover')){e.className=e.className+' edit_in_place_hover';}}
CF_inline_editor.prototype.onmouseout=function(e){e.className=e.className.replace('edit_in_place_hover','');}
CF_inline_editor.prototype.onclick=function(e){e.onclick=null;var opts={method:'get',parameters:'id='+get(this.id_form+'_id').value
+'&field='+e.id.replace(this.id_form+'_','')
+'&rd='+Math.random(),onComplete:CF_bind(this,this.onclick_callback,e)};new CF_ajax(this.get_url,opts);return false;}
CF_inline_editor.prototype.onclick_callback=function(e,ajax){result=eval('('+ajax.responseText+')');e.innerHTML='';if(result.inline){input=document.createElement('input');input.value=result.value_edit;input.style.width='300px';input.name=e.id+'_edit';input.id=e.id+'_edit';input.onkeyup=CF_bind(this,this.save_timout,e,1500);e.appendChild(input);}else{textarea=document.createElement('textarea');textarea.name=e.id+'_edit';textarea.id=e.id+'_edit';textarea.value=result.value_edit;e.appendChild(textarea);var param={mode:'wysiwyg',height:500,send:'on',change_onsubmit:'0',display_library:CF_display_library}
this.editors[e.id]=new CF_editor(e.id+'_edit',param);}}
CF_inline_editor.prototype.remove_mem=function(){if(this.mem!=null){this.mem.remove();this.mem=null;}}
CF_inline_editor.prototype.save_timout=function(e,timout){if(this.waiting[e.name]){clearTimeout(this.waiting[e.name]);}
this.waiting[e.name]=setTimeout(CF_bind(this,this.save,e),timout);}
CF_inline_editor.prototype.save=function(e){if(this.mem==null){this.mem=new CF_info_bottom('Mémorisation des changements','memorize',1000);}
if(get(e.id+'_edit')){if(this.editors[e.id]){this.editors[e.id].transform_to_bbcode(CF_bind(this,this.save_step2,e));this.editors[e.id]=null;}else{this.save_step2(e);}}else if(e.name&&e.name!=''){var val=null;if(e.tagName.toLowerCase()=='select'){var index=(e.selectedIndex>0)?e.selectedIndex:0;val=e.options[index].value;}else if(e.type=='checkbox'){val=e.checked?'1':'0';}else{val=encodeURIComponent(e.value);}
var opts={method:'post',parameters:'id='+get(this.id_form+'_id').value
+'&field='+e.name
+'&value='+val
+'&rd='+Math.random(),onComplete:CF_bind(this,this.remove_mem)};new CF_ajax(this.save_url,opts);}}
CF_inline_editor.prototype.save_step2=function(e){var opts={method:'post',parameters:'id='+get(this.id_form+'_id').value
+'&field='+e.id.replace(this.id_form+'_','')
+'&value='+encodeURIComponent(get(e.id+'_edit').value)
+'&rd='+Math.random(),onComplete:CF_bind(this,this.save_step3,e)};new CF_ajax(this.save_url,opts);}
CF_inline_editor.prototype.save_step3=function(e,ajax){this.remove_mem();var opts={method:'get',parameters:'id='+get(this.id_form+'_id').value
+'&field='+e.id.replace(this.id_form+'_','')
+'&rd='+Math.random(),onComplete:CF_bind(this,this.save_step4,e)};new CF_ajax(this.get_url,opts);return false;}
CF_inline_editor.prototype.save_step4=function(e,ajax){result=eval('('+ajax.responseText+')');if(result.inline){e.innerHTML=CF_HTMLEncode(result.value_display);}else{e.innerHTML=result.value_display;}
e.onclick=CF_bind(this,this.onclick,e);}
CF_inline_editor.prototype.save_all=function(){var form=get(this.id_form);var elements=form.getElementsByTagName('*');for(var i=0;i<elements.length;i++){if(elements[i].id.match(this.id_form+'_')||elements[i].name){this.save(elements[i]);}}
return false;}
function CF_calendar(year,month,day){if(year){this.date=new Date(year,month-1,day);}else{this.date=new Date();}
get('month_previous').onclick=CF_bind(this,this.previous);get('month_next').onclick=CF_bind(this,this.next);}
CF_calendar.prototype.init=function(){var opts={method:"get",parameters:"id_user="+CF_id_user
+"&month="+(this.date.getMonth()-0+1)
+"&year="+this.date.getFullYear()
+"&rd="+Math.random(),onComplete:CF_bind(this,this.init_callback)};new CF_ajax('http://www.flu.fr'+'/widget/get_calendar.php',opts);}
CF_calendar.prototype.init_callback=function(ajax){var result=eval('('+ajax.responseText+')');var year=result.year;var month=result.month;get('month_link').href=result.url;get('month_link').innerHTML=CF_months[month-1]+' '+year;var td=get('calendar_content');td.innerHTML='';var result=result.calendar;var len1=result.length;for(var i=0;i<len1;i++){for(var j=0;j<7;j++){var data=result[i][j];var div=null;if(data['value']){if(data['url']){div=document.createElement('a');div.className=' event day'+j;div.href=data['url'];var article_text=(data['count']<=1)?'Article':'Articles';div.title=data['count']+' '+article_text.toLowerCase();}else{div=document.createElement('div');div.className=' noevent day'+j;}
if(data['current']){div.className+=' current';div.title+=' '+'Aujourd\'hui'.toLowerCase();;}
div.innerHTML=data['value'];}else{div=document.createElement('div');div.className=' empty day'+j;div.innerHTML='&nbsp;'}
td.appendChild(div);}}}
CF_calendar.prototype.next=function(){this.date=new Date(this.date.getFullYear(),parseInt(this.date.getMonth())+1,this.date.getDate());this.init();return false;}
CF_calendar.prototype.previous=function(){this.date=new Date(this.date.getFullYear(),this.date.getMonth()-1,this.date.getDate());this.init();return false;}
function display_full_article(){var id=this.id.replace('more','');var opts={method:"get",parameters:"id_media="+id+"&rd="+Math.random(),onComplete:function(ajax){var result=eval('('+ajax.responseText+')');get('more'+result.id_media).style.display='none';get('summary'+result.id_media).innerHTML=result.content;}};new CF_ajax('http://www.flu.fr'+'/widget/get_article_infos.php',opts);return false;}