﻿        var mysubjectdomain="";
        var mysubject="";
        var myobjecttype="";
        var myobjectname="";
        var myobjectinputfield="";
        
        var xmlHttp = null;
        var returnhtml="";
        
           
function setAccords()
{
$(function(){
	$('.dragbox')
	.each(function(){
		$(this).hover(function(){
			$(this).find('h2').addClass('collapse');
		}, function(){
			$(this).find('h2').removeClass('collapse');
		})
		.find('h2').hover(function(){
			$(this).find('.configure').css('visibility', 'visible');
		}, function(){
			$(this).find('.configure').css('visibility', 'hidden');
		})
		.click(function(){
			$(this).siblings('.dragbox-content').toggle();
		})
		.end()
		.find('.configure').css('visibility', 'hidden');
	});
	$('.column').sortable({
		connectWith: '.column',
		handle: 'h2',
		cursor: 'move',
		placeholder: 'placeholder',
		forcePlaceholderSize: true,
		opacity: 0.4,
		stop: function(event, ui){
			$(ui.item).find('h2').click();
			var sortorder='';
			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
			//alert('SortOrder: '+sortorder);
			/*Pass sortorder variable to server using ajax to save state*/
		}
	})
	.disableSelection();
});

}
     
        function searchDomain(obj)
        {
        //alert(obj + " " + document.getElementById('search').value);
        addurl="/search/" + obj + "/" + encode64(encode64(document.getElementById('search').value));
        document.location=addurl;
        }
        
        function adddomain()
        {
        if (mysubjectdomain=="person")
        {
         pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        alert(addurl);
        document.location=addurl;
        
        //pname=(document.getElementById('personname').value);
        //psurname=(document.getElementById('personsurname').value);
        //psurname="";
        //addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + encode64(encode64(psurname));
        
        }
        
        if (mysubjectdomain=="organisation")
        {
        pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        document.location=addurl;
        }
        
        if (mysubjectdomain=="date")
        {
        pname=(document.getElementById('datename').value);
        psurname="";
        addurl='/' + mysubjectdomain + '/add/' + (pname) + '/' + psurname;
        document.location=addurl;
        }
        
        if (mysubjectdomain=="document")
        {
        pname=(document.getElementById('documentname').value);
        psurname="";
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        document.location=addurl;
        }
        
        if (mysubjectdomain=="place")
        {
        
        pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        
        document.location=addurl;
        }
        
        if (mysubjectdomain=="product")
        {
        
        pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        
        document.location=addurl;
        }
        
        if (mysubjectdomain=="category")
        {
        
        pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        
        document.location=addurl;
        }
        
        if (mysubjectdomain=="webportal")
        {
        
        pname=(document.getElementById('organisationname').value);
        psurname=document.getElementById('newpredicatevalue').value;
        addurl='/' + mysubjectdomain + '/add/' + encode64(encode64(pname)) + '/' + psurname;
        
        document.location=addurl;
        }
        
        }

        function addpersonproperty()
        {
        
        myobjectvalue= document.getElementById('newpredicatevalue').value;
        //alert(encode64(encode64( myobjectvalue)));
        document.location='/' + jssubjectdomain + '/' + jssubjectname + '/addproperty/' + myobjectname +'/' + myobjecttype + '/' + encode64(encode64(myobjectvalue));
        }
        
        function setCal()
        {
        Calendar.setup({
        inputField     :    "datename",     // id of the input field
        ifFormat       :    "%Y-%m-%d",     // format of the input field (even if hidden, this format will be honored)
        displayArea    :    "show_d",       // ID of the span where the date is to be shown
        daFormat       :    "%A, %B %d, %Y",// format of the displayed date
        align          :    "Tl",           // alignment (defaults to "Bl")
        singleClick    :    true
        });

        }
        
        function setCal2()
        {
        //alert("testcal");
        Calendar.setup({
        inputField     :    "newpredicatevalue",     // id of the input field
        ifFormat       :    "%Y-%m-%d",     // format of the input field (even if hidden, this format will be honored)
        displayArea    :    "show_d",       // ID of the span where the date is to be shown
        daFormat       :    "%A, %B %d, %Y",// format of the displayed date
        align          :    "Tl",           // alignment (defaults to "Bl")
        singleClick    :    true
        });

        }
        
        function newperson(subjectdomain)
        {
        mysubjectdomain=subjectdomain;

        if (mysubjectdomain=='date')        {document.getElementById('script').innerHTML="Date <form action='#' method='get'><input type='text' name='date' id='datename' value=''></form><input type='button' value='OK' onclick='adddomain()'>";setCal();}
        if (mysubjectdomain=='document')    {document.getElementById('script').innerHTML="Document <input type='text' id='documentname' value='Name'><input type='button' value='OK' onclick='adddomain()'>";}
        if (mysubjectdomain=='person')      {url = '/variants/person/type' ;processdomain(url);}
        if (mysubjectdomain=='organisation'){url = '/variants/organisation/type' ;processdomain(url);}    
        if (mysubjectdomain=='place')       {url = '/variants/place/type' ;processdomain(url);}
        if (mysubjectdomain=='product')     {url = '/variants/product/type' ;processdomain(url);}
        if (mysubjectdomain=='category')    {url = '/variants/category/type' ;processdomain(url);}
        if (mysubjectdomain=='webportal')   {url = '/variants/webportal/type' ;processdomain(url);}
        
        
        }

       
        function setInvisible(obj)
        {
        
        if (obj=='PersonalInfomation')
        {
        
        document.getElementById('PersonalInfomationDIV').className ='visibleDiv';
        document.getElementById('CloseRelativesDIV').className='hiddenDiv';
        document.getElementById('RelationshipDIV').className='hiddenDiv';
        }
        
        if (obj=='CloseRelatives')
        {
        
        document.getElementById('CloseRelativesDIV').className='visibleDiv';
        document.getElementById('PersonalInfomationDIV').className='hiddenDiv';
        document.getElementById('RelationshipDIV').className='hiddenDiv';
        }
        
        if (obj=='Relationship'){
        
        document.getElementById('RelationshipDIV').className='visibleDiv';
        document.getElementById('PersonalInfomationDIV').className='hiddenDiv';
        document.getElementById('CloseRelativesDIV').className='hiddenDiv';
        }
        
       }
       
      function  overPredicate(obj){obj.className='predicateDIVhover';}
      function  outPredicate(obj){obj.className='predicateDIV';} 
       
      function setPredicate(subjectdomain,subject,objecttype,objectname,objectinputfield)
       {
       
       mysubjectdomain=subjectdomain;
       mysubject = subject;
       myobjecttype=objecttype;
       myobjectname=objectname;
       myobjectinputfield=objectinputfield;
       document.getElementById("triplet").innerHTML="";
       
       //alert(jssubjectdomain + " " + jssubjectname + " " + objecttype + " " + objectname + " " );
       alert(objectinputfield + " " + subject + " " + objecttype + " " + objectname + " " );
       
       if (objecttype=='property')
       {
    	
       document.getElementById("triplet").innerHTML="<input type='hidden' id='newpredicate' value='"+ objectname + "'>";
       document.getElementById('variantsdiv').innerHTML="";
       //url = '/variants/' + subjectdomain + '/' + objectname;
       process();
      
       }
       
       if (objecttype!='property' || objecttype!='date' )
       {
       
       document.getElementById("triplet").innerHTML="<input type='hidden' READONLY id='newpredicate' value='"+ objectname + "'>";
       document.getElementById("triplet").innerHTML+="<input type='text' id='searchbox' name='searchbox' onkeyup=getSearchResult(this.value,'"+objecttype+"','searchbox','" + objectname + "')> ";
       document.getElementById("triplet").innerHTML+=document.getElementById("searchresults").innerHTML; 
       document.getElementById("triplet").innerHTML+=newperson(objecttype);
       document.getElementById("triplet").innerHTML+="<input type='button' id='submit' value='OK' onclick='addpersonproperty()'>"
       }
       

       
        if (objecttype=='date')
       {
       document.getElementById("triplet").innerHTML="<input type='hidden' id='newpredicate' value='"+ objectname + "'>";
       document.getElementById("triplet").innerHTML+="<form action='#' method='get'><input type='text' name='date' id='newpredicatevalue' value=''></form>";
       document.getElementById("triplet").innerHTML+="<input type='button' id='submit' value='OK' onclick='addpersonproperty()'>";
       
        
        Calendar.setup({
        inputField     :    "newpredicatevalue",     // id of the input field
        ifFormat       :    "%Y-%m-%d",     // format of the input field (even if hidden, this format will be honored)
        displayArea    :    "show_d",       // ID of the span where the date is to be shown
        daFormat       :    "%A, %B %d, %Y",// format of the displayed date
        align          :    "Tl",           // alignment (defaults to "Bl")
        singleClick    :    true
        });
       
       }
      
       $(function() {
	$("#triplet").dialog('destroy');
	$("#triplet").dialog({title: objectname,	bgiframe: true,
			resizable: false,
			height:200,width:500,
			modal: true,
			overlay: {backgroundColor: '#000',opacity: 0.5}
            

			});

	});

	$("#triplet").dialog( 'open' )

       }
    
    function deleteproperty(elemid)
    {
    Check = confirm("Wollen Sie dieses Attribut wirklich löschen?");
    if (Check == true){

    document.location="/" + jssubjectdomain + "/" + jssubjectname + "/deleteproperty/" + elemid.replace("delete-","") + "/"
    }
    }
    
    function editproperty(elemid,textarea,inputtype,obj)
    {
    //alert(elemid);
    //alert(document.getElementById(elemid).innerHTML);
    //alert(textarea);
    obj.src="/images/edit-disabled.jpg";
    //alert(jssubjectdomain + " " +jssubjectname);
    var htmltext="<form method='post' action='/" + jssubjectdomain + "/" + jssubjectname + "/editproperty/" + elemid.replace("value-","") + "/'  enctype='multipart/form-data'>";
    if (textarea=="textarea")
    { 
    
    document.getElementById(elemid).innerHTML= htmltext+"<textarea style='width:500px;height:200px' name='edit'>" + document.getElementById(elemid).innerHTML + "</textarea><input type='submit' id='edit" + elemid + "' value='OK')></form>";}
   
    else
    { 
    if (inputtype=='0'||inputtype=='1'){document.getElementById(elemid).innerHTML=  htmltext+"<input style='width:500px;' type='text' name='edit' value='" + document.getElementById(elemid).childNodes[0].innerHTML + "'><input type='submit' id='edit" + elemid + "' value='OK'></form>";}
    if (inputtype=='2'){document.getElementById(elemid).innerHTML=  htmltext+"<input style='width:500px;' type='text' name='edit' value='" + document.getElementById(elemid).innerHTML + "'><input type='submit' id='edit" + elemid + "' value='OK'></form>";}
    }
    obj.onclick="";
    }

    
    function getVariant(subjectDomain,predicate){
   
    if (xmlHttp) {
    url = '/variants/' + subjectDomain + '/' + predicate;


    xmlHttp.open('GET',  url , true);
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
        
             document.getElementById('variantsdiv').value=  xmlHttp.responseText;
        }
    };
    xmlHttp.send(null);
    }
    }

      
