function ValidateRegisterForm()
{
	if (RequiredField('Email', 'Please enter an email address') == false) return false;
	if (IsEmail(document.getElementById('Email').value) == false)
	{
		document.getElementById('Email').focus();
		alert('Please enter a valid email address');
		return false;
	}	
	if (RequiredField('Password1', 'Please enter your password') == false) return false;
	if (RequiredField('Password2', 'Please confirm your password') == false) return false;
	if (document.getElementById('Password1').value != document.getElementById('Password2').value)
	{
		alert('Your passwords do not match. Please retype your passwords')
		return false;
	}
	if (RequiredField('FirstNAME', 'Please enter your first name') == false) return false;
	if (RequiredField('lastNAME', 'Please enter your last name') == false) return false;
	if (RequiredField('Address', 'Please enter your address') == false) return false;
	if (RequiredField('City', 'Please enter your city') == false) return false;
	if (RequiredField('Zip', 'Please enter your zip code') == false) return false;
	if (document.getElementById('Country').selectedIndex == 0)
	{
		document.getElementById('Country').focus();
		alert('Please select a country')
		return false;
	}
	return true;
}
function ValidateContactUsForm()
{
	if (RequiredField('Email', 'Please enter an email address') == false) return false;
	if (IsEmail(document.getElementById('Email').value) == false)
	{
		document.getElementById('Email').focus();
		alert('Please enter a valid email address');
		return false;
	}	
	if (RequiredField('First_Name', 'Please enter your first name') == false) return false;
	if (RequiredField('Last_Name', 'Please enter your last name') == false) return false;
	if (RequiredField('Company', 'Please enter your company') == false) return false;
	if (RequiredField('Postal_Code', 'Please enter your postal code') == false) return false;
	return true;
}
function RequiredField(ElementID, ErrorMsg)
{
	var obj = document.getElementById(ElementID);
	if (obj.value.length == 0)
	{
		obj.focus();
		alert(ErrorMsg);
		return false;
	}
	return true;
}
function IsEmail(email)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) return true;
	else return false;
}
function SetNextControlFocus(e, ctlID){ 
	var ctl = document.getElementById(ctlID); 
	if (typeof ctl == 'object'){ 
			if(navigator.appName.indexOf("Netscape")>(-1)){ 
				if (e.keyCode == 13){ 
						//ctl.focus(); 
						return false; 
				} 
			} 
			if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)){ 
				if (event.keyCode == 13){ 
						ctl.focus(); 
						return false; 
				} 
			} 
	} 
} 
function ButtonOver(Image)
{
	var ImageUrl = Image.src;
	ImageUrl = replaceSubstring(ImageUrl, "out.", "over.");
	Image.src = ImageUrl;
}
function ButtonOut(Image)
{
	var ImageUrl = Image.src;
	ImageUrl = replaceSubstring(ImageUrl, "over.", "out.");
	Image.src = ImageUrl;
}
function replaceSubstring(inputString, fromString, toString) {
   // Goes through the inputString and replaces every occurrence of fromString with toString
   var temp = inputString;
   if (fromString == "") {
      return inputString;
   }
   if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
      var midStrings = new Array("~", "`", "_", "^", "#");
      var midStringLen = 1;
      var midString = "";
      // Find a string that doesn't exist in the inputString to be used
      // as an "inbetween" string
      while (midString == "") {
         for (var i=0; i < midStrings.length; i++) {
            var tempMidString = "";
            for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
            if (fromString.indexOf(tempMidString) == -1) {
               midString = tempMidString;
               i = midStrings.length + 1;
            }
         }
      } // Keep on going until we build an "inbetween" string that doesn't exist
      // Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
      while (temp.indexOf(fromString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(fromString));
         var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
         temp = toTheLeft + midString + toTheRight;
      }
      // Next, replace the "inbetween" string with the "toString"
      while (temp.indexOf(midString) != -1) {
         var toTheLeft = temp.substring(0, temp.indexOf(midString));
         var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
         temp = toTheLeft + toString + toTheRight;
      }
   } // Ends the check to see if the string being replaced is part of the replacement string or not
   return temp; // Send the updated string back to the user
} // Ends the "replaceSubstring" function
function OpenSampleReport(index)
{
	var url = "SampleReport.aspx?ID=" + index;
	var name = "SampleReport";
	var params
	switch (index) {
		case 1 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 2 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 3 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 4 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 5 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 6 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
		case 7 : { params = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=740,height=630,left=40,top=50"; break }
	}
	var win = window.open(url,name,params);
	win.focus()
}
function new_window(url, name) { 
	var win = window.open(url,name,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=450,height=450,left=40,top=50");
	win.focus()
}
function OpenMetroCast() { 
	var url = "MetroCast.aspx"
	var name = "MetroCast"
	var win = window.open(url,name,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=500,height=135,left=400,top=300");
	win.focus()
}
function OpenDownload(url, name) { 
	//var win = window.open(url,name,"toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=50,height=50,left=40,top=50");
	window.location = url;
}
function OpenReportView(url, name) { 
	var win = window.open(url,name,"toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=800,height=600,left=40,top=50");
	win.focus()
}
function RedirectToDownload()
{
	var s = ''
	try {	var obj = document.getElementById('Checkbox1');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = '0' }
	try {	var obj = document.getElementById('Checkbox3');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox5');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox7');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox9');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox11');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox13');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox15');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox17');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox19');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox21');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	var txt = document.getElementById('txtDownload');
	txt.value = s;
	//OpenDownload('Excel.aspx?Download=' + s, 'download')
}
function RedirectToView()
{
	var s = ''
	try {	var obj = document.getElementById('Checkbox2');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = '0' }
	try {	var obj = document.getElementById('Checkbox4');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox6');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox8');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox10');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox12');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox14');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox16');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox18');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox20');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	try {	var obj = document.getElementById('Checkbox22');
				if (obj.checked) { s = s + '1' } else { s = s + '0' }
			}
	catch(e) { s = s + '0' }
	OpenReportView('Report.aspx?View=' + s, 'view')
}

var selRegionCheck = '';
function SelectNewRegion(ctrl)
{
	VerifyRegionSelection();
	var region = ctrl.id;
	if (ctrl.checked)
	{
		selRegionCheck += (';' + region);
	}
	else
	{
		selRegionCheck = selRegionCheck.replace((';' + region), '');
	}
	//alert(selRegionCheck)
}
function VerifyRegionSelection()
{
	var checkedItemCount = 0;
	var items = new Array();
	var tbl = document.getElementById('dgRegions');
	items = items = tbl.getElementsByTagName("input");
	for (var i = 0; i < items.length; i++)
	{
		if (items[i].checked) {checkedItemCount += 1;}
		//alert(checkedItemCount)
		if (checkedItemCount > 3)
		{
			items[i].checked = false;
			alert('You may select a maximum of 3 regions for this report.')
			return;
		}
	} 
}
function RedirectToNewRegions()
{
	if (selRegionCheck.length > 0)
	{
		window.location = 'NewRegions.aspx?regions=' + selRegionCheck;
	}
	else
	{
		alert('Please select at least one region.')
	}
}