/* Sicz-Mesziár János */
Csuuzly = {  
  Load : function(){                    
          $(document).ready(function(){            
            // Search init
            PreSearch.Load();            
            // Bookmark fade
            $("#bookmarks").fadeTo(1, 0.5);
            $("#bookmarks").hover(
              function(){$("#bookmarks").fadeTo(100, 1);},
              function(){$("#bookmarks").fadeTo(100, 0.4);}
            );            
            // Addfav
            $("#addFav").attr('href',location.href);
            $("#addFav").jFav();            
            // SendMail
            $("#sendmail").click(function(){              
              if($("#sendmailbox").text()==""){                
                $.post("/ajax.mail.php", {method:"load"}, 
                  function(d){
                    $("#sendmailbox").html(d);
                    $("#sendmailbox form div span").text(decodeURIComponent(location.href));
                  }, "xhtml");                  
              }             
              $("#sendmailbox").slideDown("slow");
            });
          });          
        },     
  timeMessageBox : null,
  Message   : function(title, text, autohide_time){                
                $("#messagebox h2").text(title);
                $("#messagebox p").html(text);                
                $("#messagebox").show();
                if(autohide_time!=null){      
                  if(this.timeMessageBox!=null) clearTimeout(this.timeMessageBox);            
                  this.timeMessageBox = setTimeout('$("#messagebox").hide(\'slow\');', autohide_time);
                }                
             },
  hideMessage : function(){ $("#messagebox").hide(); },
  addProvider : function(url, ico, name){  
                  if (window.external && ("AddSearchProvider" in window.external)){ // Firefox 2 and IE 7, OpenSearch
                   window.external.AddSearchProvider(url);
                  } else if (window.sidebar && ("addSearchEngine" in window.sidebar)){ // Firefox <= 1.5, Sherlock
                   window.sidebar.addSearchEngine(url, ico, name, "");
                  }else{ // No search engine support (IE 6, Opera, etc).
                   alert("Úgy tünik, hogy a böngésződ nem támogatja ezt a funkciót.\nPróbáld meg a böngésződből hozzáadni (jobb felső sarok).");
                  }
                },
  sendMail    : function(){
                  var from = $("#sendmailbox form input[name=from]").val();
                  var to = $("#sendmailbox form input[name=to]").val();
                  var to_mail = $("#sendmailbox form input[name=to_mail]").val();
                  var captcha = $("#sendmailbox form input[name=captcha]").val();
                  if((from!='') & (to!='') & (to_mail!='')){
                    $.post("/ajax.mail.php", {method:"send", from:from, to:to, to_mail:to_mail, url:decodeURIComponent(location.href), captcha:captcha}, 
                    function(d){
                      if(d.OK){
                        Csuuzly.Message('Linkajánlás', 'Levél elküldve.', 3000);
                        $("#sendmailbox").slideUp();
                        $("#sendmailbox form").clearForm();
                        var src = $("#sendmailbox form div img").attr('src');
                        $("#sendmailbox form div img").attr('src', '');
                        $("#sendmailbox form div img").attr('src', src + '&' + Math.floor(Math.random()*11));
                      }else{ Csuuzly.Message('Linkajánlás', d.ErrorMessage, 5000); }
                    }, "json");
                  }else{ Csuuzly.Message('Hiányzó adatok', 'Nem töltöttél ki minden adatot!', 3000); }
                },
  addSearchEngines : function(pTracker)
                     {
                        var search_engines = {
                          "ok.hu":"q",                          
                          "tango.hu":"q",                          
                          "csuuzly.com":"cs",                          
                          "upclive.hu":"q1",                          
                          "polymeta.hu":"q",
                          "johu.hu":"q",
                          "google.hu":"q",                          
                          "google.com":"q",                          
                          "google.ro":"q",
                          "google.sk":"q",
                          "images.google.hu":"q",                                                    
                          "images.google.com":"q",                          
                          "images.google.ro":"q",
                          "images.google.sk":"q", 
                          "bing.com":"q",                          
                          "nigma.ru":"q",
                          "crawler.com":"q",                          
                          "avantfind.com":"keywords",
                          "guide.opendns.com":"q",  
                          "search.winamp.com":"query",
                          "search.mywebsearch.com":"searchfor",
                          "mysearch.com":"searchfor",
                          "europe.realsearch.real.com":"query",                          
                          "abcsok.no":"q",                          
                          "tattoodle.com":"q"
                          };                      
                        if(typeof pTracker == "undefined")
                        {
                          return false;
                        }else{
                          for(var engine in search_engines){
                            pTracker._addOrganic(engine,search_engines[engine]);
                          }                          
                        }
                     },                
  trnsImage : "<img src=\"/pics/trns.gif\" />",
  waitImage : "<img src=\"/pics/anim/load.gif\">",
  voteText  : [
              "Inkább hagyjuk",
              "Volt már jobb is",
              "Tűrhető",
              "Egész jó",
              "Soha jobbat"
              ]  
}

