jQuery(document).ready(pageLoaderInit);

function pageLoaderInit(){
  jQuery("a").click(function(event){
    if (this.href.indexOf(home) >=0 && this.href.indexOf('/wp-')<0 ) {
      // stop default behaviour
      event.preventDefault();
      // remove click border
      this.blur();
      // get caption: either title or name attribute
      var caption = this.title || this.name || "";
      // get rel attribute for image groups
      var group = this.rel || false;
      // display the box for the elements href
      loadPage(this.href);
    }
  });
}

var isWorking = false;
var apl_sack = new sack('');

var HOME_POST_ID = 28;
var postId = HOME_POST_ID;
var prevPostId = HOME_POST_ID;

var EN_LANGUAGE = 'en';
var languageId = EN_LANGUAGE; // current language Id
var lng_text = EN_LANGUAGE;  // language Id in the loaded URL

function loadPage(url){
  if(!isWorking){

    // add spinner at the end of content
    //var nowContent = document.getElementById('content').innerHTML;
    //var menuElement = document.getElementById('headerMenu');
    //document.getElementById('content').innerHTML ='<img class="loader" src="'+loadingIMG.src+'" />' + nowContent;
    
    document.body.style.cursor = 'wait';
    
    //var spinner = document.
    //document.inserBefore(menuElement, spinner);
    
    //jQuery('#headerMenu').append('<center><img id="spinner" class="loader" src="'+loadingIMG.src+'" /></center>');
    //jQuery('#content').prepend('<center><img id="spinner" class="loader" src="'+loadingIMG.src+'" /></center>');
    //jQuery('#content p').prepend('<center><img id="spinner" class="loader" src="'+loadingIMG.src+'" /></center>');
    
    //jQuery('#spinner').css('display','');
    
    //document.getElementById('spinner').innerHTML = '<center><img class="loader" src="'+loadingIMG.src+'" /></center>';

    // save previuos postId
    prevPostId = postId;
    // get post Id
    postId = HOME_POST_ID;
    
    var token = 'p='; // URL for post
    var post_begin = url.indexOf(token);
    
    if (post_begin == -1) {
        token = 'page_id='; // URL for pages (now only "Home" is a page)
        post_begin = url.indexOf(token);
    }
    if (post_begin != -1)
    {
      post_begin += token.length;
      var post_end = url.indexOf('&', post_begin);
      var post_text = url.substr(post_begin, post_end - post_begin);
      postId = parseInt( post_text );
    }

    
    
    var lng_begin = url.indexOf('language=');
    if (lng_begin != -1)
    {
      lng_begin += 'language='.length;
      lng_text = url.substr(lng_begin, 2);
      //alert('lng_text='  + lng_text);
    }

    //alert('url=' + url);
    
    apl_sack.requestFile = url;
    apl_sack.method = 'POST';
    apl_sack.onError = apl_ajaxError;
    apl_sack.onCompletion = showPage;
    apl_sack.runAJAX();

    isWorking=true;
  }
}

function apl_ajaxError() {
  alert("We are sorry, there was an error while sending the request.\nPlease try again!\nIf error persists, please contact the webmaster.");

  alert(apl_sack.responseStatus[0] + ':\n' + apl_sack.response);
  apl_sack = new sack('');
}

function getTm() {
    var now = new Date();
    return now.getTime();
}

// from the given input string
// returns the part between token_start and token_end
//
function extract(input, token_start, token_end)
{
      var text = '';
      var pos_begin = input.indexOf(token_start);
      if (pos_begin >= 0) {
          pos_begin += token_start.length;
          var pos_end = input.indexOf(token_end, pos_begin);
          if (pos_end >= 0) {
              text = input.substr(pos_begin, pos_end - pos_begin);
          } else {
              alert('ERROR: ' + token_end + ' not found.');
          }
      } else {
          alert('ERROR: ' + token_start + ' not found.');
      }
      return text;
}

function showPage(){
      isWorking=false;
      var content = apl_sack.response;

      var title_text = extract(content, '<title>', '</title>');
      var menu = extract(content, '<ul id="headerMenu" class="menu">', '</ul><!-- /headerMenu -->');
      var languageBar = extract(content, '<ul id="headerLang" class="lang">', '</ul><!-- /headerLang -->');
      var dafi_title = extract(content, '<p id="headerTitle" class="title">', '</p>');
      var footerCopyright = extract(content, '<p id="footerCopyright" class="copyright">', '</p>');
      
      var out_text = extract(content, '<div id="content">', '</div><!-- /content -->');
      
      var showContact = (postId == 19); // "contaxt" page
      // toggle only if now is "contacts", or before was "contacts"
      if ((prevPostId != 19 && postId == 19) || (prevPostId == 19 && postId != 19))
      {
        toggleContactPage(showContact);
      }

      document.getElementById('content').innerHTML = out_text;
      document.getElementById('headerMenu').innerHTML = menu;
      document.getElementById('footerMenu').innerHTML = menu;
      document.getElementById('headerLang').innerHTML = languageBar;
      document.getElementById('headerTitle').innerHTML = dafi_title;
      document.getElementById('footerCopyright').innerHTML = footerCopyright;

      //jQuery('#spinner').css('display','none');

      //var spinner = jQuery('#spinner');
      //jQuery(spinner).parent().remove(spinner)
      // remove spinner
      //var spinner = document.getElementById('spinner');
      //spinner.parentNode.removeChild(spinner);
      //document.getElementById('spinner').innerHTML = '&nbsp;';
      
      document.title = title_text;

      // header.php
      onMouseOverOutMenu();

      pageLoaderInit();
      
      document.body.style.cursor='auto';
}
