function changeview(viewtype) {
  if (viewtype < 0 && viewtype > 2) return false;
  if (imagebrowser.viewmode != viewtype) {
    imagebrowser.viewmode = viewtype;
    var sDispChars = "#ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    if ($('.letter.pager.pager_visible_pages').length > 0) {
      var letter = get_id($('.letter.pager.pager_visible_pages').attr('id'));
      image_browser_post({viewt: viewtype, search: sDispChars.charAt(letter)}); 
      return;
    }
    image_browser_post({viewt: viewtype});
  }
}

function sendEvent(swf,typ,prm) {
  var e=thisMovie(swf);
  if (e&&(typeof e.sendEvent == 'function')) e.sendEvent(typ,prm);
}
function getUpdate(typ,pr1,pr2,swf) {}
function thisMovie(swf) {
  if(navigator.appName.indexOf("Microsoft") != -1) {
    return window[swf];
  } else {
    return document[swf];
  }
}

var fotemalista = new Object();
var osztalylista = new Object();
function set_select(selectid, selectvalues) {
  //$("#" + selectid).removeOption(/.*/);
  // helyette:
  //$("#" + selectid).empty();
  $('#'+selectid+' not(option:first)').remove();

  //eval("selectvalues.0 = 'Mind';");
  $("#" + selectid).addOption(selectvalues, false);
  $("#" + selectid).sortOptions();
}

function image_browser_temakor_values() {
  fotemalista = new Object();
  var max = imagebrowser.results.length;
  var fotema;
  var fotemakod;
  for(var i = 0; i < max; i++) {
    if(fotema = imagebrowser.results[i].fotema) {
      fotemakod = imagebrowser.results[i].fotemakod;
      eval("fotemalista."+fotemakod+"='"+fotema+"'");
    }
  }
  set_select('temakor', fotemalista);
}

function image_browser_osztaly_values() {
  osztalylista = new Object();
  var max = imagebrowser.results.length;
  var evfolyam;
  for(var i = 0; i < max; i++) {
    if(evfolyam = imagebrowser.results[i].evfolyam) {
      eval("osztalylista["+evfolyam+"]='"+evfolyam+"'");
    }
  }
  set_select('osztaly', osztalylista);
}

//imagebrowser=null;
function image_browser_show(params) {
  if (typeof imagebrowser=='undefined') {
    image_browser_init(params);
  } else {
    //van már, de változhatott kezdőparaméter, akkor reinit
    if (params.ibid!=imagebrowser.ibid  || params.reinit) {
      $('#ib_main_overlay').remove();
      $('#ib_main').remove();
      image_browser_init(params);
    } else {
      //nem kell reinit, de pár dolgot nyugodtan beállíthatunk újra, pl. callbacket.
      imagebrowser.callbackOnResult = params.callbackOnResult;
    }
    
  }
  $('#ib_main_overlay').show();
  $('#ib_main').css('top',  50 + $(window).scrollTop() + 'px').show();//pozicional is, a scrolltól függően.
}

function image_browser_hide() {
  $(document).unbind("keydown");
  $('#ib_main').hide();
  $('#ib_main_overlay').hide();
}

function bindtooltip(divid) {
  $('#'+divid).find('img').tooltip({
    delay: 0,
    track: true,
    showURL: false
  });
}

