// Tools zur Suche in Listen 
// und zum Setzen von Values in Formularseite

//17.7.2000

//Erwin Weitlaner

//______________________________________________________________________




var CBsuch_string = "";
var badToken = 0;
//var KundenNummer = -1;
//var KundenOrt = "";

function CBremoveuml(string)
{
	// umlaute durch vokale und 'ß' durch 'SS' ersetzen
	string = string.replace(/Ä/g,"A");
	string = string.replace(/Ö/g,"O");
	string = string.replace(/Ü/g,"U");
	string = string.replace(/ß/g,"SS");
	return string;
}
//CBremoveuml()

function validate()
{
  return true;
}

function ifReturnSubmit(keycode,form_name)
{
  if (keycode ==13) document.forms[form_name].submit();
}
 
function checkChar(keycode,form_name)
{
  if (keycode ==13)
  {
    //var selectionList = document.forms[form_name].Auswahl;
    //alert("Auswahlliste: "+selectionList.name + " KeyCode "+keycode);
	//parent.opener.KundenOrt=selectionList.options[selectionList.selectedIndex].text;
	//alert("Aktueller Ort: ");
	document.forms[form_name].submit();
  }	
  else if ((keycode>64 && keycode<91) || (keycode>96 && keycode<123)||
     (keycode==228)||(keycode==196)||(keycode==246)||(keycode==214)||
	 (keycode==252)||(keycode==220)||(keycode==32)||(keycode==45)||(keycode==46))
  {
    badToken = 0;    
  }	 
  else
  {
    badToken = 1;
  }	
}

function findStringInList(input,list)
{
  
  var match=0;
  //alert("suche "+input+" badtoken "+badToken);
  if (badToken == 0)
  {
	CBsuch_string = CBremoveuml(input.toUpperCase());
	//alert("suche2 "+CBsuch_string);
	findMatchingIndex(list,0,list.length);
  }
  else
  {
    CBsuch_string = CBremoveuml(input.substring(0,input.length-1).toUpperCase());
    document.OrtAuswahl.searchField.value = input.substring(0,input.length-1); 
  }
}

function findMatchingIndex(list,bottom,top)
{
  var middle = bottom+Math.round((top-bottom)/2);
  var listvergleich=CBremoveuml((list.options[middle].text).toUpperCase());
  //alert("vergleiche: "+CBsuch_string+" mit "+listvergleich +" bottom: "+bottom+" top: "+top+" middle: "+middle);  
  if (CBsuch_string == listvergleich) 
  {
	//return middle;
	list.options[middle].selected = true;    
    //KundenOrt = list.options[middle].value;
	//alert("Match: "+list.options[middle].text);
  }	
  else if (CBsuch_string < listvergleich) 
  {
    if (middle ==1)
	{
	  // leerstring oder a im Eingabefeld
	  // selektiert den ersten Listeneintrag
	  //alert("Match: "+list.options[middle].text+" index "+middle);  
	  //return middle;
	  list.options[0].selected = true;    
	}
	else if (CBsuch_string > CBremoveuml(list.options[middle-1].text.toUpperCase())) 
    {
      //alert("Match: "+list.options[middle].text+" index "+middle);  
	  //return middle;
	  list.options[middle].selected = true;
      //KundenOrt = list.options[middle].value;
	  //alert("treffer: "+list.selectedIndex);
	}  
    else
	{
      //alert(CBsuch_string+" ist kleiner als "+listvergleich);  
   	  findMatchingIndex(list,bottom,middle);   
	} 
  }	 
  else 
  {
    //alert(CBsuch_string+" ist groesser als "+listvergleich);  
    findMatchingIndex(list,middle,top);   
  }
}

