var url_prefix = "";
$jq(document).ready(function(){
  $jq(".searchresultitem").hover(function(event){
    $jq(this).addClass("searchresultitem_hovered");
    var id = $jq(this).attr("id");
    id = id.substring(id.indexOf('_')+1);
    var moreinfo = $jq("#moreinfo_"+id);
    var pos = $jq(".titlebar", this).position();
    moreinfo.css("top", pos.top-4);
    moreinfo.css("left", pos.left + 200);
    moreinfo.show();
  }, function(){
    var id = $jq(this).attr("id");
    id = id.substring(id.indexOf('_')+1);
    var moreinfo = $jq("#moreinfo_"+id);
    moreinfo.hide();
    $jq(this).removeClass("searchresultitem_hovered");
  });
  
  $jq(".searchresultitem .menu a").click(function(event){
    if (!$jq(this).hasClass("btn_www")) {
        $jq(this).parents(".searchresultitem .menu").trigger('click');
        event.preventDefault();
    }
  });
  $jq(".searchresultitem .menu").click(function(event){
    toggleMenuButton($jq(this));
  });
  
  $jq(".btn_www").click(function(event){
  });
  $jq(".btn_map").click(function(event){
    var parent = $jq(this).parents("div.searchresultitem");
    var parentid = parent.attr('id');
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_email").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    toggleTab(parentid, 'email');
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_financialinfo").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    toggleTab(parentid, 'financial_info');
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_infopage").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    toggleInfopage(parentid);
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_certificates").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    toggleCertificates(parentid);
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_delfi").click(function(event) {
    location.href = $jq(this).attr("href");
  });
  $jq(".showmap").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    var btn = $jq("#"+parentid+" .btn_map").parents(".menu");
    toggleMenuButton(btn);
  });
  $jq(".btn_skype").click(function(event){
    var parentid = $jq(this).parents("div.searchresultitem").attr('id');
    toggleTab(parentid, 'skype');
    event.preventDefault();
    event.stopPropagation();
  });
  $jq(".btn_video").click(function(event) {
    location.href = $jq(this).attr("href");
  });
  $jq(".btn_partner").click(function(event) {
    location.href = $jq(this).attr("href");
  });
  
  // email sending
  $jq(".sendemail_btn_send").click(function(event){
    // collect data
    var container = $jq(this).parents("div.email");
    var from_name = $jq(".sendemail_name", container).val();
    var from_email = $jq(".sendemail_email", container).val();
    var text = $jq(".sendemail_text", container).val();
    var adv_code = $jq(".sendemail_adv_code", container).val();
    var captcha = $jq(".sendemail_captcha", container).val();
    $jq(this).hide();
    $jq(".sendemail_loading", container).show();
    jQuery.post(
      'imones/ajaxsiusti/' + adv_code, 
      {
        name_from:from_name,
        email_from:from_email,
        text:text,
        captcha:captcha
      }, 
      function(data) { 
        // process response
        var data_exploded = data.split(":::");
        
        var type = data_exploded[0];
        var msg = data_exploded[1];
        if (type == 'success') {
          container.html(msg);
          // reload all captcha images
          $jq(".sendemail_captcha_img").attr("src", $jq(".sendemail_captcha_img").attr("src")+"1");
        } else {
          $jq(".error", container).html(msg);
        }
        $jq(".sendemail_loading", container).hide();
        $jq(".sendemail_btn_send", container).show();
      }
    ) 
  });
});

var blocks_open = new Array();
var tabs_selected = new Array();
function toggleMenuButton(obj)
{
  var sel = obj.find('a').attr('class');
  var parent = obj.parents(".searchresultitem");
  var parent_id = parent.attr('id');
  var adv_code = parent_id.substr(parent_id.search('_')+1);
  
  $jq('.menu', parent).removeClass('menuitem_selected');
  if (tabs_selected[adv_code] == sel) {
    tabs_selected[adv_code] = false;
  } else {
    obj.toggleClass('menuitem_selected');
    if (obj.hasClass('menuitem_selected')) {
      tabs_selected[adv_code] = sel;
    } else {
      tabs_selected[adv_code] = false;
    }
  }
  $jq("a", obj).blur();
}

function resetTabs(adv_code)
{
  // unselect selected tabs
  if (tabs_selected[adv_code]) {
    $jq("#infopage_"+adv_code+" .menu ."+tabs_selected[adv_code]).parent().trigger('click');
  }
}
function resetInfopage(adv_code)
{
  var id = 'infopage_' + adv_code;
  if (blocks_open[adv_code] == 'infopage') {
    $jq("#"+id+" .moreinfo .more").show();
    $jq("#"+id+" .moreinfo .less").hide();
  }
}

