/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn() {
	var xmlhttp, bComplete = false;
 	try { 
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (e) { 
		try { 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (e) { 
			try { 
				xmlhttp = new XMLHttpRequest(); 
			} catch (e) { 
				xmlhttp = false; 
			}
		}
	}
	if (!xmlhttp) return null;
	this.connect = function(sURL, sMethod, sVars, fnDone, idGallery) {
		if (!xmlhttp) return false;
    	bComplete = false;
    	sMethod = sMethod.toUpperCase();

    	try {
			if (sMethod == "GET") {
				xmlhttp.open(sMethod, sURL+"?"+sVars.replace(/ /g,"+"), true);
				sVars = "";
		  	} else {
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		  	}
     	 	xmlhttp.onreadystatechange = function(){
      			if (xmlhttp.readyState == 4 && !bComplete) {
		  	 		//try {
	  					if (xmlhttp.status == 200) {
							bComplete = true;
							fnDone(xmlhttp, idGallery);
						} else {
							alert("Internal Sever Error.");
							return null;
	  					}
		   			//} catch(y) { 
					//	return false; 
					//}
				}
			};
			xmlhttp.send(sVars.replace(/ /g,"+"));
    	} catch(z) { 
			return false; 
		}
	return true;
	};
return this;
}

