diff --git a/masks/index.html b/masks/index.html index b57a56a..393f9d1 100755 --- a/masks/index.html +++ b/masks/index.html @@ -8,34 +8,36 @@ - +
', {'class':'title'})
.append($('', {'class':'name', 'target':'_blank', 'href':this.consts.ugc_url+'film.html?id='+this.id()})
- .append($('', {'class':'fa fa-fw fa-icon fa-film'}))
+ .append($('', {'class':'fa fa-fw inline fa-film'}))
.append(this.name()))
.append($('', {'class':'edito'+(this.edito()?' fa fa-edito':'')}).text(this.edito()?' '+this.edito():'')))
.append($(' ', {'class':'trailer'})
.append($('', {'target':'_blank', 'href':this.trailer()})
- .append($('', {'class':'fa fa-fw fa-icon fa-trailer'}))
+ .append($('', {'class':'fa fa-fw inline fa-trailer'}))
.append('Trailer')))
.append($(' ')
.append($('', {'class':'cinema', 'target':'_blank', 'href':self.consts.ugc_url+'cinemaAction!execute.action?page=7&id='+iCinemaId})
- .append($('', {'class':'fa fa-fw fa-icon fa-cinema'}))
+ .append($('', {'class':'fa fa-fw inline fa-cinema'}))
.append($('', {'class':'cinema_name'}).text(sCinema)))
.append($('', {'class':'lang'}).text(sLang))
.appendTo(self.anchor().find('.timetable'));
- var test = self.timetable(iCinemaId, sLang);
- if(!test) console.log('cinema '+iCinemaId+' lang '+sLang+' film '+self.id());
$.each(self.timetable(iCinemaId, sLang).sort(self.timeCompare), function(iKey, oTime){
$Timetable
.append($('', {'class':'button', 'href':oTime.booking, 'target':'_blank', 'title':'Book screening'}).text(oTime.time))
@@ -173,25 +172,41 @@ function Film()
};
}
-function Affiche(oDate)
+function Ugc()
{
var self = this;
- this.date = {};
- this.date.now = oDate;
- this.date.today = new Date(this.date.now.getFullYear(), this.date.now.getMonth(), this.date.now.getDate());
- this.date.timestamp = this.date.today / 1;
-
- this._cinemasList = {};
+ this.settings = new Settings();
this._films = {};
this._wip = 0;
- this.consts = { days:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
- months:["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]};
this.$Header = $('header');
this.$Main = $('main');
this.$Footer = $('footer');
this.$Feedback = $('#feedback');
- this.$Settings = $('#settings');
+
+ this.loadCinemas = function()
+ {
+ //Display buffer while loading
+ buffer(true);
+
+ //Load Settings
+ this.settings.init();
+
+ //Set Header
+ $('#date')
+ .attr('datetime', this.settings.date('html'))
+ .append(this.settings.date('formal'))
+ .append($('').text(this.settings.date('abbr')));
+
+ //Load cinemas
+ $.each(this.settings.cinemas(), function(iCinemaId, sCinemaName){
+ getUgcPage( 'filmsAjaxAction!getFilmsForPageCinema.action',
+ {cinemaId:iCinemaId, cinemaCode:'', page:'7', filmId:'', filmId_widget:'', '_':Date.now()},
+ function(hDom){self.addCinema(iCinemaId, hDom)},
+ function(){},
+ 'html');
+ });
+ };
this.wip = function(iProgress)
{
@@ -207,9 +222,6 @@ function Affiche(oDate)
{
$Films = $('.film');
- //Display Header
- this.$Header.css('visibility', 'visible');
-
//Sort films
$Films.sort(function(oFilm1, oFilm2){return ($(oFilm1).data('rank') < $(oFilm2).data('rank'))?1:-1;}).detach();
@@ -224,25 +236,11 @@ function Affiche(oDate)
}
});
- //Remove loading
- this.$Main.find('#buffer').hide();
-
//Add films (except bans)
- $Films.appendTo(this.$Main).not('.banned').slideDown('slow');
- this.$Footer.add(this.$Feedback).show();
- };
-
- this.loadCinemas = function()
- {
- this.setHeader();
+ $Films.appendTo(this.$Main);
- $.each(asCinemas, function(iCinemaId, sCinemaName){
- getUgcPage( 'filmsAjaxAction!getFilmsForPageCinema.action',
- {cinemaId:iCinemaId, cinemaCode:'', page:'7', filmId:'', filmId_widget:'', '_':Date.now()},
- function(hDom){self.addCinema(iCinemaId, hDom)},
- function(){},
- 'html');
- });
+ //remove buffer
+ buffer(false);
};
this.addCinema = function(iCinemaId, hDom)
@@ -258,7 +256,7 @@ function Affiche(oDate)
if(!oFilm)
{
- oFilm = new Film();
+ oFilm = new Film(self.settings);
//ID
oFilm.id(iFilmId);
@@ -284,7 +282,7 @@ function Affiche(oDate)
//Ban if wrong edito
if(sEdito=='Avant-première' || sEdito=='UGC Culte' || sEdito=='Soirée Club') oFilm.ban(true, sEdito);
- //Append film to Affiche
+ //Append film to Ugc
self.film(iFilmId, oFilm);
}
@@ -294,11 +292,11 @@ function Affiche(oDate)
getUgcPage( 'filmsAfficheAction!loadDatesList.action',
{filmId:oFilm.id(), cinemaId:iCinemaId, cinemaCode:'', day:''},
function(jData){
- if(!(self.date.timestamp in jData.dates)) self.wip(-1);
+ if(!(self.settings.date('midnight_timestamp') in jData.dates)) self.wip(-1);
else
{
getUgcPage( 'filmsAfficheAction!reloadSeancesList.action',
- {filmId:oFilm.id(), cinemaId:iCinemaId, cinemaCode:'', day:self.date.timestamp},
+ {filmId:oFilm.id(), cinemaId:iCinemaId, cinemaCode:'', day:self.settings.date('midnight_timestamp')},
function(hData){
var sLang = '';
var asLangs = [];
@@ -326,14 +324,14 @@ function Affiche(oDate)
},
function(){
self.wip(-1);
- self.error('Ajax Error detected on movie "'+oFilm.name()+'" @'+asCinemas[iCinemaId]+'. UGC website Temporarily Unavailable');
+ self.error('Ajax Error detected on movie "'+oFilm.name()+'" @'+self.settings.cinemas(iCinemaId)+'.');
},
'html');
}
},
function(){
self.wip(-1);
- self.error('Ajax Error detected on movie "'+oFilm.name()+'" @'+asCinemas[iCinemaId]+'. UGC website Temporarily Unavailable');
+ self.error('Ajax Error detected on movie "'+oFilm.name()+'" @'+self.settings.cinemas(iCinemaId)+'.');
},
'json');
}
@@ -341,92 +339,6 @@ function Affiche(oDate)
});
};
- this.setHeader = function()
- {
- //Date on top
- var iDay = this.date.today.getDate();
- $('#date')
- .attr('datetime', this.date.today.getFullYear()+'-'+(("0" + (this.date.today.getMonth() + 1)).slice(-2))+'-'+(("0" + iDay).slice(-2)))
- .append(this.consts.days[this.date.today.getDay()]+', '+this.consts.months[this.date.today.getMonth()]+' '+iDay)
- .append($('').text((iDay%10==1)?'st':((iDay%10==2)?'nd':((iDay%10==3)?'rd':'th'))));
-
- //Load Settings
- this.setSettings();
- }
-
- this.setSettings = function()
- {
- //Date
- this.setDates();
-
- //Cinemas
- this.cinemas();
-
- //Event
- this.$Header.find('#btn_settings').click(function(){
- self.$Settings.show();
- });
- this.$Main.click(function(){self.$Settings.hide();});
- $(window).keyup(function(e){if(e.keyCode == 27) self.$Settings.hide();});
-
- //Validattion
- this.$Settings.find('#ok_settings').click(function(){
-
- //Cinemas
- var asCines = {};
- self.$Settings.find('.include').each(function(iKey, oCinema){
- $Cine = $(oCinema);
- asCines[$Cine.data('id')] = $Cine.text();
- });
- self.cinemas(asCines);
-
- //Day
-
- location.reload();
- });
- };
-
- this.setDates = function()
- {
-
- };
-
- this.cinemas = function(asSetCinemas)
- {
- if(!asSetCinemas) //Set cookie/default cinemas and get list
- {
- var asCookieCinemas = Cookies.getJSON('cinemas');
- if(!asCookieCinemas) asCinemas = {'10':'Les Halles', '12':'Bercy', '20':'La Défense'};
- else asCinemas = asCookieCinemas;
-
- getUgcPage( 'headerReservationAction!reloadCinemasList.action',
- {'regionsAndCinemasBean.region':'', 'regionsAndCinemasBean.cinema':'', '_':Date.now()},
- self.displaySettingsCinemas,
- function(){self.error('Error: Could not load cinema list');},
- 'json');
- }
- else //Set new cinemas as cookie
- {
- Cookies.set('cinemas', asSetCinemas);
- asCinemas = asSetCinemas;
- }
- };
-
- this.displaySettingsCinemas = function(jData)
- {
- this._cinemasList = jData.cinemas;
- var $Cinemas = self.$Settings.find('.cinemas');
- $.each(this._cinemasList, function(iKey, sCinemaName){
- var iCinemaId = $.trim(iKey);
- $Cinemas.append($('