// JavaScript Document

/*
------------------------------[how to]
<form> 
<label>Your Name<input type="text" id="text" name="name"></label> 
<br><br> 
<label>Your Address<input type="text" name="address"></label> 
<br><br> 
<label> 
<select id="info" name="Catalog"> 
<option value="1">Full Product Catalog</option> 
<option value="2">Spring Catalog</option> 
<option value="3">Special Order Service</option> 
</select>&nbsp;&nbsp;Select The Product Catalog you Want to Receive</label> 
<br><br><br> 
<input type="button" value="Request Information" onClick="sub(this.form,'testPost.php','frame')"> 
</form>
*/
var xmlReq = null;; 

function sub(f,dest,returnFieldId){ 
   var file = dest; 
   var str = getFormValues(f,"validate"); 
   xmlReq = getXML(file,str,returnFieldId); 
} 

function getXML(file,str,returnFieldId){ 
   var doc = null 
   if (typeof window.ActiveXObject != 'undefined' ){ 
       doc = new ActiveXObject("Microsoft.XMLHTTP"); 
       doc.onreadystatechange = function(){
loadpage(doc, returnFieldId)
}; 
   } 
   else{        
	   doc = new XMLHttpRequest(); 
       doc.onload = function(){
loadpage(doc, returnFieldId)
}; 
   } 
   doc.open( "POST", file, true ); 
   doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
   doc.send(str); 
   return doc; 
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}

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; 
}

