var GeneralSearchTitle_LABEL;
var BusCatName_LABEL;
var StreetName_LABEL;
var PhoneNumber_LABEL;
var ZipCode_LABEL;
var AdvSearchLink_LABEL;
var SimpSearchLink_LABEL;
var EventsSearchTitle_LABEL;
var EventName_LABEL;
var EventDate_LABEL;
var GO_BUTTON_LABEL;

switch (langID) 
{
	case '1033' :  //English
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '1031' :  //German
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '1036' :  //French
	    GeneralSearchTitle_LABEL = 'Recherche generale';
		BusCatName_LABEL = 'Etablissement/Categorie';
		StreetName_LABEL = 'Nom de rue';
		PhoneNumber_LABEL = 'Telephone';
		ZipCode_LABEL = 'Code postal';
		AdvSearchLink_LABEL = '(Recherche avancee)';
		SimpSearchLink_LABEL = '(Recherche)';
        EventsSearchTitle_LABEL = 'Recherche devenements';
		EventName_LABEL = 'Nom';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Allez a  ';
		break;
	case '1040' :  //Italian
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '1041' :  //Japanese
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '1049' :  //Russian
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '2052' :  //Chinese
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
	case '3082' :  //Spanish
	    GeneralSearchTitle_LABEL = 'General Search';
		BusCatName_LABEL = 'Business/Category Name';
		StreetName_LABEL = 'Street Name';
		PhoneNumber_LABEL = 'Phone';
		ZipCode_LABEL = 'Zip Code';
		AdvSearchLink_LABEL = '(Adv. Search)';
		SimpSearchLink_LABEL = '(Simple Search)';
        EventsSearchTitle_LABEL = 'Events Search';
		EventName_LABEL = 'Name';
		EventDate_LABEL = 'Date';
		GO_BUTTON_LABEL = 'Go  ';
		break;
}

function GetQueryString()
{
	return document.location.search;
}

function validateExploreSearchForm(theForm)
{
	var error = "";

	if (ExploreAdvancedSearch.style.display == "none")
	{
		if (document.ExploreSearchForm.BusCatName.value == '')
		{
        	error += 'Please enter a Business or Category Name.' + "<br>";
		}
	}
	else
	{
		if (document.ExploreSearchForm.BusCatName.value == '' && document.ExploreSearchForm.StreetName.value == '' && document.ExploreSearchForm.PhoneNumber.value == '' && document.ExploreSearchForm.ZipCode.value == '')
		{
	        error += 'Please enter at least one value for the search.' + "<br>";
		}
		if (document.ExploreSearchForm.BusCatName.value != '' && document.ExploreSearchForm.BusCatName.value.length < 4)
		{
	        error += 'Business/Category Name must contain at least 4 characters.' + "<br>";
		}
		if (document.ExploreSearchForm.StreetName.value != '' && document.ExploreSearchForm.StreetName.value.length < 4)
		{
	        error += 'Street Name must contain at least 4 characters.' + "<br>";
		}
		if (document.ExploreSearchForm.PhoneNumber.value != '')
		{
			if (isNaN(document.ExploreSearchForm.PhoneNumber.value))
			{
		        error += 'Phone Number must be numeric.' + "<br>";
			}
			else if (document.ExploreSearchForm.PhoneNumber.value.length != 10)
			{
		        error += 'Please enter a 10-digit Phone Number.' + "<br>";
			}
		}
		if (document.ExploreSearchForm.ZipCode.value != '')
		{
			if (isNaN(document.ExploreSearchForm.ZipCode.value))
			{
		        error += 'Zip Code must be numeric.' + "<br>";
			}
			else if (document.ExploreSearchForm.ZipCode.value.length != 5)
			{
		        error += 'Please enter a 5-digit Zip Code.' + "<br>";
			}
		}
	}

	if (error != "")
	{
		//alert(error);
		divExploreSearchFormMsgs.innerHTML = error;
		divExploreSearchFormMsgs.style.display = "block";
		return (false);
	} else 
	{
		return (true);
	}
}

