	Array.prototype.in_array = function ( obj ) {
			var len = this.length;
			for ( var x = 0 ; x <= len ; x++ ) {
				if ( this[x] == obj ) return true;
			}
			return false;
		}

		function switchSearchMethod(show)
		{
			if(show == '') 
				return;

			var divs = new Array('byZip', 'byState', 'byCountry', 'byAll');

			for(i=0; i < divs.length; i++)
				document.getElementById(divs[i]).style.display = 'none';

			document.getElementById(show).style.display = 'block';
		}
		
		function countCheckboxes()
		{			
			var form = document.forms['signup'];			
			var categories = new Array();

			for (i=0, size=form.elements.length; i < size; i++)
			{	
				field = form.elements[i];
				
				if (field.type == 'checkbox' && field.checked)
				{
					if(!categories.in_array(field.name))
						categories.push(field.name);
				}
			}
			return categories;
		} 

		function limitCategories()
		{
			var categories = countCheckboxes();
			catNum = categories.length;
			
			catLevel = document.signup.directoryLevel.value;

			if(catLevel != 'null' && ((catLevel == 1 && catNum >= 2) || (catLevel == 2 && catNum >= 4)))
			{
				disableCats(categories);
			}else{
				enableCats();
			}
		}

		function disableCats(activeCats)
		{
			var form = document.forms['signup'];
			var size = form.length - 1;
			var allCats = new Array();

			for (i = 0; i <= size; i++)
			{	
				field = form.elements[i];
				if (field.type == 'checkbox')
				{
					if(!activeCats.in_array(field.name))
					{
						allCats.push(field.name);
						field.disabled = true;
					}
				}
			}
		}

		function enableCats()
		{
			var form = document.forms['signup'];
			var size = form.length - 1;
			var allCats = new Array();

			for (i = 0; i <= size; i++)
			{	
				field = form.elements[i];
				if (field.type == 'checkbox')
				{
					field.disabled = false;
				}
			}
		}

		function wipeCheckboxes(level)
		{
			var form = document.forms['signup'];
			var size = form.length - 1;
			var allCats = new Array();

			for (i = 0; i <= size; i++)
			{	
				field = form.elements[i];
				if (field.type == 'checkbox')
				{
					if(level == 0)
						field.disabled = true;
					else
						field.disabled = false;

					field.checked = false;
				}
			}
		}
