/**
 * @author Bog Imp
 */
var bk_w = 1000;
var bk_h = 800;
var bk_selected;
var bk_obj;
var bk_selection;

function on_bk_select(img, selection){
    if (!selection.width || !selection.height) {
        bk_selected = false;
        $(".btnbkmrk").css("display", "none")
        return;
    }
    
    $(".btnbkmrk").css("display", "")
    
    bk_selected = true;
    
    bk_selection = selection;
}

function sp_mousewheel_bkmrk(){
    var cim = $('.prw');
    var im = $('.mwh');
    var hr = im.parent().attr("href");
    var pp = im.parent().parent();
    var txt = $('h3.r', pp).text();
    var desc = $('div.s', pp).text();
    var vurl = $('cite', cim.parent().parent()).html()
    //
    var im = $('.mwh');
    var hr = im.parent().attr("href");
    var pp = im.parent().parent();
    //
    var sX = cim.width() / bk_w
    var sY = cim.height() / bk_h
    //
    var url = "/bookmarks/bookmark_add.php";
    var data = {
        x1: bk_selection.x1 / sX,
        x2: bk_selection.x2 / sX,
        y1: bk_selection.y1 / sY,
        y2: bk_selection.y2 / sY,
        iw: cim.width(),
        ih: cim.height(),
        title: txt,
        url: hr,
        description: desc,
		image: cim.attr("src")
    }
    //
	addToBookmarks(data);	
	//
    sp_mousewheel_del();
}


/**
 * Begin chat
 * /
function b_ch(){
    chatWith('Chat')
}

function hi_th(){
    $('#site-preview').remove();
}

function bk_th(){
    var ni = $('<img/>');
    ni.attr("src", '/im/spacer.gif');
    ni.attr("width", $('#site-preview').width());
    ni.attr("height", $('#site-preview').height());
    ni.css("float", "left");
    ni.css("left", "0");
    ni.css("position", "absolute");
    ni.css("cursor", "crosshair");
    
    var ias = ni.imgAreaSelect({
        instance: true,
        parent: "#site-preview",
        zIndex: 92,
        handles: true,
        fadeSpeed: 200,
        onSelectChange: on_bk_select
    });
    // ias.setSelection(50, 50, 150, 200, true);
    ni.appendTo($('#site-preview'))
}
*/
/**
 * Mouse Wheeel
 */
function sp_mousewheel_del(){
    bk_selected = false;
    bk_obj = null;
    
    $('.mwh').each(function(index, elem){
        $(this).removeClass("mwh");
    });
    $('.dmwh').remove();
}

function spd_mousewheel(event, delta){
    if (bk_selected) 
        return;
    
    var w = $(".prw", this).attr("width") + (delta * 10);
    if (w < 320) 
        w = 320;
    if (w > 400) {
        if (!$(this).hasClass("loading")) {
            $(this).addClass("loading");
            $(this).append($('<img class="updating" src="/im/update.gif" style="top:0;left:0;margin:2px 5px;position:absolute;"/>'));
            //
            var im = $('.mwh');
            var l = im.parent().attr("href");
            //
            $(".prw", this).load(function(){
                $(".updating").remove();
            })
            // $(".prw", this).attr("src",
            // "/getwebshot.php?url="+l+"&w="+bk_w+"&h="+bk_h);
            //
            $(".prw", this).attr("src", "http://www.pdprsolutions.com/getwebshot.aspx?url=" + l +
            "&w=" +
            bk_w +
            "&h=" +
            bk_h);
        }
    }
    $(".prw", this).css("width", w);
    $(".prw", this).css("height", "auto");
    
    return false;
}