/*inicializálás*/
function image_browser_init(params) {
  imagebrowser=params;//lemásoljuk
  imagebrowser.ibid=params.ibid;
  imagebrowser.lock=false;
  imagebrowser.page=0;
  imagebrowser.viewmode = 1;
  imagebrowser.pre_width=800;//default
  if (!imagebrowser.items_per_page) imagebrowser.items_per_page=18;
  if (!imagebrowser.tipusok) {
    imagebrowser.tipusok=[{type:4,name:'hang'},{type:5,name:'kép'},{type:6,name:'videó'}];
  }

  $("<div id=\"ib_main_overlay\"/>").appendTo('body').show();//ez utána ott is marad, csak eltüntetjük.
  
  var top = 20 + $('body').scrollTop();

	var s="<script type=\"text/javascript\" src=\"js/jquery/multifile/ajaxupload.js\"></script>";
	s+="<script type=\"text/javascript\">";
  s+="$(document).ready(function(){\n";
    s+="bindtooltip('ib_list');\n";
    s+="bindtooltip('inserthead');\n";
    s+="bindtooltip('closediv');\n";
		s+="var button = $('#upload_button'), interval;\n";
		s+="new AjaxUpload(button,{\n";
			s+="action: 'upload.php?acmd=ib_upload_image',\n";
			s+="name: 'file',\n";
			s+="onSubmit : function(file, ext){\n";
				s+="button.text('Feltöltés');\n";
				s+="this.disable();\n";
				s+="interval = window.setInterval(function(){\n";
					s+="var text = button.text();\n";
					s+="if (text.length < 13){\n";
						s+="button.text(text + '.');\n";
					s+="} else {\n";
						s+="button.text('Feltöltés');\n";
					s+="}\n";
				s+="}, 200);\n";
			s+="},\n";
			s+="onComplete: function(file, response){\n";
				s+="button.text('Kép feltöltése »');\n";
				s+="window.clearInterval(interval);\n";
				s+="this.enable();\n";
				//s+="$('<li></li>').appendTo('#upl .files').text(file +'('+response+')');\n";
				s+="if(trim(response)!='UPLOADERROR') {";
				s+="	var data=new Object();\n";
				s+="	data.type=5;\n";
				s+="	data.max=180;\n";
				s+="	data.search_5=1;\n";
				s+="	data.search_own=1;\n";
				s+="	data.search=response;\n"
				s+="  data.viewt=imagebrowser.viewmode\n";
				s+="	if (typeof data=='object') $.extend(data,'');\n";
				s+="	$.post('upload.php?acmd=ib_get_images',data,image_browser_update,'json');\n";
				s+="	$('#ib_search').val(response);\n";
				s+="} else {\n";
				s+="	alert('Hiba! Nem képet töltött fel!');\n";
				s+="}\n";
			s+="}\n";
		s+="});\n";
	s+="});\n";
	s+="</script>";

  s+="<div id=\"ib_main\" style=\"min-height: 600px; position:absolute;top:"+top+"px;left:0;width:100%;\">";
  s+="<center>";
  s+="<div style=\"width:"+(810+($.support.boxModel?0:12))+"px;border:1px solid #040;text-align:left;background-color:#fff;padding:5px;\">";

    s+="<div id=\"closediv\">";
      s+="<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";
      s+="<tr id=\"im_manip_menu\"><td align=\"left\" id=\"ib_menu\"></td>";
      s+="<td align=\"right\"><a onclick=\"changeview(0); return false;\" href=\"#\">Részletes nézet</a> &middot; <a onclick=\"changeview(1); return false;\" href=\"#\">Ikon nézet</a> &middot; <a onclick=\"changeview(2); return false;\" href=\"#\">Listás nézet</a> &middot; <a href=\"#\" class=\"iblink\" onclick=\"image_browser_hide();return false;\"><img src=\"images/i14/i_nem.gif\" alt=\"Bezárás\" title=\"Bezárás\"/></a></td></tr>";
      s+="</table>";
    s+="</div>";


    s += "<h1 class=\"ws_title1\"><span id=\"upload_button\" style=\"cursor:pointer\">Új kép feltöltése &raquo;</span></h1>";

    s+="<div id=\"inserthead\">";
      s+="<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">";
      s+="<tr valign=\"middle\">";
        s+="<td>";
        
          s+="<input type=\"text\" id=\"ib_search\" onkeypress=\"ifEnter(this,event,'image_browser_post()')\" onkeydown=\"event.stopPropagation();return true;\"/>";
          s+=" <select id=\"temakor\" name=\"temakor\"><option value=\"\">-- Témakör --</option></select>";
          s+=" <select id=\"osztaly\" name=\"osztaly\"><option value=\"\">-- Évf. --</option></select>";
          s+=" <span class=\"ib_search_button\" onclick=\"image_browser_post();\"><img src=\"images/i18/i_keres.gif\" title=\"Keresés\" alt=\"Keresés\"/></span>";
        s+="</td>";
        if (imagebrowser.tipusok.length>1) {//csak akkor írjuk ki, ha van választás
          for (var i=0;i<imagebrowser.tipusok.length;i++) {
            var d=imagebrowser.tipusok[i];
            s+="<td><label><input type=\"checkbox\" name=\"search_"+d.type+"\" value=\"1\"/> "+d.name+"</label></td>";
          }
        }

        s+="<td align=\"left\" width=\"160\"><label style=\"vertical-align:middle;\"><input type=\"checkbox\" name=\"search_own\" value=\"1\" style=\"vertical-align:middle;\" checked=\"checked\" onchange=\"image_browser_post();\"/> Csak saját feltöltések</label></td>";
      s+="</tr>";

      // kezdobetu szerinti valaszto
      s += "<tr>";
        s += "<td colspan=\"3\">";
          s += "<table width=\"100%\" cellspacing=\"1\" cellpadding=\"2\"><tr>";
          var sDispChars = "#ABCDEFGHIJKLMNOPQRSTUVWXYZ";
          for (var k = 0; k < sDispChars.length; k++) {
            var letter = sDispChars.charAt(k);
            s += "<td class=\"letter pager\" id=\"letter_"+letter.replace('#', 'kereszt')+"\" align=\"left\" style=\"padding-left: 4px;\"><a href=\"#\" onclick=\"image_browser_post({letter:'"+letter+"'});return false;\"><b>"+letter+"</b></a></td>";
          }
          s += "</tr>";
          s += "</table>";
        s += "</td>";
      s += "</tr>";
      s += "</table>";

    s += "</div>";
  
  
    s += "<div id=\"ib_list\">";
    s += "</div>";

    s += "<div id=\"ib_viewer\">";
      s += "<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\"><tr>";
      s += "<td align=\"left\">";
      
        s += "<a href=\"#\" id=\"openeditor\" onclick=\"$('.ib_viewer_details').show(); $('#openeditor').hide(); $('#closeeditor').show();image_browser_viewer_show(imagebrowser.selected);return false;\" style=\"font-weight:bold;cursor:pointer;\">";
          s += "Részletek &raquo;";
      //    s+= "<img src=\"images/i14/i_szerkeszt.gif\" align=\"absmiddle\" alt=\"Szerkesztő megnyitása\" title=\"Szerkesztő megnyitása\"/>";
        s += "</a>";
        s += "<a href=\"#\" id=\"closeeditor\" onclick=\"$('.ib_viewer_details').hide(); $('#closeeditor').hide(); $('#openeditor').show();return false;\" style=\"font-weight:bold;display:none;cursor:pointer;\">";
          s += "Részletek &laquo;";
      //    s += "<img src=\"images/i14/i_szerkeszt.gif\" align=\"absmiddle\" alt=\"Szerkesztő bezárása\" title=\"Szerkesztő bezárása\"/>";
        s += "</a>";
      
      s += "</td>";

      s += "<td width=\"20%\" id=\"ib_viewer_buttons_select\" valign=\"top\" align=\"right\" style=\"font-weight:bold;\">&nbsp;</td>";
      
      s += "</tr></table>";

      s += "<div id=\"ib_viewer_info\" class=\"ib_viewer_details\" style=\"display:none;margin-top:10px;border:1px solid #555;padding:2px;\"></div>";
      s += "<div id=\"ib_viewer_edit\" class=\"ib_viewer_details\" style=\"display:none\"></div>";

      s += "<div id=\"ib_viewer_pre\" align=\"center\" class=\"ib_viewer_details\" style=\"display:none\"></div>";

    s += "</div>";


    s+="<div id=\"editimage\" style=\"display:none;\"></div>";
    
  s+="</div>";
  
  s+="</center>";
  s+="</div>";
  
  $(s).appendTo('body');

  image_browser_post();//betöltés, aztán megjelenítés

}

