$(function() {
  $('.nice-select').sSelect( {
    ddMaxHeight : '300px'
  });

  // hover navbox
  $('div.nav-box:not(.nav-box-active)').hover(function() {
    $(this).addClass('nav-box-active');
  }, function() {
    $(this).removeClass('nav-box-active');
  });
  // mark correct answers
  if (typeof (answer_list) != 'undefined') {
    $('div.answer-list ul.newList').children().each(function(key) {
      if (answer_list[key] == 1) {
        $(this).addClass('correct');
      } else if (answer_list[key] == 0) {
        $(this).addClass('wrong');
      }
    })
  }
  ;

  // homepage tabs
  //$('ul#homepage-tabs > li > a').click(function() {
  //   $('ul#homepage-tabs > li > a').removeClass('active');
  //  $(this).addClass('active');
  //  $('div.ht').hide();
  //  $('div#' + $(this).parent().attr('id') + '-container').show();
  //  return false;
  // });

  $('#tab-1-filter > li > a').click(function(e) {
    rel = $(this).attr('rel');
    $('table.homepage-widget-table').hide();
    $('#tab-1-filter > li').removeClass('active');

    $(this).parent().addClass('active');
    $('.' + rel + '-table').show();
    e.preventDefault();
  })
});

$.fn.removePersonality = function() {
  $(this).unbind('click');

  $(this).click(function(e) {
    $(this).parent().remove();
    e.preventDefault();
  });
};

$.fn.addPersonality = function(template_selector, box_selector,
    container_selector) {
  $(this).unbind('click');

  $(this).click(function(e) {
    var nb = $(box_selector).length;
    var tpl = $(template_selector).html();
    tpl = tpl.replace(/Q/g, nb);
    $(container_selector).append(tpl);
    e.preventDefault();
    uploadify(nb);
  });
};

// function pad(number, length) {
//    
//     var str = '' + number;
//     while (str.length < length) {
//         str = '0' + str;
//     }
//     return str;
// 
// }


function initTimeLeft(name, url, qube_version) {
  var container = $('#time_left' + ((name != '') ? '_' + name : ''));
  var date = parseInt(container.attr('rel'));
  container.empty().append(getTimeLeft(date));
  var timer = setInterval(function(){
    container.empty().append(getTimeLeft(date));
  }, 1000);

  function getTimeLeft(date) {
    if (!date) return '';

    var now = new Date();
    var diff = (date - Math.floor(now.getTime() / 1000));
    if (diff <= 0) {
      clearInterval(timer);
      if (url != undefined && url != '') {
        window.location.href = url;
      }
      return '';
    }
    
    var str = '';
    var units = {
      'dzień'   : 60 * 60 * 24,
      'godzina' : 60 * 60,
      'minuta'  : 60,
      'sekunda' : 1
    };
    var result;
    //PRZEPISAC PRZY NASTEPNEJ AKTUALIZACJI!!!!
    for (var name in units) {
      if (diff >= units[name] || str != '') {

        //console.log(diff + ' ' + units[name]);
        result = Math.floor(diff / units[name]);
        diff -= result * units[name];
        // str += (str ? ' ' : '') + result + ' ' + transformWord(name, result);
        result = result.toString();
        if (result < 10) { 
          if (qube_version) {
            str += openTag(name) + '0' + result + closeTag();
          } else {
            str += + '0' + result + transformWord(name, result);
          }
          
        } else {
          if (qube_version) {
            str += openTag(name) + result + closeTag();
          } else {
            str += + result + transformWord(name, result);
          }
        }
      } else {
        if (qube_version) {
          str += openTag(name) + '00' + closeTag();
        };
        
      }
    }
    // console.log(str);
    return str;
  }
}

function transformWord(word, number) {
  var last = parseInt(number.toString().substr(number.toString().length - 1, 1));
  //console.log(last);
  var test;
  switch (word) {
    case 'sekunda':
      return '';
      test = (number > 20 && last != 1) ? last : number;
      switch (test) {
        default:  return 'sekund';
        case 1:   return 'sekunda';
        case 2: 
        case 3: 
        case 4:   return 'sekundy'; 
      }
      break;
    case 'minuta':
      return ':';
      test = (number > 20 && last != 1) ? last : number;
      switch (test) {
        default:  return 'minut';
        case 1:   return 'minuta';
        case 2: 
        case 3: 
        case 4:   return 'minuty'; 
      }
      break;
    case 'godzina':
      return ':';
      test = (number > 20 && last != 1) ? last : number;
      switch (test) {
        default:  return 'godzin';
        case 1:   return 'godzina';
        case 2: 
        case 3: 
        case 4:   return 'godziny'; 
      }
      break;
    case 'dzień':
      test = (number > 20 && last != 1) ? last : number;
      switch (test) {
        default:  return ' dni ';
        case 1:   return ' dzień ';
      }
      break;
  }
}


function openTag(word) {
  // var last = parseInt(number.toString().substr(number.toString().length - 1, 1));
  switch (word) {
    case 'sekunda':
      return '<div class="d_marker">D</div><div class="m_marker">M</div><div class="h_marker">H</div><div class="s_marker">S</div><div class="second">';
      break;
    case 'minuta':
      return '<div class="minute">';
      break;
    case 'godzina':
      return '<div class="hour">';
      break;
    case 'dzień':
      return '<div class="day">';
      break;
  }
}
function closeTag() {
  return '</div>';
}

