
/**
 * @author Sławomir Kokłowski {@link http://www.kurshtml.boo.pl}
 * @copyright NIE usuwaj tego komentarza! (Do NOT remove this comment!)
 */

function Menu(id, style, otworz, wysun, czasRozwin, czasZwin, czasOtworz, czasZamknij)
{
	if (typeof czasRozwin == 'undefined' || czasRozwin < 0) czasRozwin = 25;
	if (typeof czasZwin == 'undefined' || czasZwin < 0) czasZwin = 25;
	if (typeof czasOtworz == 'undefined' || czasOtworz < 0) czasOtworz = 250;
	if (typeof czasZamknij == 'undefined' || czasZamknij < 0) czasZamknij = 500;
	
	if (style)
	{
		style = style.replace(/(^\s+|(\s|;)+$)/g, '').split(/\s*;\s*/);
		for (var i = 0; i < style.length; i++)
		{
			style[i] = style[i].split(/\s*:\s*/);
			for (var j = 0, c, property = ''; j < style[i][0].length; j++)
			{
				c = style[i][0].charAt(j);
				property += c == '-' ? style[i][0].charAt(++j).toUpperCase() : c.toLowerCase();
			}
			eval('document.getElementById("' + id + '").style.' + property + ' = "' + style[i][1].replace(/"/g, '\\"') + '"');
		}
	}
	
	for (var i = 0; i < document.getElementById(id).getElementsByTagName('dt').length; i++)
	{
		var dd = new Array();
		var el = document.getElementById(id).getElementsByTagName('dt')[i].nextSibling;
		var nodeName;
		while (el && (nodeName = el.nodeName.toLowerCase()) != 'dt')
		{
			if (nodeName == 'dd')
			{
				el._dt = document.getElementById(id).getElementsByTagName('dt')[i];
				if (otworz)
				{
					el.onmouseover = function()
					{
						clearTimeout(this._dt._timoutID);
						this._dt._displayed = false;
						this._dt.onclick();
					}
					el.onmouseout = function()
					{
						clearTimeout(this._dt._timoutID);
						var dt = this._dt;
						this._dt._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
					};
				}
				dd[dd.length] = el;
			}
			el = el.nextSibling;
		}
		document.getElementById(id).getElementsByTagName('dt')[i]._dd = dd;
		document.getElementById(id).getElementsByTagName('dt')[i]._timoutID = null;
		//document.getElementById(id).getElementsByTagName('dt')[i]._displayed = false;
		document.getElementById(id).getElementsByTagName('dt')[i].onclick = function()
		{
			clearTimeout(this._timoutID);
			if (!this._displayed)
			{
				var el = this.parentNode.getElementsByTagName('dt')[0];
				while (el)
				{
					if (el.nodeName.toLowerCase() == 'dt' && el != this)
					{
						el._displayed = false;
						if (czasZwin) display(el, 0);
						else display(el);
					}
					el = el.nextSibling;
				}
			}
			this._displayed = !this._displayed;
			if (this._displayed && czasRozwin || !this._displayed && czasZwin) display(this, 0);
			else display(this);
		};
		if (otworz)
		{
			document.getElementById(id).getElementsByTagName('dt')[i].onmouseover = function()
			{
				clearTimeout(this._timoutID);
				var dt = this;
				this._timoutID = setTimeout(function () { dt._displayed = false; dt.onclick(); }, czasOtworz);
			};
			document.getElementById(id).getElementsByTagName('dt')[i].onmouseout = function()
			{
				clearTimeout(this._timoutID);
				var dt = this;
				this._timoutID = setTimeout(function () { dt._displayed = true; dt.onclick(); }, czasZamknij);
			};
		}
	}
	
	for (var i = 0; i < document.getElementById(id).getElementsByTagName('dd').length; i++)
	{
		with (document.getElementById(id).getElementsByTagName('dd')[i])
		{
			if (getElementsByTagName('a').length && getElementsByTagName('a')[0].href && unescape(getElementsByTagName('a')[0].href) == unescape(window.location.href)) className = (className ? className + ' ' : '') + 'active';
		}
	}
	
	start(document.getElementById(id).getElementsByTagName('dt')[0]);
	
	function start(dt)
	{
		var hide = true;
		var el = dt;
		while (el)
		{
			var nodeName = el.nodeName.toLowerCase();
			if (nodeName == 'dt')
			{
				dt = el;
				hide = true;
				if (!el._displayed) 				hide = true;
				else hide = false;

			}
			else if (nodeName == 'dd')
			{
				if (el.getElementsByTagName('a').length && el.getElementsByTagName('a')[0].href && unescape(el.getElementsByTagName('a')[0].href) == unescape(window.location.href))
				{
					dt._displayed = true;
					display(dt);
					hide = false;
					var el_parentNode = el.parentNode;
					while (el_parentNode != document.getElementById(id))
					{
						if (el_parentNode.nodeName.toLowerCase() == 'dd')
						{
							var el_sibling = el_parentNode.previousSibling;
							while (el_sibling)
							{
								if (el_sibling.nodeName.toLowerCase() == 'dt')
								{
									el_sibling._displayed = true;
									display(el_sibling)
									break;
								}
								el_sibling = el_sibling.previousSibling;
							}
						}
						el_parentNode = el_parentNode.parentNode;
					}
				}
				if (hide) el.style.display = 'none';
				start(el.getElementsByTagName('dt')[0]);
			}
			el = el.nextSibling;
		}
	}
	
	function display(dt, i)
	{
		if (typeof i == 'undefined')
		{
			for (var i = 0; i < dt._dd.length; i++)
			{
				dt._dd[i].style.display = dt._displayed ? 'block' : 'none';
			}
		}
		else if (i < dt._dd.length)
		{
			var dir = wysun ? !dt._displayed : dt._displayed;
			dt._dd[dir ? i : dt._dd.length - 1 - i].style.display = dt._displayed ? 'block' : 'none';
			dt._timoutID = setTimeout(function() { display(dt, i + 1); }, dt._displayed ? czasRozwin : czasZwin);
		}
	}
}



function displayWindow(url, width, height) {
	var zm = url.replace(/\W/, '_');
	for (var i = 0; i < url.length; i++){
		zm =  zm.replace(/\W/, '_');
	}
	var Win = window.open(url,zm.toString(),'pageXOffset=200,pageYOffset=200,width=' + width + ',height=' + height + ',resizable=no,scrollbars=yes,menubar=no,toolbar=no,locationbar=no,personalbar=no,statusbar=no,dependent=yes,alwaysRaised=yes' );
	Win.moveTo((Win.opener.outerWidth/2)-(Win.outerWidth/2),(Win.opener.outerHeight/2)-(Win.outerHeight/2));
}


function sprawdz_bank_add(formularz){
    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];
	if (pole.name == "nazwa" && pole.value == ""){
	    alert("Nazwa musi zostać podana!");	  
	    return false;
	}
	if (pole.name == "prefix" && pole.value == ""){
	    alert("Prefix musi zostać podany!");	  
	    return false;
	}
    }
    return true;
}