function sp_mousewheel(event, delta){
    if (!$(this).hasClass("mwh")) {
        $(this).addClass("mwh");
        $(this).removeClass("hvr");
        $(this).css("z-index", "2");
        $(this).css("width", "100px");
        $(this).css("height", "75px");
        
        var p = $(this).position();
        bk_obj = $(this);
        
        $("<div/>")
			.addClass("dmwh")
			.css("left", p.left)
			.css("top", p.top)
			.css("z-index", "90")
			.bind('mousewheel', spd_mousewheel)
			.appendTo($(this).parent().parent().parent().parent())
			.append(
				$("<img/>")
					.addClass("prw")
					.css("cursor", "crosshair")
					.attr("src", $(this).attr("src"))
					.imgAreaSelect({
            			parent: ".dmwh",
            			zIndex: 92,
            			handles: true,
            			fadeSpeed: 200,
            			onSelectChange: on_bk_select
        			}))
			.append(
				$("<img/>")
					.addClass("btncls")
					.attr("src", '/im/close.gif')
					.attr("title", 'Close')
					.click(sp_mousewheel_del)
					.css("z-index", "99")
				)
			.append(
				$("<img/>")
					.addClass("btnbkmrk")
					.attr("src", '/im/bookmark.gif')
					.attr("title", 'Bookmark')
					.click(sp_mousewheel_bkmrk)
					.css("display", "none")
					.css("z-index", "99")
				)
			.append(
				$("<div class='hintbkmrk'> Some Hint here </div>")
			)
    }
    return false;
}

function sp_img_click(e)
{
	var lnk = $(this); 
	var img = $('img', lnk);
	img = $(img[0]);
	// 
	img.css("z-index", "99");
	img.animate({
		width: 320,
		height: 240
	}, "fast", sp_mousewheel);
	return false;
}

function sp_img_over(d){
    if ($(this).hasClass("mwh")) 
        return;
    if ($(this).hasClass("hvr")) 
        return;
    //
	$(this).addClass("hvr");
	//
	//
	$(this).append($("<img src='/im/zb.png' id='zab'/>"))
}

function sp_img_out(d){
    if ($(this).hasClass("mwh")) 
        return;
    if (!$(this).hasClass("hvr")) 
        return;
    //	
    $(this).removeClass("hvr");
	//
	$("#zab").remove();
	/*
	$(this).animate({
        marginTop: '0',
        width: 100,
        height: 75
    }, "fast", null, function(){
        $(this).css("z-index", "2")
    });
    */
}
/**
 * Bookmarks
 */
/**
 * Add to Bookmarks
 * @param {String} url
 * @param {String} title
 * @param {String} desc
 * @param {String} image
 */
var gritterID = null;		
function addToBookmarks(data)
{	
	$.authBookmarks(function(rdata){
		//
		if (rdata.auth == "false") {
			//
			function showLoginDialog(e){
				$("<div/>")
					.append(
						$("<iframe frameborder='no'/>")
							.attr("src", "/bookmarks/lgn.php")
							.attr("width", "400px")							
							.attr("height", "150px")
						)
					.dialog({
						title:  "Login",
						bgiframe: true,
						width: 450,
						height: 300,
						modal: true,
						position: ['top', 100],
						buttons: {
							Ok: function() {
								$(this).dialog('close');
									$.gritter.remove(gritterID);
									gritterID = null;														
								}
						}
					});
				return false;
			}			
			//
			if(gritterID == null)
			{
				var html = $("<div> Login first </div>");
				html.append($("<button>Login</button>").button().click(showLoginDialog));
				//
				gritterID = $.gritter.add({
					title: "Login",
					text: "<div id='bookmark-auth'>Loading..</div>",
					sticky: true,
					time: ''				
				});			
				//
				$('#bookmark-auth').html(html);
			}
		}else{
			$.gritter.add({
				title: data.title,
				text: data.description,
				image: data.image,
				sticky: false,
				time: 2000
			});			
			$.addToBookmarks(data)
		}
	});
}
function closeBookmarks()
{
	$('#bookmarks-preview').remove();
	$("#main-tabs").css("display", "");
	$('#search-form').attr("class", 'srch-' + curr_search_type);
	$("#pages").css("display", "");
	return false;
}

