//AJAX Stuff

function stateChanged(xmlHTTPObj,elementid,timeoutid) 
{ 
	if (xmlHTTPObj.readyState==4 || xmlHTTPObj.readyState=="complete")
		{
		setInnerHTML(elementid,xmlHTTPObj.responseText);
		if(timeoutid!=undefined)
			clearTimeout(timeoutid);
		} 
} 

function getXMLHTTPObject()
{
	try
		{
		// Firefox, Opera 8.0+, Safari
		return new XMLHttpRequest();
		}
	catch (e)
		{
		// Internet Explorer
		try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } 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)
			{
			alert('This browser is not supported by SPIE Search.');
			}
		}
	return null;
}

function sendRequest(url,isasynchronous)
{
	if(isasynchronous==undefined)
		isasynchronous=true;
	xmlHTTPObj.open("GET",url,isasynchronous);
	xmlHTTPObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=ISO-8859-1");
	xmlHTTPObj.send(url);
}

function requestTimeOut(elementid)
{
	alert('There appears to be a problem loading the results. Please try using your browser\'s refresh button to reload the page.');
}

function setInnerHTML(elementid,html)
{
	try
		{
		document.getElementById(elementid).innerHTML=html;
		}
	catch(e)
		{
		return;
		}
}

function getInnerHTML(elementid,defaultvalue)
{
	
	try
		{
		return document.getElementById(elementid).innerHTML;
		}
	catch(e)
		{
		if(defaultvalue==undefined)
			defaultvalue='';
		return defaultvalue;
		}
}

function GetXMLObject(xmlstring)
{
	try //Internet Explorer
		{
		xmlobject=new ActiveXObject("Microsoft.XMLDOM");
		xmlobject.async="false";
		xmlobject.loadXML(xmlstring);
		return xmlobject;
		}
	catch(e)
		{
		parser=new DOMParser();
		return parser.parseFromString(xmlstring,"text/xml");
		}
}

function AJAXRequest(url,callback)
{
	this.url=url;
	this.callback=callback;
	this.xmlRequest = getXMLHTTPObject();
	var self=this;
	this.xmlRequest.onreadystatechange = function() 
	{
		if (self.xmlRequest.readyState==4 || self.xmlRequest.readyState=="complete")
			{
			self.callback(self.xmlRequest.responseText);
			} 
	}
}

AJAXRequest.prototype.send = function()
{
	this.xmlRequest.open("GET",this.url,true);
	this.xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=ISO-8859-1");
	this.xmlRequest.send(this.url);
}

function LoadConfFeed(symposiumid)
{
	var request=new AJAXRequest('/app/program/index.cfm?fuseaction=programview&event_id='+symposiumid,DisplayConfFeed);
	request.send();
}

function DisplayConfFeed(listing)
{
	setInnerHTML('spiecontent',listing);
}

/******   Optimize DL Subscriber Test Code   ******/
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

var fadeEffect=function(){
	return{
		init:function(id, flag, target){
			this.elem = document.getElementById(id);
			clearInterval(this.elem.si);
			this.target = target ? target : flag ? 100 : 0;
			this.flag = flag || -1;
			this.alpha = this.elem.style.opacity ? parseFloat(this.elem.style.opacity) * 100 : 0;
			this.si = setInterval(function(){fadeEffect.tween()}, 10);
		},
		tween:function(){
			if(this.alpha == this.target){
				clearInterval(this.si);
			}else{
				var value = Math.round(this.alpha + ((this.target - this.alpha) * .05)) + (1 * this.flag);
				this.elem.style.opacity = value / 100;
				this.elem.style.filter = 'alpha(opacity=' + value + ')';
				this.alpha = value
			}
		}
	}
}();

function gup(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if(results == null) {
		return "";
	}
	return results[1];
}

function ShowPrompt(response) {
	if(response.trim()=='1') {
		document.getElementById('wt_dlprompt').style.display='';
		//fadeEffect.init('prompt', 1);
		document.getElementById('wt_dllink').style.display='';
		document.getElementById('dllink').style.display='none';
	}
}
/****** End Optimize DL Subscriber Test Code ******/
