﻿// JavaScript Document for Pokedex.de (simple layout)
function FixBar() {
	var searchbar = document.getElementById("searchbar");
	
	if(navigator.appName == "Microsoft Internet Explorer"){
		if(document.documentElement.scrollTop > 116){
			searchbar.style.position = "fixed";
			searchbar.style.top = "-116px";
			searchbar.style.left = (document.documentElement.scrollLeft * -1) + "px";
		}
		
		else if(document.documentElement.scrollTop <= 116){
			searchbar.style.position = "absolute";
			searchbar.style.top = "0px";
			searchbar.style.left = "0px";
		}
	}	
	else{
		if(window.pageYOffset > 116){
			searchbar.style.position = "fixed";
			searchbar.style.top = "-116px";
			searchbar.style.left = (window.pageXOffset * -1) + "px";
		}
		
		else if(window.pageYOffset <= 116){
			searchbar.style.position = "absolute";
			searchbar.style.top = "0px";
			searchbar.style.left = "0px";
		}
	}
	
}

function seek_submit(seekstr)
{
	if(!seekstr) window.alert(document.getElementById("lv_search_emptystring").firstChild.data);
	else if(!isNaN(seekstr))
	{
		if(seekstr > 0 && seekstr <= 493) change_p(seekstr, 0);
		document.getElementsByName("search_field")[0].value = "";
		document.getElementsByName("search_field")[0].blur();
	}
	else if(seekstr.length < 3) window.alert(document.getElementById("lv_search_stringtoshort").firstChild.data);
	else
	{
		change_content("./" + g_layout + "/search.php", "seekstr=" + seekstr);
		document.getElementsByName("search_field")[0].value = "";
		document.getElementsByName("search_field")[0].blur();
		document.getElementById("sugg_list").style.display = "none";
	}
}

var selected_tag;
var sugg_value;
var sugg_class = "div_sugglist";

function hover(id, newclass, overout)
{
	tag = document.getElementById(id);
	
	if(overout == "over")
	{
		tag.className = newclass + "_hover";
		if(newclass == sugg_class)
		{
			if(selected_tag) selected_tag.className = newclass;
			selected_tag = tag;
		}
	}
	else if(overout == "out")
	{
		tag.className = newclass;
		if(newclass == sugg_class)
		{
			if(selected_tag) selected_tag.className = newclass;
			selected_tag = null;
		}
	}
}

function getkey(e)
{
	document.getElementsByName("search_field")[0].onkeyup = "";
	if(document.getElementById("sugg_list").style.display == "none" && sugg_value == document.forms["search"].elements["search_field"].value)
	{
		document.getElementsByName("search_field")[0].onkeyup = seek_sugg;
		return true;
	}
	
	sugg_value = document.forms["search"].elements["search_field"].value;
	if(!e) e = window.event;
	
	key_code = e.keyCode;

	if (!selected_tag)
	{
		//if(key_code == 13) return false; //Key: Enter

		if(key_code < 37 || key_code > 40)
		{
			document.getElementsByName("search_field")[0].onkeyup = seek_sugg;
			return true;
		}

		if(key_code == 40) //Key: down
		{ 
			selected_tag = document.getElementById("sugg1");
			selected_tag.className = sugg_class + "_hover";
		}
	}
	else
	{
		if(key_code == 13) //Key: Enter
		{
			selected_tag.onclick();
			document.getElementsByName("search_field")[0].value = "";
			document.getElementsByName("search_field")[0].blur();
			document.getElementById("sugg_list").style.display = "none";
			selected_tag = null;
			return false;
		}
		
		if(key_code < 37 || key_code > 40)
		{
			document.getElementsByName("search_field")[0].onkeyup = seek_sugg;
			selected_tag = null;
			return true;
		}
		
		selected_tag.className = sugg_class;
		
		if(key_code == 40 && selected_tag.nextSibling) selected_tag = selected_tag.nextSibling; // Key: down
		
		else if(key_code == 38 && selected_tag.previousSibling && selected_tag.previousSibling.className) selected_tag = selected_tag.previousSibling; //Key: up

		else if(key_code == 39 && selected_tag.parentNode.nextSibling) selected_tag = selected_tag.parentNode.nextSibling.firstChild.nextSibling; //Key: right
		
		else if(key_code == 37 && selected_tag.parentNode.previousSibling) selected_tag = selected_tag.parentNode.previousSibling.firstChild.nextSibling; //Key: left
		
		selected_tag.className = sugg_class + "_hover";
	}
}