PreSearch = {
  adult_cookie_option : {path: '/', expires: 10},    
  Load  : function(){
            if($("#search_form").length > 0){ //search form
              $("#search_form form").submit(this.checkSearch);                             
              this.autoFillInit(); // autocomplete
              this.funcsInit();
            }
          },
  funcsInit : function(){                
                $("#funcs a").hover(
                  function(){$(this).parent().find(".i:eq(0)").html($(this).attr('title'));}, 
                  function(){$(this).parent().find(".i:eq(0)").html('');}
                );
              },
  autoFillInit   : function(){
                      $("#search_form form input[name=cs]").autocomplete("/ajax.autocomplete-backend.php", { minChars:2, autoFill:true, delay:250, cacheLength:100, onItemSelect:PreSearch.autoFillSearch, selectOnly:1, maxItemsToShow:10});
                    },
  autoFillSearch : function(li){
                     if(li.extra){
                      $("#search_form form input[name=cs]").val($(li).text());
                      document.getElementById('search_form').getElementsByTagName('FORM')[0].submit();
                     }                      
                   },
  checkSearch : function(){
                  var terms = jQuery.trim($("#search_form form input[name=cs]").val());
                  if(terms.length==0) return false;
                  if(terms.length<2){
                    Csuuzly.Message('Keresés...', 'Legalább 2 karakteres kifejezést adj meg!', 2500);
                    return false;
                  }
                  $("#search_form form input[name=cs]").val(terms);                  
                },
  switchEngine : function(i,o){
                  if((jQuery.trim($("#search_form form input[name=cs]").val()) != "") | o)
                  {
                    $("#sc a").removeClass("sel");
                    $("#sc a:eq("+String(i)+")").addClass("sel");
                    var ac = $("#sc a:eq("+String(i)+")").attr('rel');
                    $("#search_form form").attr('action', "/"+ac);
                    if($("#logo").length>0) $("#logo h1").html(this.getServiceName(ac.replace(/search/, "")));                  
                    this.focus();
                    return false;
                  }
                 },                 
  focus : function(){ $("#search_form form input[name=cs]").each(function(){this.focus()}); },
  lastSearchHash : "",
  lastSearchCount: 10,
  lastSearchTarget : "",  
  loadLastSearch : function(target){
                      if(target!=null) this.lastSearchTarget = target;                                          
                      $.post("/ajax.trend.php", {method : 'lastsearch', target:this.lastSearchTarget, count:this.lastSearchCount}, 
                      function(d){
                        if(PreSearch.lastSearchHash!=d.hash){                                                
                          if(d.list.length>0){
                            PreSearch.lastSearchHash = d.hash;                        
                            var add = "";
                            for(i=0; i<d.list.length; i++){
                              add += '<div class="i"><div class="d">' + d.list[i].date + '</div><div class="t"><a href="'+d.list[i].url+'">' + d.list[i].terms + '</a></div></div>';
                            }
                            $("#lastsearch").html('<div class="title">Utoljára keresték:</div>' + add + ((PreSearch.lastSearchCount < 20)?'<div><a href="#" onclick="return PreSearch.moreLastSearch()">+ még több</a></div>':''));                                                        
                          }                          
                        }
                        setTimeout('PreSearch.loadLastSearch();', 5500);                        
                      }, "json");                    
                  },                  
  moreLastSearch: function(){this.lastSearchCount = 20;this.loadLastSearch();return false;},
  lightColors : ["#0099ff", "#990000", "#ff9900", "#00cc00", "#cccc00", "#99ffff", "#ccff33"],
  highlightText : function(text)  
                  {                            
                    var words = text.split(' ');                            
                    for(i = 0; i < words.length; i++){
                      if(words[i].length>1){
                        var _words = words[i].replace(/-/g," ").split(':');
                        for(j = 0; j < _words.length; j++)
                          $("#info_box div b:first, #results .item .l a[rel], #results .item .m").highlight(_words[j], PreSearch.lightColors[i]);
                      }
                    }                    
                  },
  showAdult : function(b)
              {
                if(!b){
                  Csuuzly.Message('Rejtett tartalom feloldása', 
                                  'Figyelem! A felnőtt tartalom feloldása 18 éven aluliak számára nem ajánlott! <br />'+ 
                                  'Folytatod? <br />'+
                                  '<br />'+
                                  '<input type="button" value="Igen" onclick="PreSearch.showAdult(true)" /> <input type="button" value="Nem" onclick="Csuuzly.hideMessage();" />');
                }else{
                  $.cookie('adult', 1, this.adult_cookie_option);
                  location.reload(0);
                }
                return false;
                
              },
  hideAdult:  function(b){if(b){$.cookie('adult', 0, this.adult_cookie_option);location.reload(0);}return false;},
  searchMessage : function(h){if(h.length>0)$("#funcs").after('<div class="search_message">'+h+'</div>');},
  getServiceName : function(name){return PreSearch.Services[name];},  
  Services : {
              ""      : "Audió kereső",
              "video" : "Videókereső"
             }
}

