/**
 * Javascript for SBS World Game
 * Jeff Lowder - 0419 350 760
 * www.different.com.au
 */
 
function getVideos(mainTab, targetPanel) {
    $('videos1').innerHTML = '<img src="images/ajax_loading.gif" alt="loading" />';
    $('videos2').innerHTML = '<img src="images/ajax_loading.gif" alt="loading" />';
    $('videos3').innerHTML = '<img src="images/ajax_loading.gif" alt="loading" />';
    var videosurl = 'includes/_ajax_videos.php';
    var videopars = 'mainTab=' + mainTab;
    var videos = new Ajax.Updater(targetPanel, videosurl, {
            method: 'get',
            parameters: videopars,
            onComplete: function(){
                new Control.Scroller( 'scrollable_videos', 'handle_videos', 'track_videos', {
            		up: "button-up_videos",
            		down: "button-down_videos",
                    visibleHeight: 558,
                    delta: 30
            	});
            }
        });
}


var SBS = function(){
    // private variables - only available to SBS method
    
    return {
        nextSet: function(){
            var carousel = $('set');
            var position = carousel.title;
            
            var nextButton = $('next-arrow');
            var prevButton = $('prev-arrow');
            var scroll_more = $('scroll_more');
            //alert(position);
            
			switch (position) {
                case 'set 1':
                    carousel.title = 'set 2';
                    scroll_more.className = 'set_2';
                    new Effect.MoveBy(carousel, 0, -300, {
                        duration: 0.3
                    });
                    prevButton.src = "/web/images/scroller/car_previous.gif";
					this.nRToggle(position);
                    break;
                case 'set 2':
                    carousel.title = 'set 3';
                    scroll_more.className = 'set_3';
                    new Effect.MoveBy(carousel, 0, -300, {
                        duration: 0.3
                    });
                    nextButton.src = "/web/images/scroller/car_no_next.gif";
                    prevButton.src = "/web/images/scroller/car_previous.gif";
					this.nRToggle(position);
                    break;
                case 'set 3':
                    break;
            }
        },
        
        prevSet: function(){
            var carousel = $('set');
            var position = carousel.title;
            var nextButton = $('next-arrow');
            var prevButton = $('prev-arrow');
            var scroll_more = $('scroll_more');
            
            switch (position) {
                case 'set 1':
                    break;
                case 'set 2':
                    carousel.title = 'set 1';
                    scroll_more.className = 'set_1';
                    new Effect.MoveBy(carousel, 0, 300, {
                        duration: 0.3
                    });
                    prevButton.src = "/web/images/scroller/car_no_previous.gif";
					this.nRToggle(position);
                    break;
                case 'set 3':
                    carousel.title = 'set 2';
                    scroll_more.className = 'set_2';
                    new Effect.MoveBy(carousel, 0, 300, {
                        duration: 0.3
                    });
                    nextButton.src = "/web/images/scroller/car_next.gif";
					this.nRToggle(position);
                    break;
            }
        },
        
        nxtSet: function(){
            var carousel = $('set');
            var position = carousel.title;
            
            var nextButton = $('next-arrow');
            var prevButton = $('prev-arrow');
            var scroll_more = $('scroll_more');
            //alert(position);
            
			switch (position) {
                case 'set 1':
                    carousel.title = 'set 2';
                    scroll_more.className = 'set_2';
                    new Effect.MoveBy(carousel, 0, -300, {
                        duration: 0.3
                    });
                    //prevButton.src = "/web/images/scroller/car_previous.gif";
                    break;
                case 'set 2':
                    carousel.title = 'set 3';
                    scroll_more.className = 'set_3';
                    new Effect.MoveBy(carousel, 0, -300, {
                        duration: 0.3
                    });
                    //nextButton.src = "/web/images/scroller/car_no_next.gif";
                    //prevButton.src = "/web/images/scroller/car_previous.gif";
                    break;
                case 'set 3':
                    break;
            }
        },
        
        prvSet: function(){
            var carousel = $('set');
            var position = carousel.title;
            var nextButton = $('next-arrow');
            var prevButton = $('prev-arrow');
            var scroll_more = $('scroll_more');
            
            switch (position) {
                case 'set 1':
                    break;
                case 'set 2':
                    carousel.title = 'set 1';
                    scroll_more.className = 'set_1';
                    new Effect.MoveBy(carousel, 0, 300, {
                        duration: 0.3
                    });
                    //prevButton.src = "/web/images/scroller/car_no_previous.gif";
                    break;
                case 'set 3':
                    carousel.title = 'set 2';
                    scroll_more.className = 'set_2';
                    new Effect.MoveBy(carousel, 0, 300, {
                        duration: 0.3
                    });
                    //nextButton.src = "/web/images/scroller/car_next.gif";
                    break;
            }
        },
        
        changeFontSize: function(){
            /**
             * currently only set up for 2 sizes:
             * 12px as standard
             * 14px as increased font-size
             * you can add extras into the swith statement if you like
             */
            this.currentSize = $('font-size').title;
            this.content = $$('P');
            
            switch (this.currentSize) {
                case 'normal':
                    this.content.each(function(item){
                        item.setStyle({
                            fontSize: '14px'
                        });
                    });
                    $('font-size').title = 'increased';
                    break;
                case 'increased':
                    this.content.each(function(item){
                        item.setStyle({
                            fontSize: '12px'
                        });
                    });
                    $('font-size').title = 'normal';
                    break;
            }
        },
        
        printPage: function(print_type, article_id) {
            /**
             * put whatever call you'd like in here, but here's a starter
             */
            w = 680;
            h = 600; 
            LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
			TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
			window.open('/print/'+print_type+'/'+article_id, 'print_view', 'width=680,height=600,top='+TopPosition+',left='+LeftPosition+',resizable=yes,scrollbars=yes');
        },
        
        reportthisPage: function(article_id) {
            /**
             * put whatever call you'd like in here, but here's a starter
             */
             w = 675;
             h = 495;
             LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
			 TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
			window.open('/reportthis/'+article_id, 'reportthis_view', 'width=675,height=495,top='+TopPosition+',left='+LeftPosition+',resizable=yes,scrollbars=auto');
        },
        /**
         * Accordion effect
         */
        openUp: function(element){
            element = $(element);
            new Effect.BlindDown(element, arguments[1] ||
            {});
        },
        
        closeDown: function(element){
            element = $(element);
            new Effect.BlindUp(element, arguments[1] ||
            {});
        },
        
        accordion: function(element){
            element = $(element);
            if (element.style.display == 'none') {
                new SBS.openUp(element, arguments[1] ||
                {});
            }
            else {
                new SBS.closeDown(element, arguments[1] ||
                {});
            }
        },
        
        /**
         * open all 
         * used within the stats page
         */
        openAll: function(id){
            var tbody = $$('#' + id + ' tbody');
            var plus_minus = $$('#' + id + ' a.toggle');
            var large_plus_minus = id + '_toggle';
            // open it up
             if($(large_plus_minus).hasClassName('view_all')){
                 tbody.each(function(element){
                    if(element.getStyle('display') == 'none'){
                        element.toggle();
                    }
                });
                $(large_plus_minus).className = 'view_all_open';
                plus_minus.each(function(element){
                    if(!element.hasClassName('open')){
                        element.toggleClassName('open');
						this.nRToggle('openall_'+id);
                    }
                });
             } else {
                tbody.each(function(element){
                    element.setStyle({display: 'none'});
                });
                $(large_plus_minus).className = 'view_all';
                plus_minus.each(function(element){
                    if(element.hasClassName('open')){
                        element.toggleClassName('open');
						this.nRToggle('openall_'+id);
                    }
                });
             }
            
        },
        
        zeroTab: function(handle,scrollableArea,height) {
            try{
				var rect = 'rect(0px 282px ' + height + 'px 0px)';
                $(scrollableArea).setStyle({
                    marginTop: '0px',
                    clip: rect,
                    height: height + 'px'
                });
                $(handle).setStyle({
                    top: '0px'
                });
//                new Control.Scroller( 'scrollable', 'handle', 'track', {
//            		up: "button-up",
//            		down: "button-down",
//                    visibleHeight: 125
//            	});
            } catch(e) {
                alert(e);
            }
        },
		
		nRToggle: function(element) {
			 _rsEvent('http://www.sbs.com.au/tab_'+element, '0')
		}
    };
    
}();

// function for the poll ajax
function $RF(el, radioGroup){
    if ($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    }
    else 
        if ($(el).tagName.toLowerCase() != 'form') {
            return false;
        }
    var checked = $(el).getInputs('radio', radioGroup).find(function(re){
        return re.checked;
    });
    return (checked) ? $F(checked) : null;
}

// queue onload events function - created by Simon Williamson
function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    }
    else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}
