var xmlHttp = null;

function ajax(url, vars, callbackFunction)
{
  var request = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("MSXML2.XMLHTTP.3.0");
    if( !window.XMLHttpRequest ) XMLHttpRequest = function() {
        try{ return new ActiveXObject("MSXML3.XMLHTTP") }catch(e){}
        try{ return new ActiveXObject("MSXML2.XMLHTTP.3.0") }catch(e){}
        try{ return new ActiveXObject("Msxml2.XMLHTTP") }catch(e){}
        try{ return new ActiveXObject("Microsoft.XMLHTTP") }catch(e){}
        throw new Error("Could not find an XMLHttpRequest alternative.")
    };
  request.open("POST", url, true);
  request.setRequestHeader("Content-Type",
                           "application/x-www-form-urlencoded");

  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      if (request.responseText) {
          callbackFunction(request.responseText);
      }
    }
  };
  request.send(vars);
}
function GetXmlHttpObject() {
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer
        try {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    if (xmlHttp == null) {
        alert ("Your browser does not support AJAX!");
        return;
    }
    return xmlHttp;
}

function subscribeNewsletter() {
    var email = document.getElementById("newsletterEmail").value;
    if (email != null && email != "") {
        document.getElementById("resultXML").innerHTML = "<p>One moment please. Subscribing \"" + email + "\" ...</p>";
        xmlHttp = GetXmlHttpObject();
        var url = "/ajax/subscribe-newsletter.php?email=" + email;
        //var params= "email=" + email;    
 
        xmlHttp.onreadystatechange = function() {
            if (xmlHttp.readyState == 4) {
                document.getElementById("resultXML").innerHTML = "<p>" + xmlHttp.responseText + "</p>";
            }
        };
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }      
}

function listSubDirectories() {
    var selectBox = document.getElementById("dID");
    if(document.getElementById("hiddenSdID")){
	    var hiddenSDdID = document.getElementById("hiddenSdID").value;
	    try {
	        var newDirectory = selectBox.options[selectBox.selectedIndex].value;
		    xmlHttp = GetXmlHttpObject();	
		    var url="/ajax/get-subdirectory-list.php?dID=" + newDirectory + "&sdID=" + hiddenSDdID;
		    document.getElementById("sub-directory").innerHTML = "Retrieving sub-categories ...";
		    //alert(url);
		
	        xmlHttp.onreadystatechange = function() {
	            if (xmlHttp.readyState == 4) {
	                document.getElementById("sub-directory").innerHTML = xmlHttp.responseText;
	            }
	        };
	        xmlHttp.open("GET", url, true);
	        xmlHttp.send(null);
	    } catch (e) {
	      // selectBox is null - eat it
	    }
	}
}
