var video;

function getHTTPObject(target) {
  var xhr = false;
  // set this variable to grab the right XML node
  video = target;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}

function grabFile(file, target) {
  var request = getHTTPObject(target);
  if (request) {
    request.onreadystatechange = function() {
      parseResponse(request);
    };
    request.open("GET", file, true);
    request.send(null);
  }
}

function getNodeValue(parent, target) {
	var node = parent.getElementsByTagName(target)[0];
	if(node.firstChild && node.firstChild.nodeValue){
		return escape(node.firstChild.nodeValue);
	}
	else return false;
}

function parseResponse(request) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
      
		var data = request.responseXML;
		
		// Get the node
		var swfData = data.getElementsByTagName(video)[0];
		
		// Get SWF params from XML
		var swf_src = swfData.getAttribute("src");
		var swf_w = swfData.getAttribute("width");
		var swf_h = swfData.getAttribute("height");
		var swfMinVersion = swfData.getAttribute("minflashversion");
		
		var swfVar_WMode = getNodeValue(swfData, "wmode");
		var swfVar_AllowScriptAccess = getNodeValue(swfData, "allowscriptaccess");
		
		var so = new SWFObject(swf_src, "NSR Video", swf_w, swf_h, swfMinVersion);
		so.addVariable("wmode", swfVar_WMode);
		so.addVariable("allowscriptaccess", swfVar_AllowScriptAccess);
		so.write("vidloader");		
    }
  }
}