<!--//

var objXMLHttp;
var AjaxMessage;
var iPos = 0;
var curMsg = "";

function GetXmlHttpObject() { 
	var objAjaxXMLHttp = null;
	
	if (window.ActiveXObject) {
		try {
			objAjaxXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		
		catch(e) {
			try {
				objAjaxXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			
			catch(err) {
				objAjaxXMLHttp = null;
			}
		}
	}
	
	else if (window.XMLHttpRequest) {
		objAjaxXMLHttp = new XMLHttpRequest();
	}
	
	return objAjaxXMLHttp;
}

function stateChanged() {
  
  if (objXMLHttp.readyState == 4 || objXMLHttp.readyState == "complete") { 
    // reduce flickering?
    if (document.getElementById("speakQuote").innerHTML != objXMLHttp.responseText) {
      replaceHtml("speakQuote", "");
      AjaxMessage = objXMLHttp.responseText;
      curMsg = "";
      iPos = 0;
      document.getElementById('img-eyes').style.visibility = 'visible';
      type_text();
    }
  }
} 

function getURLParam(strParamName) {
  var strReturn = "";
  var strHref = window.location.href;
  
  if (strHref.indexOf("?") > -1) {
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    
    for (var iParam = 0; iParam < aQueryString.length; iParam++) {
      if (aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ) {
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  
  return unescape(strReturn);
}

function setLoader() {
  document.getElementById("speakQuote").innerHTML = "<img src=\"ajax-loader.gif\">";
}

function get_quote() {

  objXMLHttp = GetXmlHttpObject();
	objXMLHttp.onreadystatechange = stateChanged;
	objXMLHttp.open("GET", "quote.php?sid=" + getURLParam("sid"), true);
	objXMLHttp.send(null);
	
	setTimeout("get_quote()", 15000);

}

function type_text() {
  
  intDelay = 60;
  curMsg += AjaxMessage.charAt(iPos);
  sSuffix = (curMsg == AjaxMessage) ? "" : "_";
  update_quote(curMsg + sSuffix);
  iPos++;
  
  if (iPos < AjaxMessage.length) {
    setTimeout("type_text()", intDelay);
  }
  
  if (curMsg == AjaxMessage) {
    document.getElementById('img-eyes').style.visibility = 'hidden';
  }
    
}

function update_quote(sHTML) {
  
  var sText = sHTML;
  sHTML = "<div class=\"quote\">&#8220;</div><div style=\"display: inline;\">" + sHTML + "</div><div class=\"quote\">&#8221;</div>";
  replaceHtml("blob", sHTML);
  replaceHtml("speakQuote", sHTML);
  //document.getElementById("speakQuote").innerHTML = sHTML;
  
}

function replaceHtml(el, html) {
  var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
  var newEl = document.createElement(oldEl.nodeName);
  
  // Preserve the element's id and class (other properties are lost)
  newEl.id = oldEl.id;
  newEl.className = oldEl.className;
  //newEl.style = oldEl.style;
  
  // Replace the old with the new
  newEl.innerHTML = html;
  oldEl.parentNode.replaceChild(newEl, oldEl);

  /* Since we just removed the old element from the DOM, return a reference
  to the new element, which can be used to restore variable references. */
  return newEl;
};



//-->
