/* *********************************************************************
*
*			Funktionen für showJSSelector() in /form/form.php
*
* *********************************************************************** */
function reloadDropDown(searchString,id,name){
			
		DDBox=document.getElementsByName(name)[0];
		DDBox.options.length=0;
		
		// extern global definierte Arrays zum Füllen der Boxen
		DDBoxOptions_ID=eval("DDBox_"+id+"_ID");
		DDBoxOptions_Name=eval("DDBox_"+id+"_Name");
		
		searchString=searchString.replace(/\(/, "\\(");
		searchString=searchString.replace(/\)/, "\\)");
		regEx = new RegExp(searchString, "i");
		oneFound=false;
		if (searchString.length >= 3){
			for (var i=0; i< DDBoxOptions_ID.length; i++) {
				if(DDBoxOptions_Name[i].match(regEx)){
					DDBox.options[DDBox.options.length]=new Option(DDBoxOptions_Name[i],DDBoxOptions_ID[i]);
					oneFound=true;
				}
			}
		}
		else{
			DDBox.options[DDBox.options.length]=new Option("- Bitte oben einen Namen eingeben -","");
			oneFound=true;
		}
		
		if(!oneFound){
			DDBox.options[DDBox.options.length]=new Option("- Keine Einträge gefunden -","");
		}			
		document.getElementsByName(name)[0].selectedIndex=0;			
		
	}

function testUser(name){
	field=document.getElementsByName(name)[0];
	if(field.selectedIndex == -1 || field.options[field.selectedIndex].value=="" ){
		alert("Bitte wählen Sie einen Eintrag aus der Liste aus.\n\nGeben Sie dazu oben mindestens drei Buchstaben ein und wählen dann aus den in der Liste angebotenen Einträgen einen aus.");
		return false;
	}
	return true;
}

function getHelp(){
	alert("Um einen Kunden auszuwählen, gehen Sie wie folgt vor:\n\n" +
			 "- Geben Sie mindestens drei Buchstaben in das Feld Kundensuche ein.\n" + 
			 "- In der Auswahlbox Kunden-Liste erscheinen die Kunden, die auf Ihren Suchbegriff passen.\n" +
			 "- Wählen Sie einen der angebotenen Kunden aus oder " + 
			 "schränken Sie Ihre Suche durch einen neuen Suchbegriff weiter ein.");
}

function orderBoxMove(name,direction){
	//schiebt selektierten wert um eins nach oben oder unten
	box=document.getElementsByName(name)[0];
	if (box.selectedIndex==-1 ) return false;

	if(direction == "up"){
		newPos = box.selectedIndex-1;
	}else{
		newPos = box.selectedIndex+1;
	}
	
	//aktueller Wert
	var value=box.options[box.selectedIndex].value;
	var text=box.options[box.selectedIndex].text;

	//Wert des Elementes davor
	var changeValue = box.options[newPos].value;
	var changeText = box.options[newPos].text;

	// setzen des aktuellen Elemntes auf die Positon des vorherigen Elementes
	box.options[newPos].text = text;
	box.options[newPos].value = value;
	
	// setzen des voherigen Elemntes auf die Positon des aktuellen Elementes
	box.options[box.selectedIndex].value = changeValue;
	box.options[box.selectedIndex].text = changeText;

	//setzen der aktuellen Auswahl
	box.selectedIndex = newPos;

	setHiddenValue(name);
		
	if(doLoop && doLoop ==1){
		loopTimeout=setTimeout( "orderBoxMove(name,direction)", 300 );
	}
	
}

// aus outbox werte in das Hidden-feld eintragen
function setHiddenValue(boxName) {
	hiddenField=document.getElementsByName(boxName.replace(/_box/, ""))[0];
	box=document.getElementsByName(boxName)[0];
	hiddenField.value ="";
	for(i=0;i < box.length;i++){
		hiddenField.value=hiddenField.value+","+box.options[i].value;
	}
}

