123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- $(document).ready(function() {
- console.log("ready");
- var _win = {
- w:$(document).width(),
- h:$(document).height()
- },
- _$root = $('#root'),
- _pl = 58,
- _active_pages = {},
- _current_pages = 0,
- _page_left_bg, _page_right_bg,
- _$page_left = $('#page-left'), _$page_right = $('#page-right'),
- _$overlay_left = $('#page-left .overlay'), _$overlay_right = $('#page-right .overlay'),
- _$maps_left = $('#page-left .maps'), _$maps_right = $('#page-right .maps'),
- _bgs_prefix = "images/pages/";
- _$railway = $('#railway');
-
-
-
-
-
- function init(){
-
- initLayout();
- initData();
- initRailway();
- initkeyboard();
- changePages();
- };
- function initLayout(){
- _$root.css({
- 'margin-top':(_win.h-_$root.height())/2
- });
- };
- function initData(){
- for (var p = 0; p < _PAGES.length; p++) {
- if(typeof _PAGES[p][0].page !== "undefined"){
- _active_pages[(_PAGES[p][0].page+1)/2] = p;
- }
- else if(typeof _PAGES[p][1].page !== "undefined"){
- _active_pages[_PAGES[p][1].page/2] = p;
- }
- }
- console.log("_active_pages", _active_pages);
- };
-
-
-
-
-
- function initRailway(){
- var $ul = $('<ul>');
- var ap, bgl, bgr;
- for (var p = 0; p <= _pl; p++) {
- console.log("-- PAGE --", p);
- ap = typeof _active_pages[p] !== "undefined" ? _active_pages[p] : false;
-
- if(ap !== false){
- bgl = typeof _PAGES[ap][0].bg !== "undefined" ? _bgs_prefix+"thumbs/"+_PAGES[ap][0].bg : false;
- bgr = typeof _PAGES[ap][1].bg !== "undefined" ? _bgs_prefix+"thumbs/"+_PAGES[ap][1].bg : false;
- }else{
- bgl = bgr = false;
- }
-
-
-
- if(p!=0)
- $('<li>')
- .addClass('page page-'+p+' page-left')
- .addClass(bgl ? 'active' : 0)
- .css({'background-image': bgl ? "url("+bgl+")" : "none"})
- .appendTo($ul);
- if(p<_pl)
- $('<li>')
- .addClass('page page-'+p+' page-right')
- .addClass(bgr ? 'active' : 0)
- .css({'background-image': bgr ? "url("+bgr+")" : "none"})
- .appendTo($ul);
- }
- $ul.appendTo(_$railway);
- }
-
-
-
-
-
-
- function nextPages(){
- if(_current_pages < _PAGES.length-1){
- _current_pages+=1;
- changePages();
- }
- };
- function prevPages(){
- if(_current_pages > 0){
- _current_pages-=1;
- changePages();
- }
- };
- function changePages(){
- console.log("changePages", _current_pages);
- if (typeof _PAGES[_current_pages][0].bg !== "undefined") {
- var pl = _PAGES[_current_pages][0];
- _$page_left
- .css({'background-image': "url("+_bgs_prefix+pl.bg+")"})
- .removeClass(pageClassToRemove)
- .addClass('page-'+pl.page);
- }else{
- _$page_left.css({'background-image': "none"});
- }
- if (typeof _PAGES[_current_pages][1].bg !== "undefined") {
- var pr = _PAGES[_current_pages][1];
- _$page_right
- .css({'background-image': "url("+_bgs_prefix+pr.bg+")"})
- .removeClass(pageClassToRemove)
- .addClass('page-'+pr.page);
- }else{
- _$page_right.css({'background-image': "none"});
- }
-
- };
- function pageClassToRemove(){
- var c = $(this).attr('class').match(/page-+\d+/);
- if(c && c.length)
- return c[0];
- };
- function updatePagesOverlays(){
- console.log("updatePagesOverlays");
-
- $('.overlay, .maps',_$page_left).children().remove();
- $('.overlay, .maps',_$page_right).children().remove();
- console.log("Overlays", _PAGES[_current_pages].overlays);
-
- for (var map in _PAGES[_current_pages].overlays) {
- if (_PAGES[_current_pages].overlays.hasOwnProperty(map)) {
- map = _PAGES[_current_pages].overlays[map];
- console.log("Map",map);
- _$maps_left.append(
- $('<div>')
- .addClass("map")
- .attr('overlay', map.over)
- .css({
- "left":map.x,
- "top":map.y,
- "width":map.w,
- "height":map.h
- })
- .bind("mouseover", function(e){
- $(this)
- .parents('.page').find('.overlay')
- .css({
-
- 'background-image':'url(images/vectos/'+$(this).attr('overlay')+')'
- });
- })
- );
- }
- }
- };
-
-
-
-
-
-
- function initkeyboard(){
- keyboardJS.bind('right', function(event) {
-
- nextPages();
- });
- keyboardJS.bind('left', function(event) {
-
- prevPages();
- });
- };
- init();
- });
|