
f_searchNewSearch = function(idFormElement, orderBy)  {
 var form=e(idFormElement);
 form.pageNumber.value=1;
 form.orderBy.value=orderBy;
 form.submit();
}

f_searchOrderBy = function(idFormElement, column) {
 var orderByElement=e(idFormElement).orderBy;
 if (orderByElement.value==column) {
  orderByElement.value = -orderByElement.value; 
 } else {
  orderByElement.value=column
 }
 e(idFormElement).pageNumber.value=1;
 e(idFormElement).submit();
}

f_searchChangePage=function(idFormElement, page) {
 e(idFormElement).pageNumber.value=page;
 e(idFormElement).submit();
}

function f_mpSwitchDomy() {
 e('id_domSearchFormPane').style.display='';
 e('id_garazSearchFormPane').style.display='none';
 e('id_sfTabs').style.backgroundImage="url('/i/sf/sfTabDomy750.gif')";
 e('id_sfTab1').className="sfTabLabelActive";
 e('id_sfTab2').className="sfTabLabelInactive";
 return false;
}

function f_mpSwitchGaraze() {
 e('id_domSearchFormPane').style.display="none";
 e('id_garazSearchFormPane').style.display="";
 e('id_sfTabs').style.backgroundImage="url('/i/sf/sfTabGaraze750.gif')";
 e('id_sfTab1').className="sfTabLabelInactive";
 e('id_sfTab2').className="sfTabLabelActive";
 return false;
}

function f_mOverWspolpraca() {
 e('id_wspolpraca').src="/i/header/wspolpracaOn.gif";
}
function f_mOutWspolpraca() {
 e('id_wspolpraca').src="/i/header/wspolpraca.gif";
}
function f_mOverDlaczego() {
 e('id_dlaczego').src="/i/header/dlaczegoOn.gif";
}
function f_mOutDlaczego() {
 e('id_dlaczego').src="/i/header/dlaczego.gif";
}
function f_mOverKontakt() {
 e('id_kontakt').src="/i/header/kontaktOn.gif";
}
function f_mOutKontakt() {
 e('id_kontakt').src="/i/header/kontakt.gif";
}
function f_mouseOverSchowek() {
 e('id_schowekPane').style.backgroundImage="url('/i/schowekBg180x35Selected.gif')";
}
function f_mouseOutSchowek() {
e('id_schowekPane').style.backgroundImage="url('/i/schowekBg180x35.gif')";
}
function f_mouseClickSchowek() {
window.location.href="/?action=sSchowek";
}
function f_dodajDoSchowka(idProjekt) {
 makeRequest('/?action=sAjaxSchowekDodaj&idProjekt='+idProjekt, f_dodajDoSchowkaResponseHandler);
}

function f_dodajDoSchowkaResponseHandler(responseXML) {
 var msg = xmlV(responseXML, "msg");
 var ileWSchowku = xmlV(responseXML, "ileWSchowku");
 var projektyLabel = xmlV(responseXML, "projektyLabel");

 e("id_pageMsg").innerHTML = msg;
 showPageMessagePane(true);

 e("schowekIlosc").innerHTML = ileWSchowku;
 e("schowekProjektyLabel").innerHTML = "&nbsp;" + projektyLabel;
}

function f_checkCharsAllowedOnly(inputString, allowedChars) {
 var isNumber=true;
 var currentChar;
 for (i = 0; i < inputString.length && isNumber == true; i++) { 
  currentChar= inputString.charAt(i); 
  if (allowedChars.indexOf(currentChar) == -1) {
   isNumber = false;
  }
 }
 return isNumber;
}

function f_isInt(value) {
   var allowedChars = "0123456789";
   return f_checkCharsAllowedOnly(value, allowedChars);
}

function f_isDouble(value) {
   var allowedChars = "0123456789.,";
   return f_checkCharsAllowedOnly(value, allowedChars);
}

function f_checkCharsAllowedOnly(inputString, allowedChars) {
 var isNumber=true;
 var currentChar;
 for (i = 0; i < inputString.length && isNumber == true; i++) { 
  currentChar= inputString.charAt(i); 
  if (allowedChars.indexOf(currentChar) == -1) {
   isNumber = false;
  }
 }
 return isNumber;
}

function f_isInt(value) {
   var allowedChars = "0123456789";
   return f_checkCharsAllowedOnly(value, allowedChars);
}

function f_isDouble(value) {
   var allowedChars = "0123456789.,";
   return f_checkCharsAllowedOnly(value, allowedChars);
}


var savedId="";
var savedClassName="";
function unchangeLastChanged() {
 if (savedId!="") {
  el=document.getElementById(savedId);
  el.className=savedClassName;
 }
}
function changeClassName(id, className) {
 unchangeLastChanged();
 el=document.getElementById(id);
 savedId=id;
 savedClassName=el.className;
 el.className=className;
}

