var main_script = '/index.php';
var scrollback=true;
var spinner_on = false, spinner_timer,spinner_div;
var myInfoBox;

pfzapp.onContentLoaded = function(destination) {}

var initapp_done = false;
var enable_effects = true;

function unloadForm() {
	parent.top.IS_nav=false;
	if (contactspopup.host) contactspopup.close();
	if (messagespopup.host) messagespopup.close();
}

function setModif() {  modif = true; }
function loadPage(lapage,opt,scrollback) {
	 if (!$defined(opt)) opt={}; opt = $H(opt);
	 if (!$defined(lapage)) {
		lapage=currentpage;
	 }
	 opt.set('page',lapage);
	 if (!$defined(scrollback)) scrollback=true;
	 /*
	 if (modif && confirm(_SAVEMODIF)) {
			opt.set('todo','modifcv');
			$('appForm').getChildren().foreach()
			opt.combine($H('appForm'));
	 }
	 */
	 modif=false;
	 if (opt.getKeys().length>0) doIt(null,opt);
	 document.location.href="/"+lapage
	 //clearInterval(spinner_timer); spinner_timer = setTimeout(function(){drawLoading(true)},150);
	 //drawLoading(true);
	 //setTimeout(function(){pfzapp.loadContent(main_script,'layout_main',opt,function(a){loadMain();});},700);
	 //pfzapp.loadContent(main_script,'layout_main',opt,function(a){loadMain();});
	 //updateSection(lapage);
}
function loadPageConf(lapage,opt,scrollback) { if (confirm(_CERTAIN)) loadPage(lapage,opt,scrollback); }

var spinner_lastseed=false, spinner_obj=false ;
function drawLoading(toset,label) {
	clearInterval(spinner_timer);
}
function doIt(act,val,form) {
	var opt;
	if (!$chk(val)) opt={};
	else if ($type(val)=="string") opt={temp1:val};
	else if ($type(val)=="object") opt=val;
	else opt={};
	if ($defined(form)) {
		$$('#'+form+' input[type=submit]').addClass("waiting");
		opt = $merge(opt,extractForm(form,opt));
	}
	if ($type(act)=="string") opt['todo']=act;
	modif=false;
	drawLoading(true,label_action);
	pfzapp.script('/motor.php',opt);
}
function doItComplete(){
	drawLoading(false);
}
function doItconf(act,val) { if (confirm(_CERTAIN)) doIt(act, val); }

function updateSection(lapage) {
	if (!$defined(lapage)) return false;
	if ($("nav_"+currentpage))  $("nav_"+currentpage).removeClass("hover");
	if ($("nav_"+lapage))       $("nav_"+lapage).addClass("hover");
	if (last_id>0) {
		$("nav_connect").hide();
		$("nav_disconnect").show();
		$("nav_cv").show();
	} else {
		$("nav_connect").show();
		$("nav_disconnect").hide();
		$("nav_cv").hide();
	}
	currentpage = lapage;
	return true;
}

//function setHis(his, hid, base) { loadPage(base,{'forums[max]':0,'id':hid}); }
//function mngHis(lvl, his) { popup.main("user_hist.php",{'home':lvl,"id":his}); }
//function setLocation(db, user, opt) { popup.main("geoloc.php",$merge({'db':db,'theid':user},opt)); }

function popLogin(id) { popup.main("user_login.php",{},{'setFocus':'loginname'}); }
function disconnect() { doIt('disconnect'); }

var deja=true;
var BLOCK = false;
var tps = 0;
function restoreInterval(newtps) { if (!$chk(newtps)) newtps = _mailinterval; if (tps != newtps) { tps=newtps; clearInterval(BLOCK); BLOCK = setInterval("checkmail()",tps); }; };
function checkmail(enforce) {
  if ($defined(enforce)) force=enforce;
  if (pfzapp.pace('checkmail',1000,enforce)) {
	 var options = {nocache:(new Date()).getTime()};
	 /* Report des états du popup en attendant mieux... */
	 if ($type(contactspopup)=="object" && contactspopup.closed===false) { options.updcontact=1; options.contacts_sort = contactspopup.this_order; options.contacts_open = contactspopup.this_disp; }
	 pfzapp.loadContent("nav_update.php","script",options);
  }
  force=false;
}
function showMess() { popmessage(); }
function showUser(uid) { popup.open('user',{url:'/membres/'+uid,type:2,urlparam:{}}); }
function showDoc(hash) { popup.openwin('/view_doc.php',{id:hash},'userobj',1,1,320,320); }
function openAgenda(thisdate) { loadPage('activite',{gotodate:thisdate}); }

/**
 *  NOTIFICATIONS
 */
