function pageLink(i, l, u, en, ex){
    this.link = l;
    this.url = u;
    this.id = i;
    this.onEnter = en;
    this.onExit = ex;
}

function onGalleryEnter(){
    //alert('enter gallery');
    $('flash_banner_img1').setStyle('visibility','hidden');
    $('flash_banner_img2').setStyle('visibility','hidden');
    $('flash_banner_img3').setStyle('visibility','hidden');
    $('flash_banner').setStyle('height','10px');
    $('banner_div1').setStyle('height','10px');
    $('banner_div2').setStyle('height','10px');
    $('banner_div3').setStyle('height','10px');
    if(rotateBannerFlag != undefined) rotateBannerFlag = false;
}

function onGalleryExit(){
    $('flash_banner_img1').setStyle('visibility','visible');
    $('flash_banner_img2').setStyle('visibility','visible');
    $('flash_banner_img3').setStyle('visibility','visible');
    $('flash_banner').setStyle('height','300px');
    $('banner_div1').setStyle('height','300px');
    $('banner_div2').setStyle('height','300px');
    $('banner_div3').setStyle('height','300px');
    if(rotateBannerFlag != undefined) rotateBannerFlag = true;
}

/*var pageLinkArray = new Array();
var pageLinkHistory = new Array();
pageLinkArray[0] = new pageLink(0, $("homeLink"),'home.php', null, null);
pageLinkArray[1] = new pageLink(1, $("galleryLink"), 'gallery.php', onGalleryEnter, onGalleryExit); //1
pageLinkArray[2] = new pageLink(2, $("bookLink"), 'book.php', null, null); //2
pageLinkArray[3] = new pageLink(3, $("articlesLink"), 'articles.php', null, null); //3
pageLinkArray[4] = new pageLink(4, $("authorLink"), 'author.php', null, null); //4

pageLinkHistory.push(pageLinkArray[0]);
pageLinkArray[0].link.addClass('current_page_menu_item');*/

$$('.page_menu_item').each(function(li) {
        li.addEvent('mouseenter', function() {
            if(!li.hasClass('current_page_menu_item'))
                li.addClass('half_current_page_menu_item');
        });
        li.addEvent('mouseleave', function() {
            //pageLinkHistory[pageLinkHistory.length-1].link.removeClass('half_current_page_menu_item');
            li.removeClass('half_current_page_menu_item');
        });
    });
/*
function selectAjaxPage(i){
    if(i >=0 && i <= 4){
        var last = pageLinkHistory.pop();
        if(i == last.i){
            pageLinkHistory.push(last);
        }else{
            //alert(1);
            last.link.removeClass('current_page_menu_item');
            if(last.onExit != null) last.onExit();
            pageLinkHistory.push(last);
             //alert(2);
            pageLinkArray[i].link.addClass('current_page_menu_item');
            pageLinkHistory.push(pageLinkArray[i]);
            if(pageLinkArray[i].onEnter != null) pageLinkArray[i].onEnter();
            load_AJAX_region(["content", pageLinkArray[i].url], null);
             //alert(3);
        }
    }
} */

var selectAjaxArticleNumTrys = 0;
function selectAjaxArticle(url){
    if(url && url.length> 0){
            load_AJAX_region(["article_content", 'articles/incomplete/'+url], null);
    }
}

var nextBannerIndex = 2;
var bannerIncrement = 0;
var bannerNames = new Array();
var rotateBannerFlag = true;
bannerNames.push('banner1.png');
bannerNames.push('banner10.png');
bannerNames.push('banner4.png');
bannerNames.push('banner2.png');
bannerNames.push('banner7.png');
bannerNames.push('banner11.png');
bannerNames.push('banner5.png');
bannerNames.push('banner6.png');
bannerNames.push('banner3.png');
bannerNames.push('banner8.png');
bannerNames.push('banner9.png');


function nextBanner(){
    //alert('enter next_banner');
    if(rotateBannerFlag){
        var oDiv;
        var iDiv;
        var pImg;
        if(bannerIncrement%3==0){
            oDiv = "banner_div1";
            iDiv = "banner_div2";
            pImg = "flash_banner_img3";
        }else if(bannerIncrement%3==1){
            oDiv = "banner_div2";
            iDiv = "banner_div3";
            pImg = "flash_banner_img1";
        }else{
            oDiv = "banner_div3";
            iDiv = "banner_div1";
            pImg = "flash_banner_img2";
        }
        bannerIncrement++;
        //alert('chose banners');
        if($(oDiv).fx){$(oDiv).fx.stop();}
        if($(iDiv).fx){$(iDiv).fx.stop();}
        $(oDiv).fade('out');
        $(iDiv).fade('in');
        $(pImg).src = 'images/'+bannerNames[nextBannerIndex];
        nextBannerIndex++;

        if(nextBannerIndex == bannerNames.length) nextBannerIndex = 1;  //skip the first banner on reload
    }
    setTimeout('nextBanner()', 7000);
    //alert('exit newxt_banner');
}

function rotateBannerBegin(index){
    $('banner_div2').set('opacity', '0');
    $('banner_div3').set('opacity', '0');
    $('banner_div1').set('tween', {
        duration: 1500
    });
    $('banner_div2').set('tween', {
        duration: 1500
    });
    $('banner_div3').set('tween', {
        duration: 1500
    });
    if(index) nextBannerIndex = index;
    setTimeout('nextBanner()', 3000);
}


function do_AJAX_request(e) {
    e = new Event(e).stop();
    var region = e.target.getProperty("target");

    var urlStr;
    if($defined(e.target.href)) {
        urlStr = e.target.href;
    } else if($defined(e.target.action)) {
        urlStr = e.target.action;
    } else {
        return;
    }

    // DEBUG alert(region);
    var request = new Request.HTML(
        {
            method: "POST",
            url: urlStr,
            update: e.target.getProperty("target"),
            // DEBUG onSuccess: function(responseText, d) {alert(d); $("p_frame").setStyle("background-color", "green");},
            evalScripts: true,
            onSuccess: (function(region) {
                            /*replace_links_with_AJAX(region);
                            replace_forms_with_AJAX(region);*/
                        }).pass(region),
            noCache: true
        }
    );
    if(e.target.get("tag") == "form") {
        request.post($(e.target));
    } else {
        request.send();
    }
}

function load_AJAX_regions(arr) {
    arr.each(load_AJAX_region);
}

function load_AJAX_region(arr, index) {
    var region = $(arr[0]);
    region.set("load",
        {
            method: "POST",
            url: arr[1],
            update: region,
            evalScripts: true,
            onSuccess: (function(region) {
                            replace_links_with_AJAX(region);
                            replace_forms_with_AJAX(region);
                        }).pass(arr[0]),
            noCache: true
        }
    );
    region.load();
}

