$(document).ready(function() {
  
  // modern browser text change
  if($.browser.webkit || $.browser.safari || $.browser.mozilla || $.browser.opera) {
    $(".text ul").css({ 'display': 'inline-block' });
    $(".text ul ul").css({ 'display': 'block' });
  }
  
  if($.browser.msie) {
    if($.browser.version >= 7) {
      $(".text ul").css({ 'display': 'inline-block' });
      $(".text ul ul").css({ 'display': 'block' });
    } else if($.browser.version <= 6) {
      $(".text ul").addClass('ieStyle');
    }
  }
  
  /* Javascript drop-down menu */
  $("#mainMenu").jmenu({ children: ".sub" });

  
  // external links
  $("a.external").attr("target", "_blank");

  var prevRollover;
  
  $("a.moreinfo").mouseover(function()
  {    
    var nodeRollover = $(this);
    if ($(this).attr("rel") != prevRollover)
    {
      prevRollover = $(this).attr("rel");
      $.get($(this).attr("rel"), function(data) {      
        var pos = $(nodeRollover).position();      
        $("#content").append(data);
        var rollOverObj = $("#content .boxRollover");
        rollOverObj.hide();
        var topPosition = (Math.floor(pos.top)-rollOverObj.height())+10;
        rollOverObj.css("top",topPosition+"px");
        rollOverObj.css("left","0px");       
        rollOverObj.fadeIn(400);
      },"html");    
    }
    else
    {
      var pos = $(nodeRollover).position();      
      var rollOverObj = $("#content .boxRollover");
      var topPosition = (Math.floor(pos.top)-rollOverObj.height())+10;
      rollOverObj.css("top",topPosition+"px");
      rollOverObj.css("left","0px");       
    }
  });
  
  $("a.moreinfo").mouseout(function()
  {
    //$(".boxRollover").fadeOut("slow");
    //$(".boxRollover").fadeOut(200,function() { 
        //$(this).parent().remove($(this));
    //});
  });

  $(".graphHelper").mouseover(function(){
    $(".helper").show();//fadeIn(400);
  });
  
  $(".graphHelper").mouseout(function(){
    $(".helper").hide();//fadeOut(200);
  });
  
  $("#content").bind('mousemove',function(e){ 
    var contentOffset = $("#content").offset();
    var pX = (e.pageX+10)-contentOffset.left;
    var pY = (e.pageY+10)-300;//contentOffset.top;
    $(".helper").css("top",pY + "px");
    $(".helper").css("left",pX + "px");
  });


  $(".expandFaq").click(function(e)
  {
    $(".fQuestion").each(function(){
      if (!$(this).hasClass('open'))
      {
        $(this).addClass('open');
      }
    });
    return false;
  });

  $(".closeFaq").click(function(e)
  {
    $(".fQuestion").each(function(){
       $(this).removeClass('open');
    });
    return false;
  });

  $(".openQuestion").click(function(e)
  {
    if ($(this).parent('.fQuestion').hasClass('open'))
    {
      $(this).parent('.fQuestion').removeClass('open');
    }
    else
    {
      $(this).parent('.fQuestion').addClass('open');    
    }
    return false;
  });

  $(".closeQuestion").click(function(e)
  {
    $(this).parents('.fQuestion').removeClass('open');
    return false;
  });
  
  // funkce pro zobrazeni kalendare
  var tab = document.getElementById('data');
  var eve=new Array();
  var plan = "PLAN";
  var offset = 1900;
  
  if(navigator.appVersion.indexOf('MSIE 6') != -1 || navigator.appVersion.indexOf('MSIE 7') != -1 || navigator.appVersion.indexOf('MSIE 8') != -1){
    offset = 0;
  }
  
  if(tab != null){
    var trs = tab.rows;
    var i = 1;
    for(i; i < trs.length; i++){
      var tds = trs[i].cells;
        if(tds.length > 1){
          var stringDate = tds[0].innerHTML.split(".");
          var startDate = new Date(stringDate[2], (stringDate[1] - 1), stringDate[0]);
          plan = tds[7].innerHTML;	
          var titleString =  tds[1].innerHTML;
          if(tds[4].innerHTML != null && tds[4].innerHTML != '' && tds[4].innerHTML != 'null'){
            titleString += '<br>' + tds[4].innerHTML;
          }
          eve[i - 1] = {title: titleString, start: startDate, category: tds[1].innerHTML, regionName: tds[2].innerHTML, regionBrancheName: tds[3].innerHTML, L2branche: tds[4].innerHTML, user: tds[5].innerHTML, editID: tds[6].innerHTML, note: tds[9].innerHTML} ;
        }
    }
  }
  $("#calendar").fullCalendar({
    events: eve,
    eventClick: function(calEvent, jsEvent, view) {document.Form.newDate.value = calEvent.start.getDate() + "." + (calEvent.start.getMonth() + 1) + "." + (calEvent.start.getYear() + offset);actionEdit(calEvent.editID);},
    dayClick: function(date, allDay, jsEvent, view) {
                  if(document.Form.currUserType != null && document.Form.currUserType.value == 100){
                    document.Form.newDate.value = date.getDate() + "." + (date.getMonth() + 1) + "." + (date.getYear() + offset);
                    actionNew(plan);
                  }
                },
    aspectRatio:3,
    viewDisplay: function(view) {getDataForExport(view.start, view.end, eve);}    
  });		
  function getDataForExport(start, end, events){
    var exportArray = new Array();
    if(events != null && events.length > 0){
      for(var i = 0; i < events.length; i++){
        if(start <= events[i].start && end > events[i].start){
          exportArray.push(events[i]);
        }
      }
    }
    setFormData(exportArray);
  }
  
  function setFormData(exportArray){
    var data="Aktivita;Uživatel;Datum;Region;Regionální pobočka;L2 pobočka;PoznámkaENDLINE";
    for(var i = 0; i < exportArray.length; i++){
      data += formatString(exportArray[i].title) + ";" + formatString(exportArray[i].user) + ";" + formatDate(exportArray[i].start) + ";" + formatString(exportArray[i].regionName) + ";" + formatString(exportArray[i].regionBrancheName) + ";" + formatString(exportArray[i].L2branche) + ";" + formatString(exportArray[i].note);
      if(i < exportArray.length - 1){

        if(getWeek(exportArray[i].start) > getWeek(exportArray[i + 1].start)){

          data += "ENDLINE";
          data += "NEWWEEK";
        }        
      }
      data += "ENDLINE";
    }

    document.Form.exportData.value=data;   
  }	


  function formatDate(calendarDate){
    var date = new Date(calendarDate);    
    var formatedDate = date.getDate() + "." + (date.getMonth() + 1) + "." + (date.getYear() + offset);
    return formatedDate;
  }

  function formatString(input){
    var output = "";
    if(input != null && input != "" && input != "null"){
      output += input;
    }else{
      output += "-";
    }

    if(output.indexOf("<br>") > 0 ){
      output = output.replace("<br>", " - ");
    }else{
      output = output.replace("<br>", "");
    }
    
    return output;
  }
  function getWeek(datum) {
    var onejan = new Date(datum.getFullYear(),0,1);
    return Math.ceil((((datum - onejan) / 86400000) + onejan.getDay()+1)/7);
  }
});
