﻿function miniDrumPlayerHelper() {

    var drumButtons = null;
    var areaDrums = null;
    var mainPlayer = null;
    var __this = this;

    var construct = function() {
        var canExec = __this.checkSite();
        if(canExec){
            __this.setProvideLinks(".btCloud", ".galleryBlock");
            __this.setMainPlayer(".play.box2 .title");
            __this.assignActionToButtons();
            __this.autoDrumPlay();
        }
    };

    __this.checkSite = function() {
        if (window.location.pathname.substr(1) != 'gallery.aspx')
            return false;
        return true;
    };

    __this.setProvideLinks = function(className, area) {
        if (className == undefined || className == null || className == '')
            return false;
        if (area == undefined || area == null || area == '')
            return false;
        drumButtons = className;
        areaDrums = area;
    };

    __this.setMainPlayer = function(mainPlayerArea) {
        if (mainPlayerArea == undefined || mainPlayerArea == null
                || mainPlayerArea == '')
            return false;
        mainPlayer = mainPlayerArea;
    };

    __this.assignActionToButtons = function() {
        $(drumButtons).bind('click', function() {
            __this.bindClickedDrumButton(this);
            return false;
        });
    };

    __this.removeActiveMiniDrums = function() {
        $(areaDrums).find('li').each(function(e, i) {
            $(this).removeClass('active');
        });
    };

    __this.bindClickedDrumButton = function(button) {      
	 
        var drum = new drumControlHelper();
        drum.stopDrum("playerAnthemFlash");
        
        this.removeActiveMiniDrums();
        $(button).parent().addClass('active');
        var fc = $(button).parent().find('.fullContent input').val();
        var fd = $(button).parent().find('.anthemId input').val();
        var fi = $(button).parent().find('.points').text();
        var uniqId = $(button).parent().find('.uniqId input').val();
        __this.adjustAppropriateVer(fc);
        __this.fillHiddenAnthemMainId(fd);
		__this.fillVote(fi);
		__this.fillUniqIdToDrum(uniqId);
        postbackLikeItPanel();
		
		$('body').scrollTo( 0, 800, {queue:true} );
    };
    
    __this.fillUniqIdToDrum = function(uid){
		if(uid == undefined) return;
        $(".uidStatus input").val(uid);
    };
    
	__this.fillVote = function(vote){
		$(".btLikeIt").text(vote);
	};
	
	__this.fillVoteInMiniDrum = function(uniq, res){
		$(".galleryBlock").find("input").each(function(){
            if($(this).val() == uniq){
                var __par = $(this).parent().parent();
                var actCode = __par.find('.points').text();
				if(res == true){
					__par.find('.points').text(++actCode);
				}
            }
        });
	};
	
    __this.fillHiddenAnthemMainId = function(fd){
		if(fd == undefined) return;
        $('.anthemMainId input').val(fd);
    };
    
    __this.adjustAppropriateVer = function(fc) {
		if(fc == undefined) return;
        var len = fc.length;
        var maxLen = 42;
        
        var marquee = $("<marquee />").attr({
            scrollamount: "6",
            width: "420"
        });
        
        var h2 = $("<h2 />");
        
        var children = $(mainPlayer).children();
        
        if(len > maxLen){
            children.replaceWith( marquee.text(fc) );
        } else {
            children.replaceWith( h2.text(fc) );
        }
    };
    
    __this.autoDrumPlay = function(){
        
        var queryString = window.location.href.substr(window.location.href.indexOf('?') + 1);
        var params = queryString.split('&');
        var uniqStr = '';
        
        for(var i = 0; i < params.length; ++i ){
            var onceArray = params[i].split('=');
            if( onceArray[0] == "anthemid"){
                uniqStr = onceArray[1];
            }
        }
		
		__this.fillUniqIdToDrum(uniqStr);
        
        $(".galleryBlock").find("input").each(function(){
            if($(this).val() == uniqStr){
                var __par = $(this).parent().parent();
                __par.addClass('active');
                var msg = __par.find(".fullContent input").val();
                var msd = __par.find(".anthemId input").val();
                var msi = __par.find(".points").text();
                __this.adjustAppropriateVer(msg);
                __this.fillHiddenAnthemMainId(msd);
                __this.fillVote(msi);
            }
        });
        
    };

    construct();

}