function newWindowNoWidgets(url, width, height, wName ) {
 var windowName="";
 if (wName!=null) {
  windowName=wName;
 }
 w=window.open(url, windowName, "height="+height+",width="+width+",status=no,scrollbars=no,menubar=no,location=no");
 return w;
}

function newWindowWithScrollbarsNoWidgets(url, width, height, wName) {
	 var windowName="";
	 if (wName!=null) {
	  windowName=wName;
	 }
	 w=window.open(url, windowName, "height="+height+",width="+width+",status=no,scrollbars=yes,menubar=no,location=no");
	 return w;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function validDate(data) {
  if (data.length==10) {
    aos = data.split('-');
    if (aos.length==3) {
      if ((!parseInt(aos[2],10)) || (!parseInt(aos[1],10)) || (!parseInt(aos[0],10))
        || (parseInt(aos[2],10)>31) || (parseInt(aos[1],10)>12) || (parseInt(aos[0],10)<1000)) {
        return false;
      }
      if ((aos[0].length==4) && (aos[1].length==2) && (aos[2].length==2)) {
        return true;
      }
    }
  }
  
  return false;
}

/**
 * Czy podany lancuch jest typu liczbowego double.
 *
 * @param str wartosc elementu
 * @return true jezeli tak
 */
function isDouble(str){
 str=str.replace(",", ".");
 str=stripLeadingZeros(str);
 str=stripTrailingZeros(str);
 var f=parseFloat(str);
 if (isNaN(f)) return false;
 if (f.toString()!=str) return false;
 return true;
}

/**
 * Usuwa z lancucha nieznaczace zera czesci ulamkowej.
 * Usuwa równiez przecinek/kropke jezeli nie ma po nich cyfr.
 *
 * @param num lancuch
 * @return oczyszczony lancuch
 */
function stripTrailingZeros(num) {
 var j=num.length;
 if(j==0) return "0";
 if((num.indexOf(".")>=0) || (num.indexOf(",")>=0)){
  while ((num.charAt(j-1)=='0')&&(j>0)) j--;
 }
 if((num.charAt(j-1)=='.') || (num.charAt(j-1)==',')) j--;
 num=num.substring(0,j);
 if(num.length==0) return "0";
 return num;
}

/**
 * Z podanego lancucha usuwa przodujace zera. 
 * Jezeli podany lancuch jest pusty to jest zwracany pusty lancuch.
 * Jezeli lancuch zawiera tylko 0 to jest zwracane 0.
 * Jezeli lancuch zaczyna sie od kropki to wstawia na poczatku zero.
 *
 * @param str liczba w postaci w łańcucha
 * @return oczyszczony łańcuch
 */
function stripLeadingZeros(str){
 var i=0;
 var j=str.length;
 if(j==0) return "";
 if(str=='0') return "0";
 while ((str.charAt(i)=='0')&&(i<j)) i++;
 str=str.substring(i,j);
 if(str.length==0) return "0";		// np. 000 => 0
 if(str.charAt(0)=='.') str='0'+str;// np. .01 => 0.01
 return str;
}

function formErrorMessage(msg) {
window.alert("@deprecated");
 var formErrorPane=document.getElementById("formErrorPane");
 var formErrorMsg=document.getElementById("formErrorMsg");
 formErrorMsg.innerHTML=msg;
formErrorPane.style.display="";
}


/*
 * Ustwia wartosc elementu na podstawie id.
 */
function s(idElement, value) {
 document.getElementById(idElement).value=value;
}

/*
 * Zwraca wartość elementu o danym id.
 */
function v(idElement) {
 return e(idElement).value;
}

/*
 * Zwraca element o danym id.
 */
function e(idElement) {
 return document.getElementById(idElement);
}

/*
 * Ustawia klasę CSS danemu elementowi.
 */
function setClass(idElement, className) {
 document.getElementById(idElement).className=className;
}


function showPageMessagePane(scrollTo) {
 e('id_pageMsgPane').style.display="";
 if (scrollTo) {	
  window.location.href="#a_pageMsgPane"; 	
 }
}

function setPageMessage(msg, idElement) {
 if (idElement==null) {
  idElement='id_pageMsg';
 }
 e(idElement).innerHTML=msg;	
}


function f_upShowPageMessagePane(scrollTo) {
 e('id_upPageMsgPane').style.display="";
 if (scrollTo) {	
  window.location.href="#a_upPageMsgPane"; 	
 }
}

function f_upHidePageMessagePane() {
 e('id_upPageMsgPane').style.display="none";
}


function f_upSetPageMessage(msg) {
 e('id_upPageMsg').innerHTML=msg;	
}

function xmlV(xml, tagName) {
	return xml.getElementsByTagName(tagName)[0].firstChild.nodeValue;
}

function showElements(idElementArray) {
	for (var i=0;i<idElementArray.length;i++) {
		show(idElementArray[i]);
	}
}

function hideElements(idElementArray) {
	for (var i=0;i<idElementArray.length;i++) {
		hide(idElementArray[i]);
	}
}


function show(idElement) {
	e(idElement).style.display="";
}
function hide(idElement) {
	e(idElement).style.display="none";
}

function t_hide(idElement) {
	e(idElement).style.display="none";
}

function t_show(idElement) {
	e(idElement).style.display="";
}

// przelaczenie stanu cb
cbSwitch = function(idElement) {
e(idElement).checked=!e(idElement).checked;
}
// zaznaczenie wielu cb
cbOnMulti = function(idElementPrefix, number) {
 for (var i=0;i<number;i++) {
  e(idElementPrefix+i).checked=true;
 }
}
// odznaczenie wielu cb
cbOffMulti = function(idElementPrefix, number) {
 for (var i=0;i<number;i++) {
  e(idElementPrefix+i).checked=false;
 }
}
// liczba cb zaznaczonych
cbCheckedMulti = function(idElementPrefix, number) {
 var retVal=0;
 for (var i=0;i<number;i++) {
  if (e(idElementPrefix+i).checked) {retVal++;}
 }
 return retVal;
}

proto_load = function(idElement, url) {
 e(idElement).innerHTML="<img src='/i/wait.gif'>"
 new Ajax.Updater(
  idElement, 
  url, 
  {evalScripts:true}
 ); 	
}


function iFlashVersion() {
	var i,v=0;
	if (navigator.plugins.length) {
		var p=navigator.plugins;
		if ((p)&&(p.length>0)&&(p['Shockwave Flash']))	{
			var w=p['Shockwave Flash'].description.split(' ');
				for(i=0;i<w.length;i++) {
					var j=parseInt(w[i]);
					if (!isNaN(j))
						v=Math.max(v,j);
				}
		}
		return(v);
  	} else {
		for(v=10;v>0;v--) {
			var x=null;
			try {
				x=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+v);
			} catch(e) {}
			if (x) return(v);
		}
		return(0);
	}
}

