var pwin_key=new Array();
var pwin_content=new Array();
var pwin_div=new Array();
var pwin_id=new Array();
var pwin_date=0;
var temp='';
var cur_key=0;
var mouseoverdelay=2000;
var hdiv="hintsdiv";
var pwin_keyindex=0;
var pwin_ids=0;
var hintmode=1;
var pwin_is_mouseover=0;
var pwin_hide = false;
var pwin_load = false;
var pwin_cur_k='';
function pwin_makekey(act, id)
{  var key=pwin_keyindex, i;

   for(i=0; i<pwin_key.length; i++)
	if(pwin_key[i]==act)
	{
		pwin_id[id]=i;
		return 0;
	}
	pwin_id[id]=key;
   	pwin_key[key]=act;
	pwin_keyindex++;

   //pwin_div[key]=id;

}


function pwin_init()
{   
		
	
	
	var mid, act, x=new Array();
        var pagelinks = document.getElementsByTagName('a');
	
	
        for ( var i = 0 ; i < pagelinks.length ; i++ )
        {
		   //if (!pagelinks[i]) continue;&& !pagelinks[i].href.match(/act=hsm&CODE=showchar&id=(\d+)#/)

		   if (x=pagelinks[i].href.match(/act=hsm&CODE=showchar&id=(\d+)/) )
		   {    pagelinks[i].id='k'+(pwin_ids++);
				pwin_makekey('act=showchar&id='+x[1], pagelinks[i].id);
				  $('#'+pagelinks[i].id).addClass('hints-pwin');
				continue;
		   }

		   if (x=pagelinks[i].href.match(/act=hsm&CODE=weather&id=(\d+)/))
		   {    pagelinks[i].id='k'+(pwin_ids++);
				pwin_makekey('act=showweather&id='+x[1], pagelinks[i].id);
				  $('#'+pagelinks[i].id).addClass('hints-pwin');
				continue;
		   }
		   
		   if (x=pagelinks[i].href.match(/act=tgroleplay&CODE=showchar&id=(\d+)/))
		   {    pagelinks[i].id='k'+(pwin_ids++);
				pwin_makekey('act=showchar&tbl=tg&id='+x[1], pagelinks[i].id);
				  $('#'+pagelinks[i].id).addClass('hints-pwin');
				continue;
		   }

		   if (x=pagelinks[i].href.match(/act=tgroleplay&CODE=weather&id=(\d+)/))
		   {    pagelinks[i].id='k'+(pwin_ids++);
				pwin_makekey('act=showweather&tbl=tg&id='+x[1], pagelinks[i].id);
				  $('#'+pagelinks[i].id).addClass('hints-pwin');
				continue;
		   }
		   
		   if(x=pagelinks[i].id.match(/^sp(\d+)-(\d+)-(\d+)$/))
		   {
			// ipb_member_id
			  pwin_makekey('act=spellinfo&id='+x[1]+'&effid='+x[2]+'&mid='+x[3], pagelinks[i].id);	
			  $(pagelinks[i]).addClass('hints-pwin');
		   }

		   try
           {
              if ( ! pagelinks[i].id ) continue;
           }
           catch(e)
           {
              continue;
           }
		   
		   if(ipb_var_home_url!='http://globalua.net/' && ipb_var_home_url!='http://t-gorod.com/')
		   
           if ( pagelinks[i].id.replace( /^(.*)-(\d+)$/, "$1" ) == 'memlink' )
           {			mid = pagelinks[i].id.replace( /.*\-(\d+)/, "$1" );
						pwin_makekey('act=maginfo&mid='+mid, pagelinks[i].id);
                        $('#'+pagelinks[i].id).addClass('hints-pwin');
						
           }
        }
	
        pwin_init_process();
        
   	
		//document.onmouseout=function(){$("#"+hdiv).fadeOut("slow");}
		
		
}

function pwin_init_process(){
		$(".hints-pwin").hover(function(){
		var k=this.id;
		pwin_cur_k=this.id;
		cur_key=pwin_id[this.id];
        var l=$(this).offset().left - $(this).width()/2;
		if (l<100) l+=(100-l)/2; else if (l >$(document).scrollLeft()-100) l-=50;

			if (pwin_load) clearTimeout(pwin_load);
            if (pwin_hide) clearTimeout(pwin_hide);
            $("#"+hdiv).css('top',($(this).offset().top + $(this).height())+'px').css('left',l+'px').html(pwin_template($(this).html(),"Loading...")).fadeIn();
			
			
        
			  if (pwin_content[cur_key])
			  {
					$("#"+hdiv).html(pwin_template($(this).html(),pwin_content[cur_key]));
			  }
              else
			  //setTimeout( "pwin_event_timer('"+cur_key+"','"+k+"')", 5 );
			  
			  pwin_load=setTimeout( function(){
			  $("#"+hdiv).html(pwin_template( $("#"+pwin_cur_k).html(),pwin_request(cur_key, pwin_cur_k)));
			  }, mouseoverdelay );

		}, function() {
            pwin_hide = setTimeout(function() {$("#"+hdiv).fadeOut("slow");}, 250);
			if (pwin_load) clearTimeout(pwin_load);
        });
        $("#"+hdiv+"").hover(function(){
			
            if (pwin_hide) clearTimeout(pwin_hide);
			
        }, function() {
            pwin_hide = setTimeout(function() {$("#"+hdiv).fadeOut("slow");}, 250);
			if (pwin_load) clearTimeout(pwin_load);
        });
		
		$("#"+hdiv+" > *").hover(function(){
			
            if (pwin_hide) clearTimeout(pwin_hide);
        }, function() {
            pwin_hide = setTimeout(function() {$("#"+hdiv).fadeOut("slow");}, 250);
			if (pwin_load) clearTimeout(pwin_load);
        });
}

function pwin_template(head, text)
{
return "<table border=\'0\' cellspacing=\'0\' class=\'hintshead\'\'><tr><td style=\'padding:1px\'><div class='drag'><b>" + head + "</b></div></td></tr><tr><td style=\'padding:1px\'><table border=\'0\' cellspacing=\'0\' class=\'hintstext\'><tr><td style=\'padding:3px\'>" + text + "</td></tr></table></td></tr></table>";
}


function pwin_request(key, kid)
{
    if (!pwin_content[key])
    {    ajax_request(pwin_key[key]+'&k='+key+'&kid='+kid);
         if (pwin_content[key]) return pwin_content[key]; else return 'Loading...';
    }
    else return pwin_content[key];
}

function _get_time_now()
{
        var mydate = new Date();
        return mydate.getTime();
}

