var current_site = '';
var search_panel_height;
var isFirstLoad=false;
var allPluginsOpened = false;
 
var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
            || this.searchVersion(navigator.appVersion)
            || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)    {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
        {     string: navigator.userAgent,
            subString: "OmniWeb",
            versionSearch: "OmniWeb/",
            identity: "OmniWeb"
        },
        {
            string: navigator.vendor,
            subString: "Apple",
            identity: "Safari"
        },
        {
            prop: window.opera,
            identity: "Opera"
        },
        {
            string: navigator.vendor,
            subString: "iCab",
            identity: "iCab"
        },
        {
            string: navigator.vendor,
            subString: "KDE",
            identity: "Konqueror"
        },
        {
            string: navigator.userAgent,
            subString: "Firefox",
            identity: "Firefox"
        },
        {
            string: navigator.vendor,
            subString: "Camino",
            identity: "Camino"
        },
        {        // for newer Netscapes (6+)
            string: navigator.userAgent,
            subString: "Netscape",
            identity: "Netscape"
        },
        {
            string: navigator.userAgent,
            subString: "MSIE",
            identity: "Explorer",
            versionSearch: "MSIE"
        },
        {
            string: navigator.userAgent,
            subString: "Gecko",
            identity: "Mozilla",
            versionSearch: "rv"
        },
        {         // for older Netscapes (4-)
            string: navigator.userAgent,
            subString: "Mozilla",
            identity: "Netscape",
            versionSearch: "Mozilla"
        }
    ],
    dataOS : [
        {
            string: navigator.platform,
            subString: "Win",
            identity: "Windows"
        },
        {
            string: navigator.platform,
            subString: "Mac",
            identity: "Mac"
        },
        {
            string: navigator.platform,
            subString: "Linux",
            identity: "Linux"
        }
    ]

};
BrowserDetect.init();

$(document).ready(function(){
    window.onresize = resize_frame;
    // fix the png problem in ie6 & setting search minimized panel opacity to 90%
   if (jQuery.browser.version=='6.0') $('img[@src$=.png]').ifixpng();

   // setting max height to search pannel
   search_panel_height = $(document).height() - 80;
   
   // open search panel with default easying
   jQuery.easing.def = "jswing";
   maximize_search('first_time');
   
   // define maximize panel button click + hover
   $("#search_minimized").click(function () {
      $(this).animate({
      top:'-37px'}, 500, 'easeInBack',function(){
        maximize_search();
      });
   }); 
   $("#search_minimized").hover(
      function () {
        $(this).addClass("hand");
      },
      function () {
        $(this).removeClass("hand");
      }
    );
    
    //load vars
    load_site(active,query1,query2,query3,query4,query5,query6,query7,query8,query9,string);
    $("#iframe").blur();
    $("#search_pannel").focus();
	
});

function minimize_search()
{
  $("#iframe").animate({marginTop:"0px"},500,'easeInBack',function(){
        // set iframe new height to 100%
        $("#main_frame").css({ height: search_panel_height+80 });
    });
  // hide search panel
  $("#search_pannel").css({ top: "-200px" });
}

function maximize_search(first_time)
{
  // unhide search panel
  $("#search_pannel").css({ top: "0px" });
  
  $("#iframe").animate({marginTop:"80px"},1000,'easeOutQuint',
    // set new height to iframe
    function(){
        $("#main_frame").css({ height: search_panel_height });
    });
  if (first_time != 'first_time') flashProxy.call('open_panel');
}

function minimizeSearchPanel()
{
   
   if (allPluginsOpened)
    {
        $("#div_all_plugins").animate({top:'-500px'}, {duration: 500, easing: 'jswing'})
        allPluginsOpened = false;
    }
    minimize_search();
   $("#search_minimized").show();
   $("#search_minimized").animate({top:'-3px'}, {duration: 1000, easing: 'jswing'})
}

function closeSearchPanel()
{
   minimize_search();
   window.location = current_site;
}