function showBookmarks()
{
	reinitDesign()
	//
	$('#bookmarks-preview').remove();
	$("#main-tabs").css("display", "none");
	$("#pages").css("display", "none");
	//
	var w = $("#main-tabs").width(); 
	var h = $("#main-tabs").height();
	var pos = $("#main-tabs").position();
	//		
	$("<div/>")
		.addClass("bookmarks-preview ui-widget-content ui-corner-all")
		.attr("id", "bookmarks-preview")
		.append(				
			$("<h3/>")
				.addClass("ui-widget-header ui-corner-all")
				.text("Bookmarks")
				.append(
					$('<a href="/bookmarks/" class="close ui-dialog-titlebar-close ui-corner-all" role="button"><span class="ui-icon ui-icon-closethick">close</span></a>'))
						.click(closeBookmarks)	
			)
		.append(
			$("<div id='bookmarks-content' class='clr ui-widget'/>")
				.append($("<img src='/im/loader.gif'/>")))
		.prependTo($("#center"))
	$('#search-form').attr("class", 'srch-bookmarks');
	//
	//
	$.loadBookmarks()	
}
/**
 * FastPreview
 */
function closeFastPreview()
{
	var pos = $(">div", $('#main-tabs')).index($("#fast-preview"));
	if (pos > 2) {
		$('#main-tabs').tabs("remove", pos)
		$('#main-tabs').tabs("select", 0)
	}	
}

function showFastPreview()
{
	closeFastPreview();
	
	//search(null, "news");

	var w = $("#center").width();// - 15;	
    var h = $(window).height()*.75;// - 60;        
	//
	var fast_preview_tab = $("#main-tabs").tabs("add",'#fast-preview', "Fast Preview");
	//	
	$('#fast-preview')
		.css("width", w)
		.css("height", h)
		.append(
        	$("<div/>")
				.addClass("fast-preview-swf")
				.attr("id", "fast-preview-swf")
				.css("z-index", "99").flash({
            		width: w,
            		height: h,
	                swf: 'swf/ImageCarousel.swf',
    	            flashvars: {
        	            type: curr_search_type,
            	        q: $('#search-query').attr("value")
	                }
					/*					
            		swf: 'swf/wall.swf',
            		flashvars: {
                		q: $('#search-query').attr("value")
            		}
            		*/
        		})				
		)		
}	
	
/**
 * Preview
 */
function previewSiteClose()
{
		
}
function previewSite(url, title)
{
	var w = $("#center").width();// - 15;	
    var h = $(window).height() - 100;// - 60;        
	//
	var l = $("#main-tabs").tabs("length") + 1;
	var tab = $("#main-tabs").tabs("add",'#sp' + l, limitStr(title,25));
	//	
	//$("<div/>")
		//.addClass("site-preview")
		//.attr("id", "site-preview")
	$('#sp' + l)
		.css("width", w)
		.css("height", h)
		.append(
			$('<iframe/>')
			.attr("id", "site-preview-frame")
			.attr("frameborder", "0")
			.css("width", "100%")
			.css("height", "100%")
			.attr("src", url)
		)		
}
/**
 * Search
 */
var STWAccessKeyId = "356883b9a3a95c2";
//
var curr_search_type = "web";
//
function acFormatItem(row){
    if (row[1]) 
        return row[0] + "<div class='sqitm'>" + row[1] + " </div>";
    return row
}
//
function generateUrl(url, nn){
	var _url  = url;
	if(!nn) nn = 50;
	if (_url.indexOf("http://")) {
		_url = url.substr(url.indexOf("http://") + 7);
	}
	if (_url.indexOf("https://")) {
		_url = url.substr(url.indexOf("https://") + 8);
	}
	if(_url.length > nn)
	{
		//_url = _url.substr(0, 25);
		//var nni = _url.indexOf("/", _url.indexOf("/")+1)+1
		//if(nni< nn)nni = nn;
		_url = _url.substr(0, nn) + "...";
	}	
	return _url; 
}

