//-------------------------------------------------------------------------------------------	
	function checkYouTube(element, skip)
	{
		if(trim(element.value).length > 1 && skip)
			return true;
			
		if(element.value.indexOf("watch?v=") < 0)
		{
			alert("Please enter a valid You Tube URL");
			element.focus();
			return false;
		}
		else
			return true;
	}	
//-------------------------------------------------------------------------------------------	
	function validateAge(ctx)
	{
		var birthDate = getDateElement(ctx.id);
	
		var years = getYearDifference(birthDate);

		if( parseInt(years) < 18 )
			return new ValidateResult("You must be 18 or older to use this site");
		else
			return new ValidateResult(true);
	}
//-------------------------------------------------------------------------------------------	
	function validateBusinessYear(ctx)
	{
		var fld = getElement(ctx.id, false);
		
		if(!fld) return new ValidateResult("Can't Load Field: " + ctx.id);
	
		var value = fld.value;
	
		if(value == 0)
		{
			return new ValidateResult(true);
		}

		if(ctx.skipIfEmpty)
		{
			if(empty(value))
				return new ValidateResult(true);
		}
	
		value = parseInt(value);
		
		var d = new Date().getFullYear();
	
		if( value > d || value < (d - 250) )
			return new ValidateResult("Please enter a valid Year");
		else
			return new ValidateResult(true);
	}	
//-------------------------------------------------------------------------------------------
	function validateCreditCard(ctx)
	{
		var month = getElement("expirationMonth");
		var year = getElement("expirationYear");
		
		intMonth = parseInt(month);
		intYear = parseInt(year);
		
		var m = new Date().getMonth();
		var y = new Date().getFullYear();
		
		if( (intYear < y) || (intYear == y && intMonth < m) )
			return new ValidateResult("Your card has expired, please enter a new card");
		else
			return new ValidateResult(true);
	}
//-------------------------------------------------------------------------------------------
	function validateCountryState(countryObj, stateObj)
	{
		var states = "AL AK AZ AR CA CO CT DE DC FL GA GU HI ID IL IN IA KS KY LA ME MH MD MA MI MN MS MO MT NE NV NH NJ NM NY NC ND OH OK OR PW PA PR RI SC SD TN TX UT VT VI VA WA WV WI WY";

		var provinces = "AB BC MB NB NS NU ON QC SK YT"; 
		 
		var country = countryObj.options[countryObj.selectedIndex].value.toUpperCase();
		
		var state = stateObj.options[stateObj.selectedIndex].value.toUpperCase();

		if((country == 'US') || (country == 'CA'))
		{
			if(state == 'ZZ')
			{
				showErrorMessage('States and Countries', 'Please select a state or province' , stateObj);
				return false;				
			}
			else if((country == 'US') && (states.indexOf(state) == -1))
			{
				showErrorMessage('States and Countries', 'Please select a valid US state.' , stateObj);
				return false;				
			}
			else if((country == 'CA') && (CANADA_STATES.indexOf(state) == -1))
			{
				showErrorMessage('States and Countries', 'Please select a valid Canadian province.' , stateObj);
				return false;				
			}
		} 
		else if(state != 'ZZ')
		{
			showErrorMessage('States and Countries', 'Please select no state or province for your selected country' , stateObj);
			return false;
		}
		
		return true;
	} 
//-------------------------------------------------------------------------------------------
	function validateTags(ctx)
	{
		var ar = new Array();
			ar[0] = getElement('tag');
			ar[1] = getElement('tag2');
			ar[2] = getElement('tag3');
			ar[3] = getElement('tag4');
			ar[4] = getElement('tag5');			

		var good = false;

		for(var i = 0; i < ar.length; i++)
		{
			if(!empty(ar[i].value))
			{
				good = true;
				break;
			}
		}
		
		if(!good)
			return new ValidateResult("Please enter at least one tag");
		
		for(var i = 0; i < ar.length; i++)
		{
			if(!uniqueTag(ar, i))
				return new ValidateResult("You have entered the same tag twice.  Please enter a unique tag");
		}				

		return new ValidateResult(true);
	}
//-------------------------------------------------------------------------------------------	
	function uniqueTag(array, index)
	{
		if(empty(array[index].value))
			return true;
			
		for(var i = 0; i < array.length; i++)
		{
			if(i == index)
				continue;
				
			if(same(array[i].value, array[index].value))
				return false;
		}
		
		return true;
	}
//-------------------------------------------------------------------------------------------