function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) { return document.all[movieName]; } else { return document[movieName] } }
var canPlaySound = false;
function audioPlayer_started(a) {
	canPlaySound = true;
}
function playSound() {
	if (canPlaySound) thisMovie('sound_player').start(1,true);
}
var chatwindow = false;
function openChat() {
	if (typeof chatwindow!='object' || chatwindow.closed) {
		chatwindow = popup.openwin('user_cam.php',1,1,1024,500);
	}
}
var last_helptopic = false;
function openHelp(topic) {
	if (topic) {
		if (last_helptopic!=topic) { popup.main("help","site_help.php",{sujet:topic}) }
		last_helptopic = topic;
	}
	else {
		popup.close("help");
	}
	return false;
}
var notes_open = false;
function openNotes() {
	if (!notes_open) {
		popup.main('notes','user_notes.php');
	}
	else {
		popup.close('notes');
	}
	notes_open = !notes_open;
	last_helptopic=false;
	return true;
}
function delInfo(id) {
	pfzapp.script("site_help.php",{todo:"delinfo",id:id});
	makeVisible('layout_help',0);
	BLOCK_TEMP = (new Date()).valueOf();
}
function showInfo(id,uid) {
	document.getElementById("layout_help").innerHTML="";
	popup.main("layout_help","site_help.php",{todo:"getinfo",id:id,uid:uid});
	makeVisible("layout_help",1);
	last_helptopic = false;
}

function _reloadPic(thename) {
	pic=document.getElementById(thename);
	pic.style.display="none";
	pic.style.display="block";
}
var showPicTimer = null;
function showPic(pic) {
	clearTimeout(showPicTimer);
	var tmp = document.getElementById('tmp_picdiv');
	var tmppic = document.getElementById('tmp_pic');
	var main = document.getElementById('layout_main');
	//tmp.innerHTML='';
	if (pic) {
		tmppic.src = '/images/1010.gif';
		tmp.style.display = "block";
		var this_x = findPosX(pic);
		var this_y = findPosY(pic);
		//var str = ""; for(var i in pic.parentElement) str+=i+":"+pic.parentElement[i]+"<br />"; tmp.innerHTML=str;
		tmp.style.top = this_y + (pic.height/2 - pic.height*2)/2;
		tmp.style.left= this_x + (pic.width/2 - pic.width*2)/2;
		//tmp.innerHTML="<img id='' style='border:1px solid #9999CC' src="+pic.src+" onmouseout=showPic()>";
		tmppic.src = pic.src;
		tmppic.title = pic.title;
		tmppic.onclick = pic.onclick;
		showPicTimer = setTimeout('showPic()',2000);
	} else {
		tmp.style.display = "none";
		//tmp.onclick = null;
	}
}

/***************************** MESSAGERIE **********/
var messagespopup=true;
function sendSpec(uid, txtaddon){ popup.main('/user_messto.php',{reply:0,messto:uid,messtxt:txtaddon}); }
function sendMail(uid, reply, answer){
		 if (reply==0) popup.main('/user_messto.php',{'messto':uid,'ladate':0,'reply':reply});
	else if (reply==1) popup.main('/user_messto.php',{'messto':uid,'ladate':answer,'reply':reply});
}
function popmessage(requser) { popup.main('/user_mess.php?leuser='+requser+'&PHPSESSID=<?=$SID?>'); }
function postMail() {
	if ($('form_messtxt').value=='') return false;
	$('mail_sendlink').set('html','Envoi en cours...');doIt('postmail',{},'mailWriteForm');
	return true;
};
function postMailDone() {
	popup.close('main');
	return;
};
/*
function popmessage(requser,auto) {
  try {
	var foo=false;
	var spec = "";
	auto = auto=="1"?"&auto=1":"";
	if (typeof messagespopup=="object") {
	  try {
	   if (messagespopup.IS_MESS)
		  {
			spec = "&spec="+messagespopup.SPEC;
			foo = !messagespopup.ISLOCKED && !messagespopup.ISFOCUS;
		  }
	   else foo=true;
	  }
	  catch(bar) {
	   foo = true;
	  }
	}
	else foo=true;
	if (foo===true) {
		var url = 'user_mess.php?sid='+SID+'&pouf='+(new Date()).getTime()+'&spec='+requser+spec+auto+"#thisone";
		if (typeof messagespopup=="object" && !messagespopup.closed) messagespopup.document.location.href = url;
		else {
			messagespopup = window.open(url,'readmess', 'location=no,toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes,width=550,height=270');
			messagespopup.host = this;
		}
	}
  }
  catch(e) {
	  var url = 'user_mess.php?sid='+SID+'&cache='+(new Date()).getTime();
	  messagespopup = window.open(url,'readmess', 'location=no,toolbar=no,menubar=no,scrollbars=yes,status=no,resizable=yes,width=550,height=270');
  }
}
*/
function loginrecovershow() {
  $('loginCred').setStyle('display','none')
  $('loginRecover').setStyle('display','block')
  return;
};
function loginrecoverhide() {
  $('loginRecover').setStyle('display','none')
  $('loginCred').setStyle('display','block')
  return;
};
function loginrecover() {
  var foo=$('emailrec').value;
  if (foo=="") { alert('Il faudrait au moins renseigner un pseudo ou un email'); return false; }
  $('loginRecover').setStyle('display','none');
  $('loginCred').setStyle('display','block');
  doIt('loginrecover',{recname:foo});
  return;
};
function loginset() {
	var user=$('loginFormUser').value;
	var pass=$('loginFormPass').value;
	if (user=="") { alert('Entrez au moins un pseudo'); }
	else {
		$('loginCred').setStyle('display','none');
		$('loginWait').setStyle('display','block');
		doIt('loginset',{'luser':user,'lpass':pass});
	}
	return;
}
function loginUnwait() {
	$('loginWait').setStyle('display','none');
	$('loginCred').setStyle('display','block');
	return;
}

