function getElemPostVal(elem){
	var nm,vl;
	if (!elem) return "";
	vl = elem.value;
	nm = elem.name;
	return (encodeURIComponent(nm) + "=" + doEscape(vl));
}

function doEscape(s){
    var ss = encodeURIComponent(s); 
   return ss;
}

function getFieldsPost(form){
	var resultString = "";
	try{
		var elem;
		var firstElem = true;
		for (var i=0,ct=form.elements.length;i<ct;i++){
			elem = form.elements[i];
			if (elem && elem.type){				

				if (!firstElem) resultString+="&";

				if (elem.type == 'checkbox' || elem.type == 'radio'){
						if (elem.checked){
							resultString+=(elem.name + "=" + elem.value);

						}
				}else{
					resultString+=(getElemPostVal(elem));
				}	
		
		   	       firstElem=false;			
			}
		}
	}catch(e){
		alert("getFieldsPost: " + e.description);
	}
	return resultString;
}

//-------------------------------
    function submitPage(_url,form){
            var ret="";
            var eurl=_url;
            var postData = getFieldsPost(form);
            try{
                   if (!_url || (_url && _url.length==0)){
	                   	eurl = form.action;
                   }
                   ret = getHttpPage(eurl,postData);
               }catch(e){
                   return e.description;
               }
            return ret;
    }
//--------------------------------
     function getHttpPage(url,postdata){
			return getHttpPageDS(url,postdata);
     }
//-----------------------------------              
     function getHttpPageDS(url,postdata){     
	     try{
	     //alert(postdata);
	        var xmlRequest = getXMLRequester();
	        xmlRequest.open("POST", url, false);
	        xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); 
		//xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 	        
	        xmlRequest.send(postdata);
	        return xmlRequest.responseText;
	        xmlRequest = null;
	      }catch(e){
	        return  e.description + ": getHttpPageDS";
	      }
	      return "";
     }
     
//-------------------------------
    function getXMLRequester()
	{
		var xmlHttp = false;

		// try to create a new instance of the xmlhttprequest object
		try
		{
			// Internet Explorer
			if( window.ActiveXObject )
			{
				for( var i = 5; i; i-- )
				{
					try
					{
						// loading of a newer version of msxml dll (msxml3 - msxml5) failed
						// use fallback solution
						// old style msxml version independent, deprecated
						if( i == 2 )
						{
							xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );
						}
						// try to use the latest msxml dll
						else
						{

							xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
						}
						break;
					}
					catch( excNotLoadable )
					{
						xmlHttp = false;
					}
				}
			}
			// Mozilla, Opera und Safari
			else if( window.XMLHttpRequest )
			{
				xmlHttp = new XMLHttpRequest();
			}
		}
		// loading of xmlhttp object failed
		catch( excNotLoadable )
		{
			xmlHttp = false;
		}
		return xmlHttp ;
	}
	

function getCurDomain(){
	var dl = document.location; 
	var dm = dl.protocol+'//'+dl.hostname+ (dl.port!=''?(':' + dl.port):'') + '/';
	return dm;
}
	
	

