


function pagination(event) {
    event.stop();
    
    var element     = event.target;
    var loading     = new Element('div', {'class': 'UI_Loading', 'text': 'Loading...'});
    
    var container   = element.getParent('.Dynamic');
    var url         = element.href.match(/^[^\?]*/);
    
    var channel     = element.href.match(/channel=(\d+)/);
    
    if(channel != null && channel.length > 0){
        
        var data        = new Hash({
            'request':  '1',
            'channel':  channel[1],
            'page':     element.href.match(/page=(\d+)/)[1]
        });
        
    } else {
        
        var data        = new Hash({
            'request':  '1',
            'page':     element.href.match(/page=(\d+)/)[1]
        });
        
    }
    
    var dynamic_request_options = {
        'loading':      false,
        'url':          url,
        'method':       'get',
        'link':         'link',
        'data':         data.toQueryString(),
        
        'onRequest':    function() {
            
            new Fx.Tween(container).set('opacity', 0);
            
        },
        
        'onSuccess':    function(html) {
            
            container.set('text', '');
            container.adopt(html);
            
            paginationSetup();
            disableElements();
            
            new Fx.Tween(container).start('opacity', 1);
            
        },
        
        'onFailure':    function(requestObj) {
            
            container.set('text', '');
            container.set('text', 'Content request failed:' + requestObj.statusText);
            
            paginationSetup();
            disableElements();
            
            new Fx.Tween(container).start('opacity', 1);
            
        }
    };
    
    new Request.HTML(dynamic_request_options).send();
    
    return false;
}


function paginationSetup() {
    $$('.PageLinks a').each(function(item) {
        item.addEvent('click', pagination);
    });
}


function commentsSetup() {
	$$('.view_all_comments').each(function(item) {
		item.addEvent('click',view_all);
	});
}


function view_all(event) {
	event.stop();

	var element     = event.target;
    var loading     = new Element('div', {'class': 'UI_Loading', 'text': 'Loading...'});
    
    var container   = element.getParent('.Dynamic');
    var url         = element.href.match(/^[^\?]*/);
      
    var video_id    = element.href.match(/video_id=([A-Za-z0-9_]*)/);
   
    if(video_id != null && video_id.length > 0){

        var data        = new Hash({
            'request':  '1',
            'video_id':  video_id[1],
            'limit':     element.href.match(/limit=(\d+)/)[1]
        });
        
    } else {       
    	
        var data        = new Hash({
            'request':  '1',
            'limit':     element.href.match(/limit=(\d+)/)[1]
        });
        
    }
    
    var dynamic_request_options = {
        'loading':      false,
        'url':          url,
        'method':       'get',
        'link':         'link',
        'data':         data.toQueryString(),
        
        'onRequest':    function() {
            
            new Fx.Tween(container).set('opacity', 0);
            
        },
        
        'onSuccess':    function(html) {
            
            container.set('text', '');
            container.adopt(html);
            
            commentsSetup();
                        
            new Fx.Tween(container).start('opacity', 1);
            
        },
        
        'onFailure':    function(requestObj) {
            
            container.set('text', '');
            container.set('text', 'Content request failed:' + requestObj.statusText);
            
            commentsSetup();
            
            new Fx.Tween(container).start('opacity', 1);
            
        }
    };
    
    new Request.HTML(dynamic_request_options).send();
    
    return false;
}


function disableElements() {
    $$('.Disabled').each(function(el) {
        
        el.fade(0.5);
        el.removeEvents();
        
        el.addEvent('click', function(event) {
            event.stop();
            return false;
        });
        
    });
}


Number.implement({
    
    getIncrementIndex: function(interval) {
        var index = 1;
        var value = interval;
        
        while(value < this) {
            value = value + interval;
            index++;
        }
        
        return index;
    }
    
});



function requestContent(container, url, data) {
    
    var dynamic_request_options;
    
    dynamic_request_options = {
        'url': url,
        'method': 'get',
        'link': 'link'
    };
    
    if(data !== undefined || data !== null) {
        dynamic_request_options.data = data;
    }
    
    dynamic_request_options.onRequest = function() {
            new Fx.Tween(container).set('opacity', 0);
    };
    
    dynamic_request_options.onSuccess = function(html) {
        container.set('text', '');
        container.adopt(html);
        
        new Fx.Tween(container).start('opacity', 1);
    };
    
    dynamic_request_options.onFailure = function(requestObj) {
        container.set('text', '');
        container.set('text', 'Content request failed:' + requestObj.statusText);
        new Fx.Tween(container).start('opacity', 1);
    };
    
    new Request.HTML(dynamic_request_options).send();
    
    return false;
    
}