function limitStr(str, nn, ss){
	if(!ss) ss = "...";
	if(!nn) nn = 50;
	if(!str)return ""; 
	if(str.length > nn)
		return str.substr(0, nn) + ss;
	return str;
}
//
function parseSearchWebResult(data){
    var ul = $("<ul class='res web'/>");
    $.each(data.results, function(i, val){
        var li = $("<li class='g'/>")
        //li.html('<a href="' + val.url + '" title="' + val.titleNoFormatting + '" target="_blank">' + val.title + "</a> - " + val.content);
        //		
		var th_url = "http://www.shrinktheweb.com/xino.php?embed=1&STWAccessKeyId=" + STWAccessKeyId +
        				"&stwsize=xlg&stwUrl=" +
        				val.url
		//
        $("<a/>")
			.addClass("th")
			.attr("href", val.url)
			//.attr("target", "_new")
			.click(sp_img_click)
			.hover(sp_img_over, sp_img_out)								
			.append(
				$("<img/>")
					.attr("src", th_url)
					.attr("width", "100")
					.attr("height", "75")
					.attr("alt", val.titleNoFormatting)
					).prependTo(li)
        //
        $("<a/>")
			.attr("href", val.url)
			.attr("target", "_new")
			.append(
				$("<h3 class='r'/>").html(val.title)
				)
			.appendTo(li)
		//			
		$("<div/>")
			.attr("title", "Preview Site")
			.addClass("pr")
			.text("Preview")
			.click(function(){
				previewSite(val.url, val.title)
			})			
			.appendTo(li)
		//
		$("<div/>")
			.attr("title","Add to Bookmarks")
			.addClass("bk")
			.text("Bookmark")
			.click(function(){
				addToBookmarks({
					url: val.url,
					title: val.title,
					description: val.content,
					image: th_url
				})
			})			
			.appendTo(li)		
        //
        $("<div class='s'/>").appendTo(li).html(limitStr(val.content,250))
		$("<div class='vu'/>").appendTo(li).html(generateUrl(val.url))
        //
        li.appendTo(ul);
    });
    return ul;
}
//
//
var optImageDialogWidth = "30%";
var optImageDialogHeight = "auto";
function parseSearchImagesResult(data){
    var ul = $("<ul class='res images'/>");
    $.each(data.results, function(i, val){
        var li = $("<li class='g'/>")
        //	
		$("<a/>")
			.click(function(evn){
				var t = $(evn.currentTarget);
				$("<div/>")
					.addClass("dlg-pr-im")					
					.append(
						$("<img/>")
							.attr("src", t.attr("href"))
							.css("width", "100%")							
						)
					.dialog({
						title:  t.attr("title"),
						bgiframe: true,
						modal: true,
						width: optImageDialogWidth,
						height: optImageDialogHeight,
						maxHeight: "30%",
						position: ['top', 100],
						beforeclose: function(event, ui) {
							optImageDialogWidth = $(this).width();								
							optImageDialogHeight = $(this).height();
						},
						buttons: {
							Ok: function() {
								optImageDialogWidth = $(this).width();								
								optImageDialogHeight = $(this).height();								
								$(this).dialog('close');
								}
						}
					});
					return false;
			})
			.addClass("impr")
			.attr("href", val.imageUrl)
			.attr("title", val.titleNoFormatting)
			.html("<img src='"+val.tbUrl+"' width='"+val.tbWidth+"' height='"+val.tbHeight+"' alt='"+val.titleNoFormatting+"'/>")
			.prependTo(li)
        //
/*		
        $("<a/>")
			.attr("href", val.url)
			.append(
				$("<h3 class='r'/>")
				.html(val.title))
			.appendTo(li)
        //
        $("<div class='s'/>").appendTo(li).html(val.content)
* /        
		<div class="std">
		<div class="f">400 x 389 &ndash; 23 ÐšÐ±&nbsp;-&nbsp;jpg</div>
		<div class="a"><cite style="font-style: normal;">blogs.phoenixnewtimes.com</cite></div><div class="eft"><a href="http://images.google.com.ua/images?q=bomb&amp;oe=utf-8&amp;client=firefox-a&amp;rlz=1R1GGLL_en&amp;um=1&amp;ie=UTF-8&amp;hl=uk&amp;tab=wi&amp;imgtype=i_similar&amp;sa=X&amp;ei=63qRS8jaBqjwmwO9u8CFCw&amp;ct=img-sim-l&amp;oi=image_sil&amp;resnum=1&amp;tbnid=CC5joW5zY_xnAM:" class="fl">Ð—Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð´Ñ–Ð±Ð½Ñ– Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ�</a></div></div>
		*/
		$("<div class='s'/>").appendTo(li).html(limitStr(val.content,30))
		$("<div class='di'/>").appendTo(li).html(val.width + " x " + val.height)		
		$("<div class='vu'/>").attr("title", val.url).appendTo(li).html(generateUrl(val.url, 25))
        //
        li.appendTo(ul);
    });
    return ul;
}