function load_google(query)
{
	var google_search_url="http://www.google.com/custom?hl=en&client=pub-5464551858753312&channel=8071207694&cof=FORID%3A1%3BAH%3Aleft%3BS%3Ahttp%3A%2F%2Fwww.google.com%3BCX%3AGoogle%3BL%3Ahttp%3A%2F%2Fjoongel.com%2Fimages%2FGoogle_Logo.gif%3BLH%3A39%3BLP%3A1%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3B&adkw=AELymgVVjh1b-SHhYs8R4p6Qhov16k9NVs6XcHq0s4lKErIgAVE3vVMTPzC7hM7QQ3XrEL4tagX6kfTmb2xWIiQ4JktRUZAaZAkxQC36RGFimIOsVUYaDW8&ie=ISO-8859-1&oe=ISO-8859-1&q=AAAA&btnG=Search&cx=%21partner-pub-5464551858753312%3A19oevc5of6m";
	google_search_url = google_search_url.replace(/aaaa/gi, query);
	$("#iframe").html('<iframe src="'+google_search_url+'" border="0" frameborder="0" width="100%" align="right" id="main_frame"></iframe>');
	current_site = google_search_url;
	search_panel_height = $(document).height() - 80;
    $("#main_frame").css({ height: search_panel_height });
}

function load_site(Index,query1,query2,query3,query4,query5,query6,query7,query8,query9,string)
{
    // check if textbox string is null
    if (query1.length==0 && string==1) string=0;
    
    // load correct string array
    var site_var = "site"+Index+"["+string+"]";
    var site_new_str = eval(site_var);  
    try
    {
        var site_isNW = eval("site"+Index+"_isNW");
    }
    catch (e) 
    {
        var site_isNW = 0;
     }
    // replacing query at the right spot
    site_new_str = site_new_str.replace(/aaaa/gi, query1);
    site_new_str = site_new_str.replace(/bbbb/gi, query2);
    site_new_str = site_new_str.replace(/cccc/gi, query3);
    site_new_str = site_new_str.replace(/dddd/gi, query4);
    site_new_str = site_new_str.replace(/eeee/gi, query5);
    site_new_str = site_new_str.replace(/ffff/gi, query6);
    site_new_str = site_new_str.replace(/gggg/gi, query7);
    site_new_str = site_new_str.replace(/hhhh/gi, query8);
    site_new_str = site_new_str.replace(/iiii/gi, query9);
    
    //statistics handling
    clicky.log('#site_click','Category ID:'+cat_id+', Site:'+Index+', Query:'+query1);
    pageTracker._trackPageview("/search.php?cat_id="+cat_id+"&query1="+query1);
    
    //openes in a new window ?
    
    if (site_isNW==0)
    {
         // changing IFRAME source
        $("#iframe").html('<iframe src="'+site_new_str+'" border="0" frameborder="0" width="100%" align="right" id="main_frame"></iframe>');
    }
    else
    {
        // changing IFRAME source
        $("#iframe").html('<iframe src="include/nw.htm" border="0" frameborder="0" width="100%" align="right" id="main_frame"></iframe>');
       // open a new window with url
       window.open(site_new_str);
    }
    // setting max height to search pannel (not on first load)
    if (!isFirstLoad)
    {
        search_panel_height = $(document).height() - 80;
        $("#main_frame").css({ height: search_panel_height });
    }
    else isFirstLoad = true;
    
    //updating current url
    current_site = site_new_str;
}

function resize_frame()
{
    search_panel_height = $(document).height() - 80;
    $("#main_frame").css({ height: search_panel_height });
}

function trace(txt)
{
    alert (txt);
}

