$(window).addEvent('domready', function(){
    if($defined(adchange)){
        adchange.preloadImages();
        if(!$chk(rotationInterval))
            rotationInterval = 8000;
            window.setInterval("adchange.swapImage();", rotationInterval);
    }
    
    var navi = $$(".navi");
    navi = navi[0];
    if($chk(navi)){
        new HoverMenu(navi);    
    }
    MM_preloadImages('assets/images/_system/download_reader_over.jpg','assets/images/_system/download_cc_sign_over.jpg')

});




var HoverMenu = new Class({
    initialize: function(navi){
        this.navi = navi;
        this.attachEventsToMenu();
    },
    
    attachEventsToMenu: function(){
        var list = this.navi.getElements('li');
        list.each(function(element) {
            if ($(element).getElement('ul')) {
                el = $(element).getElement('ul')
                var fx = new Fx.Morph(el, {duration:250, wait:false});
                fx.oH = $(el).getSize();
                fx.oH = fx.oH.y;
                el.setStyle('height', 0);
                el.setStyle('opacity', 0);
                element.addEvent('mouseenter', function(){
                    fx.start({'height': fx.oH+"px", 'opacity':1});
                    
                });
                element.addEvent('mouseleave', function(){
                     fx.start({'height':'0', 'opacity':0});   
    
                });
            }
        });
    }
});

var AdChange = new Class({
    initialize: function(imageContainer, colorBarContainer, adLink){
        this.firstRun = true;
        this.hasRun = Array();
        this.adLink = adLink;
        this.Ads = Array();
        this.fxImageContainer = Array();
        this.fxColorBarContainer = Array();
        this.imageContainer = imageContainer;
        this.colorBarContainer = colorBarContainer;
        this.imageContainer.each(function(value){
            this.fxImageContainer.push(new Fx.Morph(value, {duration:800}));
        }.bind(this));
        this.colorBarContainer.each(function(value){
            this.fxColorBarContainer.push(new Fx.Morph(value, {duration:800}));
        }.bind(this));
        this.images = Array();
        this.colorBars = Array();
        this.adLinks = Array();
        this.index = 0;
        this.containerIndex = 0;
    },
    
    showRandomImage: function(){
        index = this.getNextIndex();
        this.imageContainer[this.containerIndex].src=this.images[index];
        this.colorBarContainer[this.containerIndex].src=this.colorBars[index];
        $(this.adLink).setProperty('href', this.adLinks[index]);
    },
    
    addPage: function(imageFile, colorBar, adLink){
        if($type(imageFile)=='string' && $type(colorBar)=='string'){
            this.images.push(imageFile);
            this.colorBars.push(colorBar);
            this.adLinks.push(adLink);
        } 
    },
    
    preloadImages: function(){
        var el = $('preloadContainer');
        this.images.each(function(image){
            var tmpImage = new Element('img', {src: image, style: 'position:absolute; top:-10000px'});
            tmpImage.inject(el, 'top');
        });
        this.colorBars.each(function(image){
            var tmpImage = new Element('img', {src: image, style: 'position:absolute; top:-10000px;'});
            tmpImage.inject(el, 'top');
        });
    },
    
    
    getNextContainerIndex: function(){
        return this.containerIndex == 0?1:0;
    },
    
    getNextIndex: function(){
        if(this.hasRun.length == this.images.length){
            this.hasRun = Array();
        }
        lengthImage = this.images.length;
        var tmp=this.index;
        do{
            tmp = GetRandom(0, this.images.length-1);
        }while (this.hasRun.indexOf(tmp)!=-1);
//        console.log("Images:  "+this.images);
 
        this.index = tmp;
        this.hasRun.push(this.index);
        
        /*if(this.index == lengthImage - 1){
            this.index = 0;
        }else{
            this.index++;
        }*/
        return this.index;
    },
    
    
    swapImage: function(time){
        thisContainer = this.containerIndex;
        nextContainer = this.getNextContainerIndex();
        index = this.getNextIndex();
        this.firstRun = false;
        this.imageContainer[nextContainer].src=this.images[index];
        this.colorBarContainer[nextContainer].src=this.colorBars[index];
        this.fxImageContainer[nextContainer].start({'opacity':1});
        this.fxImageContainer[thisContainer].start({'opacity':0});
        this.fxColorBarContainer[nextContainer].start({'opacity':1});
        this.fxColorBarContainer[thisContainer].start({'opacity':0});
        if($chk(this.adLink)){
            $(this.adLink).setProperty('href', this.adLinks[index]);
        }
        this.containerIndex = nextContainer;
    },
    
    dump: function(){
        this.images.each(function(value){
            console.log(value);
        });
    }
});

function correctBodySize(){
/*    a = $('left_container').getSize().size.y;
    b = $('center_container').getSize().size.y;
    c = $('right_container').getSize().size.y;
    d = $$('.main_bg5')[0].getSize().size.y;
    e = window.getSize().size.y; 
    if(a>b)
        height = a;
    else
        height = b;
    if(height < c && (c>a && c>b))
        height = c;
    if(d<(height+199)){
        $('main').setStyle('height', (height+220)+"px");
        $$('.main_bg5')[0].setStyle('height', (height+220)+"px");
    }
  */ 
}

function GetRandom( min, max ) {
    if( min > max ) {
        return( -1 );
    }
    if( min == max ) {
        return( min );
    }
    return( min + parseInt( Math.random() * ( max-min+1 ) ) );
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

