var xmlReq = null;; 
function sub(f) 
{ 
   var file = 'testPost.php' 
   var str = getFormValues(f,"validate"); 
   xmlReq = getXML(file,str); 
} 

function getXML(file,str) 
{ 
   var doc ; 
   if (typeof window.ActiveXObject != 'undefined' ) 
   { 
       doc = new ActiveXObject("Microsoft.XMLHTTP"); 
      // doc.onreadystatechange = "alert('in');"; 
   } 
   else 
   { 
       doc = new XMLHttpRequest(); 
       //doc.onload = handleInfo(); 
   } 
   doc.open( "POST", file, true ); 
   doc.onreadystatechange = handleInfo; 
   doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
   doc.send(str); 
   //return doc; 
   function handleInfo(){
		if(doc.readyState == 4){
		 	var response = doc.responseText;
			if (response!=""){
				//alert(response);
				eval (response);
				//window.location.reload();
				//window.close();
			}
	   }
	}
}

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": 
                if(valFunc) 
                { 
                    //use single quotes for argument so that the value of 

                    //fobj.elements[i].value is treated as a string not a literal 
                    cmd = valFunc + "(" + 'fobj.elements[i].value' + ")"; 
                    val = eval(cmd) 
                } 
                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; 
}