/*
06.12.2002: 	removed popup_center, opendialogbox function
		added center_popup which does a good job.

*/

function restrictLB(feld, listbox, modus) {
  var optionstext= new Array(listbox.length);
  for(i=0;i<listbox.length;i++) optionstext[i]=listbox.options[i].text;
  var optionswert = new Array(listbox.length);
  for(i=0;i<listbox.length;i++) optionswert[i]=listbox.options[i].value;
  // clear listbox
  listbox.length=0;

  // populate listbox from scratch
  counter=0;
  for(i=0;i<optionstext.length;i++) {
    if(modus=="am Anfang") {
      takeit=optionstext[i].toLowerCase().indexOf(feld.value.toLowerCase())==0;
    } else {
      takeit=optionstext[i].toLowerCase().indexOf(feld.value.toLowerCase())>=0
    }
    if (takeit) {
      listbox.options[counter]=new Option(optionstext[i],optionswert[i]);
      counter++;
    }
  }
}

function openLittleWindow(goURL, tempwidth, tempheight) {

if (!tempwidth) {
	tempwidth = 450; tempheight = 300 ;
}

screenX = (screen.availWidth - tempwidth)/2;
screenY = (screen.availHeight - tempheight)/2;

options = 'width=' + tempwidth + ',height=' + tempheight + ',scrollbars,resizable,alwaysRaised,dependent,screenX=' + screenX + ',screenY=' + screenY + ',left=' + screenX + ',top=' + screenY;

popupWin=window.open(goURL,'test', options);
popupWin.focus();

};

function openWindowWithOptions(goURL, tempwidth, tempheight, additionaloptions) {

if (!tempwidth) {
	tempwidth = 450; tempheight = 300 ;
}

screenX = (screen.availWidth - tempwidth)/2;
screenY = (screen.availHeight - tempheight)/2;

options = 'width=' + tempwidth + ',height=' + tempheight + 
	',screenX=' + screenX + 
	',screenY=' + screenY + ',left=' + screenX + ',top=' + screenY;
	
if (additionaloptions!='') {
	options = options + ',' + additionaloptions;
}


popupWin=window.open(goURL,'test', options);
if (popupWin) {
	popupWin.focus();
}

};

function center_popup(popup_url, popup_width, popup_height, popup_top_offset, popup_options) {

	// Position des Fensters berechnen
	var posx = (screen.availWidth - popup_width)/2;

	// offset wird z.B. wegen toolbar-Höhe abgezogen.
	var posy=(screen.availHeight - popup_height)/2-popup_top_offset;

	// Beistrich anfügen
	if (popup_options!='') popup_options = popup_options + ',';

	// Fenster öffnen und Fokus holen
	popup=window.open(popup_url,'',popup_options + 'width=' + popup_width + ',height=' + popup_height + ',screenX=' + posx+ ',screenY=' + posy + ',left=' + posx + ',top=' + posy + '');
	popup.focus();
	return(popup);
}


function getObjectIndex(objvalue, collection) {

var count=0;
var found=false;
var position=-1;

while (count <= collection.length && !found) {
	if (collection.elements[count].value==objvalue) {
	 	found=true;
	 	position=count;
	}
	count++;
}

return (position);
}

function getSelectIndex(objvalue, field) {

var count=0;
var found=false;
var position=-1;


while (count < field.options.length && !found) {

	if (field.options[count].value==objvalue) {
	 	found=true;
	 	position=count;
	}
	count++;
}

return (position);
}


function ButtonToText (feld) {
	var wert='';

	for (var i = 0; i < feld.length; i++) {
		if (feld[i].checked) {
			wert += feld[i].value;
		}
	}

	return(wert);
}

function trimArray (array) {
	var newarray = new Array;
	var newcounter = 0;
	for (i = 0; i < array.length; i++) {
		if (array[i]!=null && array[i] != '' ) {
			newarray[newcounter] = array[i];
			newcounter += 1;
		}
	}
	return newarray;
}

function OptionToArray( field) {
	var wert = new Array();
	var counter = 0;

	// handelt es sich um ein Textfeld, dann geben wir den Wert des Textfelds zurück
	if (field.type) if(field.type=='text') return field.value;

	for (var k=0; k < field.length;k++) {
		if (field.options[k].selected == true) {
			wert [counter]= field.options[k].text;
			counter++;
		}
	}

	return(wert);
}

function OptionToText (field, delimiter) {
        return (OptionToArray(field).join(delimiter));
}