function parseSearchNewsResult(data){
    var ul = $("<ul class='res web'/>");
    $.each(data.results, function(i, val){
        var li = $("<li class='g'/>")
        //li.html('<a href="' + val.url + '" title="' + val.titleNoFormatting + '" target="_blank">' + val.title + "</a> - " + val.content);
        //
		var th_url =	"http://www.shrinktheweb.com/xino.php?embed=1&STWAccessKeyId=" + STWAccessKeyId +
        				"&stwsize=xlg&stwUrl=" +
        				val.url	
		//
        $("<a/>")
			.addClass("th")
			.attr("href", val.url)
			//.attr("target", "_new")
			.click(sp_img_click)
			.hover(sp_img_over, sp_img_out)
			.append(
				$("<img/>")
					.attr("src", th_url)
					.attr("width", "100")
					.attr("height", "75")
					.attr("alt", val.titleNoFormatting)
					).prependTo(li)
        //
        $("<a/>")
			.attr("target", "_new")
			.attr("href", val.url)
			.append($("<h3 class='r'/>").html(val.title)).appendTo(li)
		//
		$("<div/>")
			.attr("title","Preview Site")
			.addClass("pr")
			.text("Preview")
			.click(function(){
				previewSite(val.url, val.title)
			})			
			.appendTo(li)
		//
		$("<div/>")
			.attr("title","Add to Bookmarks")
			.addClass("bk")
			.text("Bookmark")
			.click(function(){
				addToBookmarks({
					url: val.url,
					title: val.title,
					description: val.content,
					image: th_url
				})
			})			
			.appendTo(li)
        //
        $("<div class='s'/>").appendTo(li).html(limitStr(val.content,250))
		$("<div class='pu'/>").appendTo(li).html("<b>" + val.source + "</b> " + generateUrl(val.url, 30))        
		//
        li.appendTo(ul);
    });
    return ul;
}
function generatePages(page, pages)
{
	$("#pages").remove();
	//
	var ul = $("<ul>");
	var p = page - 6;
	if(p<0)p = 0;
	//
	var add = $.address.value();
	//
	if (pages > page + 5)pages = page + 5;
	//
	if (page < 1) {
		page = 1;
	}
	if (page <= 2) {
		pages = 7;		
	}
	
	//
	//if (pages > 7)pages = 7;
	//
	var i;
	for(i = p; i<pages; i++)
	{
   		if(i == page-1)
		{
			$("<li>").addClass("cur").text(i+1).appendTo(ul);
			/*
			?>
            <td class="cur">
                <span class="csb"/><?php echo $i+1; ?>
            </td>			
			<?php
			*/
		}else{
			var nnn = i;
			$("<li>").append(
				$("<a/>")
					.attr("href", "#" + add)
					.click(function(e){search(null, null, (this.text-1)*8)})
					.text(i+1)
				).appendTo(ul);
			/*
			?>
            <td>
                <a href="{search_url}&start=<?php echo $i*$search_per_page; ?>"><span class="csb ch"/><?php echo $i+1; ?></a>
            </td>			
			<?php
			*/			
		}
   }
	$("<li>").append(
		$("<a/>")
			.attr("href", "#" + add)
			.attr("ref", ((1*page+1) * 8))
			.click(function(e){search(null, null, $(this).attr("ref"))})
			.text("Next >>")
		).appendTo(ul);
   
	//
	$("<div id='pages'/>")
		.append(ul).appendTo('#center')
}