function sprawdz_kontokosztow_add(formularz){
    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];
	if (pole.name == "nazwa" && pole.value == ""){
	    alert("Nazwa musi zostać podana!");	  
	    return false;
	}
    }
    return true;
}

function sprawdz_przejazd_add(formularz){
	var godzodjazdu, godzprzyjazdu, odjazd;
	var kmodjazdu, kmprzyjazdu;
	var kmodjazd;

    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];

	if (pole.name == "odjazdgodz"){
		godzodjazdu = pole.value;
	}
	if (pole.name == "przyjazdgodz"){
		godzprzyjazdu = pole.value;
	}
	if (pole.name == "przyjazdkm"){
		kmprzyjazdu = eval(pole.value);
	}
	if (pole.name == "odjazdkm"){
		kmodjazdu = eval(pole.value);
	}
	if (pole.name == "odjazd"){
		odjazd = pole.value;
	}


	if (pole.name == "odjazdgodz" && pole.value == ""){
	    alert("Odjazd musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "przyjazdgodz" && pole.value == ""){
	    alert("Przyjazd musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "odjazdkm" && pole.disabled == true){
	    kmodjazd = pole;
	    pole.disabled = false;
	}
	if (pole.name == "odjazdkm" && pole.disabled == true){
	    alert("Pole disabled!");	  
	    return false;
	}
	if (pole.name == "przyjazdkm" && pole.value == ""){
	    alert("Stan licznika musi zostać podany!");	  
	    kmodjazd.disabled = true;
	    return false;
	}
    }

    if(godzprzyjazdu < godzodjazdu){
	alert("Godzina powrotu mniejsza od odjazdu!");	  
	kmodjazd.disabled = true;
	return false;
    }
    if(!(godzodjazdu > odjazd)){
	alert("Godzina odjazdu mniejsza od poprzedniego odjazdu!");	  
	kmodjazd.disabled = true;
	return false;
    }
    if(kmprzyjazdu < kmodjazdu){
	alert("Licznik powrotu mniejszy od odjazdu!");	  
	kmodjazd.disabled = true;
	return false;
    }

    return true;
}