// funktion wird für date.php verwendet, überträgt das Datum aus den Selektboxen in ein Hidden-Field
function setDate(fieldName,fieldNamePure){
	var day=document.getElementsByName(fieldNamePure+"_day")[0].value;
	var month=document.getElementsByName(fieldNamePure+"_month")[0].value;
	var year=document.getElementsByName(fieldNamePure+"_year")[0].value;
	
	
	var date = year + "-" + month + "-" + day;
	
	// wenn ein Teil leer ist oder ein gültiges Datum vorliegt ...
	if(isValidDate(date) || year=="" || month=="" || day == ""){
		// stunde anhängen
		if(document.getElementsByName(fieldNamePure+"_hour")[0]){
			date += " "+document.getElementsByName(fieldNamePure+"_hour")[0].value;
		}else{
			date += " 00";
		}
		// Minute anhängen
		if(document.getElementsByName(fieldNamePure+"_minute")[0]){
			date += ":"+document.getElementsByName(fieldNamePure+"_minute")[0].value;
		}else{
			date += ":00";
		}
		// sekunde anhängen
		if(document.getElementsByName(fieldNamePure+"_second")[0]){
			date += ":"+document.getElementsByName(fieldNamePure+"_second")[0].value;
		}else{
			date += ":00";
		}
		
		document.getElementsByName(fieldName)[0].value= date;
		
		validDate=new Date(year,eval(parseInt(month)-1),day);
	
	// wenn kein gültiges Datum vorliegt
	}else{
		alert ("DATUM UNGÜLTIG!\nEs handelt sich nicht um ein gültiges Datum. Der Wert wird wieder zurückgesetzt.");
		validDate=eval(fieldNamePure+"_validDate");
		document.getElementsByName(fieldNamePure+"_day")[0].value = validDate.getDate();
		document.getElementsByName(fieldNamePure+"_month")[0].value = eval(parseInt(validDate.getMonth())+1);
		document.getElementsByName(fieldNamePure+"_year")[0].value = validDate.getYear();
		
		// hidden-Feld aktualisieren
		setDate(fieldName,fieldNamePure);
	}
}


/* *********************************************************************
*
*			Funktionen für showSwitchBox() in /form/form.php
*
* *********************************************************************** */
function swap(boxName,outBoxName,inBoxName){
		inBox=document.getElementsByName(inBoxName)[0];
		outBox=document.getElementsByName(outBoxName)[0];
		
		//schiebt selektierten wert von outBox nach inBox
		if (outBox.selectedIndex==-1) return true;
		
		// outbox aktualisieren
		arrIN_text=new Array();
		arrIN_value=new Array();
		arrOUT_text=new Array();
		arrOUT_value=new Array();
		
		idxIN=0;
		idxOUT=0;
		
		//Werte in Arrays zwischenspeichern
		for(i=0;i<outBox.length;i++)
			{
			// wenn der Wert selektiert ist, dann in IN-Array speichern
			if ((outBox.options[i].selected)) 
				{
				arrIN_text[idxIN]=outBox.options[i].text;
				arrIN_value[idxIN]=outBox.options[i].value;
				idxIN++;
				}
			// ansonsten in out-array speichern
			else
				{
				arrOUT_text[idxOUT]=outBox.options[i].text;
				arrOUT_value[idxOUT]=outBox.options[i].value;
				idxOUT++;
				} 
			
		}
		
		// boxen l&ouml;schen
		outBox.options.length=0;
		
		// boxen aus arrays neu f&uuml;llen
		for (var i=0; i<arrOUT_text.length; i++) {
			outBox.options[outBox.options.length]=new Option(arrOUT_text[i],arrOUT_value[i]);
			outBox.options[outBox.options.length-1].id=arrOUT_value[i];
		}
		outBox.selectedIndex=-1;
		
		for (var i=0; i<arrIN_text.length; i++) {
			inBox.options[inBox.options.length]=new Option(arrIN_text[i],arrIN_value[i]);
			inBox.options[inBox.options.length-1].id=arrIN_value[i];
		}
		inBox.selectedIndex=-1;
	
		setHiddenValueSwap(boxName);
	}
	
// aus box1 werte in das Hidden-feld eintragen
function setHiddenValueSwap(boxName){
	hiddenField=document.getElementsByName(boxName)[0];
	inBox=document.getElementsByName(boxName+'_selected')[0];
	
	if (inBox.options[0])
		{hiddenField.value=inBox.options[0].value;}
	else
		{hiddenField.value ="";}
		
	for(i=1;i<inBox.length;i++){
		hiddenField.value=hiddenField.value+","+inBox.options[i].value;
		}
	}
	


function maxLength(text,maxLength){
	if(text.length > maxLength){
		text = text.substr(0,maxLength);
		alert("In diesem Eingabefeld sind maximal "+maxLength+" Zeichen erlaubt.");
	}
	return text;
}


function inputLengthCheck(field,number,info) {
	len = field.value.length;

	if (len > number){
		//alert ("Es dürfen maximal "+number+" Zeichen eingegeben werden. Sie verwenden zur Zeit "+len+" Zeichen.");
		field.value=field.value.substring(0,number);
		len=field.value.length;
	}

	// ggf. Info-Feld füllen
	if(info){
		document.getElementById(info).innerHTML=len;
	}
}