function OptionValuesToArray( field ) {
	var wert = new Array();
        var counter = 0;

	// handelt es sich um ein Textfeld, dann geben wir den Wert des Textfelds zurück
	if (field.type=='text') return field.value;

	for (var k=0; k < field.length;k++) {
		if (field.options[k].selected == true) {
			wert[counter]= field.options[k].value
                        counter++;
		}
	}
	return(wert);
}

function OptionValuesToText(field,delimiter) {
 	return (OptionValuesToArray(field).join(delimiter));
}

function checkboxValuesToArray(formular, checkbox_name) {
	var newarray = new Array;
	var newcounter = 0;

	for (i = 0; i < formular.elements.length; i++) {
	 	if (formular.elements[i].name == checkbox_name && (formular.elements[i].type=='checkbox' || formular.elements[i].type=='radio')) {
	 	 	if (formular.elements[i].checked) {
	 	 		newarray[newcounter] = formular.elements[i].value;
	 	 		newcounter += 1;
	 	 	}
	 	}
	}

	return (newarray);
}

function checkboxValuesBeginsToArray(formular, checkbox_name) {
	var newarray = new Array;
	var newcounter = 0;

	for (i = 0; i < formular.elements.length; i++) {
	 	if (formular.elements[i].name.indexOf(checkbox_name)==0 && formular.elements[i].type=='checkbox') {
	 	 	if (formular.elements[i].checked) {
	 	 		newarray[newcounter] = formular.elements[i].value;
	 	 		newcounter += 1;
	 	 	}
	 	}
	}

	return (newarray);
}

function checkboxValuesToText(formular, checkbox_name, delimiter) {
 	return (checkboxValuesToArray(formular, checkbox_name).join(delimiter));
}

function checkboxCheck (formular, feldname, check) {
	if (check==null) {
		check = true;
	}
	for (i=0; i < formular.elements.length; i++) {
		feld = formular.elements[i];
		if (feld.name.indexOf(feldname)==0 && feld.checked!=check) {
			feld.checked = check;
		}
	}
}



function getObjectText (Obj) {
// Initialisieren des Namens und des Wertes

if (Obj[0]) {
	if (Obj.options) {
		// hier handelt es sich um ein SELECT (Trefferwahrscheinlichkeit: hoch)
		feldname=Obj.name;
		if (Obj.options[0].value) {
			feldwert = OptionToText(Obj);
		} else {
			feldwert = OptionToText(Obj);
		}
	} else {
		// hier handelt es sich um eine Radiobox oder eine Checkbox (Trefferwahrscheinlichkeit: hoch)
		feldname = Obj[0].name;
		feldwert = ButtonToText(Obj); }
	} else {
		// hier handelt es sich um ein Textfeld
	     feldname = Obj.name;
 		feldwert = Obj.value;
	}
	return (feldwert);
}


function selectOption(field, kette) {

	for (var k=0; k < field.length;k++) {
		if (field.options[k].text == kette ) {
			field.options[k].selected = true;
			return(true);
		}
	}
	return(false);
}


function selectOptionValue(field, kette) {

	for (var k=0; k < field.length;k++) {
		if (field.options[k].value == kette ) {
			field.options[k].selected = true;
			return(true);
		}
	}
	return(false);
}

function selectOptionValueBeginsWith(field, kette) {
	for (var k=0; k < field.length;k++) {
		if (field.options[k].text.substr(0,kette.length) == kette ) {
			field.options[k].selected = true;
			return(true);
		}
	}
	return(false);
}

function transformSelectToArray(field) {

var result = new Array(0);

	for (var k=0; k < field.length;k++) {
	        result[k]=field.options[k].text;
	}
	return(result);
}

function transformSelectValuesToArray(field) {

var result = new Array(0);

	for (var k=0; k < field.length;k++) {
	        result[k]=field.options[k].value;
	}
	return(result);

}


//	var target='/iwi/aktivitaet.nsf/Aktivitaet' ;
function createWindow (target, feldnamen, felder ) {
	var formular = document.forms[0];
	if (target.indexOf('?')==-1) target += '?OpenForm';

	if (feldnamen && felder) {
		var feldnamenarray = feldnamen.split(",");
		var feldarray = felder.split(",");

		for (i=0; i <= feldarray.length; i++) {
			if (formular[feldarray[i]]) target +=  '&' + feldnamenarray[i] + '=' + escape( formular[feldarray[i]].value);
		}
	}

	popupWin=window.open(target)
}

function submitonce(formular){

  if (document.all||document.getElementById){
    for (i=0;i<formular.length;i++){
      var tempobj=formular.elements[i]
        if(tempobj.type.toLowerCase()=="submit") tempobj.disabled=true
    }
  }

}
