if(window.Global == null)
{
	window.Global = new Object();

	Global.Form = function ()	{ return document.forms[0]; }
	Global.Submit = function ()	{ document.forms[0].submit(); }

	Global.Calendar = function(dDate)
	{
		window.open("/Include/Calendar.aspx?&datepicked="+dDate,"","width=140,height=170,toolbar=no,menubar=no,resizable=no, scrollbars=no");
	}

	Global.Validate = function()
	{
		var Error = '';
		var frm = document.forms[0];
		for (i = 0; i < frm.all.length; i++)
		{
			obj = frm.all[i];
			displayName = (typeof obj.DisplayName == 'string') ? obj.DisplayName : obj.name;
			
			switch(obj.tagName)
			{
				case 'INPUT' :
				case 'TEXTAREA' :
				{
					if(obj.Required && !obj.disabled && (obj.value.length == 0 || (obj.name.substr((obj.name.length-2), 2) == 'ID' && obj.value == '0')))
						Error += displayName + ' is a required field.<BR>';

					if(obj.Required && !obj.disabled && obj.type == 'radio')
					{
						var oRadios = document.getElementsByName(obj.name);
						if(oRadios[0] == obj)
						{
							var checked = false;						
							for(j=0; j<oRadios.length; j++)
								checked = (checked || oRadios[j].checked);
							if(!checked)
								Error += displayName + ' is a required field.<BR>';
						}
					}
	
					if(obj.CompareTo)
						if(obj.value != document.forms[0][obj.CompareTo].value)
							Error += displayName + ' must be the same as ' + obj.CompareTo + '.<BR>';
	
					if(obj.value.length > 0)
					{
						switch(obj.DataType)
						{
							case 'Integer' :
								if(isNaN(parseInt(obj.value)))
									Error += displayName + ' is an integer field.<BR>';
								else
								{
									if(obj.Max)
										if(parseInt(obj.value) >= parseInt(obj.Max))
											Error += displayName + ' has a maximum value of ' + obj.Max + '.<BR>';

									if(obj.Min)
										if(parseInt(obj.value) <= parseInt(obj.Min))
											Error += displayName + ' has a minimum value of ' + obj.Min + '.<BR>';
								}
								break;

							case 'Float' :
								if(isNaN(parseFloat(obj.value)))
									Error += displayName + ' is a float field.' + typeof obj.value + '<BR>';
								else
								{
									if(obj.Max)
										if(parseFloat(obj.value) >= parseFloat(obj.Max))
											Error += displayName + ' has a maximum value of ' + obj.Max + '.<BR>';

									if(obj.Min)
										if(parseFloat(obj.value) <= parseFloat(obj.Min))
											Error += displayName + ' has a minimum value of ' + obj.Min + '.<BR>';
								}
								break;
						}
	
						if(typeof obj.Domain == 'string')
							if(obj.Domain.length > 0 && obj.value.indexOf('@') != -1)
								Error += displayName + ' can only contain and email addresses which ends ' + obj.Domain + '. (Do not enter ' + obj.Domain + ' in the text box)<BR>';
					}
	
					break;
				}
	
				case 'SELECT' :
				{
					if(obj.Required && obj.value == 0)
						Error += displayName + ' is a required field.<BR>';
					break;
				}
			}
		}
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML = Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0);		
	}
}

if(window.Exchange2003 == null)
{
	window.Exchange2003 = new Object();

	Exchange2003.Validate = function()
	{
		var Error = '', bSelected = false, bError = Global.Validate();
		
		// Messaging
		var aoMessaging = document.getElementsByName('radMessaging')
		for(var i=1; i<aoMessaging.length; i++)
			if(aoMessaging[i].checked)
				bSelected = true;
		if(!bSelected)
			Error += 'What is your current email messaging platform? is a required field.<BR>';

		// OS
		bSelected = false;
		for(var i=0; i<9; i++)
			if(document.getElementById('chkOS_' + i).checked)
				bSelected = true;
		if(!bSelected)
			Error += 'What network operating system(s) do you use? is a required field.<BR>';
	
		// Dates
		if(document.getElementById('txtDate1').value.length == 0)
			Error += 'Date 1 is a required field.<BR>';
		if(document.getElementById('txtDate2').value.length == 0)
			Error += 'Date 2 is a required field.<BR>';
		if(document.getElementById('txtDate3').value.length == 0)
			Error += 'Date 3 is a required field.<BR>';
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML += Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0 && bError);		
	}
}

