var keys = [];
var keyword_id=0;
var stats = 0;
function rand( min, max ) {	// Generate a random integer
	// 
	// +   original by: Leslie Hoare

	if( max ) {
		return Math.floor(Math.random() * (max - min + 1)) + min;
	} else {
		return Math.floor(Math.random() * (min + 1));
	}
}
function getPositions ()
{
	var keyword_add ='';
	if(keyword_id>1) keyword_add = "?id="+keyword_id + '&' + Math.random();
	else keyword_add = "?" + Math.random();
	//alert('get pos'+keyword_id);
	var php = '/real-stat.php' + keyword_add;
	$.getJSON(php, function (data) {
				if(data.keys!=null) {
					//alert(data.keys.length);
					for(se in data.total) if($('#' + se + '').html()<1) 
						$('#'+ se +'').html(data.total[se]-1);
					if(stats==0) {total = data.total; }
					if(stats==0) drawBars(data.total);
					for(i=0;i<data.keys.length;i++){
						keys[i] = data.keys[i];	
					}
					keyword_id=0;
				}
				if(stats==0)
					showPositions1();
				else showPositions();
			  }
           ); 
}
var size = [];
var ses;
var total = [];
/*function drawBars(total) {
	size['num'] = 0;
	ses = total;
	for(se in total) {
		size['num'] = size['num'] + total[se];
	}
	var procent = size['num'] / 100;
	for(se in ses) {
		ses[se] = ses[se]/ (procent*1.5);
		//alert(Math.round(ses[se]));
		$('#stat_bar_'+ se +'').css('width', ses[se] + '%');
	}
}*/

function drawBars(total) {
	size['num'] = 0;
	ses = total;
	for(se in total) {
		if(total[se]>size['num']) {
			size['num'] = total[se];
			size['se'] = se;
		}
	}
	var procent = size['num'] / 100;
	for(se in ses) {
		ses[se] = ses[se]/ (procent*2);
		//alert(Math.round(ses[se]));
		$('#stat_bar_'+ se +'').css('width', Math.round(ses[se]) + '%');
	}
}

function addKeyword(){
	var count = parseInt($('#'+ keys[0]['se'] +'').html());
	keyword_id= parseInt(keys[0]['id']);
	//alert('set pos'+keyword_id);
	$('#'+ keys[0]['se'] +'').html(count+1);
	if(stats>0) total[keys[0]['se']] = total[keys[0]['se']] + 1;
	$('#stat_queries').append("<li class=" + keys[0]['se'] + "> " + keys[0]['keyword'] +"</li>");
	keys.shift();
	stats++;
}
function showPositions1(){
	//alert('first ' + keys[0]['keyword'] );
	if(keys[0]!=null && keys[0]!='undefined') {
		addKeyword();
		//if($('#stat_queries').children().length==1) for(i=0;i<keys.length;i++) addKeyword();
		if($('#stat_queries').children().length==5) {showPositions();}
		else showPositions1();
	}
};

function showPositions(){
	//alert('second ' + keys[0]['keyword'] );
	if(keys[0]!=null && keys[0]!='undefined') {
		addKeyword();
		//if($('#stat_queries').children().length==1) for(i=0;i<keys.length;i++) addKeyword();
		drawBars(total);
		if($('#stat_queries').children().length==6) $('#stat_queries li:first').remove();
		//if(stats<2) for(i=0;i<keys.length-1;i++) if(i<4)addKeyword();
		setTimeout('showPositions()', 1500);
	}
	else getPositions();
};

function getUpdates(){
	$.getJSON('/updates.php?'+ Math.random(), function (data) {
		for(se in data){
			$("#" + se+ "-update").html(data[se]);}
		
	});
}

function w_open (url)
{
	wn = 'wname' + Math.round (Math.random () * 10000);
	settings = 'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,left=0,top=0,width=' +screen.availWidth +',height=' +screen.availHeight +'';
	openedWindow = window.open (url, wn, settings);
	if (openedWindow.opener == null) openedWindow.opener = self;
	openedWindow.focus();
}