function showProfile(uid) {
	if (!$chk(uid)) uid=last_id;
	popup.open('profile',{url:'/compte/profile.php',type:2,urlparam:{theuser:uid},onCloseCheck:function(){
			if (modif==true) { if (confirm("Enregistrer les modifications ?")) profileEdit(); }
			return true;
		}
	});
	return;
}
this.profileLink = null;
function profileEdit(el) {
	if ($defined("profileEditForm")) {
		$("profileEditForm").set("send",{url:'/motor.php',method:'post'});
		$("profileEditForm").send();
		if($(el)) {
			el.setWaiting("Enregistrement en cours...");
			this.profileLink = el;
		}
		//popup.message('Enregistrement en cours...');
	}
	return;
}
function profileEditDone(badfields) {
	var fi;
	$each($$(".errorformlbl"),function(k){k.destroy();});
	$each($$(".errorform"),function(k){k.removeClass("errorform");k.set("style","");});
	if (badfields.length==0) {
		popup.close('profile');
		popup.info("Profile","Modifications enregistrées.");
	} else {
		$each(badfields,function(field,k){
			fi = $('form_'+field[0]); if (fi) {
				fi.addClass("errorform");
				fi.highlight();
				if (field[1]!="") { // AJoute le texte avant l'element
					(new Element('div', {'id':'error_'+field[0], 'class': 'errorformlbl','html': field[1]})).inject(fi,'before');
				}
			}
		});
		this.profileLink.resetWaiting();
		popup.info("Profile","Tu as commis des erreurs en remplissant ton profil.");
	}
}
function profileTab(tab) {
	if (winid!="profile") popup.reload('user',{pzone:tab});
};
/*********************************************** AGENDA
* Codes pour l'agenda
*
*/
var agenda_day = new Array(1,1,1970,0);
function agenda_goto(incre,d,m,y) { pfzapp.script('/index_agenda_disp.php',{'d':d,'m':m,'y':y,'incre_pa':incre});}
function gospec(day,mon,year) { agenda_goto(0,day,mon,year); }

function agenda_addPa(pa) { setPage('activite_add',1,'pa_id='+pa); }
function agenda_addUser(aid, uid)      { pfzapp.script('/index_agenda_disp.php',{'action':'addUser','aid':aid,'uid':uid,'d':agenda_day[0],'m':agenda_day[1],'y':agenda_day[2],'incre_pa':agenda_day[3]}); }
function agenda_removeUser(aid, uid)   { pfzapp.script('/index_agenda_disp.php',{'action':'removeUser','aid':aid,'uid':uid,'d':agenda_day[0],'m':agenda_day[1],'y':agenda_day[2],'incre_pa':agenda_day[3]}); }
function agenda_setPublic(aid, ispublic) { pfzapp.script('/index_agenda_disp.php',{'action':'setPublic','aid':aid,'public':ispublic,'d':agenda_day[0],'m':agenda_day[1],'y':agenda_day[2],'incre_pa':agenda_day[3]}); }

function openPa(pa) {
	popup.inner('agenda','/compte/agenda_add.php',{'pa_id':pa},{onCloseCheck:function(){if (modif==true) { if (confirm("Enregistrer les modifications ?")) agendaUpdate(); }; return true;}});
}

