/*
 *        Common js
 */

function gettext(msgid) { return msgid; }
function ngettext(singular, plural, count) { return (count == 1) ? singular : plural; }
function gettext_noop(msgid) { return msgid; }

// Preload images
jQuery.preloadImages = function() {
  for(var i = 0; i<arguments.length; i++) {jQuery("<img>").attr("src", arguments[i]);}
}

$(document).ready(function() {

    // Hide messages on click
    $('#messages div').click(function() { $(this).toggle('slow'); });
    
    // email address hide
    $('span.mTo').each(function () {
      var mail = $(this).attr("name");
      mail = mail.replace(/_aa_/,"@").replace(/_dd_/g,".");
      $(this).replaceWith('<a href="mailto:'+mail+'">'+mail+'</a>');
    });
    
    //initiateFancyBox("a.fancy", 715, 420);
    
    $('#main_nav li').hover(  
        function () {  
            //show its submenu  
            $('ul', this).slideDown(100);  
  
        },   
        function () {  
            //hide its submenu  
            $('ul', this).slideUp(100);           
        }  
    ); 
    
});


function initiateFancyBox(classname, framewidth, frameheight){
  $(document).ready(function() {
    $(classname).fancybox({
      'zoomOpacity' : true,
      'overlayShow' : true,
      'overlayOpacity' : 0.7,
      'zoomSpeedIn' : 500,
      'zoomSpeedOut' : 500,
      'frameWidth' : framewidth,
      'frameHeight' : frameheight,    
      'hideOnContentClick' : false
    });
  });
}

function toggleLoginArea(){
    if ($("#login_box_arr").hasClass("downed")){
      //$("#login_box_form").fadeOut();
      $("#login_box_form").animate({"width": "0"}, "slow");
    }else{
      //$("#login_box_form").fadeIn();
      $("#login_box_form").animate({"width": "430px"}, "slow");
    }
    $("#login_box_arr").toggleClass("downed")
}
function slideSubElems(p_id){
    $('#page_'+p_id).slideToggle('slow');
    if ($('#slide_down_'+p_id).hasClass("arrows_up")){
        $('#slide_down_'+p_id).removeClass("arrows_up");
        $('#slide_down_'+p_id).addClass("arrows_down");
    }else{
        $('#slide_down_'+p_id).removeClass("arrows_down");
        $('#slide_down_'+p_id).addClass("arrows_up");
    }
    if ($('#link_area_'+p_id).hasClass("opened")){
      $('#link_area_'+p_id).removeClass("opened");
    } else {
      $('#link_area_'+p_id).addClass("opened");
    }
}

function organizeSelectField(id_field, ca){
  var newarr=new Array();
  var newstring='';
  $('#'+id_field+" > option").each(function(){
    var intext=$(this).text();
    var inval=$(this).val();
    $(this).removeAttr('selected');
    if (inval==""){
      $(this).attr('disabled', 'disabled');
    } else {
      for (var i=0; i<ca.length; i++){
        if (ca[i]==intext) {
          newarr[i]='<option value="'+inval+'">'+intext+'</option>';
          $(this).remove();
          break;
        }
      }
    }
  });
  newstring=newarr.join();
  if (newstring!=""){
    newstring='<option value="" selected="selected">---------</option>'+newstring;
    $('#'+id_field).prepend(newstring);
  }
}

function string_to_slug(str) {
  str = str.replace(/^\s+|\s+$/g, ''); // trim
  
  // remove accents, swap ñ for n, etc
  var from = "ÀÁÄÂÈÉËÊÌÍÏÎÒÓÖÔÙÚÜÛàáäâèéëêìíïîòóöôùúüûÑñÇç·/_,:;";
  var to   = "aaaaeeeeiiiioooouuuuaaaaeeeeiiiioooouuuunncc------";
  for (var i=0, l=from.length ; i<l ; i++) {
    str = str.replace(new RegExp(from[i], "g"), to[i]);
  }

  str = str.replace(/[^a-zA-Z0-9 -]/g, '') // remove invalid chars
    .replace(/\s+/g, '-') // collapse whitespace and replace by -
    .toLowerCase();
  return str;
}

function fixOpenTicketsTable(){
    if (!openedFixed){
      var openticketstable=$('#openticketstable').dataTable({
        "iDisplayLength": 25,
        "aoColumns": [
              null,
              { "sWidth": "400px" },
              null,
              { "sWidth": "100px" },
              { "sWidth": "200px" },
              null
          ]
      });
      openticketstable.fnSort([ [5,'desc']]);
      openedFixed=true;
    }
  }
  
  function fixClosedTicketsTable(){
    if (!closedFixed){
      var closedticketstable=$('#closedticketstable').dataTable({
        "iDisplayLength": 25,
        "aoColumns": [
              null,
              { "sWidth": "400px" },
              null,
              { "sWidth": "100px" },
              { "sWidth": "200px" },
              null
          ]
      });
      closedticketstable.fnSort([ [5,'desc']]);
      closedFixed=true;
    }
  }
  
  function showOpened(){
    $('#openticketstablediv').show(); 
    $('#closedticketstablediv').hide();
    $('#showclosedbuttondiv').removeClass('selected');
    $('#showopenedbuttondiv').addClass('selected');
    $('#showclosedbuttondiv').css('z-index','1');
    $('#showopenedbuttondiv').css('z-index','2');
  }
  
  function showClosed(){
    $('#closedticketstablediv').show(); 
    $('#openticketstablediv').hide();
    fixClosedTicketsTable()
    $('#showclosedbuttondiv').addClass('selected');
    $('#showopenedbuttondiv').removeClass('selected');
    $('#showclosedbuttondiv').css('z-index','2');
    $('#showopenedbuttondiv').css('z-index','1');
  }
  
  function showAllOpened(){
    $('#openticketstablediv').show(); 
    $('#closedticketstablediv').hide();
    $('#closedbutton').removeClass('selected');
    $('#openedbutton').addClass('selected');
  }
  
  function showAllClosed(){
    $('#closedticketstablediv').show(); 
    $('#openticketstablediv').hide();
    fixClosedAllTicketsTable()
    $('#closedbutton').addClass('selected');
    $('#openedbutton').removeClass('selected');
  }
  
  function fixOpenAllTicketsTable(){
    if (!openedFixed){
      var openticketstable=$('#openticketstable').dataTable({
      "iDisplayLength": 25,
      "aoColumns": [
            null,
            { "sWidth": "320px" },
            null,
            { "sWidth": "100px" },
            { "sWidth": "100px" },
            null,
            null,
            null
        ]
    });
      openticketstable.fnSort([ [7,'desc']]);
      openedFixed=true;
    }
  }
  
  function fixClosedAllTicketsTable(){
    if (!closedFixed){
      var closedticketstable=$('#closedticketstable').dataTable({
      "iDisplayLength": 25,
      "aoColumns": [
            null,
            { "sWidth": "320px" },
            null,
            { "sWidth": "100px" },
            { "sWidth": "100px" },
            null,
            null,
            null
        ]
    });
      closedticketstable.fnSort([ [7,'desc']]);
      closedFixed=true;
    }
  }