var showninfopages = new Array();
function toggleInfopage(id)
{
  var adv_code = id.substr(id.search('_')+1);
  if (!adv_code || !adv_code.length) {
    return false;
  }
  resetTabs(adv_code);
  if (typeof(showninfopages[id])=="undefined") {
    // load infopage
    jQuery.ajax({
  			method: "get",url: url_prefix + "imones/ajaxinfo/"+adv_code,data: "page=1",
  			beforeSend: function(){
          $jq("#"+id+" .loading").show();
        },
  			complete: function(){ 
          $jq("#"+id+" .loading").hide(); 
        },
  			success: function(html) {
  		    $jq("#"+id+" .infopage").html(html);
        }
    });
    showninfopages[id] = true;
  }
  
  if (blocks_open[adv_code] == 'infopage') {
    $jq("#"+id+" .moreinfo .more").show();
    $jq("#"+id+" .moreinfo .less").hide();
    showDefaultTab(adv_code);
  } else {
    toggleTab(id, 'infopage');
    $jq("#"+id+" .moreinfo .more").hide();
    $jq("#"+id+" .moreinfo .less").show();
  }
}

function showTab(id, tabclass) {
  var adv_code = id.substr(id.search('_')+1);
  if (!adv_code || !adv_code.length) {
    return false;
  }
  resetInfopage(adv_code);
  $jq("#"+id+" .info div").each(function(i) {
      if (!$jq(this).hasClass("loading") && !$jq(this).hasClass(tabclass)) {
          $jq(this).hide();
      }
  });
  if (blocks_open[adv_code] != tabclass) {
    $jq("#"+id+" ."+tabclass).show();
    blocks_open[adv_code] = tabclass;
  }
}

var shownmaps = new Array();
function toggleMap(id, latitude, longitude, legend)
{
  var adv_code = id.substr(id.search('_')+1);
  if (!adv_code || !adv_code.length) {
    return false;
  }
  resetInfopage(adv_code);
  
  var mapdiv = $jq("#"+id);
  
  if (typeof(shownmaps[id])=="undefined") {
    // initialize map
    if (GBrowserIsCompatible()) {
      $jq("#"+id).show();
      var map = new GMap2(document.getElementById(id));
      map.addControl(new GLargeMapControl());
      zoom = 16;
      map.setCenter(new GLatLng(latitude, longitude), zoom);
      marker_point = new GPoint(longitude, latitude);
      map_marker = new GMarker(marker_point);
      map.addOverlay(map_marker);
      map_marker.openInfoWindowHtml(legend);
    }
    shownmaps[id] = true;
  }
  
  if (blocks_open[adv_code] == 'quickmap') {
    // hide map
    showDefaultTab(adv_code);
  } else {
    hideAllTabs(adv_code);
    // show map
    $jq("#"+id).show("fast");
    blocks_open[adv_code] = "quickmap";
  }
}
var showncertificates = new Array();
function toggleCertificates(id)
{
  var adv_code = id.substr(id.search('_')+1);
  if (!adv_code || !adv_code.length) {
    return false;
  }
  
  if (typeof(showncertificates[id])=="undefined") {
    // load thumb images
    $jq("#"+id+" .certificates a").each(function(i) {
      var thumb = $jq(this).html();
      var html = "<img src=\"cimg/ban/"+thumb+"\" border=\"0\" />";
      $jq(this).html(html);
    });
    
    showncertificates[id] = true;
  }
  
  if (blocks_open[adv_code] == 'certificates') {
    // hide infopage
    showDefaultTab(adv_code);
  } else {
    hideAllTabs(adv_code);
    // display infopage 
    $jq("#"+id+" .certificates").show();
    blocks_open[adv_code] = "certificates";
    Lightbox.prototype.updateImageList();
  }
}

function toggleTab(id, tabclass)
{
  var adv_code = id.substr(id.search('_')+1);
  if (!adv_code || !adv_code.length) {
    return false;
  }
  hideAllTabs(adv_code);
  resetInfopage(adv_code);
  if (blocks_open[adv_code] == tabclass) {
    showDefaultTab(adv_code);
  } else {
    $jq("#infopage_" + adv_code + " ." + tabclass).show("fast");
    blocks_open[adv_code] = tabclass;
  } 
}
function hideAllTabs(adv_code)
{
  $jq("#infopage_" + adv_code + " div.info > div").hide();
}
function showDefaultTab(adv_code)
{
  hideAllTabs(adv_code);
  blocks_open[adv_code] = "summary";
  $jq("#infopage_" + adv_code + " .summary").show();
}
function setUrlPrefix(str)
{
  url_prefix = str;
}