Array.prototype.uniqueResults = function(){
    var a = [];
    var l = this.length;
    for (var i = 0; i < l; i++) {
        for (var j = i + 1; j < l; j++) {
            if (this[i].url === this[j].url) 
                j = ++i;
        }
        a.push(this[i]);
    }
    return a;
};
var tmpUniqueSearchResults = [];
//
function uniqueSearchResults(arr){
    var a = [];
    var l = arr.length;
	for (var i = 0; i < l; i++) {
		var url = arr[i].url;
		if(tmpUniqueSearchResults.indexOf(url) == -1)
		{
			tmpUniqueSearchResults.push(url);
			a.push(arr[i]);
		}
    }
    return a;
}

function sortResults(a, b){
    return a.n - b.n;
}

var allTabData = {}

function parseAndGenerateSearchResult(data)
{
	if (data.type == "web") 
		return parseSearchWebResult(data);
	    
	if (data.type == "images") 
		return parseSearchImagesResult(data);
			
	if (data.type == "news") 
		return parseSearchNewsResult(data);
}
var filterDublicates = false;
//
function generateAllTab()
{
	var div = $("<div/>");
	//
	// generate options header
	var opt = $("<div class='pnl-opt'/>");
	var fltDub;
	if (filterDublicates){
		fltDub = $("<div class='fl-dub-on' title='Filter Duplicates On'>");			
	}else{
		fltDub = $("<div class='fl-dub-off' title='Filter Duplicates Off'/>");			
	}
	fltDub.click(function(e){
		filterDublicates=!filterDublicates; 
		generateAllTab();
	});
	opt.append(fltDub);
	//
	div.append(opt)
	//		
	if(filterDublicates)
	{
		tmpUniqueSearchResults = [];
		//
		var newData = {}
		newData.results = uniqueSearchResults(allTabData["google"].results).sort(sortResults);
		newData.type = allTabData["google"].type;		
		div.append($("<div class='ggl-tb'></div>"));
		div.append(parseAndGenerateSearchResult(newData));
		//
		newData.results = uniqueSearchResults(allTabData["bing"].results).sort(sortResults);
		newData.type = allTabData["bing"].type;		
		div.append($("<div class='bng-tb'></div>"));
		div.append(parseAndGenerateSearchResult(newData));
		//
		newData.results = uniqueSearchResults(allTabData["yahoo"].results).sort(sortResults);
		newData.type = allTabData["yahoo"].type;		
		div.append($("<div class='yho-tb'></div>"));
		div.append(parseAndGenerateSearchResult(newData));
		//
		tmpUniqueSearchResults = [];
	}else{
		div.append($("<div class='ggl-tb'></div>"));
		div.append(parseAndGenerateSearchResult(allTabData["google"]));
		//
		div.append($("<div class='bng-tb'></div>"));
		div.append(parseAndGenerateSearchResult(allTabData["bing"]));
		//		
		div.append($("<div class='yho-tb'></div>"));
		div.append(parseAndGenerateSearchResult(allTabData["yahoo"]));		
	}
	//
	$('#gby').html(div);
	//
	// generate pages
	var ni = Math.floor(allTabData["yahoo"].start/8) + 1;
	//	
	var np = allTabData["yahoo"].totalResults;
	var np_b = allTabData["yahoo"].totalResults;
	if(np > np_b)np = np_b;
	var np_y = allTabData["yahoo"].totalResults;
	if(np > np_y)np = np_y;
	//
	generatePages(ni,  Math.floor(np/8));	
}
function parseAllTab(data){
	if(!allTabData[data.search])
	{
		allTabData[data.search] = data;
	}
	//
	if(allTabData["google"] && allTabData["bing"] && allTabData["yahoo"])
	{
		generateAllTab();
	}
}

function parseSearchResult(q, data){
    if (data.type == "web") 
        ul = parseSearchWebResult(data);
    
    if (data.type == "images") 
        ul = parseSearchImagesResult(data);
		
    if (data.type == "news") 
        ul = parseSearchNewsResult(data);
    
    $('#' + data.search).html(ul); 
	
	parseAllTab(data);   
}