var xmlHttp = createXmlHttpRequestObject();
var xmlResponse = "";
function createXmlHttpRequestObject()
{
	var xmlHttp;

	// IE
	if(window.ActiveXObject)
	{try{xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {xmlHttp = false;}

	} else {try{xmlHttp = new XMLHttpRequest();} catch (e) {xmlHttp = false;}}

	if(!xmlHttp) alert("Error creating the XMLHttpRequest object.");else return xmlHttp;
}

function process(url)
{
	
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	    
	    url = '/variants/' + jssubjectdomain + '/' + myobjectname;
	    //alert(url);
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponse;
		xmlHttp.send(null);
	} else
		setTimeout('process()', 1000);
}

function handleServerResponse()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
	    	
            //alert(mysubjectdomain + " " + mysubject + " " + myobjecttype + " " + myobjectname + " " + myobjectinputfield + " " + name );
            //alert(jssubjectdomain + " " + jssubjectname + " " + myobjectname + " " + myobjecttype + " " + myobjectinputfield + " " + name );
            var htmltext="<form method='post' action='/" + jssubjectdomain + "/" + jssubjectname + "/addproperty/" + myobjectname +"/" + myobjecttype + "/'  enctype='multipart/form-data'><input type='hidden' DISABLED id='newpredicate' value='"+ myobjectname + "'>";
            htmltext+=xmlResponse;
            
            if (myobjectinputfield=="textarea")
                {
                htmltext+="<textarea style='width:300px;height:100px' type='text' name='newpredicatevalue' id='newpredicatevalue' value=''></textarea>"
                }
            else if (myobjectinputfield=="upload") 
                 {
                 htmltext+= "<input style='width:500px;' type='file' id='newpredicatevalue' name='newpredicatevalue'>";
                 
                 }
            else
                {
                htmltext+="<input type='text' name='newpredicatevalue' id='newpredicatevalue' value=''>";
                }

            htmltext+="<input type='submit' id='submit' value='OK'></form>";
            
	    	document.getElementById("triplet").innerHTML=htmltext;
	    	
			
		} else {
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
		
	}
}	
	function processdomain(url)
{
	
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	alert("url=" + url);
	    //url = '/variants/' + mysubjectdomain + '/' + myobjectname;
	    
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponsedomain;
		xmlHttp.send(null);
	} else
		setTimeout('processdomain()', 1000);
}

