/* coding: utf-8
/* JavaScript-Funktionen ausfuehren
 ************************************/

function trackCloudPopup(hObj, remoteData)
{
  var tagInput = jQuery(document.createElement('input'))
      .attr({
        'id':'addTagInput',
        'value':'',
        'tabindex':'1',
        'maxlength':'30'
      })
      .appendTo(hObj.oContent)
      .after('<br/>');
  tagInput.keyup(function(e){
    if (e == null) { // ie
      keycode = event.keyCode;
    } else { // mozilla
      keycode = e.which;
    }
    if(keycode == 13){ // enter
      hObj.oElement.trigger('sbDialogOkay');
    }
  });

  if(remoteData != '')
  {
    var json_data = eval('(' + remoteData + ')');
    for(var i = 0; i < json_data.length; i++)
    {
      jQuery(document.createElement('a'))
        .text(json_data[i].name +' ')
        .addClass('addTagByUidBtn')
        .attr({
          'href':'#',
          'tagUid':json_data[i].uid
        })
        .appendTo(hObj.oContent);
    }
  }
  return true;
};
function saveTrackTag(hObj) {
  switch(hObj.oBtn.attr('class'))
  {
    case hObj.settings.btnOkay:
      var addTagValue = jQuery('input#addTagInput',hObj.oBox).val();
      if(addTagValue != '')
      {
        saveTagData('TEXT', addTagValue, hObj.settings.kix_target);
      }
      return false;
      break;

    case hObj.settings.btnCancel:
      return false;
      break;

    case hObj.settings.additionalBtn:
      saveTagData('ID', hObj.oBtn.attr('tagUid'), hObj.settings.kix_target);
      hObj.oElement.trigger('sbDialogClose');
      return false;
      break;
  }
};
function saveTagData(type, value, target)
{
  jQuery.get(
    '../php/ajax/tracktag.ajax.php',
    {
      'action': 'save',
      'target': target,
      'item': jQuery('#currentItemId').text(),
      'type': type,
      'value': value
    },
    function(data) {
      if ( data != '' ) {
        $('#trackTagCloud ul').remove();
        $('#trackTagCloud').prepend(data);
      }
    }
  );
  return false;
};

$(document).ready(function() {
  //~ Tagging-Formular anzeigen
  var addTagCtrl = $('#addTagCtrl').empty();
  var addTagButton  = $(document.createElement('a')).attr({'id':'addTrackTag','href':'#'}).text('Tag hinzufügen').appendTo(addTagCtrl);
  addTagButton.sbDialog(
    {
      src:'../php/ajax/tracktag.ajax.php',
      data:
      {
        'action':'read',
        'target':'track',
        'item':jQuery('#currentItemId').text()
      },
      callback: trackCloudPopup
    },
    saveTrackTag,
    {
      boxID:'tagCloudEdit',
      containerID:'tagCloudContent',
      buttons:sbDialogBtn.Okay + sbDialogBtn.Close,
      additionalBtn:'addTagByUidBtn',
      top:0,
      left:30,
      kix_target:'track'
    }
  );
  //~ Tagging-Formular anzeigen
  var addArtistTagCtrl = $('#addArtistTagCtrl').empty();
  var addArtistTagButton  = $(document.createElement('a')).attr({'id':'addTrackTag','href':'#'}).text('Tag hinzufügen').appendTo(addArtistTagCtrl);
  addArtistTagButton.sbDialog(
    {
      src:'../php/ajax/tracktag.ajax.php',
      data:
      {
        'action':'read',
        'target':'artist',
        'item':jQuery('#currentItemId').text()
      },
      callback: trackCloudPopup
    },
    saveTrackTag,
    {
      boxID:'tagCloudEdit',
      containerID:'tagCloudContent',
      buttons:sbDialogBtn.Okay + sbDialogBtn.Close,
      additionalBtn:'addTagByUidBtn',
      top:0,
      left:30,
      kix_target:'artist'
    }
  );

  //~ Autosuggest
  $('#searchField').autosuggest('/php/livescripts/livesearch.php',{
    inputLoadingClass: 'qs_loading',
    resultSelectedClass: 'qs_active',
    resultClass: 'qs_results',
    hiddenName: 'artist'
  });

  //~ Track-ToolTip anzeigen
  $('td.trackShopListFormat').hover(
    function()
    {
      $(this).addClass('hover');
    },
    function()
    {
      $(this).removeClass('hover');
    }
  );


  /*
  //~ Wenn der platz reicht, dann binden wir die Infos von unten nach rechts
  var oKix          = {};
  oKix.doResize =
    function(){
      var oWrapper = $('div.row:first');
      var iSpace   = $('body').width() - (oWrapper.offset().left + oWrapper.width() + 30);
      //~ console.log(iSpace);
      if(iSpace > 300 ){
        $('#additionalInfo').removeClass('row').addClass('col3');
      }else{
        $('#additionalInfo').removeClass('col3').addClass('row');
      };
  };
  // haben wir den Platz?
  oKix.doResize();
  //Fenster ueberwachen
  $(window).resize(function(){oKix.doResize()});
  */

  //~ Tabellen-Zeile hovern
  if( $.browser.msie === true && $.browser.version < 7)
  {
    var sHoverColor  = "#DDF8CB";
    var sNormalColor = "transparent";
    //~ Track
    $("#shopHit tr").hover(function(){
      $(this).css("background",sHoverColor);
    },function(){
      $(this).css("background",sNormalColor);
    });

    //~ Artist- und Volltextsuche
    $("#listTracks tr").hover(function(){
      $(this).css("background",sHoverColor);
    },function(){
      $(this).css("background",sNormalColor);
    });
  }

});
