/* AJAX METHODS */
function createRequestObject()
{
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}
var http = createRequestObject();
var actual_cmd = "";

function axReq() 
{
	if( typeof(arguments[0]) != "undefined" )
	{
		var ax_url = "";
		var sessiondata = "";
		var workstand = "";
		actual_cmd = arguments[0];
		if(typeof(arguments[2]) != "undefined") //sessiondata
		{
			sessiondata = arguments[2];
		}
		switch(arguments[0])
		{
			case "zip2city":
   			//(this.value,'city','city_chng','bookfrm','pixel')
				ax_url = "/_modules/ajax/zip2city.php?"+sessiondata+"&zipcode="+arguments[1][0]+"&thisobj1name="+arguments[1][1]+"&thisobj2name="+arguments[1][2]+"&thisformshorty="+arguments[1][3]+"&thiswidth="+arguments[1][4];
			break;
			case "show_corporates":
			   ax_url = "/_modules/ajax/searchcorporates.php?"+sessiondata+"&w="+arguments[1][0]+"&field="+arguments[1][1];
			break;
			case "getcorpdata":
			   ax_url = "/_modules/ajax/getcorporate.php?"+sessiondata+"&thisid="+arguments[1][0]+"&field="+arguments[1][1];
			break;
			case "getcorpdatabyname":
			   ax_url = "/_modules/ajax/getcorporatebyname.php?"+sessiondata+"&name="+arguments[1][0]+"&field="+arguments[1][1];
			break;
			case "delete_bookmark":
			   ax_url = "/_modules/ajax/bookmarks.php?"+sessiondata+"&thisid="+arguments[1][0]+"&cmd=del";
			break;
			case "add_bookmark":
			   ax_url = "/_modules/ajax/bookmarks.php?"+sessiondata+"&thisid="+arguments[1][0]+"&cmd=add";
			break;
			case "marked_row":
   			if(typeof(arguments[1][3]) != "undefined") //workstand
   			{
   				workstand = "&workstand="+arguments[1][3];
   			}
				ax_url = "/_modules/ajax/marker.php?"+sessiondata+"&id="+arguments[1][0]+"&val="+arguments[1][1]+"&table="+arguments[1][2]+workstand;
			break;
		}
		if(ax_url.length > 0)
		{
	  	http.open('get', ax_url);
	  	http.onreadystatechange = handleResponse;
	  	http.send(null);
	  }
  }
}