var incre_agenda_cal = 0;
function agendaAddSetObjs(action) {
	var dates = $('form_pa[fdates]').value;
	var assos = $('form_pa[fasso]').value;
	pfzapp.script('/compte/agenda_add_disp.php?'+action,{diff:incre_agenda_cal,dates:dates,assos:assos});
};
function agendaAddgospec(diff) { incre_agenda_cal = diff; agendaAddSetObjs(''); }
function agendaAddDate(data) { agendaAddSetObjs('action=adddate&toadd='+data); modif=true; }
function agendaAddUser(data) { agendaAddSetObjs('action=adduser&toadd='+data);$('form_adduser').value='';}
function agendaAddSetDate(liste) { $('form_pa[fdates]').value = liste; }
function agendaAddSetUser(liste) { $('form_pa[fasso]').value = liste; }
function agendaAddObj(id,name) {
	$('form_pa[fobj]').value=id; deja=true; foo = name;
	if (id>0) foo='<img src=\"/images/action_white.png\" align=absmiddle> '+foo+' &nbsp; <a onclick=\'agendaAddObj(0,"Aucun document");\' class="informngi">Supprimer cette association</a>';
	$('agendaobj').update(foo);
	modif=true;
};
function agendaDelete(id) { if (confirm('Es-tu sûr de vouloir supprimer cette annonce?')) { doIt('agendadel',{paid:id});} }
function agendaUpdate() {
	$("agendaForm").set("send",{url:'/motor.php',method:'post'});
	$('agendaForm').send();
}
function agendaUpdateDone(good) {
	if (good) {
		popup.close('agenda'); popup.info("Agenda","Modifications enregistrées.");
		if (currentpage=="activite") gospec(agenda_day[0],agenda_day[1],agenda_day[2]);
	}
	else { popup.info("Agenda","Problème d'enregistrement."); }
	modif=false;
}
function agendaDeleteDone(good, id, txt) {
	if (good) {
		popup.close('agenda'); popup.info("Agenda","'"+txt+"' supprimé avec succès");
		if (currentpage=="activite") gospec(agenda_day[0],agenda_day[1],agenda_day[2]);
		if ($defined("div_agenda_"+id)) { $("div_agenda_"+id).destroy(); }
	}
	else { popup.info("Agenda","Problème."); }
	modif=false;
}

/****************************************** Objects
*
*/
this.objSend = function() {
	$("obj_send_firststep").fade('hide');
	$("obj_send_sndsend").set('html','Envoi en cours...');
	$("objSendForm").submit();
}
this.objSendDone = function(state) {
	$("obj_send_sndsend").set('html','');
	$("obj_send_firststep").fade('in');
	if (good) {
		popup.close('profile');
		popup.info("Profil","Document enregistré");
	} else {
		popup.info("Profil","Problème d'enregistrement.");
	}
}
this.objDelete = function(oid,uid,aDom) {
	if (confirm('Supprimer ce document ?')) {
		if (aDom) { $(aDom).addClass('waiting'); $(aDom).onclick=$empty(); $(aDom).blur(); }
		doIt('objdel',{id:oid,theuser:uid});
	}
	return;
}
this.objDeleteDone = function(id,state) {
	if (state) {
		if ($defined('objdiv'+id)) $('objdiv'+id).destroy();
		popup.info("Catalogue","Document supprimé");
	}
	else popup.info("Erreur","Le document #"+id+" n'a pas été supprimé.");
}
this.objSetMain = function(id) {
	document.location.href = '/compte/objects.php?todo=omain&id='+id;return;
}
this.objSetMainDone = function() {
	popup.info("Profil","Document activé");
}

/****************************************** Payments **/
/****************************************** ADM **/
this.paymentShow = function(id,uid) { popup.inner('payment','/compte/a_payment_user.php',{paymentid:id,theuser:uid}); }
this.paymentGet = function(id) { popup.inner('payment','/compte/a_payment.php',{paymentid:id}); }
this.paymentNew = function() { doIt('paymentnew',{},'newpay'); }
this.paymentUpd = function() { $('paymentinfo').set("action","javascript:;"); doIt('paymentupd',{},'paymentinfo'); }
this.paymentSet = function() { doIt('paymentassoc',{},'payment_userinfo'); }
this.paymentDel = function(id) { doItconf('paymentdel',{id:id}); }
this.paymentDone = function(ret,id) {
	switch(ret) {
		case -1: popup.info("Paiements","Problème de droit"); break;
		case 0: popup.info("Paiements","La demande n'est pas correcte"); break;
		case 1: if ($defined("div_payment_host")) {document.location.reload();}; break;
		case 2: if ($defined("div_payment_host")) {showUser(id)}; break;
		case 3: popup.close('Paiement');
				popup.info("Paiement","Suppression effectuée");
				if ($defined("div_payment_"+id)) { $("div_payment_"+id).destroy(); }
				break;
		case 4: popup.info("Paiement","Modifications enregistrées"); popup.close("payment"); break;
		default: popup.info("Paiement","Problème.");
	}
}
