// googler user script
// version 0.1 BETA!
// 24-2-2008
// Copyright (c) 2005, Karol Smeczechowski
// Released under the NLA (no license agreement)
// http://www.foo.com
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Hello World", and click Uninstall.
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name          googler
// @namespace     http://karolsmeczechowski.net/gm
// @description   googler
// @include       http://www.google.*/*
//@exclude      *

// ==/UserScript==
var nextpage = "";
var nxt="";
var inx = -1;
var loc = "";	


window.hoho = function()
{
	GM_log("HOHOHO:loc: " + loc);
        n = -1;    
        p = -1;
        inx = -1;
	current = -1;
	
	
	if (loc == "")
	{
		loc = document.location;
	}
	else
	{
		loc = nxt;
	}
	
	if (loc.toString().match("start=") == null)
	{
		current = 0;
	}
	else
	{
		current = parseInt(loc.toString().split(/start=/)[1].split(/&/)[0]);
	}
        el = document.getElementById("navbar").getElementsByTagName("A");
        for (var i = 0; i < el.length; ++i)
        {
            j = parseInt(el[i].getAttribute("href").toString().split(/start=/)[1].split(/&/)[0]);

            if( (j - 10) == current)
            {
                n = j;
                inx = i;
            }
        }
        GM_log(n);
        GM_log(i);
        GM_log(inx);
        nxt = "http://" + document.domain+el[inx].getAttribute("href");
        GM_log(nxt);
    GM_xmlhttpRequest({
                    method:"GET",
                    url:nxt,
                    headers:{
                            "User-Agent":"Mozilla/5.0",            // Recommend using navigator.userAgent when possible
                            "Accept":"text/html",
                            "Content-type":"application/x-www-form-urlencoded"
                        },
                    onload:function(response) {
                                        nextpage = response.responseText.toString();
                                        }    
                });        

}

window.gogo = function()
{
    GM_log("replacing page: " + nxt);
    document.body.innerHTML=nextpage;
    window.hoho();
}


////
window.addEventListener('load', window.hoho,10);
///
window.ttt_times = function()
{
    window.setTimeout( ttt_times, 100);
    
    if(document.getElementById('navbar1') == null)
    {
        load_frame();
    }
    document.getElementById('navbar1').style.top = window.scrollY + "px";
    document.getElementById('navbar1').style.width = 300 + "px";
    if(document.body.dir == "rtl")
    {
	document.getElementById('navbar1').style.left = 0;
	document.getElementById('navbar1').dir = "rtl"	;
    }
    else
    {
	document.getElementById('navbar1').style.left = (window.innerWidth-400);
    }
    
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////        
window.load_frame = function()
{
    if(document.getElementById('navbar') != null)
    {
        d  = document.createElement("div");
        GM_log("d");
        d.setAttribute("class", "n1");
        d.setAttribute("id", "navbar1");
        d.innerHTML = 
        "<style  TYPE=\"text/css\">" +
                    "#navbar1{" +
                     "padding: 7px;" +
                     "border: 1px solid #666;" +
                     "border-right-width: 4px;" +
                     "border-bottom-width: 2px;" +
                     "background: rgb(248,248,256);" +
                     "color: #111;" +
                     "text-align: left;" +
                     "position: absolute;" +
                     "z-index: 1000;" +
                     "letter-spacing: 2px" +
                    "}" +
                    "</style>" + document.getElementById('navbar').innerHTML.toString();
        document.getElementById('gbar').parentNode.insertBefore(d, document.getElementById('gbar'));
        
        if(document.getElementById('go')  == null)
        {
            el = document.createElement("A");
            el.setAttribute("id", "go");
            
            el.textContent = "go";
            document.getElementById('navbar1').appendChild(el);
            document.getElementById('go').addEventListener("click", gogo, true);
	    GM_log("adjusting go link");

        }
    }
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
window.setTimeout( ttt_times, 100);