function sprawdz_praca_add(formularz){
	var poczatek, koniec;

    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];

	if (pole.name == "poczatekpracygodz"){
		poczatek = pole.value;
	}
	if (pole.name == "koniecpracygodz"){
		koniec = pole.value;
	}


	if (pole.name == "poczatekpracygodz" && pole.value == ""){
	    alert("Początek Pracy musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "koniecpracygodz" && pole.value == ""){
	    alert("Koniec Pracy musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "datapracy" && pole.value == ""){
	    alert("Data Pracy musi zostać podana!");	  
	    return false;
	}
    }

    if(koniec < poczatek){
	alert("Godzina Końca mniejsza od Początku Pracy!");	  
	return false;
    }
    
    return true;
}




function sprawdz_ksiega_add(formularz){
    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];
	if (pole.name == "nazwa" && pole.value == ""){
	    alert("Nazwa musi zostać podana!");	  
	    return false;
	}
    }
    return true;
}

function sprawdz_pojazd_add(formularz){
    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];
	if (pole.name == "marka" && pole.value == ""){
	    alert("Marka musi zostać podana!");	  
	    return false;
	}
	if (pole.name == "model" && pole.value == ""){
	    alert("Model musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "rodzaj" && pole.value == ""){
	    alert("Rodzaj pojazdu musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "rokprodukcji" && pole.value == ""){
	    alert("Rok produkcji musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "numerrejestracyjny" && pole.value == ""){
	    alert("Numer rejestracyjny musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "rodzajpaliwa" && pole.value == ""){
	    alert("Rodzaj paliwa musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "normalato" && pole.value == ""){
	    alert("Letnia Norma Paliwa musi zostać podana!");	  
	    return false;
	}
	if (pole.name == "normazima" && pole.value == ""){
	    alert("Zimowa Norma Paliwa musi zostać podana!");	  
	    return false;
	}
	if (pole.name == "nrinwentarzowy" && pole.value == ""){
	    alert("Numer inwentarzowy musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "stanpaliwa" && pole.value == ""){
	    alert("Początkowy stan paliwa musi zostać podany!");	  
	    return false;
	}
	if (pole.name == "stanlicznika" && pole.value == ""){
	    alert("Początkowy stan licznika musi zostać podany!");	  
	    return false;
	}


    }
    return true;
}

function ukryj_pokaz(element){
    if(document.getElementById(element).style.display==''){
	document.getElementById(element).style.display = 'none';
	document.getElementById("przycisk").value="Pokaż";
	document.getElementById("przycisk2").innerHTML='<a href="#" OnClick="ukryj_pokaz(\'warstwa1\')">Pokaż</a>';
    }else{
	document.getElementById(element).style.display = '';
	document.getElementById("przycisk").value="Schowaj";
	document.getElementById("przycisk2").innerHTML='<a href="#" OnClick="ukryj_pokaz(\'warstwa1\')">Schowaj</a>';
    }
}

function sprawdz_rodzajpojazdu_add(formularz){
    for (i = 0; i < formularz.length; i++){
	var pole = formularz.elements[i];
	if (pole.name == "rodzaj" && pole.value == ""){
	    alert("Rodzaj musi zostać podany!");	  
	    return false;
	}
    }
    return true;
}

