var divtarget;
function ajaxRequest(){
        var factory = null
	var factories = [
		function() { return new XMLHttpRequest(); },
		function() { return new ActiveXObject("Msxml2.XMLHTTP"); },
    	function() { return new ActiveXObject("Microsoft.XMLHTTP"); }
	];
	/* factories = null; */
    	for(var i = 0; i < factories.length; i++) {
		try {
	    		var factory = factories[i];
	    		var request = factory();
	    		if (request != null) {
				factory = factory;
				return request;
	    		}
		}
		catch(e) {
	    	continue;
		}
    	}
	if(factory == null){
		alert("XMLHttpRequest not supported");
	}
}

function postFields(obj,targetdiv,targetpage){
	var poststr = "";
      for (i=0; i<obj.elements.length; i++) {
         if (obj.elements[i].tagName == "INPUT") {
            if (obj.elements[i].type == "text" || obj.elements[i].type == "hidden") {
            //The folowing line was added because the POST string was seeing an empersand and not encoding it properly
	       var txtstr = obj.elements[i].value.replace(/\&amp;/g,"%26");
               poststr += obj.elements[i].name + "=" + txtstr + "&";
            }
            if (obj.elements[i].type == "checkbox") {
               if (obj.elements[i].checked) {
                  poststr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
               } else {
                  poststr += obj.elements[i].name + "=&";
               }
            }
            if (obj.elements[i].type == "radio") {
               if (obj.elements[i].checked) {
                  poststr += obj.elements[i].name + "=" + obj.elements[i].value + "&";
               }
            }
         }   
         if (obj.elements[i].tagName == "SELECT") {
			var seltxt;
			var sel = obj.elements[i];
			for(e=0;e<sel.options.length; e++){
				var option = sel.options[e];
				if(option.selected){
					if(seltxt){
						seltxt += "," + option.value;
					}else{
						seltxt = option.value;
					}
				}
			}
			//if(sel.selectedIndex){
            poststr += sel.name + "=" + seltxt + "&";
			seltxt = "";
			//var sel = obj.elements[i];
			//if(sel.selectedIndex){
            //poststr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			//}
         }
		 if (obj.elements[i].tagName == "TEXTAREA") {
            var ta = obj.elements[i];
            var tastr = ta.value.replace(/\&amp;/g,"%26");
            poststr += ta.name + "=" + tastr + "&";
         }
         
      }
	  //Update Target Div with "working..." notice
	  var workdiv = document.getElementById(targetdiv);
	  workdiv.innerHTML = "<p style='font-size:12px;color:white;margin-top:10px;margin-left:10px'><img src='images/ajax-loader.gif' width=25 height=25>Processing your Submission...Please Wait.</p>";
	  //Done Updating
	  divtarget = targetdiv;
      makeRequest(targetpage, poststr);
}
function makeRequest(page, params){
	var d = document;
	var request = ajaxRequest();
	//var urlreq = "archives.php?session=getdate&cid=" + cid;
		request.open("POST",page,false);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		request.send(params);
		if(request.status == 200){
			var newdiv = d.getElementById(divtarget);
			newdiv.style.display = "block";
			newdiv.innerHTML = request.responseText;
		}
}
function getRequest(page,mydiv){
	var d = document;
	var tdiv = d.getElementById(mydiv);
	var request = ajaxRequest();
	request.onreadystatechange = function(){
		if (request.readyState == 4){
			if(request.status == 200){
				//tdiv.style.display = "block";
				tdiv.innerHTML = request.responseText;
			}else{
				var outMsg = "There was a problem with your request " + request.status;
				tdiv.innerHTML = outMsg;
			}
		}
	};
	request.open("GET",page,false);
	//request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send(null);
}
function getImage(page,mydiv){
	var d = document;
	var tdiv = d.getElementById(mydiv);
	var request = ajaxRequest();
	request.onreadystatechange = function(){
		if (request.readyState == 4){
			if(request.status == 200){
				//tdiv.style.display = "block";
				tdiv.innerHTML = "<div style='position:absolute;margin-left:10px'>Click to Close</div>" + request.responseText;
			}else{
				var outMsg = "There was a problem with your request " + request.status;
				tdiv.innerHTML = outMsg;
			}
		}
	};
	request.open("GET",page,false);
	//request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	request.send(null);
}