plus=new Image();
plus.src="../admin/plus.gif";
minus=new Image();
minus.src="../admin/minus.gif";
wstate=0;
wmsg=new Array("Abfrage wird ausgeführt, bitte warten","");
var pre_fields=new Array();
function warte(){
		adivi=document.getElementById("inhalt");
		if(adivi.children){
			if(adivi.children.length>2)
				adivi.children[2].innerHTML=wmsg[wstate];
			else
				adivi.innerHTML=wmsg[wstate];
		}
		else if(adivi.childNodes){
			if(adivi.childNodes.length>2)
				adivi.childNodes[2].innerText=wmsg[wstate];
			else
				adivi.innerText=wmsg[wstate];
		}
		window.status=wmsg[1-wstate];
	  wstate=1-wstate;  
}
function parsedata(responsetext,achild){
		   	window.document.getElementById(achild).innerHTML = responsetext;

}
function ec(aid){
	element=document.getElementById(aid);
	child=element.getAttribute("child")
	if(child){
		obj = window.document.getElementById(child);
		bcollapsed = (obj.style.display == "none");
		if (bcollapsed) {
			sm=element.getAttribute("sm")			
			if(sm)
				element.src = sm;
			else
				element.src = minus.src;
			obj.style.display = "";
			if(!element.getAttribute("loaded")){				
				element.setAttribute("loaded",1);
				childurl=element.getAttribute("childurl")
				if(childurl){
				    var client = new HTTPClient();
				    client.init(aurl);    
				    try {
				        client.asyncGET({onLoad: function(result) {  parsedata(result,child);}});
				    }
					 catch (e) {
				        alert(e);
				    }
				}
			}
		} else {
			sp=element.getAttribute("sp")
			if(sp)
				element.src = sp;
			else	
				element.src = plus.src;
			obj.style.display = "none";	
		}		
	}

}
	function two_column_select(obj){
		obj_selected_name=obj.name.substr(0,obj.name.length-6);
		if(obj.selectedIndex!=-1){
			this_selected=obj.options[obj.selectedIndex];
			obj_selected=obj.form.elements[obj_selected_name];
			n=obj_selected.options.length
			for(i=0;i<n;i++){
				if(obj_selected.options[i].value==this_selected.value)
					break;
			}
			if(i==n){
				aoption=new Option();
				aoption.value=this_selected.value;
				aoption.text=this_selected.text;
				obj_selected.options[obj_selected.options.length]=aoption;
			}
			obj.selectedIndex=-1;
		}
		if(check_server){
			check_server(obj_selected);
		}
	}
	function two_column_deselect(obj){
		for(i=obj.options.length-1;i>=0;i--){
			if(obj.options[i].selected){
				obj.options[i].selected=false;
				obj.options[i]=null;
			}
		}
		if(check_server){
			check_server(obj);
		}
	}

	function InStr(str_all,str_part,case_sensitiv,mode_part){
		if(!case_sensitiv){
			astr_all = str_all.toUpperCase();
			astr_part= str_part.toUpperCase();
		}else{
			astr_all = str_all;
			astr_part= str_part;
		}
		if(mode_part)
			return(astr_all.indexOf(astr_part)+1)		
		else
			return(astr_all.indexOf(astr_part)==0)
	}
	

	function two_column_filter(obj){	
		field_name=obj.name.substr(0,obj.name.length-7);
		filter_str=obj.form.elements[field_name+"_filter"].value;
		check=obj.form.elements[field_name+"_mcheck"]
		all_list=obj.form.elements[field_name+"_all[]"];
		hidden_list=obj.form.elements[field_name+"_hidden"]
		n=hidden_list.options.length
		inner_str=""
		inner_str="<SELECT  NAME="+all_list.name+" SIZE="+all_list.size+" onClick=\"two_column_select(this)\">";
		for(i=0;i<n;i++){
			aop=hidden_list.options[i];
			if(InStr(aop.text,filter_str,0,check.checked)){
				inner_str += "<OPTION VALUE="+aop.value+">"+aop.text
			}
		}
		inner_str+="</SELECT>";
		if(all_list.parentElement){
			all_list.parentElement.innerHTML=inner_str;
		}
		else if(all_list.parentNode) {
			all_list.parentNode.innerHTML=inner_str;		
		}
	}

	function submit_search_form(aform){
		aform.elements["yfirev"].value="jugendhilfeportal";
		for(i=0;i<aform.elements.length;i++){
			if(aform.elements[i].type=="select-multiple" && aform.elements[i].getAttribute("two_column")=="1"){
				for(j=0;j<aform.elements[i].options.length;j++){
					aform.elements[i].options[j].selected=true;
				}
			}
		}
		if(aform.elements["soap_server"]){
			for(i=0;i<aform.elements["soap_server"].length;i++){
				if(!aform.elements["soap_server"][i].disabled&&aform.elements["soap_server"][i].checked)
					break;								
			}
			if(i==aform.elements["soap_server"].length){
				alert("Bitte  wählen Sie mindestens einen Server")
				return(false);
			}
		}
//		window.setInterval("warte()",300);
		return(true);
		
		
	}
	
	function reset_form(aform){
		
		for(i=0;i<aform.elements.length;i++){
			if(aform.elements[i].name=="c_keywdid"){
				obj=aform.elements[i]
				for(j=obj.options.length-1;j>=0;j--){
						obj.options[j]=null;
			  }
			}
			else if(aform.elements[i].type=="checkbox"){
				if(aform.elements[i].name!="soap_server" && aform.elements[i].name.substr(0,12)!="check_archiv"){
					aform.elements[i].checked=false;
				}
				else{
					aform.elements[i].checked=true;
				}
			}
			else if(aform.elements[i].type=="select"||aform.elements[i].type=="select-single"){
					aform.elements[i].selectedIndex=-1;
			}
			else if(aform.elements[i].type=="select-multiple"){
				for(j=0;j<aform.elements[i].options.length;j++){
					aform.elements[i].options[j].selected=false;
				}				

			}
			else if(aform.elements[i].type=="text"){
				aform.elements[i].value="";
			}
		}
		sstates=null;		
		if(aform.elements["soap_server"]){
			for(i=0;i<aform.elements["soap_server"].length;i++){
				aform.elements["soap_server"][i].disabled=false;
				aform.elements["soap_server"][i].checked = !aform.elements["soap_server"][i].disabled;
				ae=document.getElementById("l_server_"+aform.elements["soap_server"][i].value);
				if(ae){
					atext=ae.getAttribute("TITLE");
					ae.innerHTML=(aform.elements["soap_server"][i].checked?"<STRONG>"+atext+"</STRONG>":"<EM>"+atext+"</EM>");
				}
		}

	}

}

	function finit_form(){
	  var i, aform,f;
		aform=document.forms["db_form"];


		if( aform && aform.elements["soap_server"] && pre_fields){
			if(!sstates){
				sstates=new Array();		
				for(i=0;i<soap_array.length;i++){
					sstates[i]=new Array();
					for(f in fields){
						sstates[i][[fields[f]]]=false;
					}
				}
			}

			for(i=0;i<aform.elements["soap_server"].length;i++){
				aform.elements["soap_server"][i].disabled=false;
				for(fname in pre_fields){
					sstates[i][fname]=(soap_array[aform.elements["soap_server"][i].value][fname]!=1);
					ae=document.getElementById("l_server_"+aform.elements["soap_server"][i].value);
					if(ae){
						atext=ae.getAttribute("TITLE");
						if(atext.substr(0,4)=="AGJ " ){
								if(fname=="c_classid" ){
										elem=document.getElementById("c_classid_DE0010002132");
										if(elem && elem.checked)
											sstates[i][fname]=0;		
								}	
								else if(fname=="c_orgid") {
									aobj=aform.elements[fname]
									options = aobj.options
									n=options.length;
									for(k=0;k<n;k++)
										if(options[k].value=="DE0010000629" && options[k].selected){
											sstates[i][fname]=0|sstates[i][fname];
											break;
										}
								
								}	
								else if(fname=="c_ctypeid") {
									aobj=aform.elements[fname]
									options = aobj.options
									n=options.length;
									for(k=0;k<n;k++)
										if(options[k].value=="DE0010000034" && options[k].selected){
											sstates[i][fname]=0|sstates[i][fname];
											break;
										}
								
								}	
								else if(fname=="c_medid") {
									aobj=aform.elements[fname]
									options = aobj.options
									n=options.length;
									for(k=0;k<n;k++)
										if(options[k].value=="DE0010000005" && options[k].selected){
											sstates[i][fname]=0|sstates[i][fname];
											
											break;
										}
								
								}	
					 }
	
					aform.elements["soap_server"][i].disabled	|= sstates[i][fname];
					aform.elements["soap_server"][i].checked = !aform.elements["soap_server"][i].disabled
					ae.innerHTML=(aform.elements["soap_server"][i].checked?"<STRONG>"+atext+"</STRONG>":"<EM>"+atext+"</EM>");
						
					}
				}				


			}
	}
}


	var soap_array=new Array();
	var soap_exp=new Array();
	var sstates=null;
	function check_server_alt(aobj){
		var agj_special=0; 
		if(!sstates){
			sstates=new Array();		
			for(i=0;i<soap_array.length;i++){
				sstates[i]=new Array();
				for(f in fields){
					sstates[i][[fields[f]]]=false;
				}
			}
		}
		field_select=1;
		if(aobj.name!="c_classid"){
			switch (aobj.type){
				case "checkbox":
					options = aobj.form.elements[aobj.name]
					n=options.length;
					for(i=0;i<n;i++)
						if(options[i].checked)
							break;
					field_select=(i==n)?0:1;				
					break;
								
				
				case "select-multiple":
				
					options = aobj.options
					n=options.length;
					for(i=0;i<n;i++)
						if(options[i].selected)
							break;
					field_select=(i<n||(aobj.name=="c_keywdid"&&n>0))?1:0;
					
					break;
				case "hidden":
					break;
					
				default:
					field_select=(aobj.value=="")?0:1;				
				
				
			}
		}else{
			//spezial fall strukturebene
			elems = aobj.form.elements[aobj.name];
			nelem=elems.length;
			for(i=0;i<nelem;i++){
				if(elems[i].type=="checkbox"){
					if(elems[i].checked)
						break;
				}
				else{//select-multiple
					for(j=0;j<elems[i].options.length;j++)
						if(elems[i].options[j].selected)
							break;
					if(j<elems[i].options.length)
						break;
				}
			}
			field_select=(i==nelem)?0:1;				
				
		}




		if(aobj.form.elements["soap_server"])
			for(i=0;i<aobj.form.elements["soap_server"].length;i++){
				aobj.form.elements["soap_server"][i].disabled=false;
				ae=document.getElementById("l_server_"+aobj.form.elements["soap_server"][i].value);
				if(ae){
					atext=ae.getAttribute("TITLE");
					for(f in fields){
						if(fields[f]==aobj.name)
							sstates[i][fields[f]]=(soap_array[aobj.form.elements["soap_server"][i].value][aobj.name]!=1 && field_select);

							if(atext.substr(0,4)=="AGJ " ){
									if(aobj.name=="c_classid" ){
											elem=document.getElementById("c_classid_DE0010002132");
											if(elem)
												sstates[i][fields[f]]=field_select&!elem.checked ;		
									}	
									else if(aobj.name=="c_orgid") {
										options = aobj.options
										n=options.length;
										for(k=0;k<n;k++)
											if(options[k].value=="DE0010000629" && options[k].selected){
												sstates[i][fields[f]]=0&sstates[i][fields[f]];
												break;
											}
									
									}	
								else if(aobj.name=="c_ctypeid") {
									options = aobj.options
									n=options.length;
									for(k=0;k<n;k++)
										if(options[k].value=="DE0010000034" && options[k].selected){
												sstates[i][fields[f]]=0&sstates[i][fields[f]];
											break;
										}
								
								}	
								else if(aobj.name=="c_medid") {
									options = aobj.options
									n=options.length;
									for(k=0;k<n;k++)
										if(options[k].value=="DE0010000005" && options[k].selected){
												sstates[i][fields[f]]=0&sstates[i][fields[f]];
											break;
										}
								
								}	
						 }
						 aobj.form.elements["soap_server"][i].disabled	= aobj.form.elements["soap_server"][i].disabled|sstates[i][fields[f]];
					}
						
					aobj.form.elements["soap_server"][i].checked = !aobj.form.elements["soap_server"][i].disabled
					ae.innerHTML=(aobj.form.elements["soap_server"][i].checked?"<STRONG>"+atext+"</STRONG>":"<EM>"+atext+"</EM>");
				}
			}


	}
	
	function check_server(aobj){
		if(!sstates){
			sstates=new Array();		
			for(i=0;i<soap_array.length;i++){
				sstates[i]=new Array();
				for(f in fields){
					sstates[i][[fields[f]]]=false;
				}
			}
		}
		field_select=1;
		field_value="";
		if(aobj.name!="c_classid"){
			switch (aobj.type){
				case "checkbox":
					options = aobj.form.elements[aobj.name]
					n=options.length;
					for(i=0;i<n;i++)
						if(options[i].checked){
							break;
						}
					field_select=(i==n)?0:1;				
					break;
								
				
				case "select-multiple":
				
					options = aobj.options
					n=options.length;
					for(i=0;i<n;i++)
						if(options[i].selected)
							break;
					field_select=(i<n||(aobj.name=="c_keywdid"&&n>0))?1:0;
					
					break;
				case "hidden":
					break;
					
				default:
					field_select=(aobj.value=="")?0:1;				
				
				
			}
		}else{
			//spezial fall strukturebene
			elems = aobj.form.elements[aobj.name];
			nelem=elems.length;
			for(i=0;i<nelem;i++){
				if(elems[i].type=="checkbox"){
					if(elems[i].checked)
						break;
				}
				else{//select-multiple
					for(j=0;j<elems[i].options.length;j++)
						if(elems[i].options[j].selected)
							break;
					if(j<elems[i].options.length)
						break;
				}
			}
			field_select=(i==nelem)?0:1;				
				
		}




		if(aobj.form.elements["soap_server"])
			for(i=0;i<aobj.form.elements["soap_server"].length;i++){
				aobj.form.elements["soap_server"][i].disabled=false;
				ae=document.getElementById("l_server_"+aobj.form.elements["soap_server"][i].value);
				if(ae){
					atext=ae.getAttribute("TITLE");
					for(f in fields){
						if(fields[f]==aobj.name)
							sstates[i][fields[f]]=(soap_array[aobj.form.elements["soap_server"][i].value][aobj.name]!=1 && field_select);

							if( i<soap_exp.length && soap_exp[i]!=null && soap_exp[i][aobj.name]!=null ){
								for (af in soap_exp[i][aobj.name]){
									aspecial=1;
									switch (aobj.type){
										case "checkbox":
											options = aobj.form.elements[aobj.name]
											n=options.length;
											for(m=0;m<n;m++)
												if(options[m].checked && options[m].value==af){
													aspecial=0;
													break;
												}		
											break;										
														
										
										case "select-multiple":
										case "select":									
											options = aobj.options;
											n=options.length;
											for(m=0;m<n;m++)
												if((options[m].selected || aobj.name=="c_keywdid")&& options[m].value==af){
													aspecial=0;
													break;
												}		
											break;											
									}
									if(aspecial==0)
										sstates[i][fields[f]]=sstates[i][fields[f]]&aspecial;	
								}
								
						 }
						 aobj.form.elements["soap_server"][i].disabled	= aobj.form.elements["soap_server"][i].disabled|sstates[i][fields[f]];
					}
						
					aobj.form.elements["soap_server"][i].checked = !aobj.form.elements["soap_server"][i].disabled
					ae.innerHTML=(aobj.form.elements["soap_server"][i].checked?"<STRONG>"+atext+"</STRONG>":"<EM>"+atext+"</EM>");
				}
			}


	}



	function disable_multiselect(acheckbox,aname){
		sobj = document.forms["db_form"].elements[aname];
		if(acheckbox.checked){
			sobj.selectedIndex=-1;
			sobj.disabled=true;			
		} else {
			sobj.disabled=false;
		}
	}
	
	function check_all(obj,option_list){
		if(!option_list){
			field_name=obj.name.substr(0,obj.name.length);
			option_list=obj.form.elements[field_name];
		}
		if(!option_list.options){
			n=option_list.length;
			for(i=n-1;i>=0;i--){
				option_list[i].checked=obj.checked||obj.selected;
			}
		}			
		else{
			n=option_list.options.length;
			for(i=n-1;i>=0;i--){
				option_list.options[i].selected=obj.checked||obj.selected;
			}
		
		}
	}
	
	var fields=new Array();
	function check_fields(aobj){
		fstates=new Array();		
		for(i=0;i<fields.length;i++){
			fstates[fields[i]]=1;
		}
		aform=document.forms["db_form"];
		as=aform.elements["soap_server"];
		n=as.length;
		for(i=0;i<n;i++){
			if(as[i].checked){
				for(f in fstates){
					if(!soap_array[i][f])
						fstates[f]=0;
				}
			}
		}
		for(f in fstates){
			elem=aform.elements[f];
			if(elem.type){
				elem.disabled=(fstates[f]==0);
				if(elem.name=="c_keywdid"){
					aform.elements["c_keywdid_all[]"].disabled=elem.disabled;
				}
			}else{
				for(i=0;i<elem.length;i++){
					elem[i].disabled=(fstates[f]==0);
				}
			}
		}
	}


 	function shotview_data(obj){
		obj_linkview=obj.getAttribute("linkview");
		if(obj_linkview!=""){
			obj.form.elements[obj_linkview].value=obj.options[obj.selectedIndex].text;
		}
	}
	

	function check_all_server(obj){
		asv=obj.form.elements["soap_server"];
		n=asv.length;
		for(i=0;i<n;i++){
			asv[i].checked=obj.checked;
		}
		check_fields();
	}

  window.onload=finit_form;
	function ajaxparsedata(responsetext,adb,aindex){
		try //Internet Explorer
		  {
		  xmldoc=new ActiveXObject("Microsoft.XMLDOM");
		  xmldoc.async="false";
  		  xmldoc.loadXML(responsetext);

		  }
		catch(e)
		  {
		  try //Firefox, Mozilla, Opera, etc.
		    {
		    parser=new DOMParser();
		    xmldoc=parser.parseFromString(responsetext,"application/xml");
		    }
		  catch(e) {alert(e.message)}
		  }
		  if(window.ActiveXObject){
		    nEntryNode=xmldoc.getElementsByTagName("cEntriesTotal").item(0);
			
			nEntry=nEntryNode.text;
			objEntryWait=document.getElementById("wait_"+adb+"_"+aindex);
			objEntryWait.innerHTML="("+nEntry+")";
			TextNode=xmldoc.getElementsByTagName("text").item(0);
			objContainer=document.getElementById("searchcontainer_"+adb+"_"+aindex)
			objContainer.innerHTML=TextNode.text;
		  
		  }
		  else{
		    nEntryNode=xmldoc.documentElement.childNodes[0];
			nEntry=nEntryNode.firstChild.nodeValue;
			objEntryWait=document.getElementById("wait_"+adb+"_"+aindex);
			objEntryWait.innerHTML="("+nEntry+")";
			TextNode=xmldoc.documentElement.childNodes[1];
			objContainer=document.getElementById("searchcontainer_"+adb+"_"+aindex)
			objContainer.innerHTML=TextNode.firstChild.nodeValue;
		  }
	  }

	function getajax(aurl,adb,aindex){
		    var client = new HTTPClient();
			aurl = encodeURI(aurl+"&i="+aindex+"&db="+adb);
		    client.init(aurl);    
		    try {
		        client.asyncGET({onLoad: function(result) { ajaxparsedata(result,adb,aindex);}});
		    }
			 catch (e) {
		        alert(e);
		    }
	}
 var ajaxed_server=new Array();
 var ajax_index=0;
 function get_ajaxed(){ 
/*	for (i=ajaxed_server.length-1;i>=0;i--){
		aurl="showdbdb.asp?action=ajax&hash="+ajaxed_server[i].hash+"&r="+Math.random();
		getajax(aurl,ajaxed_server[i].db,ajaxed_server[i].i);
	}
*/ if(ajax_index<ajaxed_server.length) {
		aurl="showdbdb.asp?action=ajax&hash="+ajaxed_server[ajax_index].hash+"&r="+Math.random();
		getajax(aurl,ajaxed_server[ajax_index].db,ajaxed_server[ajax_index].i);
		ajax_index++;
		setTimeout("get_ajaxed()",1000);
	}

}

window.onload=get_ajaxed;