function handleResponse()
{
  if(http.readyState == 4)
  {
      var response = http.responseText; 
      //alert(response);
      if(actual_cmd == "show_corporates")
      {
         var autocompleter = document.getElementById("autocompleter");
         var person = document.getElementById("person");
         var street = document.getElementById("street");
         var zipcode = document.getElementById("zipcode");
         if(document.getElementById("city"))
            var city = document.getElementById("city");
         else if(document.getElementById("city_chng"))
            var city = document.getElementById("city_chng");
         var country = document.getElementById("country");
         var phone = document.getElementById("phone");
         var email = document.getElementById("email");
         var homepage = document.getElementById("homepage");
         var ispublic = document.getElementById("show_public");
         if( response != "" )
			{
			   var tmp = new Array();
				tmp = response.split('||');
				
				if(tmp[1] != "")
				{
				   var ar_corps = new Array();
      			var htmllink = new Array();
      			if(tmp[1].search(/\,/gi) != -1)
      			 ar_corps = tmp[1].split(",");
      			else
      			 ar_corps[0] = tmp[1];
      			
      			for(var elem in ar_corps)
      			{
      			   var corporation = ar_corps[elem];
      			   var splitted = corporation.split("{===}");
      			   htmllink.push('<a href="javascript:void(0)" onClick="getCorporateData('+splitted[0]+',\''+tmp[0]+'\');document.getElementById(\'autocompleter\').style.display=\'none\';" title="&uuml;bernehmen?">'+splitted[1]+'</a>');  
      			}
      			if(htmllink.length > 0)
      			{
      			   autocompleter.innerHTML = '<ul id="corplst"><li>'+htmllink.join("</li><li class='hr'><hr /></li>\n<li>")+'</li></ul>';
      			   //alert(autocompleter.innerHTML);
      			   autocompleter.style.display = 'block';
      			   ispublic.checked = true;
      		   }
      		 }
      		 else
      		 {
      		   autocompleter.innerHTML = "";
      		   autocompleter.style.display = 'none';
      		   if(document.getElementById("corp_adr"))
                  document.getElementById("corp_adr").style.display="block";
      		   document.getElementById("corpid").value = 0;
      		   person.value = "";
               street.value = "";
               zipcode.value = "";
               city.value = "";
               //country.value = "";
               phone.value = "";
               email.value = "";
               homepage.value = "";  
               
      		 }
			}
			else
			{
			   autocompleter.innerHTML = "";
      		autocompleter.style.display = 'none'; 
      		if(document.getElementById("corp_adr"))
              document.getElementById("corp_adr").style.display="block";
            document.getElementById("corpid").value = 0;
      		person.value = "";
            street.value = "";
            zipcode.value = "";
            city.value = "";
            //country.value = "";
            phone.value = "";
            email.value = "";
            homepage.value = "";    
			}
      }
      else if(actual_cmd == "getcorpdata" || actual_cmd == "getcorpdatabyname")
      {
         var autocompleter = document.getElementById("autocompleter");
         var person = document.getElementById("person");
         if( response != "" )
			{
            var data = new Array()
            data = response.split("||");
            document.getElementById(data[0]).value = data[2];
            document.getElementById("corpid").value = data[1];
            person.value = data[3]; 
            if(document.getElementById("corp_adr"))
               document.getElementById("corp_adr").style.display="none";
            if(autocompleter.style.display == "block") autocompleter.style.display = "none";
         }
         else
         {
            if(document.getElementById("corp_adr"))
                  document.getElementById("corp_adr").style.display="block"; 
         }
      }
      else if(actual_cmd == "delete_bookmark")
      {
         if( response != "" )
			{
			   document.getElementById("btbl").style.display = 'none';
			   document.getElementById("booul").innerHTML = '<li style="margin-left:-5px;">'+response+'</li>';
         }
      }
      else if(actual_cmd == "zip2city")
      {
         if( response != "" )
			{
			   //alert(response);
			   var args = new Array()
			   var ar_citys = new Array();

				args = response.split('||'); //valuestring,id,id2,formname,pixel,data
            ar_citys = args[args.length-1].split(',');
				
				if( ar_citys.length > 1 )
				{
				   drawFormField('select',args[2],args[1],args[3],args[4]); //type,id,id2,formname,pixel,value
				}
				else
				{
					drawFormField('input',args[1],args[2],args[3],args[4],args[0]);
				}
				if( ar_citys.length > 1 )
				{
				   var cityobj = document.getElementById(args[2]);
				   if(cityobj.length != 0 )
      			{
      				for(var int_k = -1; int_k <= oldarrlength; int_k++)
      				{
      					cityobj.options[0] = null;
      				}
      				oldarrlength = 0;
      			}
					for(var int_i = 0; int_i < ar_citys.length; int_i++)
					{
						if( ar_citys[int_i] != "" )
						{
							cityobj.options[cityobj.length] = new Option(ar_citys[int_i],ar_citys[int_i] ,false,false);
						}
						/*var citydta = ar_citys[int_i].split("***");
						if( citydta[0] != "" && citydta[1] != "" )
						{
						   
							cityobj.options[cityobj.length] = new Option(citydta[0]+" - "+citydta[1],citydta[0],false,false);
						}*/
						oldarrlength++;
					}
				}
				else
				{
					drawFormField('input',args[1],args[2],args[3],args[4],ar_citys[0]);
				}
			}
			else
			{
				drawFormField('input');
			}
         
      }
	}
}