function removeuml(string)
{
	// umlaute durch vokale und 'ß' durch 'SS' ersetzen
	string = string.replace(/Ä/g,"AE");
	string = string.replace(/Ö/g,"OE");
	string = string.replace(/Ü/g,"UE");
	string = string.replace(/ä/g,"ae");
	string = string.replace(/ö/g,"oe");
	string = string.replace(/ü/g,"ue");
	string = string.replace(/ß/g,"ss");
	return string;
}
 
 function initSelection()
 {
   //alert("initialisierung "+document.forms);
   //document.OrtAuswahl.Auswahl.options[0].selected = true;
   //KundenOrt=document.OrtAuswahl.Auswahl.options[0].value;
   //document.OrtAuswahl.submit();
 }
 
 
 function getSelectionText(form_name,selection_name)
 {
   var val;
   val = document.forms[form_name].elements[selection_name].options[document.forms[form_name].elements[selection_name].selectedIndex].text;
   return(val);
 }
 
 
 function getSelectionValue(form_name,selection_name)
 {
   var val;
   val = document.forms[form_name].elements[selection_name].value;
   return(val);
 }
 
 function EnterKeyInList(keycode)
 {
   if (keycode ==13) writeData();
 }

 
 function writeData()  
 {
     //var val = getSelectionValue('KundenAuswahl','KundenId');
	 alert("writeData");
	 var KdTyp=destination.cvc_kat[KundenAuswahl.cnu_kunden_Id.selectedIndex];
	 
	 setFieldData('cnthl_Input','fall','cnu_kunden_Id',getSelectionValue('KundenAuswahl','cnu_kunden_Id'));
	 setFieldData('cnthl_Input','fall','cnthl_Kunde',getSelectionText('KundenAuswahl','cnu_kunden_Id'));
     //setFieldData('cnthl_Input','fall','cvc_anrufer',destination2.cvc_kontaktperson_name[KundenAuswahl.cnu_kunden_Id.selectedIndex]);
	 //setFieldData('cnthl_Input','fall','cvc_anrufer_tel',destination2.cvc_kontaktperson_telefon[KundenAuswahl.cnu_kunden_Id.selectedIndex]);
     //parent.opener.KundenNummer = val;
	 if ( KdTyp== "GEM") parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][0].checked = true;
	 else if (KdTyp == "sonst. Gem") parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][1].checked = true;
	 else if ((KdTyp == "Land")||(KdTyp == "BH")) parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][2].checked = true;
     else if ((KdTyp == "HS")||(KdTyp == "VS")||(KdTyp == "TFBS")||(KdTyp == "PS")||(KdTyp == "SS")||(KdTyp == "LLA")||(KdTyp == "BS")||(KdTyp == "PTS")) parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][3].checked = true; 
	 else if (KdTyp == "sonst. Schule") parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][4].checked = true;
	 else parent.opener.document.forms['fall'].elements['cnu_fehlertyp'][5].checked = true;
	 var ortsListe = parent.frames[0].document.forms['OrtAuswahl'].elements['Auswahl'];
     setFieldData('cnthl_Input','fall','cnthl_Ort',ortsListe[ortsListe.selectedIndex].text);
	 
	 self.window.close();
  }
 
 
 
 function writeData2()  
 {
    //var KdTyp=destination.kat[KundenAuswahl.cnu_kunden_Id.selectedIndex];
	 setFieldData2('tagessumme','cnu_kunden_Id',getSelectionValue('KundenAuswahl','cnu_kunden_Id'));
	 setFieldData2('tagessumme','cnthl_Kunde',getSelectionText('KundenAuswahl','cnu_kunden_Id'));
    parent.window.close();
  }
 

 function writeData3()  
 {
     //var val = getSelectionValue('KundenAuswahl','KundenId');
	 //var KdTyp=destination.cvc_kat[KundenAuswahl.cnu_kunden_Id.selectedIndex];
	 //setFieldData('cnthl_Input','fall','cnu_kunden_id',getSelectionValue('KundenAuswahl','cnu_kunden_Id'));
	 //setFieldData('cnthl_Input','fall','cnthl_Kunde',getSelectionText('KundenAuswahl','cnu_kunden_Id'));
	 //alert("setfield2 first time");
	 setFieldData2('fall','cvc_anrufer',kontakt.cvc_kontaktperson_name[KontaktAuswahl.cnu_kontaktperson_Id.selectedIndex]);
	 //alert("setfield2 2nd time");
	 setFieldData2('fall','cvc_anrufer_tel',kontakt.cvc_kontaktperson_telefon[KontaktAuswahl.cnu_kontaktperson_Id.selectedIndex]);
	 setFieldData2('fall','cvc_anrufer_email',kontakt.cvc_kontaktperson_email[KontaktAuswahl.cnu_kontaktperson_Id.selectedIndex]);
}


  function writeData4()  
  {
    if(window.opener.name == "CntKontaktHinzufuegen")
		{
			evaluate('insert_kontaktperson','CVC_KONTAKTPERSON_ORT',getSelectionValue('OrtAuswahl','Auswahl'));
			self.window.close();
  		}
	else
	{
	setFieldData2('insert_kunde','CVC_ADRESSE_ORT',getSelectionValue('OrtAuswahl','Auswahl'));
	self.window.close();
  	}
  }


 function writeData5()  
 {
  	 setFieldData2('fall','cnu_kunden_Id',getSelectionValue('KundenAuswahl','cnu_kunden_Id'));
	 setFieldData2('fall','cnthl_Kunde',getSelectionText('KundenAuswahl','cnu_kunden_Id'));
	 self.window.close()
  }


 function writeData6()  
 {
    setFieldData2('fall','cvc_anrufer','');	
  	setFieldData2('fall','cvc_anrufer_tel','');
  	setFieldData2('fall','cvc_anrufer_email','');
}

 /*
    function setFieldData
	Parameter:
	frame_name, form_name, field_name: Name des Frames, Formulars und Elements in das 
	der Wert geschrieben werden soll.
	field_value: Wert, der in das Feld geschrieben wird 
 */
 function setFieldData(frame_name,form_name,field_name,field_value)
 {
   var elem;
   elem =  parent.opener.document.forms[form_name].elements[field_name];
   //alert(field_name+" , "+elem.name);
   //alert(" form_name: "+form_name+" field_name: "+field_name+" field_value: "+field_value);
   //alert("gesetzter Wert: "+parent.opener.document.forms[form_name].elements[field_name].value);
   parent.opener.document.forms[form_name].elements[field_name].value=field_value;
   //eval("self.opener.frames["+frame_name+"].document." + form_name + "." + field_name + ".value = field_value");
 }

 function setFieldData2(form_name,field_name,field_value)
 {
   var elem;
   elem =  parent.opener.document.forms[form_name].elements[field_name];
   //alert(field_name+" , "+elem.name);
   //alert(" form_name: "+form_name+" field_name: "+field_name+" field_value: "+field_value);
   //alert("gesetzter Wert: "+parent.opener.document.forms[form_name].elements[field_name].value);
   parent.opener.document.forms[form_name].elements[field_name].value=field_value;
   //eval("self.opener.frames["+frame_name+"].document." + form_name + "." + field_name + ".value = field_value");
 }
 
 function navigateToKunde(KdNr)
 {
   //alert ("Navigiere zu Kunden: "+KdNr);
   document.forms[0].cnu_kunden_Id.value=KdNr;
 } 

 function navigateToOrt(KdOrt)
 {
   if (KdOrt != "")
   {
     //alert ("Navigiere zum Ort: " + KdOrt);
     findStringInList(KdOrt, document.forms[0].Auswahl);
   }
 } 
 
 
 
 //=====Beginn============================================================
 //Functions für "Kontaktperson - Edit" auf interndvlpi/cnt/neu/datenblatt
 //=====Beginn============================================================
 //					created: 16.01.2002
 /*
 function ShowKunden(form_name,selection_name)
		  { 
			  window.open("cnt_ortauswahl.cfm","CntKundenAuswahl","width=220,height=250,left=270,top=100");
		  }
   */
 function evaluate(form_name,field_name,field_value)
 {
   opener.document.forms[form_name].elements[field_name].value=field_value;
 }  
 
 function window_submit_refresh()
	{
		
		document.insert_kontakt.submit();
		//setTimeout("javascript:parent.opener.location.reload();",5000)
		var fuck=0;
			for (fuck; fuck<2; fuck++)
			{
			parent.opener.location.reload();
			}
		parent.close();
		/*if(document.insert_kunde.submit());
		{
			var j=0;
			for (j; j<5; j++)
			{
			parent.opener.location.reload();
			}
			parent.close();
			
		}*/
	}
 
 function window_refresh()
 	{
		
		window.close();
	}
 
 function wechseln()
 	{
		var i=0;
		for (i; i<10; i++)
		{
		opener.location.reload();
		}
	}
  
 function check_input()
 	{
		
		if (document.insert_kontaktperson.CVC_KONTAKTPERSON_NAME.value == "")
			{
				alert("Füllen Sie das Feld 'Name' aus!");
			}
		/*if (document.insert_kontaktperson.CVC_KONTAKTPERSON_POSITION.value == "")
			{
				alert("Füllen Sie das Feld 'Position' aus!");
					
			}
		if (document.insert_kontaktperson.CVC_KONTAKTPERSON_STRASSE.value == "")
			{
				alert("Füllen Sie das Feld 'Adresse' aus!");
				
			}
		if (document.insert_kontaktperson.CVC_KONTAKTPERSON_TELEFON.value == "")
			{
				alert("Füllen Sie das Feld 'Telefon' aus!");
				
			}*/
		var dummy = document.insert_kontaktperson.CNU_KONTAKTPERSON_PLZ.value;
		if ((document.insert_kontaktperson.CNU_KONTAKTPERSON_PLZ.value == "")||(dummy.length > 4))
			{
				alert("Ihre Angaben im Feld 'Postleitzahl' sind fehlerhaft");
				
			}
		if (document.insert_kontaktperson.CVC_KONTAKTPERSON_ORT.value == "")
			{
				alert("Füllen Sie das Feld 'Ort' aus!");
				
			}
		/*if ((document.insert_kontaktperson.CVC_KONTAKTPERSON_EMAIL.value == "")||(document.insert_kontaktperson.CVC_KONTAKTPERSON_EMAIL.value.indexOf('@') == -1))
			{
				alert("Ihre Angaben im Feld 'E-mail' sind ungültig");
				
			}*/
		else
			{
				document.insert_kontaktperson.submit();
				if(document.insert_kontaktperson.submit());
				{
				wechseln();
				window_refresh();
				}
			}
	}
	
//=====Ende==============================================================
//Functions für "Kontaktperson - Edit" auf interndvlpi/cnt/neu/datenblatt
//=====Ende==============================================================

