var animationInterval = 100;
var minimalOpacity = 0.8;
var test;
/******************************************************************************/
/**
 * Logo map
 */
function createLogoMap()
{
    var names=["Pavel","Honza","Roman","Radek","Michal"];
    var i,el;

    $('#logoInfo').width(100).height(16).css({opacity: 0, position:"absolute"});

    for(i = 0; i<5; i++)
    {
        el = '#logoMap'+i;
        $(el).hover(function(event){
            //over
            var id = parsetEventToLogoMapNumber(event);
            $('#logoInfo').stop();
            $('#logoInfo').html(names[id]);           
            $('#logoInfo').css({left: (event.target.offsetLeft+"px"), top: ((event.clientY+10)+"px"), display:'block'});
            $('#logoInfo').animate({opacity: 0.6}, 1000);

        }, function(event){
            //out            
            $('#logoInfo').stop();
            $('#logoInfo').animate({opacity: 0}, 1000,function(){$('#logoInfo').css({display:'none'})});
        });
    }
}

/******************************************************************************/
/**
 * Resize page
 */
function resizePage()
{
    var h = $('#bodyText').height();
    h = h-160; // - upper - bottom -offset
    $('#bodyMiddle').height(h);
}

/******************************************************************************/
/**
 * Open in new window
 */
function newTab(url)
{
    window.open(url,"_blank");
}

/******************************************************************************/
/**
 * Animate menu items
 */
function animateMenuItems(count)
{
    var prefix = "durmanLink";
    var i;
    var el;

    for(i = 0; i<count; i++)
    {
        el = '#'+prefix+i;
        $(el).hover(function(event){

            //over
            var id = parsetEventToLinkNumber(event);            
            $('#'+prefix+id).animate({opacity: minimalOpacity}, animationInterval, '',function(){
                $('#'+prefix+id).attr("src", "imgs/menu/"+menuItems[id]+"_sel.gif");
                $('#'+prefix+id).animate({opacity: 1}, animationInterval);
            });

        }, function(event){
            //out
            var id = parsetEventToLinkNumber(event);
            $('#'+prefix+id).animate({opacity: minimalOpacity}, animationInterval, '',function(){
                $('#'+prefix+id).attr("src", "imgs/menu/"+menuItems[id]+".gif");
                $('#'+prefix+id).animate({opacity: 1}, animationInterval);
            });
        });
    }

}

function parsetEventToLinkNumber(event)
{
    var id = event.target.id;
    return id.substr(10);
}

function parsetEventToLogoMapNumber(event)
{
    var id = event.target.id;
    return id.substr(7);
}

function parsetEventToEmoIconNumber(event)
{
    var id = event.target.id;
    return id.substr(7);
}

function parseEventToSuccessNumber(event)
{
    var id = event.target.id;
    return id.substr(7);
}

function parseEventToConcertNumber(event)
{
    var id = event.target.id;    
    return id.substr(7);
}

function parseEventToSongNumber(event)
{
    var id = event.target.id;
    return id.substr(4);
}


/******************************************************************************/
/**
 * Discussion add
 */
function discussionAdd()
{
    $('#discussionAddItem').css({display:"block"});
    $('#addItem').css({display:"none"});

    //bind image clicks
    var i;    
    for(i=1; i<=emoIconCount; i++)
    {
        $('#emoIcon'+i).click(function(event){
            var n=parsetEventToEmoIconNumber(event);
            $('#discussionText').insertAtCaret('<'+n+">");
        });
    }

    resizePage();
}

function discussionStorno()
{
    $('#discussionAddItem').css({display:"none"});
    $('#addItem').css({display:"block"});

    var i;
    for(i=1; i<=emoIconCount; i++)
    {
        $('#emoIcon'+i).unbind('click');
    }

    resizePage();
}


/******************************************************************************/
/**
 * SOURCE : http://stackoverflow.com/questions/946534/insert-text-into-textarea-with-jquery
 */
