// JavaScript Document
/***********************************************************************************************
**
** Funkcje
** version 1.0
**
***********************************************************************************************/

// zmienne globalne
var bReady	= false;
var mHlImg	= null;					// ID obrazka aktualnie podswietlonego

/**
 * Funkcja pobiera i zwraca rodzaj przegladarki odwiedzajacego strone
 *
 * @return	object										- objekt z typami przegladarek
 */
function m2s_DetectBrowser() {
	this.agent = navigator.userAgent.toLowerCase();
  this.opera = (this.agent.indexOf("opera")!=-1);
  this.ns6 = (navigator.vendor == "Netscape" || navigator.product == "Gecko");
  this.DOM = (document.getElementById) ? true : false;
 	this.nn4 = (document.layers) ? true : false;
 	this.all = (document.all) ? true : false;
  this.ok = (this.DOM || this.all || this.nn4);

  return this;
}
var oBrowser = new m2s_DetectBrowser();

function m2s_StatusMsg(sMsg) {
	if (oBrowser.opera) {
  	defaultStatus = sMsg;
	}
	else {
  	status = sMsg;
	}
  return;
} // end of m2s_StatusMsg() function


/**
 * Metoda zaswieca/gasi wskazany orazek
 *
 * @param		bool		bHilite										- true: zaswiec; false: zgas
 * @param		string	sImgName									- nazwa obrazka
 * @param		string	sImgSign									- oznaczenie obrazka
 * @return	void
 */
function m2s_HiliteImage(bHilite, sImgName) {
	if (bReady) {
		if (document.images[sImgName]) {
			document.images[sImgName].src = eval(sImgName + "_image_" + (bHilite?"on":"off") + ".src");
		}
	}
}

function m2s_showPopup(sURL, iImgWidth, iImgHeight, sImgAlt) {
  var iWindowWidth  = iImgWidth;
  var iWindowHeight = iImgHeight;
  var sParameters   = '';
  var sWindowName   = '';
  var sScrollbars   = '';
  if (iWindowHeight > screen.availHeight || iWindowWidth > screen.availWidth) {
    sScrollBars = 'scrollbars=yes';
    if (iWindowHeight > screen.availHeight) {
      iWindowHeight = screen.availHeight;
      if ((screen.availWidth - iWindowWidth) > 20) {
        iWindowWidth += 20;
      }
      else {
        iWindowWidth = screen.availWidth;
      }
    }
    if (iWindowWidth > screen.availWidth) {
      iWindowWidth = screen.availWidth;
      if ((screen.availHeight - iWindowHeight) > 20) {
        iWindowHeight += 20;
      }
      else {
        iWindowHeight = screen.availHeight;
      }
    }
  }
  else {
    sScrollBars = 'scrollbars=no';
  }
  //alert('Height: ' + screen.height + "\nWidth: " + screen.width + "\nAvailHeight: " + screen.availHeight + "\nAvailWidth: " + screen.availWidth);
  sParameters = "width=" + iWindowWidth + ",height=" + iWindowHeight + ", toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, left=" + eval((screen.width - iWindowWidth) / 2) + ", top=" + eval((screen.height - iWindowHeight) / 2) + ", " + sScrollBars;
  sWindowName = sURL.replace(/\//gi, '_');
  sWindowName = sWindowName.replace(/\\/gi, '_');
  sWindowName = sWindowName.replace(/\./gi, '_');
  sWindowName = sWindowName.replace(/:/gi, '_');
  sWindowName = sWindowName.replace(/,/gi, '_');
  window.open(sURL, sWindowName, sParameters);
}

// funkcja tworzaca nowe okno
function m2s_openWindow(sURL, sWindowName, iWindowWidth, iWindowHeight) {
  var sParameters = "width=" + eval(iWindowWidth) + ",height=" + eval(iWindowHeight) + ",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,left=" + eval((screen.width/2)-(iWindowWidth/2)) + ",top=" + ((screen.height/2)-(iWindowHeight/2));

    window.open(sURL, sWindowName, sParameters);
}

/** funkcje preloadujaca obrazki
 * funkcja wywolywana jest z lista argumentow z ktorych kolejne oznaczaja
 * na przemian nazwe zmiennej oraz obrazka
 */
function m2s_PreloadImages() {
	// lista argumentow z jakimi wywolano funkcje
	var aArguments	= m2s_PreloadImages.arguments;
	if (aArguments.length == 0) {
		return;
	}
	for (var i=0; i<aArguments.length; i++) {
		if (i%2 == 0) {
			// parzysty index - aktualny element nazwa zmiennej
			eval(aArguments[i] + "_image_on = new Image();");
			eval(aArguments[i] + "_image_off = new Image();");
			eval(aArguments[i] + "_image_on.src = \"../images/" + aArguments[i+1] + "1.gif\";");
			eval(aArguments[i] + "_image_off.src = \"../images/" + aArguments[i+1] + "0.gif\";");
		}
	}
	bReady = true;
} // end of m2s_PreloadImages() function

/**
 * Funkcja sprawdza czy dlugosc tekstu w podanym polu
 * oField nie jest dluzsza od iMaxLength. Jezeli jest
 * obcina tekst do podanej dlugosci.
 * @return  void
 */
	function m2s_CheckTextLength(oField, iMaxLength, sAlertText) {
    if (oField.value.length > iMaxLength) {
      oField.value = oField.value.substring(0, iMaxLength);
      alert(sAlertText.replace('%LENGTH%', iMaxLength));
    }
  }
  
/**
 * Funkcja dodaje strone do ulubionych (tylko IE)
 *
 * @param		string		sURL						- adres strony
 * @param		string		sName						- nazwa strony
 */
	function m2s_AddToBookmark(sURL, sName) {
		if (document.all) {
			window.external.AddFavorite(sURL, sName);
		}
	}

/**
 * Funkcja ustawia strone jako startowa (tylko IE)
 *
 * @param		string		sURL						- adres strony
 */
	function m2s_SetHomePage(oA, sURL) {
		if (document.all) {
			oA.style.behavior='url(#default#homepage)';
			oA.setHomePage(sURL);
		}
	}