function handleServerResponsedomain()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
	    	            
            var htmltext="<input type='hidden' DISABLED id='newpredicate' value='type'>";
            //var htmltext="<input type='text' DISABLED id='newpredicate' value='type'>";
            htmltext+=xmlResponse;
            if (myobjectinputfield=="textarea")
            {
            htmltext+="<textarea style='width:300px;height:100px' type='text' id='newpredicatevalue' value=''></textarea>";}
            else
            {
            htmltext+="<input type='hidden' id='newpredicatevalue' value=''>";
            }
            
            htmltext+="<span>Name</span><input type='text' id='organisationname' value='Name'><input type='button' value='OK' onclick='adddomain()'>";
            //htmltext+="<input type='button' id='submit' value='OK' onclick='addpersonproperty()'>";
            
	    	document.getElementById("script").innerHTML=htmltext;
	    	$(function() {
	
	$("#script").dialog({title: 'Neues Objekt anlegen',	bgiframe: true,
			resizable: false,
			width:500,
			modal: true,
			overlay: {backgroundColor: '#000',opacity: 0.5}
			});

	});
	    	$("#script").dialog( 'open' )
		} 
		else 
		{
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
		//alert(htmltext);
	}
}

function getSearchResult(searchobject,domain,searchinput,predicate)
{
	//alert( searchinput);
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	if (searchinput=='search')  url = '/search/' + domain + '/' + encode64(encode64(searchobject));
	if (searchinput=='searchbox')  url = '/searchpredicatedomains/' + domain + '/' + encode64(encode64(searchobject)) + '/' + jssubjectdomain + '/' + jssubjectname +'/' + predicate; 
	//'/' + jssubjectdomain + '/' + jssubjectname + '/searchpredicatedomains/' + domain + '/' + searchobject;
	
	//alert(url);
	    document.getElementById("searchresults").style.top=22+document.getElementById(searchinput).offsetTop;
	    document.getElementById("searchresults").style.left=document.getElementById(searchinput).offsetLeft;	
	    document.getElementById("searchresults").style.display = 'block';
	    
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponsedomainSR;
		xmlHttp.send(null);
	} else
		setTimeout('getSearchResult()', 1000);
}

