function changeLink( location ) {
    if ( location!="nullOption" ) {
      document.getElementById('useful').action=location;
      document.getElementById('useful').submit();
    }
}
    

function openPopUPFlash(page, width, height) {
	msg = window.open(page,'PopUp','width='+width+' ,height='+height+',directories=no,location=no,menubar=no,scrollbars=yes,resizable=no,status=no,toolbar=no,systemmenu=no');
	msg.focus();
 }
    
function openPopUPNoScroll(page, width, height) {
	msg = window.open(page,'PopUp','width='+width+' ,height='+height+',directories=no,location=no,menubar=no,scrollbars=no,resizable=no,status=no,toolbar=no,systemmenu=no');
	msg.focus();
 }

function openPopUP(page) {
	msg = window.open(page,'PopUp','width=616,height=600,directories=no,location=no,menubar=no,scrollbars=yes,resizable=no,status=no,toolbar=no,systemmenu=no');
	msg.focus();
 }
         
var jest_flash = 0;

if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
    if (navigator.plugins && navigator.plugins["Shockwave Flash"])
        jest_flash = 1;
}

else if (navigator.userAgent && navigator.userAgent.indexOf("MSIE")>=0 && (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.indexOf("Windows NT")>=0)) {
    document.write('<SCRIPT LANGUAGE=VBScript\> \n');
    document.write('on error resume next \n');
    document.write('jest_flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3")))\n');
    document.write('if ( jest_flash <= 0 ) then jest_flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4")))\n');
    document.write('if ( jest_flash <= 0 ) then jest_flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n');
    document.write('if ( jest_flash <= 0 ) then jest_flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6")))\n');
    document.write('if ( jest_flash <= 0 ) then jest_flash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7")))\n');
    document.write('</SCRIPT\> \n');
    
}

// Zwraca pozycje absolutna elementu
function getOffsetTopElement(element){
	 var coords = {x: 0, y: 0, h: 0, w: 0};
	 coords.w = element.offsetWidth;
	 coords.h = element.offsetHeight;
	 while (element && element.tagName.toLowerCase() != "body") {
//	 element.style.border = "solid 1px blue";
//	 if(element.offsetParent) element.offsetParent.style.border = "solid 1px red";
	  coords.x += element.offsetLeft;
//	  alert(element.offsetLeft+":"+coords.x+";"+element.offsetParent.tagName+":"+element.tagName);
	  coords.y += element.offsetTop;
	  element = element.offsetParent;
	 }
	 return coords;
}

//Ustawia dodatkowy layer na dokumencie i wywoluje polecenie drukowania
function prepareForPrint(id){
	op=window.opera;
	if (op){
		window.onload=window.print;
	} else {
		window.print();
	}
	document.getElementById(id).style.height=document.body.scrollHeight;

}

//Ogranicza mozliwosc wpisania do textarea wiecej niz n znakow
function limitText(area, chars){
	area.value = area.value.slice(0,chars);
}

function writeToLayer(layer,value) {
	if(document.all){
		document.all[layer].innerHTML = value;
	} else {
		over = document.getElementById(layer);
		range = document.createRange();
		range.setStartBefore(over);
		domfrag = range.createContextualFragment(value);
		while (over.hasChildNodes()) {
			over.removeChild(over.lastChild);
		}
		over.appendChild(domfrag);
	}
}

function countLength(length, textAreaObj, infoDiv, alertText) {
	var nBodyLength = textAreaObj.value.length;
	if (nBodyLength > length) {
		alert(alertText);
		textAreaObj.value = textAreaObj.value.substring(0,length);
		nBodyLength = textAreaObj.value.length;
	}
	var info = length - nBodyLength;
	writeToLayer(infoDiv, info);
}

