var xmlHttp
var divid

function sub(f, method, url, div_id)
{ 
	xmlHttp=GetXmlHttpObject()
	divid = div_id
	if (xmlHttp==null){
 		alert ("Browser does not support HTTP Request")
 		return
 	}
 	
 	xmlHttp.onreadystatechange=stateChanged 
 	
	if(method==1){
		var params = getFormValues(f,"validate")

		xmlHttp.open("POST",url ,true)
		//xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8")
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params)
	}else{
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null)
	}
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById(divid).innerHTML=xmlHttp.responseText 
 } 
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
    
    function getFormValues(fobj,valFunc)

    {

       var str = "";

       var valueArr = null;

       var val = "";

       var cmd = "";

       for(var i = 0;i < fobj.elements.length;i++)

       {

           switch(fobj.elements[i].type)

           {

               case "text":



                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";

                     break;
               case "textarea":



                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";

                     break;
                     
                    
                     
               case "hidden":



                    str += fobj.elements[i].name +

                     "=" + escape(fobj.elements[i].value) + "&";

                     break;

               case "select-one":

                    str += fobj.elements[i].name +

                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";

                    break;

           }

       }

       str = str.substr(0,(str.length - 1));

       return str;

    }