function handleServerResponsedomainSR()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
	    	            
            var htmltext="";
            htmltext+=xmlResponse;

	    	document.getElementById("searchresults").innerHTML=htmltext;
	    	//document.getElementById("searchresults").style.top=22+document.getElementById(searchinput).offsetTop;
	    	//document.getElementById("searchresults").style.left=document.getElementById(searchinput).offsetLeft;	
	    	//document.getElementById("searchresults").style.display = 'block';
		} 
		else 
		{
			alert("There was a problem accessing the server: getSearchResult " + xmlHttp.statusText);
		}
	}
}	

function getPredicates(domain,domaintype)
{

 
          //$.ui.dialog.defaults.bgiframe = true;
	$(function() {
	$("#predicates").dialog({ title: domaintype, bgiframe: true,
			resizable: false,
			height:600,width:800,
			modal: true,
			overlay: {backgroundColor: '#000',opacity: 0.15}
			});

	});
	$("#predicates").dialog('open')
	//alert( domain + " " + domaintype );
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	//alert(domain );
url = '/predicates/' + domain + '/' + domaintype;
	    //url = '/predicates/' + domain + '/city' ;
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponsedomainGP;
		xmlHttp.send(null);
	} else
		setTimeout('getPredicates()', 1000);
}

function handleServerResponsedomainGP()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
	    	//alert(xmlResponse) ;      
            var htmltext="";
            htmltext+=xmlResponse;

	    	document.getElementById("predicates").innerHTML=htmltext;
	    	//document.getElementById("searchresults").style.top=22+document.getElementById("search").offsetTop;
	    	//document.getElementById("searchresults").style.left=document.getElementById("search").offsetLeft;	
	    	document.getElementById("predicates").style.display = 'block';
		} 
		else 
		{
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
	}
	
	}

