var searchMode = 'man';

function getElement(elem)
{
	return document.getElementById(elem);
}

function tabClicked(mode)
{
	switch(mode)
	{
		case 'man':
			getElement('modeTab1').className = 'tabSelected';
			getElement('modeTab2').className = 'tabNotSelected';
			getElement('modeTab3').className = 'tabNotSelected';
			getElement('locResults').style.visibility = 'hidden';
			break;
		case 'rep':
			getElement('modeTab1').className = 'tabNotSelected';
			getElement('modeTab2').className = 'tabSelected';
			getElement('modeTab3').className = 'tabNotSelected';
			getElement('locResults').style.visibility = 'visible';
			break;
		case 'dist':
			getElement('modeTab1').className = 'tabNotSelected';
			getElement('modeTab2').className = 'tabNotSelected';
			getElement('modeTab3').className = 'tabSelected';
			getElement('locResults').style.visibility = 'visible';
			break;
	}
	searchMode = mode;
}

function catchEnter(e)
{
	if (e)
	{
		if (e.keyCode == 13)
		{
			submitHandler();
			return false;
		}
	}
	else if (event.keyCode == 13)
	{
		submitHandler();
		return false;
	}
	
	return true;
}

function submitHandler()
{
	var oText = getElement('extSearchText');
	if (oText.value == '') return false;
	var oForm = getElement('DirectoryForm');
	var radioSelected;
	if (oForm.searchRadio[0].checked)
		radioSelected = 0;
	else if (oForm.searchRadio[1].checked)
		radioSelected = 1;
	else if (oForm.searchRadio[2].checked)
		radioSelected = 2;
	else
		return false;
	
	var url;
	switch(searchMode)
	{
		case 'man':
			switch(radioSelected)
			{
				case 0:
					url = "inter.aspx?t=man&z=key&c=searchResults&sm=man&n=" + oText.value;
					break;
				case 1:
					var mf = parseMF(oText.value);
					if (mf.length == 5)
						url = "inter.aspx?t=man&z=mf95&sm=man&c=searchResults&n=" + mf;
					else
						url = "results.aspx?t=man&d=m&lvl=n&c=searchResults&i=" + mf;
					break;
				case 2:
					url = "results.aspx?t=man&z=beg&n=" + oText.value;
					break;
			}
			break;
		case 'dist':
			var loc = getElement('locSelect').value;
			switch(radioSelected)
			{
				case 0:
					url = "inter.aspx?t=dist&z=key&sm=dist&c=searchResults&sm=dist&n=" + oText.value +
						"&l=" + loc;
					break;
				case 1:
					var mf = parseMF(oText.value);
					if (mf.length == 5)
						url = "inter.aspx?t=dist&z=mf95&sm=dist&c=searchResults&n=" + mf + "&l=" + loc;
					else
						url = "results.aspx?t=dist&d=d&lvl=n&c=searchResults&i=" + mf + "&l=" + loc;
					break;
				case 2:
					url = "results.aspx?t=dist&z=beg&sm=dist&c=searchResults&n=" + oText.value +
						"&l=" + loc;
					break;
			}
			break;
		case 'rep':
			var loc = getElement('locSelect').value;
			switch(radioSelected)
			{
				case 0:
					url = "inter.aspx?t=rep&z=key&sm=rep&c=searchResults&sm=rep&n=" + oText.value +
						"&l=" + loc;
					break;
				case 1:
					var mf = parseMF(oText.value);
					if (mf.length == 5)
						url = "inter.aspx?t=rep&z=mf95&sm=rep&c=searchResults&n=" + mf + "&l=" + loc;
					else
						url = "results.aspx?t=rep&d=r&lvl=n&c=searchResults&i=" + mf + "&l=" + loc;
					break;
				case 2:
					url = "results.aspx?t=rep&z=beg&sm=rep&c=searchResults&n=" + oText.value +
						"&l=" + loc;
					break;
			}
			break;
		default:
			return false;
	}
	
	tecUrl = "http://tectonicdirectory.com/" + url;
	oForm.action = tecUrl;
	oForm.submit();
	return true;
}

function parseMF(str)
{
	if (str.length == 0) return null;
	if (str.match(/[^0-9 ]/g)) return null;			// non-digits or spaces
	str = str.replace(/ /g, "");					// remove spaces
	if (str == '0' || str == '00') return null;		// starts with zeroes
	if (str.length == 1)
	{
		return '0' + str + ' 00 00';
	}
	if (str.length == 2)
	{
		return (str.substr(0,1) == '0' ? str + ' 00 00' : str + ' 00 00');
	}
	if (str.length == 3)
	{
		return (str.substr(0,1) == '0' ? str.substr(0,2) + ' ' + str.substr(2,1) + '0 00' :
					'0' + str.substr(0,1) + ' ' + str.substr(1,2) + ' 00');
	}
	if (str.length == 4)
	{
		var i = parseInt(str);	// convert string to a number
		if (i > 5000)			// must be MF95
		{
			return '0' + str;
		}
		return str.substr(0,2) + ' ' + str.substr(2,2) + ' 00';
	}
	if (str.length == 5) return str;		// assume MF95
	// else, it must be MF04 number
	return str.substr(0,2) + ' ' + str.substr(2,2) + ' ' + str.substr(4,2);
}