function validateEventsSearchForm(theForm)
{
	var error = "";
	
	if (document.EventsSearchForm.EventName.value == '' && (document.EventsSearchForm.EventDateDisplay.value == '' || document.EventsSearchForm.EventDateDisplay.value == EventDateFormatString))
	{
        error += 'Please enter at least one value for the search.' + "<br>";
	}
	else
	{
		if (document.EventsSearchForm.EventName.value != '')
		{
			if (document.EventsSearchForm.EventName.value.length < 4)
			{
		        error += 'Event Name must contain at least 4 characters.' + "<br>";
			}
		}
		else
		{
			var eventDateIsValid;
			switch (EventDateFormatString)
			{
				case 'MM/DD/YYYY' :
					eventDateIsValid = validateMDY_Date(document.EventsSearchForm.EventDateDisplay);
					break;
				case 'DD/MM/YYYY' :
					eventDateIsValid = validateDMY_Date(document.EventsSearchForm.EventDateDisplay);
					break;
				case 'YYYY/MM/DD' :
					eventDateIsValid = validateYMD_Date(document.EventsSearchForm.EventDateDisplay);
					break;
			}
			if (!eventDateIsValid ) {
		        error += 'Event Date is not in the correct format.' + "<br>";
		        document.EventsSearchForm.EventDateDisplay.value = EventDateFormatString;
			}
		}
	}

	if (error != "")
	{
		divEventsSearchFormMsgs.innerHTML = error;
		divEventsSearchFormMsgs.style.display = "block";
		return (false);
	} 
	else 
	{
		// Change date to "YYYYMMDD" format.
		var aryEventDate = document.EventsSearchForm.EventDateDisplay.value.split("/");
		if (EventDateFormatString == "MM/DD/YYYY")
		{
			if (aryEventDate[0].length == 1)
			{	aryEventDate[0] = "0" + aryEventDate[0];	}
			if (aryEventDate[1].length == 1)
			{	aryEventDate[1] = "0" + aryEventDate[1];	}
			if (aryEventDate[2].length == 2)
			{	aryEventDate[2] = "20" + aryEventDate[2];	}
		    document.EventsSearchForm.EventDate.value = aryEventDate[2] + aryEventDate[0] + aryEventDate[1];
		}
		if (EventDateFormatString == "DD/MM/YYYY")
		{
			if (aryEventDate[0].length == 1)
			{	aryEventDate[0] = "0" + aryEventDate[0];	}
			if (aryEventDate[1].length == 1)
			{	aryEventDate[1] = "0" + aryEventDate[1];	}
			if (aryEventDate[2].length == 2)
			{	aryEventDate[2] = "20" + aryEventDate[0];	}
		    document.EventsSearchForm.EventDate.value = aryEventDate[2] + aryEventDate[1] + aryEventDate[0];
		}
		if (EventDateFormatString == "YYYY/MM/DD")
		{
			if (aryEventDate[0].length == 2)
			{	aryEventDate[0] = "20" + aryEventDate[0];	}
			if (aryEventDate[1].length == 1)
			{	aryEventDate[1] = "0" + aryEventDate[1];	}
			if (aryEventDate[2].length == 1)
			{	aryEventDate[2] = "0" + aryEventDate[2];	}
		    document.EventsSearchForm.EventDate.value = aryEventDate[0] + aryEventDate[1] + aryEventDate[2];
		}

		if (document.EventsSearchForm.EventDate.value == "YYYYMMDD")
		{
			document.EventsSearchForm.EventDate.value = "";
		}

		return (true);
	}
}

function ShowHideExploreCriteria(elem)
{
	var TextValue = SimpSearchLink_LABEL;
	
	var visibleState = document.getElementById(elem).style.visibility;
	var newVisibleState = "visible";
	if(visibleState == "visible")
	{
		newVisibleState = "hidden";
		TextValue = AdvSearchLink_LABEL;
	}
	document.getElementById(elem).style.visibility = newVisibleState;

	var displayState = document.getElementById(elem).style.display;
	var newDisplayState = "block";
	if(displayState == "block")newDisplayState = "none";
	document.getElementById(elem).style.display = newDisplayState;

	ExploreShowHideCriteriaLink.innerHTML = TextValue;
}

function EventDateDisplay_onFocus() 
{
	if (document.EventsSearchForm.EventDateDisplay.value == EventDateFormatString)
	{
		document.EventsSearchForm.EventDateDisplay.value = "";
	}
}

/////////////////////////////////////////////////////////////
function validateMDY_Date(fld) 
{
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    if ((fld.value.match(RegExPattern)) && (fld.value!='')) {
        return (true);
    } else {
        if (fld.value=='')
        {
        	fld.value='MM/DD/YYYY';
        }
        return (false);
    } 
}

function validateDMY_Date(fld) 
{
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    if ((fld.value.match(RegExPattern)) && (fld.value!='')) {
        return (true);
   } else {
        if (fld.value=='')
        {
        	fld.value='DD/MM/YYYY';
        }
        return (false);
    } 
}

function validateYMD_Date(fld) 
{
	var RegExPattern;
	//var RegExPattern = /^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01]$/;
    if ((fld.value.match(RegExPattern)) && (fld.value!='')) {
        return (true);
   } else {
        if (fld.value=='')
        {
        	fld.value='YYYY/MM/DD';
        }
        return (false);
    } 
}
//////////////////////////////////////////////////////////////