/*
  form elküldése (új képlista betöltése)
*/
function image_browser_post(cmd) {
  /*
    a cmdt még átadjuk
  */
  if (imagebrowser.lock) {
    alert('Kérem várjon!');
    return false;//már folyamatban van TODO hibakezelés?
  }
  imagebrowser.lock = true;

  
  $('.pager.letter').removeClass('pager_visible_pages');//kijelölt betűk eltűnnek
  if (typeof cmd == 'object' && cmd.letter) {
    $('#letter_'+cmd.letter.replace('#','kereszt')).addClass('pager_visible_pages');
    
  }
  
  var s = "<div style=\"padding:100px;text-align:center\"><img src=\"images/zoom/spinner.gif\" alt=\"\"/><br/><h1>Kérem várjon!</h1></div>";
  $('#ib_list').html(s);

  var data=new Object();
  data.search = $('#ib_search').val();
  for (var i = 0; i < imagebrowser.tipusok.length; i++) {
    var d = imagebrowser.tipusok[i];
    var ertek = 0;
    if (imagebrowser.tipusok.length > 1) {
      ertek = ($('#ib_main input[name=search_'+d.type+']:checked').length > 0)?1:0;
    } else {
      ertek = 1;//ha nincs választás, akkor ezt akarjuk.
    }
    data['search_'+d.type]=ertek;
  }
/*  data.search_4=($('#ib_main input[name=search_4]:checked').length>0)?1:0;
  data.search_5=($('#ib_main input[name=search_5]:checked').length>0)?1:0;
  data.search_6=($('#ib_main input[name=search_6]:checked').length>0)?1:0;*/
  data.max=180;
  data.search_own=($('#ib_main input[name=search_own]:checked').length>0)?1:0;
  data.viewt = imagebrowser.viewmode;
  if ($('#temakor').val()) data.temakor = $('#temakor').val();
  if ($('#osztaly').val()) data.osztaly = $('#osztaly').val();
  if (typeof data=='object') $.extend(data, cmd);
  if (data.letter) $('#ib_search').val('');
  $.post('upload.php?acmd=ib_get_images', data, image_browser_update, 'json');
}

function get_id(s) {
  var idh=s.split('_');
  return parseInt(idh[idh.length-1]);
}

function isInt (i) {
  return (i % 1) == 0;
}

