// JavaScript Document
var move_dir = [0,0,0];
var move_id =['tool','login','info'];
function addslashes(str) 
  {
  str=str.replace(/\\/g,'\\\\');
  str=str.replace(/\'/g,'\\\'');
  str=str.replace(/\"/g,'\\"');
  str=str.replace(/\0/g,'\\0');
  return str;
  }  
function slide(i,size)
  {
	var id=document.getElementById(move_id[i]);
	var height=parseFloat(id.style.height);
	var value=height+move_dir[i];
	if (value>size) {value=size;}
	if (value<0) {value=0;}
	id.style.height=value+'px';
  if ((move_dir[i]>0 & height<size) | (move_dir[i]<0 & height>0))
	  {
		setTimeout('slide("'+i+'",'+size+')',50);
		}
	}
function toggle(id,size) 
  { 
	var i;
	for (i=0; i<3; i++)
	  {
		if (i==id)
		  {
	    var height=parseFloat(document.getElementById(move_id[i]).style.height);
			if (height<25) {move_dir[i]=5; }
			else {move_dir[i]=-5;}
			}
		else
		  {
  		move_dir[i]=-5;
			}
		slide(i,25);
		}
	}

function toggleblock(id)
  {
	var i=document.getElementById(id);
	if (i.style.display=='none')
	  i.style.display='block'
	else
	  i.style.display='none';
	}
function ajax_generic(target,url,code) 
  {
  url=url+"&sid="+Math.random()
  var http_request = false;
		if (window.XMLHttpRequest) {http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {http_request.overrideMimeType('text/plain');}} 
	else if (window.ActiveXObject) { 
			try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {} }
    }
  if (!http_request) {
		document.getElementById(target).innerHTML="<img src='/library/generic/error.png' alt='Error'> "+nobroser
		return false;
    }
//  document.getElementById(target).innerHTML="<img src='/library/generic/loading.gif' alt='Loading'> "+loading
		
  http_request.onreadystatechange = function() { show_data(target,http_request,code); };
  http_request.open('GET', url, true);
  http_request.send(null);
  }


var loading_status=0;
function MM_jumpMenu(targ,selObj,restore){ 
  eval(targ+".location='/"+selObj.options[selObj.selectedIndex].value+url+"'");
  if (restore) {selObj.selectedIndex=0; }
}
var last_search='';

function auto_search()
  {
	keyword_temp=document.getElementById("keyword").value;
	setTimeout("if (document.getElementById('keyword').value==keyword_temp) { manual_search(); }",1000);
	}
function manual_search()
  {
	var keyword=document.getElementById("keyword").value;
  var url="/library/manual/search.php?lang="+lang+"&keyword="+keyword;
	if (keyword.length>0)
	  {
    if (last_search!=keyword)
	    {
			last_search=keyword;
      ajax_generic('manual_results',url,'')
	  	}
		}
	return false;
	}
function browse_by_icon()
  {
	document.getElementById('browse_by_icon').innerHTML='<img src="/library/generic/loading.gif" alt="Loading"\>';
  var url='/library/manual/get.php?lang='+lang+'&chapter=by_icon';
	ajax_generic('browse_by_icon',url,'');
	}
function show_chapter(file,command)
  {
  var url='/library/manual/getnav.php?lang='+lang+'&chapter='+file;
	ajax_generic('manual_nav',url,'');
	var code='';
	var url='/library/manual/get.php?chapter='+file+'&lang='+lang+'&keyword='+command;
	document.getElementById('chapter').innerHtml=loading
	if (command.length>0)
	  {
		code="document.location='#"+addslashes(command)+"'";
//		if (code.indexOf('#')!=-1)
//			code=code.substr(0,code.indexOf('#'));
	//	code=code+'#'+command
		}
  ajax_generic('chapter',url,code);
	}

function show_item(id,cnt,target) 
  {
  var url="/library/rss/update.php?cat="+id+"&cnt="+cnt+"&lang="+lang+"&sid="+Math.random()
  ajax_generic(target,url,'') 
  }
function show_data(target,http_request,code) {
  if (http_request.readyState == 4) {
    if (http_request.status == 200) 
		  {
			if (http_request.responseText=='crash')  
			  {
    		document.getElementById(target).innerHTML="<img src='/library/generic/error.png' alt='Error'> "+rss_error
			  } 
			else 
			  {
				document.getElementById(target).innerHTML=http_request.responseText
				if (code.length>0)
				  {
				  eval(code);
					}
			  }
      } 
	  else 
	    {
  		document.getElementById(target).innerHTML="<img src='/library/generic/error.png' alt='Error'> "+rss_error
      }
    }
  }
function ratethis(rating,target) 
  {
	target='rate'+target;
  var url="/special/rate.php?cat="+target+"&rating="+rating+"&lang="+lang+"&sid="+Math.random()
  var http_request = false;
		if (window.XMLHttpRequest) {http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {http_request.overrideMimeType('text/plain');}} 
	else if (window.ActiveXObject) { 
			try {http_request = new ActiveXObject("Msxml2.XMLHTTP");} 
			catch (e) {try {http_request = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {} }
    }
  if (!http_request) {
		document.getElementById(target).innerHTML="<img src='/library/generic/error.png' alt='Error'> "+nobroser
		return false;
    }
  document.getElementById(target).innerHTML=loading+" <img src='/library/generic/loading.gif' alt='Loading'>"
		
  http_request.onreadystatechange = function() { show_vote(target,http_request); };
  http_request.open('GET', url, true);
  http_request.send(null);
  }
function show_vote(target,http_request) {
  if (http_request.readyState == 4) 
	  {
    if (http_request.status == 200) 
		  {
 	  	document.getElementById(target).innerHTML=http_request.responseText
			}
  	else 
	    {
  	  document.getElementById(target).innerHTML="<img src='/library/generic/error.png' alt='Error'> "
      }
    } 
  }
	
function CreateBookmarkLink() 
  {
  title = "Game Maker.info";
  theurl = "http://gamemaker.info/"+lang;
  if (window.sidebar) 
	  { // Mozilla Firefox Bookmark
    window.sidebar.addPanel(title, theurl,"");
    }
  else if( window.external ) 
	  { // IE Favorite
    window.external.AddFavorite( theurl, title);
    }
  else if(window.opera && window.print) 
	  { // Opera Hotlist
    return true;
    }
	}