if(window.MobileWorking == null)
{
	window.MobileWorking = new Object();

	MobileWorking.Validate = function()
	{
		var Error = '', bSelected = false, bError = Global.Validate();
		
		// Dates
		if(document.getElementById('txtDate1').value.length == 0)
			Error += 'Date 1 is a required field.<BR>';
		if(document.getElementById('txtDate2').value.length == 0)
			Error += 'Date 2 is a required field.<BR>';
		if(document.getElementById('txtDate3').value.length == 0)
			Error += 'Date 3 is a required field.<BR>';
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML += Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0 && bError);		
	}
}

if(window.Microsoft == null)
{
	window.Microsoft = new Object();

	Microsoft.ActiveDirectory = new Object();
	Microsoft.ActiveDirectory.Validate = function()
	{
		var Error = '', bSelected = false, bError = Global.Validate();
		
		// OS
		bSelected = false;
		for(var i=0; i<4; i++)
			if(document.getElementById('chkOS_' + i).checked)
				bSelected = true;
		if(!bSelected)
			Error += 'What Microsoft operating system(s) do you use? is a required field.<BR>';
	
		// Dates
		if(document.getElementById('txtDate1').value.length == 0)
			Error += 'Date 1 is a required field.<BR>';
		if(document.getElementById('txtDate2').value.length == 0)
			Error += 'Date 2 is a required field.<BR>';
		if(document.getElementById('txtDate3').value.length == 0)
			Error += 'Date 3 is a required field.<BR>';
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML += Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0 && bError);		
	}

	Microsoft.WindowsUpdate = new Object();
	Microsoft.WindowsUpdate.Validate = function()
	{
		var Error = '', bSelected = false, bError = Global.Validate();
		
		// OS
		bSelected = false;
		for(var i=0; i<6; i++)
			if(document.getElementById('chkOS_' + i).checked)
				bSelected = true;
		if(!bSelected)
			Error += 'What Microsoft operating system(s) do you use? is a required field.<BR>';
	
		// Dates
		if(document.getElementById('txtDate1').value.length == 0)
			Error += 'Date 1 is a required field.<BR>';
		if(document.getElementById('txtDate2').value.length == 0)
			Error += 'Date 2 is a required field.<BR>';
		if(document.getElementById('txtDate3').value.length == 0)
			Error += 'Date 3 is a required field.<BR>';
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML += Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0 && bError);		
	}

	Microsoft.Exchange = new Object();
	Microsoft.Exchange.Validate = function()
	{
		var Error = '', bSelected = false, bError = Global.Validate();
		
		// OS
		bSelected = false;
		for(var i=0; i<5; i++)
			if(document.getElementById('radExchange_' + i).checked)
				bSelected = true;
		if(!bSelected)
			Error += 'Which version of Microsoft Exchange are you using.<BR>';
	
		// Dates
		if(document.getElementById('txtDate1').value.length == 0)
			Error += 'Date 1 is a required field.<BR>';
		if(document.getElementById('txtDate2').value.length == 0)
			Error += 'Date 2 is a required field.<BR>';
		if(document.getElementById('txtDate3').value.length == 0)
			Error += 'Date 3 is a required field.<BR>';
		
		if(document.getElementById('Error') != null)
		{
			document.getElementById('Error').innerHTML += Error;	
			if(Error.length != 0)
				document.getElementById('Error').scrollIntoView(false);
		}
		return (Error.length == 0 && bError);		
	}
}

