// JScript File
var count = 1;
function getXML(strURL,strPostData,callback,layerID,strSearch){
	var http = null;
	if (window.XMLHttpRequest) {
		http = new XMLHttpRequest();
		if(http.overrideMimeType)http.overrideMimeType('text/xml');
	} else if(window.ActiveXObject) {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(!http) return;
	http.onreadystatechange=function(){
		if(http.readyState == 4) {
			if(http.status==200){
			} else {
//				alert(http.statusText);
				return false;
			}
		}
	}
	//alert(strURL + "?" + strPostData);
	try{
		http.open("POST", strURL, false);
		http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http.send(strPostData); //debug(http.responseText);
		//alert(http.responseText);
		callback(http.responseText,layerID,strSearch);
	}catch(e) {
		//alert(e);
		return getDataFromScripTag(strURL + "?" + strPostData, callback,layerID)

	}
}
var NSXMLScriptID="NSXMLScript";

function getDataFromScripTag(url,callback,layerID) {
	oScript = document.getElementById(NSXMLScriptID);
	var oHead = document.getElementsByTagName("head").item(0);
	if (oScript) {
		try{oHead.removeChild(oScript);}catch(e){};
	}
	oScript = document.createElement("script");
	oScript.setAttribute("src", url + "&jscript=1");
	oScript.setAttribute("id",NSXMLScriptID);
	oHead.appendChild(oScript);
	if (typeof oScript.addEventListener != "undefined") {
		oScript.addEventListener( "load",  function (evt) { XMLFakeXMLFeedback(callback); }, false ); }
	 else if (typeof oScript.attachEvent != "undefined") {
		oScript.attachEvent( 'onreadystatechange',  function (evt) { XMLIECheckAgain(callback); } );
	 }
}

// Used by IE to handle state changes
function XMLIECheckAgain(callback) {
	oScript = document.getElementById(NSXMLScriptID);
	if ((oScript.readyState == "loaded") || (oScript.readyState == "complete")) {
		XMLFakeXMLFeedback(callback);
		oScript.onreadystatechange = null;
	}
}
// the variable NSXML is defined in the uploaded javascript
function XMLFakeXMLFeedback(callback) {
	if (window.ActiveXObject) {
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.loadXML(NSXML);
		callback(xmlDoc);
	}
	else if(domParser = new DOMParser()){
		var xmlDoc = domParser.parseFromString( NSXML, "application/xml");
		callback(xmlDoc);
	}
}

// ******************************************************************************
// end new stuff

function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		return 0;
	}
}

var AutoFillRequestObject = getXmlHttpRequestObject();

function setSubmitTimeCallBack(oBaseHTML,layerID,strSearch){
	if(oBaseHTML != document.getElementById(layerID).innerHTML && oBaseHTML != ""){
		document.getElementById(layerID).innerHTML = oBaseHTML;
	}
	setTimeout("twitFeed('"+layerID+"','" + strSearch + "')",60000);
}

function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

function twitFeed(layerID,strSearch,tweetCount) {
	var argList = "twittersearch=" + URLEncode(strSearch) + "&count=" + tweetCount;
	getXML("NSTwitterGet.aspx", argList, setSubmitTimeCallBack, layerID, strSearch);
}