function processradius(obj2,obj)
{
 if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	//alert("zip=" + obj.value + " radius=" + obj2.value);
	if (obj.value.length ==5)
	{

	    url = '/contactformradius@radius/' + obj.value + '/' + obj2.value ;
	    //alert(url);
	    document.getElementById("zipresults").style.top=22+document.getElementById(obj.id).offsetTop + "px";
	    document.getElementById("zipresults").style.left=document.getElementById(obj.id).offsetLeft + "px";
	    document.getElementById("zipresults").style.position = 'absolute';
	    document.getElementById("zipresults").style.backgroundColor = '#ffffff';
	    document.getElementById("zipresults").style.padding = 5 + "px";
	    document.getElementById("zipresults").style.border = '1px solid black';
	    
	    document.getElementById("zipresults").style.width=230 + "px";
	    document.getElementById("zipresults").style.textAlign="left";
	    document.getElementById("zipresults").style.height=200 + "px";
	    document.getElementById("zipresults").style.overflow='auto';
	    //document.getElementById("zipresults").style.display = 'block';
	    
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponseradius;
		xmlHttp.send(null);
		} 
		else
		{
		document.getElementById("zipresults").style.display = 'none';
		}
	} else {
//document.getElementById("myresults").value=obj.value;
		setTimeout('processradius()', 1000);}

}

function handleServerResponseradius()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
			
			//alert(xmlResponse );
				var Cities = xmlResponse.split("|");

	    	//alert(Woerter[0] + " " + Woerter[1]) ;      
            var htmltext="";
	    var liste="";
            htmltext+=xmlResponse;
            
            var CityList = Cities[1].split("@");
            var msg="";
            for (var x = 0; x < CityList.length; x++)
            {
                msg = msg + "<a onclick='enterzipresult(this.innerHTML);return false' href='#'>" + CityList[x] + "</a><br/>";
liste=liste+CityList[x].substring(0,5) + "^";	

            }
            //document.getElementById("zipresults").innerHTML=msg;	
            document.getElementById("myresult").value=liste;
