﻿


// Menu handling


function PreloadMenu()
{
	var d=document,a=arguments; 
	
	if(!d.MenuDefault) d.MenuDefault=new Array();
	for(var i=0; i<a.length; i++) { d.MenuDefault[i]=new Image; d.MenuDefault[i].src='Menu/Default/' + a[i]; }
	
	if(!d.MenuHigh) d.MenuHigh=new Array();
	for(var i=0; i<a.length; i++) { d.MenuHigh[i]=new Image; d.MenuHigh[i].src='Menu/High/' + a[i]; }
	
	if(!d.MenuSelected) d.MenuSelected=new Array();
	for(var i=0; i<a.length; i++) { d.MenuSelected[i]=new Image; d.MenuSelected[i].src='Menu/Selected/' + a[i]; }
}


function Swap(Element, State)
{

	FP_swapImg(0, 0, Element, 'Menu/' + State + '/' + Element + '.png');

}


function FP_swapImg() {//v1.0
 var doc=document,args=arguments,elm,n; doc.$imgSwaps=new Array(); for(n=2; n<args.length;
 n+=2) { elm=FP_getObjectByID(args[n]); if(elm) { doc.$imgSwaps[doc.$imgSwaps.length]=elm;
 elm.$src=elm.src; elm.src=args[n+1]; } }
}


function FP_getObjectByID(id,o) {//v1.0
 var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
 else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
 if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
 for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
 f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
 for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
 return null;
}






var FrameWidth;
var FrameHeight;
var InnerWidth;
var InnerHeight;
var InnerTop;
var InnerLeft;

function min(a, b)
{
	if(a < b)
		return a;
	else
		return b;
}


// Screen Width
function GetScreenWidth()
{
    return GetValidDimension(
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

// Screen Height
function GetScreenHeight()
{
    return GetValidDimension(
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}


function InitializeWindow()
{
	var Frame = document.getElementById("Frame");
	FrameWidth = parseFloat(Frame.style.width);
	FrameHeight = parseFloat(Frame.style.height);

	var Inner = document.getElementById("Inner");
	InnerWidth = parseFloat(Inner.style.width);
	InnerHeight = parseFloat(Inner.style.height);
	InnerLeft = parseFloat(Inner.style.left);
	InnerTop = parseFloat(Inner.style.top);

	ResizeToView();
	
}


// Resize Main Divs
function ResizeToView()
{

	var ScreenWidth = GetScreenWidth();
	var ScreenHeight = GetScreenHeight();
	
	var Frame = document.getElementById("Frame");
	var FactorX = ScreenWidth / FrameWidth;
	var FactorY = ScreenHeight / FrameHeight;

	var F = Math.min(FactorX, FactorY);

	if (F > 1)
	    F = 1;
	
	Frame.style.width = F * FrameWidth;
	Frame.style.height = F * FrameHeight;
	Frame.style.marginLeft = F * FrameWidth / -2;
	Frame.style.marginTop = F * FrameHeight / -2;

	var Inner = document.getElementById("Inner");
	Inner.style.width = InnerWidth * F;
	Inner.style.height = InnerHeight * F;
	Inner.style.left = InnerLeft * F;
	Inner.style.top = InnerTop * F;


}


function GetValidDimension(n_win, n_docel, n_body) {
    var n_result = n_win ? n_win : 0;
    if (n_docel && (!n_result || (n_result > n_docel)))
        n_result = n_docel;
    return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

