var debug_userCookie=false;
userObject=new Class.Singleton({value:null,userInfo:[],initialize:function(){var a=Cookie.read("userInfos");debug_userCookie&&(console.log("getUser"),console.log(a));if(a){this.userInfo=JSON.decode(a);var a=this.userInfo.favoris,b=[];if(a)a.each(function(a){b.push(a.toInt())}),this.userInfo.favoris=b}},getUser:function(){return this.userInfo},isConnected:function(){return this.userInfo.id?true:false},setFavori:function(a,b){(new Request.JSON({url:"index.php",onSuccess:function(c){c.err&&debug_userCookie?
console.log(c.err):b=="add"&&c?userObject.setFavoriCookie(c,b):b=="delete"&&userObject.setFavoriCookie(c,b);userObject.updateLink(a,b)}})).get({idcine:a,cle:userObject.userInfo.id+","+userObject.userInfo.cle,action:b,"do":"ajax_favori"}).send()},setFavoriCookie:function(a,b){if(!Cookie.read("userInfos"))return false;var c=[],d=false;b=="add"?(c.push(a),d=true,$type(this.userInfo.favoris)=="array"&&this.userInfo.favoris.length>0&&(userObject.isFavoriCookie(a)?this.userInfo.favoris.erase(a):this.userInfo.favoris.length==
3&&this.userInfo.favoris.erase(this.userInfo.favoris.getLast()),c.append(this.userInfo.favoris))):b=="delete"&&this.userInfo.favoris.each(function(b){b!=a?c.push(b):d=true});if(d)this.userInfo.favoris=c,Cookie.write("userInfos",JSON.encode(this.userInfo),{duration:0,domain:cookieDomain,path:cookiePath}),this.updateFavoris()},updateFavoris:function(){var a=$("liste_historique_cinema").getChildren("ul")[0];a?a.dispose():(a=$("liste_historique_cinema").getChildren("span")[0])&&a.dispose();this.updateAffichageFavoris()},
updateAffichageFavoris:function(){var a=this.userInfo.favoris,b="";$("liste_historique_cinema");a&&a.length>0&&$defined(allCinemasAssoc)?(a.each(function(a,d){a&&(b+='<li id="favori_'+d+'"><a href="'+allCinemasAssoc[a].url+'" title="Consulter la fiche du cinéma \''+allCinemasAssoc[a].libelle+"'\">",b+=allCinemasAssoc[a].libelle,b+="</a>",b+="</li>")}),a=new Element("ul"),a.set("html",b)):(a=new Element("span"),a.set("html","Aucun"));a.inject($("liste_historique_cinema"))},isFavoriCookie:function(a){var b=
false;$type(this.userInfo.favoris)=="array"&&this.userInfo.favoris.length>0&&this.userInfo.favoris.each(function(c){c==a&&(b=true)});return b},isFavoriDb:function(a){var b=false;this.userInfo.favoris&&this.userInfo.favoris.length>0&&this.userInfo.favoris.each(function(c){c==a&&(b=true)});return b},updateLink:function(a,b){var c="",d="";if(b=="add"||b=="delete")b=="add"?(c="none",d=""):b=="delete"&&(c="",d="none"),$$(".addfavori_"+a).each(function(a){a.setStyle("display",c)}),$$(".deletefavori_"+a).each(function(a){a.setStyle("display",
d)})},getFavoriLink:function(a,b){var c="",d="",e="";this.isFavoriDb(a)?d='style="display:none"':e='style="display:none"';b=="div"?(c+='<div class="addfavori addfavori_'+a+'" '+d+">Ajouter &agrave; mes favoris</div>",c+='<div class="deletefavori deletefavori_'+a+'" '+e+">Retirer de mes favoris</div>"):b=="cine-header"&&(c+='<span class="btn-trans-left"><span class="btn-trans-right"><span class="btn-trans">',c+='<span class="addfavori addfavori_'+a+' favoris-mini" '+d+">Ajouter &agrave; mes favoris</span>",
c+='<span class="deletefavori deletefavori_'+a+' favoris-mini" '+e+">Retirer de mes favoris</span>",c+="</span></span></span>");return c},getFavoris:function(){var a=[];this.userInfo.favoris&&this.userInfo.favoris.each(function(b){a.push(b)});return a},getKeyFromStatus:function(){var a="";if(this.isConnected()){var b=this.getUser(),a="1";a+=b.pass?"1":"0";a+=b.fid?"1":"0"}else a="000";return a},synchronizeUser:function(){this.userInfo.id&&(!this.userInfo.lastSynchronize||(new Date(this.userInfo.lastSynchronize)).getTime()+
3E4<(new Date).getTime())&&(new Request.JSON({url:"index.php",onSuccess:function(){}})).get({cle:userObject.userInfo.id+","+userObject.userInfo.cle,"do":"ajax_check_user"}).send()},getFavoriteCinemaDansVille:function(a){a=typeof a=="undefined"?Cgp.villeId:a;if(this.getFavoris().length)for(var b=0;b<this.getFavoris().length;b++)if(this.getFavoris()[b]&&this.getFavoris()[b].villeId==a)return this.getFavoris()[b].id;for(b=0;b<Cgp.cinemaConf.length;b++)if(Cgp.cinemaConf[b]&&Cgp.cinemaConf[b].villeId==
a)return Cgp.cinemaConf[b].id}});