function preventSelection(element){
  var preventSelection = false;

  function addHandler(element, event, handler){
    if (element.attachEvent) 
      element.attachEvent('on' + event, handler);
    else 
      if (element.addEventListener) 
        element.addEventListener(event, handler, false);
  }
  function removeSelection(){
    if (window.getSelection) { window.getSelection().removeAllRanges(); }
    else if (document.selection && document.selection.clear)
      document.selection.clear();
  }
  function killCtrlA(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;

    if (sender.tagName.match(/INPUT|TEXTAREA/i))
      return;

    var key = event.keyCode || event.which;
    if (event.ctrlKey && key == 'A'.charCodeAt(0)) 
    {
      removeSelection();

      if (event.preventDefault) 
        event.preventDefault();
      else
        event.returnValue = false;
    }
  }

  addHandler(element, 'mousemove', function(){
    if(preventSelection)
      removeSelection();
  });
  addHandler(element, 'mousedown', function(event){
    var event = event || window.event;
    var sender = event.target || event.srcElement;
    preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i);
  });

  addHandler(element, 'mouseup', function(){
    if (preventSelection)
      removeSelection();
    preventSelection = false;
  });

  addHandler(element, 'keydown', killCtrlA);
  addHandler(element, 'keyup', killCtrlA);
}
var form_open = new Image();
form_open.src = "/images/open.gif";
var form_close = new Image();
form_close.src = "/images/close.gif";

function form_visible(){
	var myExtImage = document.getElementById("ext_image");
	var myExtForm = document.getElementById("ext_form");
	var myFormsExt = document.getElementById("forms_ext");
	if (myFormsExt.value=='close') {
		myExtImage.src=form_close.src;
		myExtForm.style.display='';
		myFormsExt.value='open';
	}
	else {
		myExtImage.src=form_open.src;
		myExtForm.style.display='none';
		myFormsExt.value='close';
		myFormsExt.value='close';
	}
}

var cur_menu_name;
function open_menu2(menu_name, move_x)
{
	close_menu();
	cur_menu_name=menu_name;
	obj=document.getElementById(menu_name);
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
	var pos=gOfs(obj);
	document.getElementById(menu_name+'_items').style.display='block';
		if (myHeight < pos.y+200) 
		{ 
			document.getElementById(menu_name+'_items').style.top=pos.y-340+"px";
		} else {
			document.getElementById(menu_name+'_items').style.top=pos.y-15 +"px";
		}
		document.getElementById(menu_name+'_items').style.left=pos.x+move_x +'px';


}
preventSelection(document);
function close_menu()
{
	if(cur_menu_name)
	{
		document.getElementById(cur_menu_name+'_items').style.display='none';
	}
}
function set_close_menu()
{
	close_menu();
}
function findPosX(obj)
{
    var curleft = 0;
    if (obj.offsetParent)
    {
    while (obj.offsetParent)
    {
        curleft += obj.offsetLeft
        obj = obj.offsetParent;
    }
    }
    else if (obj.x)
    curleft += obj.x;
    return curleft;
}

function findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
    while (obj.offsetParent)
    {
        curtop += obj.offsetTop
        obj = obj.offsetParent;
    }
    }
    else if (obj.y)
    curtop += obj.y;
    return curtop;
}

function gOfs(obj){
	var x=0,y=0;
	
	y = findPosY(obj);
	x = findPosX(obj);
	return {x: x, y: y}
}
	function fxad(fx) {
		fx=fx+30;
		return fx;
	}
function changeForm(obj) {
	var form_div = '#' + obj['id'] +'_o';
	if($(form_div).css('display')=='block') $(form_div).css('display', 'none');
	else $(form_div).css('display', 'block');
	/*if(obj.style.display=='block') {
		obj.style.display = 'none';
	}*/
}

$(document).ready(function() {
	getPositions();
	getUpdates();
})

