// Widget XMLHTTP Connectivity
function XHConn()
{
	var xmlhttp, bComplete = false;
	
	try
	{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch (e)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlhttp = new XMLHttpRequest();
			}
			catch (e)
			{
				xmlhttp = false;
			}
		}
	}
	
	if (!xmlhttp)
	{
		return null;
	}

	this.connect = function(sVars, fnDone)
		{
		    var sURL = "Helpers/wdproxy.aspx";
		    var sMethod = "GET";
		  
		
			if (!xmlhttp)
			{
				return false;
		    	}

			bComplete = false;
			sMethod = sMethod.toUpperCase();

			try
			{
				if (sMethod == "GET")
				{
					xmlhttp.open(sMethod, sURL+"?" + sVars, true);
					sVars = "";
				}
				else
				{
					xmlhttp.open(sMethod, sURL, true);
					xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
					xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				}

				xmlhttp.onreadystatechange = function()
					{
						if (xmlhttp.readyState == 4 && !bComplete)
						{
							bComplete = true;
							fnDone(xmlhttp);
						}
					};
				xmlhttp.send(sVars);
			}
			catch(z)
			{
				return false;
			}
				return true;
		};

	return this;
}

        function checkerWidget(divId, counterId, seconds, title, qstring)
        {

            seconds = seconds - 1;
            if (seconds > 0)
            {
                document.getElementById(counterId).value = time(seconds);
                setTimeout("checkerWidget('" + divId + "', '" + counterId + "', " + seconds + ", '" + title + "', '" + qstring + "');", 1000);
            }
            else
            {
                var dv = document.getElementById(divId);
                dv.style.border = "none";
                dv.style.backgroundImage = "none";
                dv.innerHTML = title;
                var cn = new XHConn();
                var fn = function (oXML)
                    {
                        dv.innerHTML = oXML.responseText;
                    };
                if (!cn)
                   alert("Your browser does not support our widgets. Please check javascript settings or consider upgrading.");
                else
                    cn.connect(qstring + dv.style.width + "&height=" + dv.style.height, fn);
            }
        }

        function two(x) {return ((x>9)?"":"0")+x;}
        function three(x) {return ((x>99)?"":"0")+((x>9)?"":"0")+x;}

        function time(sec) {
            var ms = ms % 1000;
            var t = three(ms);
            var min = Math.floor(sec/60);
            sec = sec % 60;
            t = two(sec) + ":" + t;
            var hr = Math.floor(min/60);
            var min = min % 60;
            t = two(min) + ":" + t;
            var day = Math.floor(hr/60);
            hr = hr % 60;
            t = two(hr) + ":" + t;
            t = day + ":" + t;
            return t.replace(":00NaN", "");
        }

        function getIndexedItems(dmzId, val, styleId, divId) {            
            var dv = document.getElementById(divId);
            var cn = new XHConn();
            var fn = function (oXML)
                {
                    dv.innerHTML = oXML.responseText;
                };
            if (!cn)
               alert("Your browser does not support our widgets. Please check javascript settings or consider upgrading.");
            else
                cn.connect("type=indexListing&zn=" + dmzId + "&style=" + styleId + "&val=" + val + "&width" + dv.style.width + "&height=" + dv.style.height, fn);
        }

        function doSimpleSearch(id) {
            var dv = document.getElementById("oDiv" + id);
            var hdn = document.getElementById("hdnOpts" + id);
            var srch = document.getElementById("txtSrch" + id);
            dv.style.display = "";
            dv.innerHTML = "Searching...";
            var cn = new XHConn();
            var fn = function (oXML)
                {
                    dv.innerHTML = oXML.responseText;
                };
            if (!cn)
               alert("Your browser does not support our widgets. Please check javascript settings or consider upgrading.");
            else
                cn.connect(hdn.value + "&keywords=" + escape(srch.value) + "&width" + dv.style.width + "&height=" + dv.style.height, fn);                    
        }
        
        function hideSearchResults(id) {
	    document.getElementById(id).innerHTML = "";
            document.getElementById(id).style.display = "none";
        }

        function printPage(id) {

            var cn = new XHConn();
            var fn = function (oXML)
                {
                    var a = window.open('','','width=630,height=500,scrollbars=1');
                    a.document.open("text/html");
                    a.document.write(oXML.responseText);
                    a.document.close();
                    a.print();
                };
            if (!cn)
               alert("Your browser does not support our widgets. Please check javascript settings or consider upgrading.");
            else
                cn.connect("type=printpage&p=" + id, fn);
        }

	function emailPage(id, locid) {
	    var fromName = document.getElementById("txtFromName" + locid);
	    var fromEmail = document.getElementById("txtFromEmail" + locid);
	    var toEmail = document.getElementById("txtToEmail" + locid);
	    var toMsg = document.getElementById("txtToMsg" + locid);
	    var subject = document.getElementById("hdnSubject" + locid);
	    var cn = new XHConn();
            var fn = function (oXML)
                {
                    alert(oXML.responseText);
		    fromName.value = "";
		    fromEmail.value = "";
		    toEmail.value = "";
		    toMsg.value = "";
                };
	    var b = true;
	    if (IsEmailAddress(toEmail.value) == false && b)
	    {
		    b = false;
		    alert("You must supply the email address to whom you are sending.");
		    toEmail.focus();
	    }
	    if (fromName.value.length == 0 && b)
	    {
		    b = false;
		    alert("You must supply your name.");
		    fromName.focus();
	    }
	    if (IsEmailAddress(fromEmail.value) == false && b)
	    {
		    b = false;
		    alert("You must supply your email address.");
		    fromEmail.focus();
	    }
	    if (toMsg.value.length == 0 && b)
	    {
		    b = false;
		    alert("You must supply a brief message.");
		    toMsg.focus();
	    }
	    if (b) {
            	if (!cn)
               		alert("Your browser does not support our widgets. Please check javascript settings or consider upgrading.");
            	else
                	cn.connect("type=emailpage&p=" + id + "&toaddr=" + escape(toEmail.value) + "&fromname=" + escape(fromName.value) + "&fromaddr=" + escape(fromEmail.value) + "&msg=" + escape(toMsg.value) + "&subject=" + escape(subject.value), fn);
	    }
	}

	function IsEmailAddress(str) {
		// are regular expressions supported?
		var supported = 0;
		if (window.RegExp) {
			var tempStr = 'a';
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) 
			return (str.indexOf('.') > 2) && (str.indexOf('@') > 0);
		var r1 = new RegExp('(@.*@)|(\\.\\.)|(@\\.)|(^\\.)');
		var r2 = new RegExp('^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$');
		return (!r1.test(str) && r2.test(str));
	}

        function toggleDisplay(id) {
	        el = document.getElementById(id);
	        var display = el.style.display ? '' : 'none';
	        el.style.display = display;
        }
	

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
var iframeids=["iNews"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
var iframehide="yes"

var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++){
if (document.getElementById)
resizeIframe(iframeids[i])
//reveal iframe for lower end browsers? (see var above):
if ((document.all || document.getElementById) && iframehide=="no"){
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display="block"
}
}
}

function resizeIframe(frameid){
var currentfr=document.getElementById(frameid)
if (currentfr && !window.opera){
currentfr.style.display="block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight; 
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
if (currentfr.addEventListener)
currentfr.addEventListener("load", readjustIframe, false)
else if (currentfr.attachEvent){
currentfr.detachEvent("onload", readjustIframe) // Bug fix line
currentfr.attachEvent("onload", readjustIframe)
}
}
}

function readjustIframe(loadevt) {
var crossevt=(window.event)? event : loadevt
var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement
if (iframeroot)
resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
if (document.getElementById)
document.getElementById(iframeid).src=url
}

if (window.addEventListener)
window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
window.attachEvent("onload", resizeCaller)
else
window.onload=resizeCaller