Tools = {
  urlToObject : function(s){ var o = {}; var p = s.split('&'); for(var i in p){ var v = p[i].split('='); o[v[0]] = v[1]; } return o; }
}

Assesment = {
  target : "",  
  cookie_option : { path: '/', expires: 1 },
  cookie_name : "",  
  abs  : new Array(),    
  init : function(target){
            // init
            this.target = target;
            this.cookie_name = 'assesment_abs_'+this.target;
            this.abs = ($.cookie(Assesment.cookie_name) != null) ? String($.cookie(Assesment.cookie_name)).split(',') : new Array();
            // Szavazó            
            $("#results .item .t").each(function(){
              var id = $(this).parent().attr('id').replace(/i/,"");                                                        
              if(jQuery.inArray(id, Assesment.abs)==-1){
                $(this).prepend('<div class="tb">Értékeld:<br /><img src="/pics/trns.gif" class="v1" /><img src="/pics/trns.gif" class="v2" /><img src="/pics/trns.gif" class="v3" /><img src="/pics/trns.gif" class="v4" /><img src="/pics/trns.gif" class="v5" /><br /><span></span></div>');
                $('.tb img', this).each(function(){                                
                  $(this).hover(
                    function(){ $(this).parent().find('span').text(Csuuzly.voteText[parseInt(this.className.replace(/v/,""))-1]); },
                    function(){ $(this).parent().find('span').text('');}                  
                  );
                  $(this).click(function(){                    
                    var vote  = this.className.replace(/v/,"");      
                    $.post("/ajax.assesment.php", {method:"vote", id:id, val:vote, target:Assesment.target}, 
                      function(d){ 
                        if(d.OK){
                          $("#i" + String(d.id) + " .t .vn").html(d.vote + " " + Csuuzly.trnsImage);
                          $("#i" + String(d.id) + " .t .tb").html('Erre már adtál le szavatatot.');                      
                          Assesment.abs[Assesment.abs.length] = d.id;
                          $.cookie(Assesment.cookie_name, Assesment.abs.join(','), Assesment.cookie_option);                      
                        }else{ Csuuzly.Message('Szavazás', d.ErrorMessage, 4000); }                    
                      }, "json");//
                  });
                });
              }else{
                $(this).prepend('<div class="tb">Erre már adtál le szavazatot.</div>');
              }
              if($('.vn', this).length > 0){
                $(this).hover(            
                  function(){ $(".tb", this).show(); $(this).addClass('t_hover'); },
                  function(){ $(".tb", this).hide(); $(this).removeClass('t_hover'); }
                );
              }  
            });
            
            // Eszközök
            $("#results .item").each(function(){
              var id = $(this).attr('id').replace(/i/,"");
              // Eszközök: hibás link, nem találom
              $(".d .url small", this).html(' - <a href="javascript:/*/ Nem találtam meg! /*/;" onclick="Assesment.BadLink(' + id + ')">Nem találom</a>');                            
              $(this).hover(
                function(){ $(".d .url small", this).show(); },
                function(){ $(".d .url small", this).hide(); }
              );              
              // click
              $(".d .l a", this).each(function(){
                $(this).mousedown(function(){$.post("/ajax.assesment.php", {method:"click",id:id,target:Assesment.target},function(){}, "json");});                
              });
            });
          },
  BadLink : function(id){
              $.post("/ajax.assesment.php", {method:"badlink", id:id, target:Assesment.target}, 
              function(d){
                if(d.OK) Csuuzly.Message('Hibás link', 'Visszajelzésedet a hibás linkről elfogadtuk.<br>Hamarosan ellenőrizzük.', 5000);
                else     Csuuzly.Message('Hibás link', 'Visszajelzés elutasítva.', 4000);                
              }, "json");
            }
}

Csuuzly.Load();