/*
  thumbnailek listáját frissíti
*/
function image_browser_update(data, page) {
  imagebrowser.lock=false;
  var s="";
  
  var db;
  
  $('#ib_viewer_pre').html('');
  $('#ib_viewer_pager').html('');
  $('#ib_viewer_edit').html('');

  if (data&&data.debug) alert(data.debug);
  
  if (data) {
    imagebrowser.more_results = data.more_results;//ezt is megjegyezzük
    imagebrowser.results = data.results;//elmentjük
    imagebrowser.selected = 0;//első a kiválasztott
    imagebrowser.page = 0;//első lap
  } else {
    if (imagebrowser.page != page) {
      imagebrowser.page = page;//akkor lapozás.
      if (imagebrowser.selected < imagebrowser.items_per_page*page || imagebrowser.selected >= imagebrowser.items_per_page*(page+1))
        imagebrowser.selected = imagebrowser.items_per_page*page;
    }
  }

  //lapozás megőrzése
  if (isInt(page) && page >= 0) {
    imagebrowser.page = page;
  } else page = imagebrowser.page;
  //nem lehet rossz oldalra lapozni
  if (imagebrowser.results.length < page * imagebrowser.items_per_page) {
    page = 0;
  }
  
  //tooltip js error megelozendo unbindelunk minden mostani képet.
  
  if (db=imagebrowser.results.length) {

    if (!$('#temakor').val() && !$('#osztaly').val()) {
      image_browser_temakor_values();
      image_browser_osztaly_values();
    }
    //lapozás, ha kell.
    //9 oszlop, 2 sor, az 18.
    if (imagebrowser.viewmode == 2) imagebrowser.items_per_page = 20;
    else imagebrowser.items_per_page = 18;
    var items_per_page = imagebrowser.items_per_page;

    // listas eseten 20at jelenitunk meg 4x5-os matrixban

    // pager, talalatok szama...
    s += "<div>";
    s += "<table width=\"100%\">";
    s += "<tr><td width=\"80%\" align=\"left\">Találat: ";
    if (imagebrowser.more_results) {//van még, amit nem kaptunk meg.
      s+="több, mint "+db;
      s+=" (túl sok találat, kérem szűkítse a keresés!)";
    } else {
      s += db;
    }
    s+="</td><td align=\"right\">";
      s+="<table cellspacing=\"0\" cellpadding=\"0\"><tr>";
      for (var i = 0; i*items_per_page < db; i++) {
        var visiblepages = (imagebrowser.page == i)?" pager_visible_pages":"";
        var oc="image_browser_update(null,"+i+");return false;";
        s+="<td align=\"center\" height=\"15\" width=\"19\" class=\"pager"+visiblepages+"\"><a href=\"#\" onclick=\""+oc+"\">"+(i+1)+"</a></td>";
      }
      s+="</tr></table>";
    s+="</td></tr>";
    s+="</table>";
    
    
    s+="</div>";

    if (imagebrowser.viewmode == 0) {
      // reszletes nezet
      s+="<table width=\"100%\" cellpadding=\"2\" cellspacing=\"1\">";
      for (var i = imagebrowser.page*items_per_page;(i<db)&&(i<(imagebrowser.page+1)*items_per_page);i++) {
        var azon=imagebrowser.results[i].azon;
        var title=imagebrowser.results[i].title;
        var type=imagebrowser.results[i].type;
        var title_sub = title.substr(0,60);
        if(title_sub!=title) title_sub+="...";
        title = title_sub;
        if (!azon) azon="";
        if (!title) title=azon;
        if(i%3==0) s+="<tr valign=\"top\">";
        s += "<td style=\"border: 1px #1178BB solid;\" width=\"33%\" height=\"80\" class=\"ib_thumb\">";
        s += "<div id=\"ib_thumb_"+i+"\" style=\"text-align:left;height:80px;width:100%;\" class=\"ib_thumb\">";
        s += "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr valign=\"middle\">";
        type = "<td width=\"82\" align=\"left\"><img class=\"thumb_img\" id=\"ib_thumb_img_"+i+"\" src=\""+imagebrowser.results[i].thumbnail+"\" alt=\""+title+"\" title=\""+title+"\"/></td>";
        s += type+"<td align=\"left\"><b>" + title+"</b>";//+"<img src=\""+imagebrowser.results[i].thumbnail+"\" alt=\""+title+"\" title=\""+title+"\" class=\"ib_thumb\" id=\"ib_thumb_"+i+"\" width=\""+thumb_width+"\" height=\""+thumb_height+"\"/>";
        if(imagebrowser.results[i].cim) s+="<br/><span style=\"font-size: 10px; font-style: italic;\">"+imagebrowser.results[i].cim+"</span>";
        s += "</td></tr></table>";
        s += "</div>";
        s += "</td>";
        if(i%3==2) s+="</tr>";
      }
      s+="</table>";
      s+="<div style=\"clear:both\"></div>";

      // visszaallitjuk az eredetit
      //items_per_page = 18;
    } else if (imagebrowser.viewmode == 2) {//listás
      // ikon nezet
      s+="<table width=\"100%\" cellpadding=\"2\" cellspacing=\"1\">";
      for (var i=imagebrowser.page*items_per_page;(i<db)&&(i<(imagebrowser.page+1)*items_per_page);i++) {
        var azon=imagebrowser.results[i].azon;
        var title=imagebrowser.results[i].title;
        var type=imagebrowser.results[i].type;
        var title_sub = title.substr(0,20);
        if(title_sub!=title) title_sub+="...";
        title = title_sub;
        if (!azon) azon="";
        if (!title) title=azon;
        if(i%4==0) s+="<tr valign=\"top\">";
        s+="<td style=\"border: 1px #1178BB solid;\" width=\"25%\" height=\"34\" class=\"ib_thumb\">";
        s+="<div id=\"ib_thumb_"+i+"\" style=\"text-align:left;height:34px;width:100%;\" class=\"ib_thumb\">";
        s+="<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr valign=\"middle\">";
        type = "<td width=\"34\" align=\"left\"><img class=\"thumb_img\" id=\"ib_thumb_img_"+i+"\" src=\"images/lex/lex_t"+type+"_1_o.gif\" align=\"absmiddle\"/></td>";
        s+=type+"<td align=\"left\">" + title;//+"<img src=\""+imagebrowser.results[i].thumbnail+"\" alt=\""+title+"\" title=\""+title+"\" class=\"ib_thumb\" id=\"ib_thumb_"+i+"\" width=\""+thumb_width+"\" height=\""+thumb_height+"\"/>";
        if (imagebrowser.results[i].cim) s += "<br/><span style=\"font-size: 10px; font-style: italic;\">"+imagebrowser.results[i].cim+"</span>";
        s+="</td></tr></table>";
        //s+="<br/>"+azon;
        s+="</div>";
        s+="</td>";
        if(i%4==3) s+="</tr>";
      }
      s+="</table>";
      s+="<div style=\"clear:both\"></div>";
      // visszaallitjuk az eredetit
      //items_per_page = 18;
    } else {
      // listas nezet
      for (var i=imagebrowser.page*items_per_page;(i<db)&&(i<(imagebrowser.page+1)*items_per_page);i++) {
        var azon=imagebrowser.results[i].azon;
        var title=imagebrowser.results[i].title;
        if (!azon) azon="";
        if (!title) title=azon;
        s+="<div style=\"text-align:center;float:left;padding:5px;\" class=\"ib_thumb\">";

        var thumb_width=80;
        var thumb_height=80;
        
        
        s += "<img src=\""+imagebrowser.results[i].thumbnail+"\" alt=\""+title+"\" title=\""+title+"\" class=\"ib_thumb\" id=\"ib_thumb_"+i+"\" width=\""+thumb_width+"\" height=\""+thumb_height+"\"/>";
//DBG        s += imagebrowser.results[i].id;
        s+="</div>";
      }
      s+="<div style=\"clear:both\"></div>";
    }
  } else {
    s += "<br/>Nincs találat!";
    if ($('input[name=search_own]:checked').length) s += ' (A saját feltöltések között)';
    $('.ib_viewer_details').hide();
    $('#openeditor').hide();
    $('#closeeditor').hide();
  }
  
  
  //s+="</div>";
//  $('#ib_list').html('');
  $('#ib_list').html(s);
  
  //események bindelése
  if (imagebrowser.viewmode == 0) {
    // reszletes esetben
    $('td.ib_thumb').hover(
      function() {
        $(this).addClass('ib_thumb_hover');
      },
      function() {
        $(this).removeClass('ib_thumb_hover');
      }
    ).bind('dblclick',function() {
      var id=get_id($(this).find('div').attr('id'));
      image_browser_load(id);
    }).bind('click',function() {
      //előnézet típus szerint
      var id=get_id($(this).find('div').attr('id'));
      // kirakja a szerkesztot (es elozo/kovetkezo keplapozot)
      image_browser_viewer_show(id);
    });

    $('.thumb_img').tooltip({
      delay: 0,
      track: true,
      showURL: false,
      bodyHandler: function() { 
        var id=get_id($(this).attr('id'));
         return imagebrowser.results[id].info;
      }
    }).css('cursor','pointer');
  } else if(imagebrowser.viewmode == 1) {
    $('div.ib_thumb').hover(
      function() {
        $(this).addClass('ib_thumb_hover');
      },
      function() {
        $(this).removeClass('ib_thumb_hover');
      }
    ).bind('dblclick',function() {
      var id=get_id($(this).find('img').attr('id'));
      image_browser_load(id);
    }).bind('click',function() {
      //előnézet típus szerint
      var id=get_id($(this).find('img').attr('id'));
      
      // kirakja a szerkesztot (es elozo/kovetkezo keplapozot)
      image_browser_viewer_show(id);
    });
    
    $('img.ib_thumb').tooltip({
      delay: 0,
      track: true,
      showURL: false,
      bodyHandler: function() { 
        var id=get_id($(this).attr('id'));
        return imagebrowser.results[id].info;
      }
    }).css('cursor','pointer');
  } else if (imagebrowser.viewmode == 2) {// listas esetben
    $('td.ib_thumb').hover(
      function() {
        $(this).addClass('ib_thumb_hover');
      },
      function() {
        $(this).removeClass('ib_thumb_hover');
      }
    ).bind('dblclick',function() {
      var id=get_id($(this).find('div').attr('id'));
      image_browser_load(id);
    }).bind('click',function() {
      //előnézet típus szerint
      var id=get_id($(this).find('div').attr('id'));
      
      // kirakja a szerkesztot (es elozo/kovetkezo keplapozot)
      image_browser_viewer_show(id);
    });
    
    $('.thumb_img').tooltip({
      delay: 0,
      track: true,
      showURL: false,
      bodyHandler: function() { 
        var id=get_id($(this).attr('id'));
         return "<img src=\""+imagebrowser.results[id].thumbnail+"\"/>";
      }
    }).css('cursor','pointer');
  }
  
  /*$('a').tooltip({
    delay: 0,
    track: true,
    showURL: false,
  });*/
  
  //első elem betöltése
  if (typeof imagebrowser.selected!= 'undefined') image_browser_viewer_show(imagebrowser.selected,false);
  
}

