/** User variables **/
var pfspeed = 20; // Lower numbers yield a faster transition - must be 2 or higher
var pfdelay = 2;	// Number of seconds between each slide transition

var typedtext=null;
var delay=50;
var currentChar=1;
var destination="[not defined]";

var typeWriter = function(destination) {
    if ($(destination)) {
        if (!typedtext) typedtext = $(destination).innerHTML;
        $(destination).innerHTML=typedtext.substr(0, currentChar);
        currentChar++
        if (currentChar<=typedtext.length) {
            setTimeout("typeWriter('"+destination+"')", delay);
        } else {
//            setTimeout("pageFadeout('/nl/mosaegusto/')", 4000);
        }
    }
}

var startTyping = function(destination, delayParam) {
  delay=delayParam;
  currentChar=1;
  typeWriter(destination);
}

var mConnect = function(elem_list, event, func) {
    /***
    (Multi) Connect several elements to an event
    ***/
    map(function(elem) { connect(elem, event, bind(func,elem)) }, elem_list );
}

var maxImages = 17;
var cacheImages = function() {  
    var imagesources = Array();
    for(i=1;i<=maxImages;i++) {
        imagesources.push('/i/97/'+i+'.jpg');
    }
    cache_images(imagesources);
}

var imageIsUsed = function(image) { 
    for(i=1;i<=6;i++) {
        if ($('cf'+i).src.indexOf(image) != -1) {
            return true;
        }
    }
    return false;
}

var rotateImages = function() {
    var p = 1 + Math.round(5*Math.random());
    var im = 0;
    var image = '';
    do {
        im = 1 + Math.round((maxImages-1)*Math.random());
        image = '/i/97/'+im+'.jpg';
    } while(imageIsUsed(image));
    blendimage('p'+p,'cf'+p, image,2000);
    setTimeout(rotateImages, 5000);
}

var initScrollArrows = function() {
    if ($('scroller')) {
        /* enable or disable the arrows */
        if ($('scroller').scrollTop == 0) {
            $('scrollUp').style.backgroundImage = 'none';
        }

        if ($('scroller').clientHeight >= $('scroller').scrollHeight) {
            $('scrollUp').style.backgroundImage = 'none';
            $('scrollDown').style.backgroundImage = 'none';
        } else {
            $('scrollUp').style.backgroundImage = 'url(/i/arrow_up.gif)';
            $('scrollDown').style.backgroundImage = 'url(/i/arrow_down2.gif)';
        }
        /* reposition the arrows */
        var vp = getViewportDimensions();
        var delta = (getElementDimensions('header').h + getElementDimensions('headerextra').h);
        var up = new Coordinates(null, 40); 
        var down = new Coordinates(null, vp.h - delta - 65) ; 
        setElementPosition('scrollUp', up);
        setElementPosition('scrollDown', down);
    } else {
        $('scrollUp').style.backgroundImage = 'none';
        $('scrollDown').style.backgroundImage = 'none';
    }
}

var resizeWindow = function() {
    if ($('contenttext')) {
        /* Make page same size as window */
        var d = getViewportDimensions();
        if (d.h > 1024) d.h = 1024;
        var delta = (getElementDimensions('header').h + getElementDimensions('headerextra').h + 40);

        var navbar = getElementDimensions('navbar').h;

        var c = new Dimensions(null, d.h - delta);
        setElementDimensions('content', c);

        if ($('scroller')) {
            var hdrs = getElementsByTagAndClassName('h1','fixed');
            var delta_header = 0;
            if (hdrs.length > 0)
                delta_header = (getElementDimensions(hdrs[0]).h) * 2;
            var sc = new Dimensions(null, d.h - delta - delta_header - 20); 
            setElementDimensions('scroller', sc);
        }
        
        var ce = new Dimensions(null, d.h - delta + 40);
        if ($('adresimage')) {
            setElementDimensions('adresimage', ce);
        }
        
        initScrollArrows();
    }
}

var step=4;

var scrollDivDown = function(id){ 
    var prev = $(id).scrollTop;
    $(id).scrollTop += step;
    if (prev == $(id).scrollTop) {
        $('scrollDown').style.backgroundImage = 'url(/i/arrow_down.gif)';
/*        removeElementClass('scrollDown', 'beactive');
        addElementClass('scrollDown', 'inactive'); */
    } else {
        if ($(id).scrollTop != 0) {
/*            addElementClass('scrollUp', 'beactive');
            removeElementClass('scrollUp', 'inactive');*/
            $('scrollUp').style.backgroundImage = 'url(/i/arrow_up2.gif)';
        }
        timerDown=setTimeout("scrollDivDown('"+id+"')",5);
    }
}

var scrollDivUp = function(id){ 
    var prev = $(id).scrollTop;
    $(id).scrollTop -= step;
    if (prev == $(id).scrollTop) {
        /*removeElementClass('scrollUp', 'beactive');
        addElementClass('scrollUp', 'inactive');*/
        $('scrollUp').style.backgroundImage = 'url(/i/arrow_up.gif)';
    } else {
        if ($(id).scrollTop != 0) {
            /*addElementClass('scrollDown', 'beactive');
            removeElementClass('scrollDown', 'inactive');*/
            $('scrollDown').style.backgroundImage = 'url(/i/arrow_down2.gif)';
        }
        timerUp=setTimeout("scrollDivUp('"+id+"')",5);
    }
}

var pageFadeout = function(url) {
    multiple(['biglogo','sierraad','subslogan'], fade, {duration:5, afterFinish: function() { /*window.location.href=url*/ } });
}

var initMG = function() {

    if ($('page_intro') || $('page_intro2') || $('page_intro4')) {
        appear('biglogo', {duration:3.5, afterFinish: function() {showElement("sierraad"); startTyping("sierraad", 40)} });
    } else {
        /***
         * Put extra HTML in Templates into the correct container (in base.tpl)
         */
//        if ($('extrahtml')) swapDOM('extrahtmlcontainer','extrahtml');
        
        resizeWindow();
        connect(window, 'onresize', resizeWindow);

        initScrollArrows();

        if ($('scroller')) {
            connect('scrollUp','onmouseover', function(e) { scrollDivUp('scroller') });
            connect('scrollUp','onmouseout', function() { if (typeof(timerUp) != 'undefined') clearTimeout(timerUp) });
            connect('scrollDown','onmouseover', function(e) { scrollDivDown('scroller') });
            connect('scrollDown','onmouseout', function() { if (typeof(timerDown) != 'undefined') clearTimeout(timerDown) });
        }
    }

    cacheImages();

	var interval = setTimeout(rotateImages, 2000);

}

addLoadEvent(initMG);