function flashurlencode(str) {
    str = str.replace(/"/g,'%22');
    return str;
}

function flash_com()
{
    window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_images.xml');
}

function install_plugin(i)
{
    
    if (BrowserDetect.browser =='Firefox' && BrowserDetect.version >= 2)
        {  
            try
            {
               switch (i)
               {
                    case 4:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_news.xml');  
                        break;
                    case 6:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_finance.xml');  
                        break;
                    case 11:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_reference.xml');  
                        break;
                    case 12:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_dictionary.xml');  
                        break;
                    case 13:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_videopedia.xml');  
                        break;
                    case 14:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_images.xml');  
                        break;
                    case 15:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_videos.xml');  
                        break;
                    case 17:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_blogs.xml');  
                        break;
                    case 19:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/þþopensearch_game_reviews.xml');  
                        break;
                    case 20:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_movies.xml');  
                        break;
                    case 21:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_music.xml');  
                        break;
                    case 22:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_tv.xml');  
                        break;
                    case 28:       
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_gossip.xml');  
                        break;
                    case 32:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_shopping.xml');  
                        break;
                    case 35:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_torrentz.xml');  
                        break;
                    case 37:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_cooking.xml');  
                        break;
                    case 38:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_health.xml');  
                        break;
                    case 39:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_coupons.xml');  
                        break;
                    case 48:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_property.xml');  
                        break;
                    case 52:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_stores.xml');  
                        break;
                    case 56:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/þþopensearch_books.xml');  
                        break;
                    case 58:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_newspapers.xml');  
                        break;
                    case 60:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_qna.xml');  
                        break;
                    case 64:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_social.xml');  
                        break;
                    case 65:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_cooking_videos.xml');  
                        break;
                    case 67:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_analytics.xml');  
                        break;
                    case 75:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_pregnancy.xml');  
                        break;
                    case 77:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_thesaurus.xml');  
                        break;
                    case 80:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_Stock.xml');  
                        break;
                    case 81:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_Ccommons.xml');  
                        break;
                    case 82:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_music.xml');  
                        break;
                    case 83:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_lyrics.xml');  
                        break;
                    case 84:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_trailers.xml');  
                        break;
                    case 85:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/opensearch_drugs.xml');  
                        break;
                    case 86:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/þþopensearch_product_reviews.xml');  
                        break;
                    case 87:
                        window.external.AddSearchProvider('http://www.joongel.com/include/xml/þþopensearch_software.xml');  
                        break;
               }
            }
            catch(eX)
            {
            }
           
           //statistics handling
            clicky.log('#plugin_install','Category ID:'+cat_id);
            pageTracker._trackPageview("/search.php?query1=plugin_installed_"+cat_id);
        }
    else
    {
        window.location = 'plugins.php';
    }
}

function more_plugins()
{
    if (allPluginsOpened)
    {
        $("#div_all_plugins").animate({top:'-500px'}, {duration: 500, easing: 'jswing'})
        allPluginsOpened = false;
    }
    else
    {
        $("#div_all_plugins").animate({top:'75px'}, {duration: 500, easing: 'jswing'})
        allPluginsOpened = true;
    } 
}

function goto_plugin(i)
{
    flashProxy.call('goto_plugin',i);
}

function close_all_plugin_panel()
{
   if (allPluginsOpened)
    {
        $("#div_all_plugins").animate({top:'-500px'}, {duration: 500, easing: 'jswing'})
        allPluginsOpened = false;
    } 
}

function modify_search()
{
    switch (cat_id)
    {
        case 30:
            var trip_tmp = "&trip=one_way";
            if (query7!="")
            {
                trip_tmp = "&returnyear="+query8+"&returnmonth="+query7+"&returnday="+query9+"&trip=round";
            }
            location.href = "http://qa.joongel.com/niches/travel/index.php?travelers="+query1+"&fromcode="+query2+"&tocode="+query3+"&departyear="+query5+"&departmonth="+query4+"&departday="+query6+trip_tmp;
            break;
        case 53:
            location.href = "http://qa.joongel.com/niches/travel/travel_hotels.php?city="+query1+"&guests="+query2+"&rooms="+query3+"&departyear="+query5+"&departmonth="+query4+"&departday="+query6
                        +"&returnyear="+query8+"&returnmonth="+query7+"&returnday="+query9;
            break;
        case 47:
            location.href = "http://qa.joongel.com/niches/travel/travel_carrentals.php?city="+query1+"&departyear="+query3+"&departmonth="+query2+"&departday="+query4+"&pickup="+query5
                        +"&returnyear="+query7+"&returnmonth="+query6+"&returnday="+query8+"&dropoff="+query9;
            break;
    }
}

function flash_focus()
{
    $("#iframe").blur();
    $("#search_pannel").focus();
    if (BrowserDetect.browser =='Explorer') flashProxy.call('textbox_focus');
}