jQuery.fn.extend({
insertAtCaret: function(myValue){
  return this.each(function(i) {
    if (document.selection) {
      //For browsers like Internet Explorer
      this.focus();
      sel = document.selection.createRange();
      sel.text = myValue;
      this.focus();
    }
    else if (this.selectionStart || this.selectionStart == '0') {
      //For browsers like Firefox and Webkit based
      var startPos = this.selectionStart;
      var endPos = this.selectionEnd;
      var scrollTop = this.scrollTop;
      this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
      this.focus();
      this.selectionStart = startPos + myValue.length;
      this.selectionEnd = startPos + myValue.length;
      this.scrollTop = scrollTop;
    } else {
      this.value += myValue;
      this.focus();
    }
  })
}
});

/******************************************************************************/
/**
 * Expand successes
 */
 function expandSuccess()
 {
    var count = 3;
    var i;

    for( i=1; i<=count; i++ )
    {
        $('#success'+i).click(function(event){
            var n=parseEventToSuccessNumber(event);
            var d = $('#successText'+n).css('display');
            if(d=="none")d="block"; else d="none";

            $('#successText'+n).css('display',d).css('opacity',0);
            $('#successText'+n).animate({opacity: 1}, 1000);
            resizePage();
        });
    }
 }

/******************************************************************************/
/**
 * Songs details
 */
function createConcertsDetails()
{
    var i;
    var code;
    var top;

    //Expand
    for( i=0; i<yearC; i++ )
    {
        $('#conceY2'+i).click(function(event){
            var n=parseEventToSuccessNumber(event);
            var d = $('#concerT'+n).css('display');
            if(d=="none")d="block"; else d="none";

            $('#concerT'+n).css('display',d).css('opacity',0);
            $('#concerT'+n).animate({opacity: 1}, 1000);
            resizePage();
        });
    }

    //Show details
    for( i=0; i<bands.length; i++ )
    {
        //register event
        $('#concert'+i).hover(function(event){
            //over
            var id = parseEventToConcertNumber(event);
            $('#concertInfo').stop();

            code="";
            if( bands[id]!="" )code+='Hrají s námi: <span class="font2">'+bands[id]+'</span>';
            if( bands[id]!="" )
            {
                if( code!="" )code+='<div class="divider" style="height:4px;"></div>';
                code+=""+infos[id];
            }

            $('#concertDetail').html(code);

            top = event.pageY-220;//- $('#songInfo').height();


            $('#concertInfo').css({top: (top+"px"), display:'block'});
            $('#concertInfo').animate({opacity: 1}, 600);

        }, function(event){
            //out
            $('#concertInfo').stop();
            $('#concertInfo').animate({opacity: 0}, 1000,function(){$('#concertInfo').css({display:'none'})});
        });
    }
}

/******************************************************************************/
/**
 * Songs details
 */
function createSongsDetails()
{
    var i;
    var code;
    var top;
    
    //Convert info on HOVER
    for( i=0; i<songs; i++ )
    {
        //register event
        $('#song'+i).hover(function(event){
            //over
            var id = parseEventToSongNumber(event);
            $('#songInfo').stop();

            code='<div class="caption2">'+names[id]+"</div><hr>";
            code+='<em>Hudba: <span class="font2">'+music[id]+'</span> / text: <span class="font2">'+lyrics[id]+"</span></em><br>&nbsp;<br>";            
            code+='<div class="audioSongText">'+texts[id]+'</div>';

            $('#songInfo').html(code);            
            
            top = 2;//h-$('#songInfo').height() - 20;

            $('#songInfo').css({top: (top+"px"), display:'block'});
            $('#songInfo').animate({opacity: 1}, 600);            

        }, function(event){
            //out
            $('#songInfo').stop();
            $('#songInfo').animate({opacity: 0}, 1000,function(){
                $('#songInfo').css({display:'none'})              
            });
        });
    }
}

/******************************************************************************/
/**
 * Edit news
 */
