// Store current HASH
var hashMain = '';
var searchMain = '';

// Flag, shows, that main page is loaded.
var MAIN_PAGE = true;

// file extensions for which do not apply _URLAddOnClickAction.
var file_extensions = {jpg: '1', gif: '', pdf: '', png: '', doc: ''};
var main_menu = ['/band/biography', '/band', '/news', '/blog', '/gallery', '/discography'];

var content;
var scrollb;
var scrollbar;
/**
 * Load page with AJAX
 */
function loadPage(page){
    $.ajax({
        url: page + "?page=load" ,
        cache: false,
        success: function(html){
            $("#Thief-Content").html('<div id="content_wrapper"></div>');
            $("#content_wrapper").html(html);
            $('#site').removeClass();
            $.Moonbox.loaded = false;
            $.Moonbox.init();
            $('#content_wrapper').jScrollPane({showArrows:true, scrollbarWidth:16, reinitialiseOnImageLoad: true});
        }
    });
}

/**
 * Swiches main page to band URL.
 * Show every element needed for band.
 */
function switchToBand(url){
    $('#Thief-flash').show();
    $('#flash_first').hide();
    $('#flash_bg').show();
    $('#site').removeClass('front_active');
    $('#site').addClass('band_active');
    thiefSubmenuOn(true, url);
}

function thiefSubmenuOn(on, url){
    if (on) {
        $('#Thief-submenu-band').show();
    } else {
        $('#Thief-submenu-band').hide();
        return;
    }
    switch(url){
        case '/band/biography':
            $('#Thief-submenu-band').removeClass();
            $('#Thief-submenu-band').addClass('menu_band_biography');
            $('#Thief-flash').hide();
            loadPage(url);
            break;
        default:
        case '/band':
            $('#Thief-submenu-band').removeClass();
            $('#Thief-submenu-band').addClass('menu_band_band');
            break;
    }
}

function thiefMenuOn(on, url){
    if (on) {
        $('#site_menu').show();
    } else {
        $('#site_menu').hide();
        return;
    }
    $('#site_menu').removeClass();
    for(var i=0; i < main_menu.length; i++){
        if (url.indexOf(main_menu[i]) >= 0) {
            url = main_menu[i];
            if (url == '/band/biography') url = '/band';
            url = url.replace(/\//, '');
            $('#site_menu').removeClass();
            $('#site_menu').addClass('menu_' + url);
            return;
        }
    }
    $('#site_menu').addClass('menu_');
}

preProcess = function(current, old){
    hashMain = current;
    if (current == '/band') {
        checkHash(current);
    } else if(old == '/band') {
//        $('#site').removeClass();
//        $('#site').addClass('band_rollout');
        $('#site').addClass('band_active');

        $('#flash_bg').show();
        $('#flash_first').hide();
        $('#Thief-flash').hide();
        $('#Thief-flash-rollout').show();
        if (current != '' && current != '/' && current != '#' && current.length > 3) {
            loadPage(current);
        }
        setTimeout(function(){checkHash(current);}, 1500);
    } else {
        checkHash(current);
    }
}


/**
 * Check url HASH and do proper things.
 */
function checkHash(url)
{
    $('#Thief-flash-rollout').hide();
    switch(url){
        // Band, Biography.
        case '/band':
        case '/band/biography':
            thiefMenuOn(true, url);
            switchToBand(url);
            return;
            break;

        // First page.
        case '/':
        case '#':
        case '':
            $('#flash_first').show();
            $('#flash_bg').hide();
            $('#Thief-flash').hide();
            $('#Thief-flash-rollout').hide();
            $('#site').removeClass();
            $('#site').addClass('front_active');
            thiefMenuOn(false);
            thiefSubmenuOn(false);
            return true;
            break;
        // Any content..
        default:
            $('#flash_bg').show();
            $('#flash_first').hide();
            $('#Thief-flash').hide();
            $('#Thief-flash-rollout').hide();
            thiefMenuOn(true, url);
            thiefSubmenuOn(false);
            break;
    }

    loadPage(window.location.protocol + '//' + window.location.hostname + url);
}


function validateEmail(email)
{
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return false;
   }
   return true;
}

function checkCurrentHash()
{
    var hash = document.location.hash;
//    if ($.browser.msie && document.location.search != searchMain) {
//        hash = "#/" + document.location.search;
//        document.location.hash = hash;
//        document.location.search = searchMain;
//    }

    hash = hash.replace(/^.*#/, '');
    if (hash != hashMain) {
        preProcess(hash, hashMain);
    }
};


replaceLinks = function(){}
/*
function myreloadPage()
{
    var pathname = this.pathname;
    if (pathname[0] != '/') {
        pathname = '/' + pathname;
    }
    window.location.hash = pathname;
    return false;
}

replaceLinks = function()
{
    return;
    var links = $('a');
    for(var i = 0; i < links.length; i++) {
        _URLAddOnClickAction(links[i]);
    }
    var links = $('area');
    for(var i = 0; i < links.length; i++) {
        _URLAddOnClickAction(links[i]);
    }
}
*/

/**
 * Add onClick action to every link, that we find.
 */
/*
function _URLAddOnClickAction(link){
    var _link = link.href.toLowerCase();
    if (_link.lastIndexOf('.') > 0) {
        var extension = _link.substring(_link.lastIndexOf('.') + 1);
        if (file_extensions[extension]) {
            return;
        }
    }
    if (_link.indexOf('/redirect/') > 0){
        return;
    }
    link.onclick = myreloadPage;
}
*/