//címkézés
function refresh_edit_image_panel() {
  var id = imagebrowser.results[imagebrowser.selected].id;
  $('#editimage').html("Betöltés...");
  if (id) {
    $.post('upload.php?acmd=ib_editimage', {'editid': id}, function(data2) {
      if (data2.out) $('#editimage').html(data2.out);
    }, 'json');
  }	else {
    $('#editimage').html('Válasszon képet!');
  }
}

function image_browser_viewer_show(id, lapozas) {
  imagebrowser.selected = id;
  var akt_page=parseInt(id/imagebrowser.items_per_page);
  if ( (lapozas===true) || (lapozas!==false && (akt_page!=imagebrowser.page))) {//lapozas azért, hogy esetleges végtelen ciklust elkerüljük
    image_browser_update(null, akt_page);
    return;//minek kétszer
  }

  imagebrowser.lepes = 0;
  imagebrowser.m_session = 0;
  imagebrowser.manipulated_filename = '';
  //alert(id);
  $('#ib_main .ib_selected').removeClass('ib_selected');
  $('#ib_thumb_'+id).parent().addClass('ib_selected');
  var data = imagebrowser.results[id];
  if (!data) {return;}//ez csak rossz paraméterezésnél fordulhat elő alert('nincs');


  $(document).unbind('keydown').keydown(function(e) {
    if (e.keyCode == 13) {
      image_browser_load(id);
    } else if (e.keyCode == 27) {
      image_browser_hide();
    } else if(e.keyCode == 37 && id>0) {
      $(document).unbind("keydown");
      image_browser_viewer_show(parseInt(id)-1);
    } else if(e.keyCode == 39 && (id<imagebrowser.results.length-1)) {
      $(document).unbind("keydown");
      image_browser_viewer_show(parseInt(id)+1);
    }
    return true;
  });

  
  
  var editbuttons = '';
  editbuttons = "<a href=\"#\" onclick=\"if (imagebrowser.lepes == 0) image_browser_load("+id+"); else alert('Mentsen, mert addig nem lehet kiválasztani.');;return false;\">Kiválasztás</a>";

  $('#ib_viewer_buttons_select').html(editbuttons);
  $('#ib_viewer_buttons').html('');
  var default_buttons = false;
  $('#ib_viewer_pre').removeClass('ib_pre_audio');
  switch (parseInt(data.type)) {
    case 4:
//      var s0="<div style=\"padding-top:20px;padding-bottom:20px;\" id=\"ib_viewer_pre0\"></div>";
//      $('#ib_viewer_pre').html(s0);
      var height=20;
      var FU = {
        movie:"./book_object/object_media/mediaplayer2.swf",
        width:480,
        height:height,
        majorversion:"7",
        build:"0",
        bgcolor:"#ffffff",
        id:"player",
        flashvars:"file="+data.filename+"&image=&lightcolor=0x738fc4&backcolor=0x738fc4&frontcolor=0x8ca6d2&listovercolor=0xffffff&listbackcolor=0xbcc6e2&listfrontcolor=0x738fc4&listbacktextcolor=0x2b4678&listfronttextcolor=0xffffff&showfsbutton=false&shownavigation=true&overstretch=none&displayheight="+(height-20)+"&enablejs=true"
      };
      UFO.create(FU,"ib_viewer_pre");
      setTimeout("sendEvent('player','playpause')",1000);
      default_buttons=true;
      $('#ib_viewer_pre').addClass('ib_pre_audio');
      break;
    case 5:
      var s0="<div style=\"padding:100px;text-align:center\"><img src=\"images/zoom/spinner.gif\" alt=\"\"><br/><h1>Kérem várjon!</h1></div>";
      $('#ib_viewer_pre').html(s0);
      var preload_img=new Image; preload_img.src=data.filename;
      data.preload_img=preload_img;
      data.id0=id;
      if (preload_img.complete) image_browser_preview_img(data); else {
        $(preload_img).unbind().bind('load',function() {
          image_browser_preview_img(data);
        });
      }
      break;
    case 6:
      var height=340;
      var FU = {
        movie:"./book_object/object_media/mediaplayer2.swf",
        width:480,
        height:height,
        majorversion:"7",
        build:"0",
        bgcolor:"#ffffff",
        id:"player",
        flashvars:"file=../../"+data.filename+"&image="+data.pre+"&lightcolor=0x738fc4&backcolor=0x738fc4&frontcolor=0x8ca6d2&listovercolor=0xffffff&listbackcolor=0xbcc6e2&listfrontcolor=0x738fc4&listbacktextcolor=0x2b4678&listfronttextcolor=0xffffff&showfsbutton=false&shownavigation=true&overstretch=none&displayheight="+(height-20)+"&enablejs=true"
      };
      UFO.create(FU,"ib_viewer_pre");
      setTimeout("sendEvent('player','playpause')",1000);
      default_buttons=true;
      break;
    
  }
  if (default_buttons) {
    var s2 = "";
    if (data.own) s2 += "<a href=\"#\" alt=\"Törlés\" title=\"Törlés\" class=\"iblink\" onclick=\"if (confirm('Biztos?')) {image_browser_post({del:"+data.id+"});};return false;\">Törlés</a><br/>";
    if (data.own) s2 += "&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"image_browser_save(true);return false;\"><img src=\"images/i18/i_ment.gif\" alt=\"Mentés\" title=\"Mentés\"/></a>";
    s2+="&nbsp;&nbsp;&nbsp;<a href=\"#\" onclick=\"image_browser_save(false);return false;\">Mentés másként</a>";
    s2+="<script type=\"text/javascript\">bindtooltip('ib_viewer_buttons');</script>";
    s2+="<br/>";
    //var h = $('#ib_viewer_buttons').html();
    $('#ib_viewer_buttons').html(s2);//betöltés

    //bindtooltip('ib_viewer');
    
  }
  $('#ib_viewer_info').html(data.info2);
}