function editNews(id)
{
    //destroy
    if( id==-1 )
    {
        $('#editNews').markItUpRemove();
        $('#newsEditor').css("display","none");
    //show
    }else{
        $('#editNews').markItUpRemove();
        $('#newsActionCaption').html("Editace novinky:");
        $('#newsEditor').css("display","block");
        $('#editNews').html( escapeHTML($('#news'+id).html()) );
        $('#newsId').val(id);
        $('#newsDate').val($('#date'+id).html());
        $('#editNews').markItUp(mySettings);
    }

    $(window).scrollTop( $('#newsEditor').offset().top );
    resizePage();
}

/******************************************************************************/
/**
 * Create new news
 */
function createNews()
{
    var today = new Date();
    $('#editNews').markItUpRemove();
    $('#newsActionCaption').html("Vytvoření novinky:");
    $('#newsEditor').css("display","block");
    $('#editNews').html("");
    $('#newsDate').val(dateToString(today));
    $('#newsId').val(0);    
    $('#editNews').markItUp(mySettings);
    
    $(window).scrollTop( $('#newsEditor').offset().top );
    resizePage();
}

/******************************************************************************/
/**
 * Delete news
 */
function deleteNews(id)
{
    $('#newsAction').val("deleteNews");    
    $('#newsId').val(id);
    $('#newsForm').submit();
}

/******************************************************************************/
/**
 * Format date to American date string
 */
function dateToString(date)
{
    var m = date.getMonth()+1;
    var y = date.getFullYear();
    var d = date.getDate();
    
    if( m<10 )m = "0"+m;
    if( d<10 )d = "0"+m;
    
    return y + "-" + m + "-" + d;
}

/******************************************************************************/
/**
 * Escape html
 */
function escapeHTML(text)
{
    if( text==null )return "";
    
    text=text.replace(/</gi,"&lt;").replace(/>/gi,"&gt;");
    return text;
}

/******************************************************************************/
/**
 * Edit Concert
 */
function editConcert(id, itemIndex)
{
    id = parseInt(id);
    
    //destroy
    if( id==-1 )
    {
        $('#concertNote').markItUpRemove();
        $('#concertEditor').css("display","none");
    //show
    }else{
        $('#concertNote').markItUpRemove();
        $('#concertActionCaption').html("Editace koncertu:");
        $('#concertEditor').css("display","block");
        $('#concertNote').html( escapeHTML(infos[itemIndex]) );
        $('#concertDate').val( escapeHTML(dates[itemIndex]) );            
        $('#concertBands').val( escapeHTML(bands[itemIndex]) );
        $('#concertPlace').val( escapeHTML(places[itemIndex]) );        
        $('#concertId').val( id );        
        $('#concertNote').markItUp(mySettings);
    }
    
    $(window).scrollTop( $('#concertEditor').offset().top );
    resizePage();
}

/******************************************************************************/
/**
 * Create new concert
 */
function createConcert()
{
    var today = new Date();
    $('#concertNote').markItUpRemove();
    $('#concertActionCaption').html("Vytvoření koncertu:");
    $('#concertEditor').css("display","block");
    $('#concertNote').html("");
    $('#concertBands').val("");
    $('#concertDate').val(dateToString(today));
    $('#concertPlace').val("");
    $('#concertId').val(0);    
    $('#concertNote').markItUp(mySettings);
    
    $(window).scrollTop( $('#concertEditor').offset().top );
    resizePage();
}

/******************************************************************************/
/**
 * Delete Concert
 */
function deleteConcert(id)
{
    $('#concertAction').val("deleteConcert");    
    $('#concertId').val(id);
    $('#concertForm').submit();
}

/******************************************************************************/
/**
 * Delete Discussion item
 */
function deleteDiscussionItem(id)
{
    $('#discussionAction').val("deleteDiscussionItem");    
    $('#discussionId').val(id);
    $('#discussionForm').submit();
}

function increment(id)
{
    var a=document.getElementById("count"+id);
    var h=parseInt(a.value);                        
    a.value=h+1;
}

function decrement(id)
{
    var a=document.getElementById("count"+id);
    var h=parseInt(a.value);                        
    if(h>0)a.value=h-1;          
}