window.addEvent('domready', function() {	
    
    $$(document.links).filter(function(el) {
        
        return el.href.test(/#[A-Za-z0-9_-]+/);
        
    }).each(function(item) {
        
        item.addEvents({
            
            'click': function(event) {
                $(this.href.replace(/[^#]+#/, '')).toggleClass('visible');
                this.blur();
                
                return false;
            }
            
        });
        
    });
    
    
    paginationSetup();
    
    commentsSetup();
    
    $$('.Form_Request_Send').each(function(form){
        
        form.set('send', {
            
            'onSuccess': function(html) {
                
		var response_element;
                var target_reloads;
                var form_query;
                
                response_element = form.getElements('.Response')[0];
                response_element.set('opacity', 0);
                response_element.set('html', html);
                response_element.fade(1);
                
                if(!(html.match(/UI_Errors/))) {
                    
                    target_reloads = form.target.split(';');
                    
		    if(target_reloads.length > 0) {
	                    for(i = 0; i < target_reloads.length; i++) {
                        
	                        var container   = $((target_reloads[i].trim()));
	                        var url         = 'widgets/' + container.id.replace(/_/g, '-').toLowerCase() + '.php';
	                        var data        = form.toQueryString();
                        
	                        requestContent(container, url, data);
	                    }
		    }
                } else {
                	var uses_recaptcha = $('recaptcha_widget_div');
                	if(uses_recaptcha){
        				Recaptcha.reload();
        			}
                }
                
            },
            
            'onFailure': function(requestObj) {
                
                alert(requestObj.responseText);
                
            }
        });
        
        form.addEvent('submit', function(){
            this.send();
            return false;
        });
        
    });
    
    
    
});

window.addEvent('load', function() {
    
	var pic_array = new Array(			
			'Navigation_pic-gallery_0.gif',
			//'Navigation_pic-gallery_1.gif',
			'Navigation_video-vault_0.gif',
			//'Navigation_video-vault_1.gif',
			'Navigation_competitions_0.gif',
			//'Navigation_competitions_1.gif',
			'Navigation_events_0.gif',
			//'Navigation_events_1.gif',
			'Navigation_about-us_0.gif',
			//'Navigation_about-us_1.gif',
			'Navigation_contact_0.gif',
			//'Navigation_contact_1.gif');
			'UI_Rating_0.gif',
			'UI_Rating_1.gif',
			'UI_Rating_2.gif',
			'UI_Rating_3.gif',
			'UI_Rating_4.gif',
			'UI_Rating_5.gif');
	
	
	pics= new Array(); 
	
	for(var i=0;i<pic_array.length;i++) {
		pics[i]= new Image(); 
		pics[i].src='/images/'+pic_array[i];
	}
    
    $$('#Navigation a').each(function(el) {
        el.addEvents({
            
            'mouseover': function(event) {
                var element = event.target;
                
                if(element.tagName != 'a')
                    element = element.getParent('a');
                
                element.getElements('img').each(function(img_el) {
                    img_el.src = img_el.src.replace(/\d(\.[A-Za-z]+)/, '1$1');
                });
            },
            
            'mouseout': function(event) {
                var element = event.target;
                
                if(element.tagName != 'a')
                    element = element.getParent('a');
                
                element.getElements('img').each(function(img_el) {
                    img_el.src = img_el.src.replace(/\d(\.[A-Za-z]+)/, '0$1');
                });
            }
            
        });
    });
    
    
    $$('.Hover_Rating').each(function(el) {
        el.addEvents({
            'mousemove': function(event) {
                
                mouse_x         = event.page.x;
                element         = event.target;
                element_stats   = element.getCoordinates();
                percent         = Math.round((mouse_x - element_stats.left) / element_stats.width * 100);
                rating          = percent.getIncrementIndex(20);
                
                el.getParent('.UI_Rating').getElements('.Rating_YourVote')[0].set('text', 'Rate it ' + rating + '/5');
                
                element.src     = '/images/UI_Rating_' + rating + '.gif';
            },
            
            'mouseout': function(event) {
                element         = event.target;
                text = document.getElementById('Rating_Results').innerHTML;
                
                el.getParent('.UI_Rating').getElements('.Rating_YourVote')[0].set('text', 'Rating ' + text + '/5');
                
                element.src     = '/images/UI_Rating_'+ text +'.gif';
            },
            
            'click': function(event) {
            	event.preventDefault();
                mouse_x         = event.page.x;
                element         = event.target;
                element_stats   = element.getCoordinates();
                element_x       = element_stats.left;
                element_w       = element_stats.width;
                offset_px       = Math.round(mouse_x - element_x);
                percent         = Math.round(offset_px / element_w * 100);
                rating          = percent.getIncrementIndex(20);
                
                var data        = new Hash({
                    'request':  '1',
                    'value':  rating
                });
                
                var dynamic_request_options = {
                    'url':          el.getParent('a').href,
                    'method':       'get',
                    'link':         'link',
                    'data':         data.toQueryString(),
                    
                    'onSuccess':    function(html) {
                        
                        var response_el = el.getParent('.UI_Rating').getElements('.Rating_Response')[0];
                        var total_votes_el = el.getParent('.UI_Rating').getElements('.Rating_TotalVotes')[0];
                        
                        total = document.getElementById('Rating_Scores').innerHTML;
                        response_el.addClass('Success');
                        response_el.set('text', 'Thank you for your vote');
                        
                        text = Math.round((parseFloat(total) + parseFloat(rating))/Math.round(parseFloat(total_votes_el.get('text')) + 1));
                        el.getParent('.UI_Rating').getElements('.Rating_YourVote')[0].set('text', 'Rating ' + text + '/5');
                        document.getElementById('Rating_Scores').innerHTML = Math.round(parseFloat(total) + parseFloat(rating));
                        element.src     = '/images/UI_Rating_'+ text +'.gif';
                        document.getElementById('Rating_Results').innerHTML = text;
                        
                        
                        total_votes_el.set('text', Math.round(parseFloat(total_votes_el.get('text')) + 1));
                        
                    },
                    
                    'onFailure':    function(requestObj) {
                        
                        var response_el = el.getParent('.UI_Rating').getElements('.Rating_Response')[0];
                        
                        response_el.addClass('Failure');
                        response_el.set('text', 'Couldn\'t add your vote');
                        
                    }
                };
                
                new Request.HTML(dynamic_request_options).send();
                
                return false;
                
            }
            
        });
    });
    
    disableElements();
    
});