/******************
* ProcessRequest *
******************/

        var NS = (document.layers) ? 1 : 0;
        var NS6= (document.getElementById) ? 1 : 0;
        var IE = (document.all) ? 1: 0;
        var isIE = navigator.appVersion.match(/msie/i)? 1 : 0;
        var isIE50 = navigator.appVersion.match(/msie 5\.0/i)? 1 : 0;
        
        function getLayer(name){
                 if (NS) {
                     return document[name];
                 } else if (NS6) {
                     return document.getElementById(name);
                 } else if (IE) {
                     return document.all[name];
                 }
        }
        function getLayerStyle(layer){
                 if (NS) {
                     return layer;
                 } else if (NS6) {
                     return layer.style;
                 } else if (IE) {
                     return layer.style;
                 }
        }

    function createDivPr(style){
        var DIV = document.createElement("DIV");
        DIV.className = style;
        getLayerStyle(DIV).visibility = "hidden";
        return DIV;
    }

    var prDiv = 0;

    function processRequest(elem, w, h){
        if(!document.appendChild || !document.createElement){
            return;
        }
        var layer = getLayer(elem);
        if(!prDiv){
        	// ustawiamy style dla div-a.  
        	// Niestety nie mamy gdzie wrzucic do css.
            prDiv = createDivPr("processRequest");
            prDiv.style.textAlign = "center";
            prDiv.style.backgroundColor = "white";
            prDiv.style.position = "absolute";
            prDiv.style.zIndex = "9";
            var img = document.createElement("IMG");
            img.src = "/b/tp/static/please_wait.gif";
            prDiv.appendChild(img);
            layer.appendChild(prDiv);
        }
        if(layer){
            var pos = getOffsetTopElement(layer);
            var w_ = (w ? w : pos.w);
            var h_ = (h ? h : pos.h);
            showDiv(prDiv,pos.x, pos.y, w_, h_);
	        layer.style.display = "none";
	        prDiv.parentLayer = layer;
        }
   }

    function processRequestOff(){
        if(prDiv){
            prDiv.parentLayer.style.display = "block";
            getLayerStyle(prDiv).visibility = "hidden";
            showFormElements();
        }
    }

    function showDiv(div, posX, posY, width, height){
        //alert(posX+';'+posY+';'+width+';'+height);
       var divStyle = getLayerStyle(div);
        divStyle.position = "absolute";
        divStyle.left = posX + "px";
        divStyle.top = posY + "px";
        divStyle.width = width + "px";
        divStyle.height = height + "px";
        setupChilds(div);
        divStyle.visibility = "visible";
        hideFormElements(div);
    }
    /**
    * ustawia elementy po srodku wastwy na wysokosc
    */
    function setupChilds(element){
        if(element.hasChildNodes()){
    	var hm = element.offsetHeight / 2;
    	var kids = element.childNodes;
        	for (var i = 0; i < kids.length; i++) {
		        var k = kids[i];
        		var khm = k.offsetHeight / 2;
        		getLayerStyle(k).position="relative";
        		getLayerStyle(k).top = (hm - khm) + "px";
        	}
        }
    }
    
    /**
    * Ukrywanie elementow formularza pod wastwa
    */
    var formElementsOff = Array();
    
    function hideFormElements(divHandler){
// dotyczy IE
        if(!IE) return;
        showFormElements()
        var tag = new Array();
        var e = 0;
// tylko selecty wylaczamy.
//      tag[e++] = document.getElementsByTagName("input");
//      tag[e++] = document.getElementsByTagName("textarea");
        tag[e++] = document.getElementsByTagName("select");
        var elemPos = getOffsetTopElement(divHandler);
        formElementsOff = new Array();
        m = 0;
        for(k = 0; k<tag.length; k++){
                for( i = 0; i < tag[k].length; i++ ){
                        offsetElement = getOffsetTopElement(tag[ k ][ i ]);
                        if( offsetElement.y < elemPos.y+elemPos.h && offsetElement.y+offsetElement.h > elemPos.y && offsetElement.x < elemPos.x+elemPos.w && offsetElement.x+offsetElement.w > elemPos.x ){
                                formElementsOff[ m++ ] = tag[ k ][ i ];
                                tag[ k ][ i ].style.visibility = "hidden";
                        }
                }
        }
    }
    function showFormElements(){
        if(!IE) return;
        for(k = 0; k<formElementsOff.length; k++){
                formElementsOff[ k ].style.visibility = "visible";
        }
        formElementsOff = Array();
    }
    
    
var elementsInfoArray = Array();

function showButton(outerName, elemToShow){
    var outer = elementsInfoArray[outerName];
	var showElem = elementsInfoArray[elemToShow];
    if(!showElem){
        showElem = getLayer(elemToShow);
    }
	if(getLayerStyle(showElem).visibility == "visible"){
		debug("element is visible");
		return;
	}
    if(!outer){
        outer = getLayer(outerName);
        getLayerStyle(outer).position = "relative";
        elementsInfoArray[outerName] = outer;
    }
    var outerHeight = outer.offsetHeight;
	var scrolled = outer.scrollTop;
	var scrollHeight = outer.scrollHeight;
    if(scrollHeight <= (scrolled + outerHeight)){
//    alert("hello:"+ document.all);
		debug("showEl");
//        getLayerStyle(showElem).visibility = "visible";
        getLayerStyle(showElem).backgroundImage = "url(/b/static/button/akceptuje.gif)"
        showElem.removeAttribute("disabled");
    }
}
var debugOn = 0;
var debugI = 0;
function debug(text){
    if(!debugOn) return;
    var debugElName = "debug";
    var debugEl = elementsInfoArray[debugElName];
    if(!debugEl){
        debugEl = getLayer(debugElName);
        elementsInfoArray[debugElName] = debugEl;
    }
    debugEl.value = debugI+": "+text + "\n" + debugEl.value;
    debugI += 1;
}

var nparam='';
function openCalendar( fieldId ){
    var calWindow = window.open('/b/calendar/ecare_calendar.html','calendar','width=226,height=182,resizable=no,scrollbars=no');
    calWindow.focus();
    nparam=fieldId;
}


function topLayerStart(){
	var selectObjects = document.body.getElementsByTagName("select");
	if(selectObjects){
		for (var i = 0; i < selectObjects.length; i++) {
			selectObjects[i].style.visibility = 'hidden';
		}
	}
}

function topLayerStop(){
	if(document.getElementById('toplayer')){
		document.getElementById('toplayer').style.display = 'none';
	}
	var selectObjects = document.body.getElementsByTagName("select");
	if(selectObjects){
		for (var i = 0; i < selectObjects.length; i++) {
			selectObjects[i].style.visibility = 'visible';
		}
	}
}

function autoTab(input,len,e,nextObj) {
	var keyCode = e.keyCode; 
	var filter = [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		//input.value = input.value.slice(0, len);
		if(document.getElementById(nextObj)){
			document.getElementById(nextObj).focus();
		}
	}
}

function containsElement(arr, ele) {
	var found = false, index = 0;
	while(!found && index < arr.length)
		if(arr[index] == ele)
			found = true;
		else
			index++;
	return found;
}

function openNewWindow(page) {
	wnd = window.open(page,'_blank');
	wnd.focus();
}