function reinitDesign(home){
    if (home) {
        $("#main").css("display", "none");
        $("#footer").css("display", "none");
        $("#header")
			.css("left", "25%")
			.css("position", "absolute")
			.css("top", "30%")
			.css("width", "60%")        
    }
    else {
		$("#main").css("display", "");
        $("#footer").css("display", "");        
        $("#header")
			.css("left", "")
			.css("position", "")
			.css("top", "")
			.css("width", "")       
    }
}
function search(q, t, s){
	allTabData = {}	
	reinitDesign();
	
	previewSiteClose();	
	closeFastPreview();
	closeBookmarks();
	
    if (!q) 
        q = $('#search-query').attr("value");
    if (!t) {
        t = curr_search_type;
    }
    else {
        curr_search_type = t;
    }
	$.googleSearch({
        "q": q,
        "type": t,
		"start": s,
        "success": function(data){
            parseSearchResult(q, data)
        }
    });
    $.bingSearch({
        "q": q,
        "type": t,
		"start": s,
        "success": function(data){
            parseSearchResult(q, data)
        }
    });	
    $.yahooSearch({
        "q": q,
        "type": t,
		"start": s,
        "success": function(data){
            parseSearchResult(q, data)
        }
    });
	$('#search-query').focus();
	$('#search-btn').attr("href", "#/" + t + "/" + q)
	$('#hs-web').attr("href", "#/web/" + q)	
	$('#hs-images').attr("href", "#/images/" + q)
	$('#hs-news').attr("href", "#/news/" + q)
	$('#search-form').attr("class", 'srch-' + t)
}

/**
 * Dom Ready
 */
$(document).ready(function(){
    /**
     * New
     */
    //$('#switcher').themeswitcher();
    $('#main-tabs').tabs({
		add: function(event, ui) {
			$('<span class="ui-close ui-icon ui-icon-closethick">close</span>')
				.click(function(){
					var pos = $(">div", $('#main-tabs')).index($("#" + ui.panel.id)); 
					$('#main-tabs').tabs("remove", pos);
					$('#main-tabs').tabs('select', 0);
					return false;                
				})
				.appendTo(ui.tab);
			//
			$('#main-tabs').tabs('select', '#' + ui.panel.id);
    	}
	});
    $("#search-query").autocompleteArray([], {
		google: true,
		onSubmit:search,		
        delay: 10,
        minChars: 1,
        matchSubset: 1,
        formatItem: acFormatItem,
        maxItemsToShow: 10
    });
    $("#search-btn").click(function(){
        search()
    });
    /**
     * Init
     */
    $.address.init(function(event){
        if (event.pathNames[0] == "web") {
            search(event.pathNames[1], "web")
            $('#search-query').attr("value", event.pathNames[1]);
        }
        else 
            if (event.pathNames[0] == "images") {
                search(event.pathNames[1], "images")
                $('#search-query').attr("value", event.pathNames[1]);
       	}
        else 
            if (event.pathNames[0] == "news") {
                search(event.pathNames[1], "news")
                $('#search-query').attr("value", event.pathNames[1]);
            }
		else {
			reinitDesign(true)
		}
			
        //alert(event.parameters)
        // do something depending on the event.value property, e.g.  
        // $('#content').load(event.value + '.xml');  
    });
    /**
     * Header
     */
    $('#hs-web').click(function(){
        search(null, "web")
    });
    $('#hs-images').click(function(){
        search(null, "images")
    });
    $('#hs-news').click(function(){
        search(null, "news")
    });
	$('#fstpr').click(function(){
        showFastPreview()
    });	
	$('#hs-bookmarks').click(function(){
        showBookmarks()
		return false;
    });    
    /**
     * Old
     * /
    $('.pr').click(sh_th);
    $('.cht').click(b_ch);
    $('.g:even').addClass('even');
    $('.g:odd').addClass('odd');
    
    $('#s_wall3d').click(function(){
        show_search('wall3d')
    });
    
    $('#s_all').click(function(){
        show_search('all')
    });
    $('#s_google').click(function(){
        show_search('google')
    });
    $('#s_bing').click(function(){
        show_search('bing')
    });
    $('#s_yahoo').click(function(){
        show_search('yahoo')
    });
    
    // $('#s_bk').click(function(){show_bk()});
    
    $('#s_wall').click(show_3d_wall);
    */
})
