// 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 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 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 toggleDisplay(id) {
	        el = document.getElementById(id);
	        var display = el.style.display ? '' : 'none';
	        el.style.display = display;
        }


	function FBA_Subscription() {
		var b = true;
		var e = null;

		e = document.getElementById("Company");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your company name.");
			e.focus();
			b = false;
		}

		e = document.getElementById("FirstName");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your first name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("LastName");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your last name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your email address.");
			e.focus();
			b = false;
		}

		e = document.getElementById("eMail");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your confirmed email address.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your confirmed email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		if(e.value != document.getElementById("eMail").value && b)
		{
			alert("The email addresses do not match.");
			e.focus();
			b = false;
		}

		e = document.getElementById("Street_1");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your address line.");
			e.focus();
			b = false;
		}
		e = document.getElementById("City");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your city.");
			e.focus();
			b = false;
		}
		e = document.getElementById("State");			
		if(e.value == '***' && b)
		{
			alert("Please select your state.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Zip");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your zip code.");
			e.focus();
			b = false;
		}


		if (b) {
			document.getElementById("wdproxy").submit();
		}
	}

	function CBA_FindCup() {

		var b = true;
		var e = null;


		// Other data validation


		e = document.getElementById("Company");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your company name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("ContactName");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your contact name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your eMail address.");
			e.focus();
			b = false;
		}


		e = document.getElementById("eMail");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your confirmed email address.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your confirmed email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		if(e.value != document.getElementById("eMail").value && b)
		{
			alert("The email addresses do not match.");
			e.focus();
			b = false;
		}


		e = document.getElementById("Street_1");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your address line.");
			e.focus();
			b = false;
		}
		e = document.getElementById("City");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your city.");
			e.focus();
			b = false;
		}
		e = document.getElementById("State");			
		if(e.value == '***' && b)
		{
			alert("Please select your state.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Zip");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your zip code.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Phone");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your phone number.");
			e.focus();
			b = false;
		}
		e = document.getElementById("PageNumber");
		if(e.value.length == 0 && b)
		{
			alert("Please enter the page number.");
			e.focus();
			b = false;
		}
		e = document.getElementById("NameAdvertiser");
		if(e.value.length == 0 && b)
		{
			alert("Please enter the name of the advertiser.");
			e.focus();
			b = false;
		}


		if (b) {
			document.getElementById("wdproxy").submit();
		}
	}

	function FBA_FindLogo() {

		var b = true;
		var e = null;


		// Other data validation

		e = document.getElementById("First_Name");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your first name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Last_Name");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your last name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Company");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your company name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your eMail address.");
			e.focus();
			b = false;
		}


		e = document.getElementById("eMail");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your confirmed email address.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your confirmed email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		if(e.value != document.getElementById("eMail").value && b)
		{
			alert("The email addresses do not match.");
			e.focus();
			b = false;
		}


		e = document.getElementById("Street_1");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your address line.");
			e.focus();
			b = false;
		}
		e = document.getElementById("City");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your city.");
			e.focus();
			b = false;
		}
		e = document.getElementById("State");			
		if(e.value == '***' && b)
		{
			alert("Please select your state.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Zip");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your zip code.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Phone");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your phone number.");
			e.focus();
			b = false;
		}
		e = document.getElementById("PageNumber");
		if(e.value.length == 0 && b)
		{
			alert("Please enter the page number.");
			e.focus();
			b = false;
		}
		e = document.getElementById("AdvertiserName");
		if(e.value.length == 0 && b)
		{
			alert("Please enter the name of the advertiser.");
			e.focus();
			b = false;
		}


		if (b) {
			document.getElementById("wdproxy").submit();
		}
	}

	function FBA_Vendor_Listing() {

		var b = true;
		var e = null;


		// Other data validation


		e = document.getElementById("Company");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your company name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("ContactName");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your contact name.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your eMail address.");
			e.focus();
			b = false;
		}


		e = document.getElementById("eMail");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your confirmed email address.");
			e.focus();
			b = false;
		}
		e = document.getElementById("eMail_Confirmed");
		if(IsEmailAddress(e.value) == false && b)
		{
			alert("Please check your confirmed email address. It appears incorrect.");
			e.focus();
			b = false;
		}
		if(e.value != document.getElementById("eMail").value && b)
		{
			alert("The email addresses do not match.");
			e.focus();
			b = false;
		}


		e = document.getElementById("Street_1");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your address line.");
			e.focus();
			b = false;
		}
		e = document.getElementById("City");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your city.");
			e.focus();
			b = false;
		}
		e = document.getElementById("State");			
		if(e.value == '***' && b)
		{
			alert("Please select your state.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Zip");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your zip code.");
			e.focus();
			b = false;
		}
		e = document.getElementById("Phone");
		if(e.value.length == 0 && b)
		{
			alert("Please enter your phone number.");
			e.focus();
			b = false;
		}


		// Checklist validation.
		if (b) b = checkListbox(b);



		if (b) {
			document.getElementById("wdproxy").submit();
		}
	}


	function checkListbox(isValid)
	{
		var b = isValid
		var e = document.getElementById("oDivChecklist");
		var a = e.getElementsByTagName("input");
		var i = 0;
		var j = 0;

		for (i = 0; i < a.length; i++)
		{
			try
			{
				if (a[i].checked) j++;
				if (j > 3)
 				{
					alert("Please limit your category choices to a maximum of 3.");
					b = false;
					break;
				}
			}
			catch(o)
			{
				// do nothing.
			}
		}

		if (j == 0)
		{
			alert("Please check at least one category.");
			b = false;
		}

		return b;
	}


function textLimit(field, maxlen) {
if (field.value.length > maxlen) {
field.value = field.value.substring(0, maxlen);
alert('You have reached you Max Character Limit!');
} }



function checkboxlimit(checkgroup, limit){
	var checkgroup=checkgroup
	var limit=limit
	for (var i=0; i<checkgroup.length; i++){
		checkgroup[i].onclick=function(){
		var checkedcount=0
		for (var i=0; i<checkgroup.length; i++)
			checkedcount+=(checkgroup[i].checked)? 1 : 0
		if (checkedcount>limit){
			alert("You can only select a maximum of "+limit+" checkboxes")
			this.checked=false
			}
		}
	}
}