/*
  mentés eredményének feldolgozása 
*/
function image_browser_save_process(data) {
  if (data.debug) alert(data.debug);
  if (data.errormsg) alert(data.errormsg);
  if (data.result) {
    if (!data.overwritten) {//nincs felülírás, utolsónak berakjuk, kiválasztjuk, megjelenítjük
      var last=imagebrowser.results.length;
      imagebrowser.results[last] = data.result;
      image_browser_viewer_show(last, true);
    } else {
      var curr = $('#ib_thumb_'+data.id0).attr('src');
      image_browser_viewer_show(imagebrowser.selected);
      $('#ib_thumb_'+data.id0).attr('src', curr+'?rnd='+Math.floor(Math.random()*1000));
      $('#ib_preview_img').attr('src', data.result.filename+'?rnd='+Math.floor(Math.random()*1000));
    }
  } else {
    alert('A képet nem sikerült elmenteni!');
    var curr2 = $('.ib_thumb.ib_selected').find('img').attr('src');
    curr2 = curr2.replace("_thumb.gif", ".jpg");
    $('#ib_preview_img').attr('src', curr2);
    //$('.jcrop-holder').find('img').attr('src', curr2);
    image_browser_manipulation_post('undo');//?????
  }
}

/*
  mentés (felülírás, vagy újként)
*/
function image_browser_save(overwrite) {
  //beküldünk egy postot. a választ másik függvényben feldolgozzuk, sikerült-e, stb.
  var data0 = {  
    //ezek az adatok a szerkesztett képnél érdekesek
    lepes:     imagebrowser.lepes,
    m_session: imagebrowser.m_session,
    filename:  imagebrowser.manipulated_filename,
    //most pedig az eredeti adatok
    from:      imagebrowser.results[imagebrowser.selected].from,
    id:        imagebrowser.results[imagebrowser.selected].id,
    id0:       imagebrowser.results[imagebrowser.selected].id0,
    overwrite: overwrite?1:0
  };

  $.post("upload.php?acmd=ib_save_as", data0, image_browser_save_process, 'json');
  
}

/*
  képszerkesztés ajax eredményének feldolgozása
  ha siker, akkor elmentjük lépésnek (visszavonáshoz)
*/
function image_browser_manipulation_process(data) {
  if (data.errormsg) alert(data.errormsg);
  if (data.m_session) imagebrowser.m_session=data.m_session;
  if (data.filename) {//érvényes filenev erkezett.
    //akkor lepes is
    //itt nem állítjuk be az id0-t, mert a kiválasztás gomb úgysem jelenik meg.
    imagebrowser.lepes=data.lepes;
    var data0 = new Object();
    var preload_img = new Image; preload_img.src=data.filename;
    data0.preload_img = preload_img;
    data0.filename = data.filename;
    if (preload_img.complete) image_browser_preview_img(data0); else {
      $(preload_img).unbind().bind('load', function() {
        image_browser_preview_img(data0);
      });
    }
    
  } else if (data.lepes == 0) {
    //nincs filenev, es 0. lepes. ez akkor van, ha a gyári képet töltjük be.
    image_browser_viewer_show(imagebrowser.selected);
  }
}

/*
  képszerkesztés parancsok. eredménye ajax hívással
*/
function image_browser_manipulation_post(command) {
  var data0 = new Object();
  switch (command) {
    case 'crop'://paramétere: x,y,w,h
      data0 = {
        x : $('#crop_x').val(),
        y : $('#crop_y').val(),
        w : $('#crop_w').val(),
        h : $('#crop_h').val()
      };
      break;
    case 'rotate_left':
      command = "rotate";
      data0 = {angle:-90};
      break;
    case 'rotate_right':
      command = "rotate";
      data0 = {angle:90};
      break;
    case 'resize':
      command = "resize";
      data0 = {
        w: $('#ib_resize_w').val(),
        h: $('#ib_resize_h').val()
      };
      break;
  }
  $.post('upload.php?acmd=ib_manipulation', $.extend({
    command:   command,
    filename:  imagebrowser.manipulated_filename,
    lepes:     imagebrowser.lepes,//nőhet, csökkenhet (undo)
    m_session: imagebrowser.m_session
  }, data0), image_browser_manipulation_process, 'json');

}

/*
  a reset csak a konkrét kivágást nullázza, a mód marad. (egyébként ilyen nincs jelenleg)
*/
function image_browser_manipulation_cancel_crop(reset) {
  if (imagebrowser.manipulation.mode != 'crop') return false;
  imagebrowser.jcropapi.animateTo([0, 0, 0, 0]);
  if (reset) return;//csak eddig
  imagebrowser.jcropapi.destroy();
  $('#ib_crop_block').hide();
  imagebrowser.manipulation.mode = null;
}

