// global flag
var isIE = false;
 
// global request and XML document objects
var req;
var container;
var dynForm;
var advanceSearch;

// retrieve XML document (reusable generic function);
// parameter is URL string (relative or complete) to
// an .xml file whose Content-Type is a valid XML
// type, such as text/xml; XML source must be from
// same domain as HTML file
function loadDoc2(url, frm, cnt, df, adv) {

	container = cnt;
	dynForm = df;
	advanceSearch = adv;

	if(dynForm != '') {
		url = "templates/" + url + "?num_fields=" + document.getElementById(dynForm).value
	}

   // branch for native XMLHttpRequest object
	if(frm == ''){
    if (window.XMLHttpRequest){
			req = new XMLHttpRequest();
			req.onreadystatechange = process;
		  req.open("GET", url, true);
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
			var pstr;
			req.send();

		// branch for IE/Windows ActiveX version
    }else if (window.ActiveXObject){
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req){
				req.onreadystatechange = process;
				req.open("GET", url, true);
				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
				var pstr;
				pstr=get_elements(frm);
				req.send();

      }
    }
	}else{
		if (window.XMLHttpRequest){
        req = new XMLHttpRequest();
        req.onreadystatechange = process;
				req.open("POST", url, true);
				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
				var pstr;
				pstr=get_elements(frm);
				req.send(pstr);
			
			// branch for IE/Windows ActiveX version
		} else if (window.ActiveXObject) {
        
			isIE = true;
			req = new ActiveXObject("Microsoft.XMLHTTP");
			if (req){
	 
				req.onreadystatechange = process;
				req.open("POST", url, true);
				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
				var pstr;
				pstr=get_elements(frm);
				req.send(pstr);
			}
		}
	}
}

// handle onreadystatechange event of req object--ny
function process() {

	// only if req shows "loaded"
	if (req.readyState == 4){
		// only if "OK"
		if (req.status == 200) {

			var Rd = req.responseText;
			document.getElementById(container).style.display = 'block';
			document.getElementById(container).innerHTML = Rd;
			
			if(dynForm == '') {
				//hide progress bar if page loaded
				document.getElementById('progress').style.display = 'none';
				
				if(advanceSearch == '1') {
					document.getElementById('adv_search').style.display = 'none';
				}
			// show refine search box only when records found 
				if (document.getElementById("records").value == 1){ 
					document.getElementById("refinesearchbox").style.display = 'block';	
				}else{
					document.getElementById("refinesearchbox").style.display = 'none';	
				}	
			}
			
	  }else{
			alert("There was a problem retrieving the data:\n" + req.statusText);
		}
	}else{
		
		if(dynForm == '') {
			//show progress bar if page loading
			document.getElementById('progress').style.display = 'block';
			document.getElementById(container).style.display = 'none';
		}
		else {
			document.getElementById(dynForm).readOnly = true;
		}
	}
}


// gets all the elements from the certain form---ny
function get_elements(frm){
	var str, value;
	str="";

	with (eval("document."+frm)){
		for (var i=0; i < elements.length; i++){
			value = "";
			if(typeof(elements[i].value) != "undefined") {
				value = elements[i].value.replace(' ',"%20");
			}
			str+="&"+elements[i].name+"="+value;
		}
	}
	return str.substr(1);			
}


