// *** JSF Main Routines
// *** (c) feel by fish, http://www.imagen.pl

// --- netscape resize bugfix
if (document.layers) {
	widthCheck = window.innerWidth;
	heightCheck = window.innerHeight;
	window.onResize = resizeFix;
}
function resizeFix() {
	if (widthCheck != window.innerWidth || heightCheck != window.innerHeight)
		document.location.href = document.location.href;
}

// --- some core stuff
function PageID(lvl, sublvl) {
	if (lvl) this.lvl = lvl; else this.lvl = 0;
	if (sublvl) this.sublvl = sublvl; else this.sublvl = 0;
}

// --- main forms validating
function checkLogin(check) {
	field = check.user; if (!isAlphanumericNoPL(field.value)) {alert("Nie podałes identyfikatora lub użyłes nieprawidłowych znaków (polskich liter lub znaków specjalnych)."); field.focus(); field.select(); return false;}
		if (field.value.length < 3 || field.value.length > 20) {alert("Identyfikator musi mieć od 3 do 20 znaków."); field.focus(); field.select(); return false;}
	field = check.pass; if (!isPassword(field.value)) {alert("Nie podałes hasła lub użyłes znaków spoza dopuszczalnego zakresu. Dopuszczalne sa małe i duże litery za wyj. polskich, cyfry oraz znaki !@#$%^&*()[],.;:"); field.focus(); field.select(); return false;}
		if (field.value.length < 6 || field.value.length > 20) {alert("Hasło musi mieć od 6 do 20 znaków."); field.focus(); field.select(); return false;}
	return true;
}

function checkSearch(check) {
	field = check.key; if (isWhitespace(field.value)) {alert("Podaj słowo kluczowe."); field.focus(); field.select(); return false;}
	return true;
}

// --- rollovers
if (document.images) {	
	imenu_ = new Image(); imenu_.src = "gfx/px-gry.gif";

	istore = new Image();
}

var imenus = new Array();
function menuover(nr) {
	if (document.all) return true;
	if (document.images && imenus[nr]) {
		istore.src = imenus[nr].src;
		imenus[nr].src = imenu_.src;
	}
	return true;
}

function menuout(nr) {
	if (document.all) return true;
	if (document.images && imenus[nr])
		imenus[nr].src = istore.src;
	return true;
}


// --- active tags
function setActiveMenu() {
	if (!document.all) return;
	
	tags = document.all.tags("TD");
	for(var i=0; i<tags.length; i++) {
		if(tags[i].className == "menuitem") {
			tags[i].onmouseover = tagover;
			tags[i].onmouseout = tagout;
			tags[i].onclick = tagclick;
		}
	}
	
	storeImg = new Image();
	storeColor = "#909090";
	function tagover() {
		storeColor = this.all.tags('A')[0].style.color; this.all.tags('A')[0].style.color = "#FFFFFF";
		storeImg.src = this.all.tags('IMG')[0].src; this.all.tags('IMG')[0].src = imenu_.src;
		this.style.cursor = "hand";
	}
	function tagout() {
		this.all.tags('A')[0].style.color = storeColor;
		this.all.tags('IMG')[0].src = storeImg.src;
	}
	function tagclick() {
		this.all.tags('A')[0].click();
	}
		
}

function setActiveImgs() {
	if (!document.all) return;
	
	tags = document.all.tags("IMG");
	for(var i=0; i<tags.length; i++) {
		if(tags[i].className == "foto") {
			tags[i].onmouseover = tagover;
			tags[i].onmouseout = tagout;
			//tags[i].onclick = tagclick;
		}
	}
	
	function tagover() {
		this.style.borderColor = "#FFFFFF";
		this.style.cursor = "hand";
	}
	function tagout() {
		this.style.borderColor = "#606060";
	}
	function tagclick() {
		this.style.borderColor = "#606060";
	}
		
}


// --- printing
function doPrint() {
	if (window.print) window.print();
	else if (document.all) IEPrint();
	else alert("Click Print button to print this page.");		
}

// --- mouse
function mouseMove(e) {
	var x = (is.ns)? e.pageX : event.clientX+document.body.scrollLeft;
	var y = (is.ns)? e.pageY : event.clientY+document.body.scrollTop;

	for (i = 1; i<Menus.length; i++)
		if (!Menus[i].inbound(x, y)) 
			Menus[i].hide();

	return true;
}


// --- main init
function initMain() {

	if (pageid.lvl == 1) {
		document.onmousemove = mouseMove;
		if (is.ns4) document.captureEvents(Event.MOUSEMOVE);
	
		Menus = new Array();
		Menus[1] = new JSFDropMenu("dropmenu1");
		Menus[2] = new JSFDropMenu("dropmenu2");
		Menus[3] = new JSFDropMenu("dropmenu3");
		Menus[4] = new JSFDropMenu("dropmenu4");
		Menus[5] = new JSFDropMenu("dropmenu5");
		//Menus[6] = new JSFDropMenu("dropmenu6");
	}

	else if (pageid.lvl == 6) {
		document.onmousemove = mouseMove;
		if (is.ns4) document.captureEvents(Event.MOUSEMOVE);
		
		Menus = new Array();
		Menus[1] = new JSFDropMenu("dropmenu1");
		Menus[2] = new JSFDropMenu("dropmenu2");
	}

	setActiveMenu();
	setActiveImgs();

}