function debug(s) {
  if (!s) $('#dbg').val(''); else
    $('#dbg').val($('#dbg').val()+s);

  $('#dbg').show();
}
// 
/*
  kivágás módba váltás
*/
function image_browser_manipulation_mode_crop() {
  if (imagebrowser.manipulation.mode == 'crop') return;
  image_browser_manipulation_cancel_resize(true);//kivágás bezárása
  imagebrowser.jcropapi = $.Jcrop('#ib_preview_img', {
    onChange: function(c) {
      if (!c.w) c.w = '';
      if (!c.h) c.h = '';
      $('#crop_x').val(c.x);
      $('#crop_y').val(c.y);
      $('#crop_w').val(c.w);
      $('#crop_h').val(c.h);
      
      if (c.w && c.h) {
        $('#ib_save_button').hide();
      } else {
        $('#ib_save_button').show();
        imagebrowser.jcropapi.release();
      }
      
      
    },
    onSelect: function() {
      //alert('select');
    },
    trueSize: [imagebrowser.ow, imagebrowser.oh]//csak ha túl nagy a kép
  });
  
  $('#ib_crop_block').show();

  imagebrowser.manipulation.mode = 'crop';
}

/*
  a todefault akkor igaz, ha gombbal zártuk be a resizet (mégsem)
*/
function image_browser_manipulation_cancel_resize(nodefault) {
  if (imagebrowser.manipulation.mode != 'resize') return false;
  //töröljük az átméretezést, és visszaállítjuk az eredeti méretet.
  $('#ib_preview_img').resizable('destroy').css({width:imagebrowser.displayw,height:imagebrowser.displayh});
  imagebrowser.manipulation.mode = null;
  $('#ib_resize_block').hide();
  $('#ib_save_button').show();
//  if (!nodefault) image_browser_manipulation_mode_crop();//vissza cropra
}

/*
  átméretezés módba váltás
*/
function image_browser_manipulation_mode_resize() {
  if (imagebrowser.manipulation.mode == 'resize') return;
  image_browser_manipulation_cancel_crop();//kivágás bezárása

  $('#ib_preview_img').resizable({
    'ghost' : true,
    'animate' : true,
//     'handles' : 'nw, n, ne, e, s, se',
    'aspectRatio' : $('#ib_resize_aspect').attr('checked')?imagebrowser.manipulation.original_aspectratio:false,
    'resize': function(event, ui) {
      $('#ib_resize_w').val(parseInt(ui.size.width));
      $('#ib_resize_h').val(parseInt(ui.size.height));
      $('#ib_save_button').hide();
    }
  });
  $('#ib_resize_block').show();

  imagebrowser.manipulation.mode = 'resize';
}

function image_browser_resize_aspect_click() {
  var ch = $('#ib_resize_aspect').attr('checked');
  if (ch) $('#ib_resize_w').trigger('keyup');
  //ha arányos, akkor a mentett arány, különben nem arányos átméretezés.
  $('#ib_preview_img').resizable('option', 'aspectRatio', ch?imagebrowser.manipulation.original_aspectratio:false);
}

function image_browser_resize(w ,h) {
  var par = {};
  if ($('#ib_resize_aspect').attr('checked')) {
    if (h === null) {
      h = Math.round(parseInt(w) / imagebrowser.manipulation.original_aspectratio);
      $('#ib_resize_h').val(h);
    }
    if (w === null) {
      w = Math.round(parseInt(h) * imagebrowser.manipulation.original_aspectratio);
      $('#ib_resize_w').val(w);
    }
  }
  
  if (w!==null) par.width = w;
  if (h!==null) par.height = h;
  
  
  $('#ib_preview_img').resizable('destroy');
  $('#ib_preview_img').css(par);
  imagebrowser.manipulation.mode = "resize_rebind";
  image_browser_manipulation_mode_resize();
  $('#ib_save_button').hide();

}

