var maxHeight=0;
var FirstLiElement;
var LastLiElement;
var SecondLiElement;
var showBlocks = 3;
var rotate = true;
var block = jQuery('#rotateblocks')[0];

function rotator() {
    var rotatenumber = jQuery('.htmlblock .rotate');
        
    if(rotatenumber.length>0) {
        if(parseInt(rotatenumber[0].innerHTML)) {
            showBlocks=parseInt(rotatenumber[0].innerHTML);
            jQuery(rotatenumber[0].parentNode).addClass('rotatenumber');
        }
    }

    if(jQuery('.block-output', block).length>0) {
        var newDiv = jQuery('<div id="rotatorblock">');
        var newDivExtra = jQuery('<div id="rotatorcontainer">');
        var moveUp = jQuery('<div id="moveUp" class="mover" onclick="moveUp()">').mouseover(function() { jQuery(this).addClass('hover');}).mouseout(function() { jQuery(this).removeClass('hover');});
        var moveDown = jQuery('<div id="moveDown" class="mover" onclick="moveDown()">').mouseover(function() { jQuery(this).addClass('hover');}).mouseout(function() { jQuery(this).removeClass('hover');});
        
        jQuery(block).before(newDivExtra);
        jQuery(block).before(newDiv);
        newDiv.append(block);
        newDivExtra.append(newDiv);
               
        jQuery('.block-output', block).each(function() {
            var blockOutput = jQuery(this);
            if(blockOutput.height()>maxHeight) {
                maxHeight = blockOutput.height();
            }
            blockOutput.click(function() { articleClick(this);});
        });
        
        articleClick(jQuery('.block-output', block)[0]);
        
        var liElements = jQuery('.block-output',block);
        
        if(liElements.length>showBlocks) {
            jQuery(newDivExtra).before(moveUp);
            jQuery(newDivExtra).after(moveDown);
            
            for(var x = 0; x<showBlocks;x++){
                jQuery(liElements[x]).css('display','block');
            }
            FirstLiElement = jQuery(liElements[0]);
            SecondLiElement = jQuery(liElements[1]);
            LastLiElement = jQuery(liElements[liElements.length-1]);
   
            jQuery('.block-output',block).height(maxHeight);
            jQuery(block).height(showBlocks*maxHeight);
            jQuery('.blocks-blockholder, .nested-blocks-blockholder', block).height(showBlocks*maxHeight);
            jQuery(newDiv).height(showBlocks*maxHeight);
            
            jQuery('ul',block).height(maxHeight);
            
            jQuery('ul',block).mouseover(function() {rotate=false;});
            jQuery('ul',block).mouseout(function() {rotate=true;});
        } else {
            liElements.css('display','block');
        }
    }
}

function moveDown() {
    
    if(rotate==true) {   
        rotate=false;
        jQuery(FirstLiElement).animate({marginTop: (maxHeight*-1) + 'px' },500);        
        
        setTimeout(function() {
            jQuery('.block-output',block).css('margin-top','0px');
            liElement = jQuery(FirstLiElement);        
            jQuery(LastLiElement).after(liElement);
            LastLiElement = FirstLiElement;
            FirstLiElement = SecondLiElement;
            SecondLiElement = jQuery('.block-output',block)[1];
            rotate=true;
        },1000);
    }
}

function moveUp() {
    
    if(rotate==true) {
        rotate=false;
        liElement = jQuery(LastLiElement);
        
        jQuery(FirstLiElement).before(liElement);
        
        liElement.css('marginTop',(maxHeight*-1) + 'px');
        liElement.css('display','block');
        
        liElement.animate({marginTop: '0px' },500);        
        SecondLiElement = FirstLiElement;
        FirstLiElement = LastLiElement;
        var liElements = jQuery('.block-output',block);
        
        LastLiElement = liElements[liElements.length-1];
        setTimeout(function() {
            rotate=true;
        },1000);
    }
}

function articleClick(e) {
    if(jQuery('table',e).length>0) {
        var content = jQuery('#cr_rotatorcontent')[0];
        content.innerHTML = '<div class="titleheader">' + '</div><table>' + jQuery('table', e)[0].innerHTML + '</table>';
        jQuery(e).addClass('clicked');     
        changeTableImages();
    }
}

var gallery = 0;
function changeTableImages() {
    gallery++;
    jQuery('#cr_rotatorcontent table tr').each(function() {
        var row = this;
        var numberOfImages = jQuery('img', row).length;
        if (numberOfImages > 1) {
            jQuery('img', row).each(function() {
                var imageSrc = this.src;
                var image = jQuery(this);
                image.wrap('<a rel="prettyPhoto[gallery_' + gallery + ']" href="' + imageSrc + '"></a>');
                image.css('width', Math.floor((570 - (10 * numberOfImages)) / numberOfImages) + 'px');
                image.css('height', 'auto');
                image.css('margin-right', '10px');
                image.css('cursor', 'pointer');
            });
        }
    });
    jQuery("a[rel^='prettyPhoto']").prettyPhoto({
        animationSpeed: 'fast', padding: 40, opacity: 0.5, showTitle: false, allowresize: false, counter_separator_label: '/', theme: 'light_rounded', callback: function() { }
    });
}

var scrWidth = 0;
var scrHeight = 0;
var scrOfY = 0;

function GetWindowSize() {
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    scrWidth = window.innerWidth;
    scrHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    scrWidth = document.documentElement.clientWidth;
    scrHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    scrWidth = document.body.clientWidth;
    scrHeight = document.body.clientHeight;
  }
}

function scrollHeight() {
  if( typeof( window.pageYOffset ) == 'number' ) {
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    scrOfY = document.documentElement.scrollTop;
  }
}

function closeEnlargedImage() {
    jQuery('#openEnlargedImage').animate({width: '0px', height: '0px'}, 200);
}

jQuery(function() {
    rotator();
    changeTableImages();
    GetWindowSize();
	jQuery('#close a img').mouseover(function() { this.src="/themes/themes.clixmaster/images/close_large_hover.png";}).mouseout(function() { this.src="/themes/themes.clixmaster/images/close_large.png";});
});
