
function createXMLHttp() {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            var MSXML_XMLHTTP_PROGIDS = new Array(
                'Microsoft.XMLHTTP',
                'MSXML2.XMLHTTP.5.0',
                'MSXML2.XMLHTTP.4.0',
                'MSXML2.XMLHTTP.3.0',
                'MSXML2.XMLHTTP'
            );
            var success = false;
            for (var i=0;i < MSXML_XMLHTTP_PROGIDS.length && !success; i++) {
                try {
                    xmlhttp = new ActiveXObject(MSXML_XMLHTTP_PROGIDS[i]);
                    success = true;
                } catch (e) {}
            }
            if ( !success ) {
                alert('Cant create XMLHttpRequest - not supported');
            }
        }
}	
createXMLHttp();
    
function callInProgress(xmlhttp) {
    switch ( xmlhttp.readyState ) {
        case 1, 2, 3:
            return true;
        break;
	
        // Case 4 and 0
        default:
            return false;
        break;
    }
}
// Need to define what should be in these variables
function get_ajax_content(ajax_file, target_div, type, post_vars){ 
	if (type!=2){
		try{
			document.getElementById(target_div).innerHTML="";
		} catch(e){
		}
	}
	ajax_file = "/ajax/" + ajax_file + "&noCache=" + new Date().getTime()
//	alert ("Open:" + ajax_file + ", Target to: " + target_div);// + "type=" + type);
	xmlhttp.open("POST", ajax_file, true);
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
//	open("method","URL",async,"uname","pswd")

	xmlhttp.onreadystatechange=function() {
		try{ wait(1); } catch (e) { }
		if (xmlhttp.readyState==4) {
//			alert(xmlhttp.responseText);
			try{ wait(0); } catch (e) { }
			if (type==6){
				jax_callback(target_div,xmlhttp.responseText);
			}else if (type==2) {
				jax_callback_2(target_div,xmlhttp.responseText);			
			} else if (type==3) {
				itempurchase(target_div,xmlhttp.responseText);			
			} else {
				var function_to_run = target_div + "(xmlhttp.responseText)";
				eval(function_to_run);
				//document.getElementById(target_div).innerHTML=xmlhttp.responseText; //ajax_file + "<br><br>" + 
			}
		}	
	}

	if ( !callInProgress(xmlhttp) ) {
	      if (post_vars!=""){
		  	xmlhttp.send(post_vars);
		  } else {
		  	xmlhttp.send(null);
		  }
	} else {
		try{ wait(1); } catch (e) { }
	}
}
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 "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;
}