/*
  kép előnézet megjelenítése, a megfelelő szerkesztő gombokkal együtt
*/
function image_browser_preview_img(data) {
  /*
    data:
      preload_img: egy img objektum, az eredeti méretek miatt
      filename: srcnak
      id0: a mostani listában lévő id. (imagebrowser.selected valójában)
  */
 
//  if (data.id0) data_original = data;

  var w, h;
  var size = "";
  if (data.preload_img.width>imagebrowser.pre_width) {
    size = " width=\""+imagebrowser.pre_width+"\"";//túl nagy, akkor kisebbet rakunk ki
  }
  
  imagebrowser.manipulated_filename = data.filename;
  if (typeof data.id0 != 'undefined') imagebrowser.data_original = data;//minden szerkesztés elején egy eredeti kép van. Azt megjegyezzük, hogy tudjuk saját-e, stb.

  //szerkesztés újraindítása, inicializálás
  imagebrowser.manipulation = {};
  
  s = "";
  s += "<div><img src=\"images/spacer.gif\" alt=\"\" height=\"8\"/></div>";
  s += "<img src=\""+data.filename+"\" alt=\"\""+size+" id=\"ib_preview_img\" title=\"Kiválasztáshoz kattintson a kép feletti gombra!\"/>";
  s += "<div><img src=\"images/spacer.gif\" alt=\"\" height=\"8\"/></div>";

  $('#ib_viewer_pre').html(s);

  imagebrowser.displayw = $('#ib_preview_img').width();//megjelenő méretek, ha nagyobb, mint ami kifér, akkor az, amekkora megjelenik.
  //TODO tesztelni, hogy nagy képre jó e?
  imagebrowser.displayh = $('#ib_preview_img').height();
  
  imagebrowser.ow = data.preload_img.width;
  imagebrowser.oh = data.preload_img.height;

  var s2 = "";
  if (imagebrowser.lepes > 0) {
    s2 += "<a href=\"#\" onclick=\"image_browser_manipulation_post('undo');return false;\">Visszavonás</a>&nbsp;&nbsp;&nbsp;";
    s2 += "<span id=\"ib_save_button\">";//el tudjuk tüntetni a folyamatban lévő műveleteknél
      if (imagebrowser.data_original.own) s2 += "<a href=\"#\" onclick=\"if (confirm('Felülírja a mostani képet?')) image_browser_save(true);return false;\"><img src=\"images/i18/i_ment.gif\" alt=\"Mentés\" title=\"Mentés\"/></a>&nbsp;&nbsp;&nbsp;";
      s2 += "<a href=\"#\" onclick=\"image_browser_save(false);return false;\">Mentés másként</a>";
    s2 += "</span>";
    s2 += "<br/>";
  }
  bindtooltip('ib_viewer_edit');
  var h = $('#ib_viewer_buttons').html();


  var s = '';
  s = '<input id=\"dbg\" value=\"\" type=\"text\" style=\"display:none\"/>';
  //művelet gombok
  if (data.own && imagebrowser.lepes == 0) s += "<a href=\"#\" alt=\"Törlés\" title=\"Törlés\" class=\"iblink\" onclick=\"if (confirm('Biztos?')) {image_browser_post({del:"+data.id+"});};return false;\">Törlés</a><br/>";

  s += "<a href=\"#\" onclick=\"image_browser_manipulation_post('rotate_left');return false;\">Forg. balra</a>&nbsp;&nbsp;&nbsp;";
  s += "<a href=\"#\" onclick=\"image_browser_manipulation_post('rotate_right');return false;\">Forg. jobbra</a>&nbsp;&nbsp;&nbsp;";
  s += "<a href=\"#\" onclick=\"image_browser_manipulation_mode_crop();return false;\">Kivágás mód &raquo;</a>&nbsp;&nbsp;&nbsp;";
  s += "<a href=\"#\" onclick=\"image_browser_manipulation_mode_resize();return false;\">Átméretezés mód &raquo;</a>&nbsp;&nbsp;&nbsp;";

  s += "<br/>";

  //kivágás blokk elrejtéséhez
  s += "<span id=\"ib_crop_block\" style=\"display:none\">";
    s += "Kijelölés mérete: ";
    s += "<input type=\"text\" id=\"crop_w\" value=\"\" style=\"width:40px;\" onkeyup=\"var dim = imagebrowser.jcropapi.tellSelect(); var w = parseInt(this.value); if (!w) return; imagebrowser.jcropapi.setSelect([dim.x, dim.y, dim.x + w, dim.y2 ]);\"/>&nbsp;x&nbsp;";
    s += "<input type=\"text\" id=\"crop_h\" value=\"\" style=\"width:40px;\" onkeyup=\"var dim = imagebrowser.jcropapi.tellSelect(); var h = parseInt(this.value); if (!h) return; imagebrowser.jcropapi.setSelect([dim.x, dim.y, dim.x2, dim.y + h ]);\"/>";
    s += "<input type=\"hidden\" id=\"crop_x\" value=\"\"/>";
    s += "<input type=\"hidden\" id=\"crop_y\" value=\"\"/>";
    s += " ";
    s += "<a href=\"#\" onclick=\"image_browser_manipulation_post('crop');return false;\">Kivágása</a>&nbsp;";
    s += "<a href=\"#\" onclick=\"image_browser_manipulation_cancel_crop();return false;\">Mégsem</a>";
  s += "</span>";

  //átméretezés blokk
  s += "<span id=\"ib_resize_block\" style=\"display:none\">";//kivágás blokk elrejtéséhez
    imagebrowser.manipulation.original_aspectratio = data.preload_img.width / data.preload_img.height;
    var onchange = " onkeyup=\"image_browser_resize(this.value, null);\"";
    s += "Új méret: ";
    s += "<input type=\"text\" id=\"ib_resize_w\" value=\"" + data.preload_img.width + "\" style=\"width:40px;\" title=\"eredeti: " + data.preload_img.width + "\"" + onchange + "/>&nbsp;";
    s += "<input type=\"checkbox\" id=\"ib_resize_aspect\" checked=\"checked\" title=\"méretarány megőrzése\" onclick=\"image_browser_resize_aspect_click()\"/>";
    s += "&nbsp;";
    var onchange = " onkeyup=\"image_browser_resize(null, this.value);\"";
    s += "<input type=\"text\" id=\"ib_resize_h\" value=\"" + data.preload_img.height + "\" style=\"width:40px;\" title=\"eredeti: " + data.preload_img.height + "\"" + onchange + "/>&nbsp;&nbsp;&nbsp;";
    s += "<a href=\"#\" onclick=\"image_browser_manipulation_post('resize');return false;\">Átméretezés</a>&nbsp;&nbsp;&nbsp;";

    s += "<a href=\"#\" onclick=\"image_browser_manipulation_cancel_resize();return false;\">Mégsem</a>";
  s += "</span>";
  
  $('#ib_viewer_edit').html(s2 + s);

  //bindtooltip('ib_viewer');

//  image_browser_manipulation_mode_crop();//crop a default mód

//  crop_imageWidth = $('#ib_preview_img').width();
}


function image_browser_load(id) {
  $(document).unbind("keydown");
  var ertek=imagebrowser.results[id].filename;
  if (imagebrowser.input_id) {
    $(imagebrowser.input_id).val(ertek);
    $(imagebrowser.input_id).focus();
  }
  if ($.isFunction(imagebrowser.callbackOnResult)) imagebrowser.callbackOnResult(ertek,id);
  image_browser_hide();
}

function image_browser_show_media(param) {
  var height=param.height;
  var width=param.width;
  var file=param.file;
  var pre=param.pre;
  var FU = {
    movie:"./book_object/object_media/mediaplayer2.swf",
    width:"100%",
    height:height,
    majorversion:"7",
    build:"0",
    bgcolor:"#ffffff",
    id:"player",
    flashvars:"file="+file+"&image="+pre+"&lightcolor=0x738fc4&backcolor=0x738fc4&frontcolor=0x8ca6d2&listovercolor=0xffffff&listbackcolor=0xbcc6e2&listfrontcolor=0x738fc4&listbacktextcolor=0x2b4678&listfronttextcolor=0xffffff&showfsbutton=false&shownavigation=true&overstretch=none&displayheight="+(height+20)+"&enablejs=true"
  };
  UFO.create(FU,"ib_viewer");
}

//debughoz
function pr_object(m) {
  var s = '';
  if (typeof m != 'object') s += m; else {
    for (i in m) {
      s += i + ': ' + m[i] + "\n";
    }
  }
  return s;
}