function iFlashHtml(src,width,height,id,bgcolor,flashvars) {
	/*var vars=[];
	for(e in flashvars) {
		vars.push(e+'='+iFlashEscape(flashvars[e]));
	}
	vars=vars.join('&');*/
	
	var html='';
	if (id) {
		html+='<SCRIPT LANGUAGE=VBScript\> \n';
		html+='on error resume next \n';
		html+='Sub '+id+'_FSCommand(ByVal command, ByVal args)\n';
		html+='  call '+id+'_DoFSCommand(command, args)\n';
		html+='end sub\n';
		html+='</SCRIPT\> \n';
	}
	html+='<object type="application/x-shockwave-flash"';
	html+='   width="'+width+'px"';
	html+='   height="'+height+'px"';
	if (id) {
		html+='   id="'+id+'"';
		html+='   name="'+id+'"';
	}
	html+='   data="'+src+'">';
	html+='<param name=movie value="'+src+'">';
	html+='<param name=flashvars value="'+flashvars+'">';
	html+='<param name=quality value=high>';
	html+='<param name=menu value=false>';
	if (bgcolor=='transparent')
		html+='<param name=wmode value=transparent>';
	else if (bgcolor)
		html+='<param name=bgcolor value='+bgcolor+'>';
	html+='</object>';
	//alert(html);
	return(html);
}

function iFlashGenerate(src,width,height,id,bgcolor,flashvars,install) {
	var html='';
	if ((!install)||(iFlashVersion()>=6)) {
		html+=iFlashHtml(src,width,height,id,bgcolor,flashvars);
	} else if (install) {
		html+='<p>Do prawidłowego działania serwisu wymagany jest plugin Macromedia Flash 6 lub nowszy.</p><p>';
		html+=iFlashHtml('layout/flash.swf',70,70,'href=index.php');
		html+='</p><p>Nie widzisz animacji? Zainstaluj plugin:</p><p>';
		html+='<a href="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" target=_blank><img src="layout/flash.gif" width=75 height=75></a>';
		html+='</p>';
	}
	document.write(html);
}

f_msgPaneShow = function(idPane) {
 if (idPane==null) {
  idPane="id_msgPane";
 }
 e(idPane).style.display="";
}

f_msgPaneContent = function(content, idPane) {
 if (idPane==null) {
  idPane="id_msgPane";
 }
 e(idPane+'-content').innerHTML=content;
}