//document.getElementById("zipresults").innerHTML=xmlResponse;	
	    	
		} 
		else 
		{
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
	}	
}	


	function processzipcode(obj,obj2)
{
	
	if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
	{
	//alert("zipcode=" + obj.value + obj2.value);
	if (obj.value.length > 1 && obj.value.length < 5)
	  {


	    url = '/contactform@zip/' + obj.value + '/' + obj2.id ;
	    //alert(url);
$("#zipresults").css('top' ,$("#plz-city").offset().top + 20);
$("#zipresults").css('left',$("#plz-city").offset().left);


	    //document.getElementById("zipresults").style.top=22+document.getElementById(obj2.id).offsetTop + "px";
	    //document.getElementById("zipresults").style.left=document.getElementById(obj2.id).offsetLeft + "px";
	    document.getElementById("zipresults").style.position = 'absolute';
	    document.getElementById("zipresults").style.backgroundColor = '#ffffff';
	    document.getElementById("zipresults").style.padding = 5 + "px";
	    document.getElementById("zipresults").style.border = '1px solid black';
	    
	    document.getElementById("zipresults").style.width=200 + "px";
	    document.getElementById("zipresults").style.height=200 + "px";
	    document.getElementById("zipresults").style.overflow='auto';
	    document.getElementById("zipresults").style.display = 'block';
	    
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = handleServerResponsezip;
		xmlHttp.send(null);
	  } 
	  else
	  {
		if (obj2.value.length=0){$("#myresults").value("")}
		if (obj2.value.length=5){processradius(document.getElementById("plz-radius"),document.getElementById("plz-zip"))}
	   
	  }
	} 
	else
		setTimeout('processzipcode()', 1000);
}

function handleServerResponsezip()
{
	if(xmlHttp.readyState == 4)
	{
		if(xmlHttp.status == 200)
		{
			xmlResponse = xmlHttp.responseText;
			//alert(xmlResponse) ;      
			
			var Cities = xmlResponse.split("|");

	    	
            var htmltext="";
            htmltext+=xmlResponse;
            
            var CityList = Cities[1].split("@");
            var msg="";
	    var liste="";

            for (var x = 0; x < CityList.length; x++)
            {
                msg = msg + "<a onclick='enterzipresult(this.innerHTML);return false' href='#'>" + CityList[x] + "</a><br/>";

		liste=liste+CityList[x].substring(0,5) + "^";	

            }
            document.getElementById("zipresults").innerHTML=msg;
	    document.getElementById("myresult").value=liste;

	    	//document.getElementById(Cities[0]).value=msg;
	    	//document.getElementById("searchresults").style.top=22+document.getElementById("search").offsetTop;
	    	//document.getElementById("searchresults").style.left=document.getElementById("search").offsetLeft;	
	    	
		} 
		else 
		{
			alert("There was a problem accessing the server: " + xmlHttp.statusText);
		}
	}	
}	

function enterzipresult(obj)
{

var zip=  obj.slice(0, 5);
var name=  obj.slice(5,obj.length );

    document.getElementById("plz-zip").value=zip;
	document.getElementById("plz-city").value=name;
	document.getElementById("zipresults").style.display = 'none';
	load(zip + " " + name,document.getElementById("plz-radius").value);
$("#suchanfrage").validate().element( "#plz-zip" );

processzipcode(document.getElementById("plz-zip"),document.getElementById("plz-radius"));

}

function changeradius()
{
load(document.getElementById("plz-zip") + " " + document.getElementById("plz-city"),document.getElementById("plz-radius").value);
}



 function showComment(d,comment)
{
var div = document.getElementById('commentdiv');

div.style.top = (d.offsetTop - 180) + "px";
div.style.left = (d.offsetLeft + 150) + "px";
div.style.display = "inline";
//div.style.position = "absolute";
//div.style.color="#ffffff";

 var div2 = document.getElementById('subcomment');


div2.innerHTML = comment ;

//window.event.cancelBubble = true;
//opacity('commentdiv',100,0,1000);

}


function hideComment(d) 
{

}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function shiftOpacity(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    if(document.getElementById(id).style.opacity == 0) {
        opacity(id, 0, 100, millisec);
    } else {
        opacity(id, 100, 0, millisec);
    }
} 

function blockmouseout()
{return false}

 
document.onmouseout = blockmouseout;

          
           