var pagecount;
var pagenav_start;

function navbar_scroll(dir)
{	
	if(dir == "start")
	{
		for(i=1; i<=pagecount; i++)
		{
			if(i <= 5) document.getElementById("navbar" + i).style.display = "";
			else document.getElementById("navbar" + i).style.display = "none";
			pagenav_start = 1;
		}
	}
	else if(dir == "back")
	{
		if(pagenav_start < 6) pagenav_start = 1;
		else pagenav_start = pagenav_start - 5;
		
		for(i=1; i<=pagecount; i++)
		{
			if(i >= pagenav_start && i <= pagenav_start + 4) document.getElementById("navbar" + i).style.display = "";
			else document.getElementById("navbar" + i).style.display = "none";
		}
	}
	else if(dir == "forward")
	{
		if(pagenav_start + 5 > pagecount - 5) pagenav_start = pagecount - 4;
		else pagenav_start = pagenav_start + 5;
		
		for(i=1; i<=pagecount; i++)
		{
			if(i >= pagenav_start && i <= pagenav_start + 4) document.getElementById("navbar" + i).style.display = "";
			else document.getElementById("navbar" + i).style.display = "none";
		}
	}
	else if(dir == "end")
	{
		for(i=1; i<=pagecount; i++)
		{
			if(i >= pagecount - 4) document.getElementById("navbar" + i).style.display = "";
			else document.getElementById("navbar" + i).style.display = "none";
			pagenav_start = pagecount - 4;
		}
	}
}

function enable_select(selname)
{
	if(document.getElementsByName("enable_" + selname)[0].checked == true) document.getElementsByName(selname)[0].disabled = false;
	else document.getElementsByName(selname)[0].disabled = true;
}

function enable_checkboxes(name)
{
	if(name == "filter_category")
	{
		if(document.getElementsByName("enable_" + name)[0].checked == true)
		{
			document.getElementsByName("filter_category1")[0].disabled = false;
			document.getElementsByName("filter_category2")[0].disabled = false;
			document.getElementsByName("filter_category3")[0].disabled = false;
		}
		else
		{
			document.getElementsByName("filter_category1")[0].disabled = true;
			document.getElementsByName("filter_category2")[0].disabled = true;
			document.getElementsByName("filter_category3")[0].disabled = true;
		}
	}
	else if(name == "filter_physical")
	{
		if(document.getElementsByName("enable_" + name)[0].checked == true)
		{
			document.getElementsByName("filter_physical_yes")[0].disabled = false;
			document.getElementsByName("filter_physical_no")[0].disabled = false;
		}
		else
		{
			document.getElementsByName("filter_physical_yes")[0].disabled = true;
			document.getElementsByName("filter_physical_no")[0].disabled = true;
		}
	}
}

function show_sprites(gender)
{
	if(gender == "male")
	{
		document.getElementById("symbol_sprites_male").style.border = "1px solid #CC0000";
		document.getElementById("symbol_sprites_female").style.border = "none";
		document.getElementById("sprites_male").style.display = "inline";
		document.getElementById("sprites_female").style.display = "none";
	}
	else if(gender == "female")
	{
		document.getElementById("symbol_sprites_male").style.border = "none";
		document.getElementById("symbol_sprites_female").style.border = "1px solid #CC0000";
		document.getElementById("sprites_male").style.display = "none";
		document.getElementById("sprites_female").style.display = "inline";
	}
}

function init()
{
	change_content("./" + g_layout + "/start.php","");
	document.onkeypress = getkey;
	document.getElementsByName("search_field")[0].onblur = function(e) {window.setTimeout("document.getElementById('sugg_list').style.display = 'none'", 2000)};
}

window.onload = init;
