function setSelected(id_select, value) {
	var selectlist = document.getElementById(id_select);
	for(i=0; i < selectlist.length; i+=1)
	{
		if (selectlist.options[i].value == value) {
			selectlist.options[i].selected = "selected";
		}
	}
}

function $$(tagName)
{
	return document.createElement(tagName);
}

function $(id)
{
	return document.getElementById(id);
}

function setCookie(name, value, days, path)
{
	var today = new Date();
	var expire = new Date();
	if (!days)
		days = 1;
	if (!path)
		path = '/';
	expire.setTime(today.getTime() + 3600000 * 24 * 60 * days);
	document.cookie = name + '=' + escape(value) + ';expires=' + expire.toGMTString() + ';path=' + path;
}

function deleteCookie(name, value, path)
{
	var today = new Date();
	var expire = new Date();
	if (!path)
		path = '/';
	expire.setTime(today.getTime());
	document.cookie = name + '=' + escape(value) + ';expires=' + expire.toGMTString() + ';path=' + path;
}

function getCookie(name)
{
	var nameEQ = name + '=';
	var ca = document.cookie.split(';');
	for (var i = 0; i < ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==' ')
			c = c.substring(1, c.length);
		if (c.indexOf(nameEQ) == 0)
			return unescape(c.substring(nameEQ.length,c.length));
	}
	return null;
}


function setDefaultLocation(defaultLocation)
{
	cookieValue = document.getElementById('city_name').value;

	if(defaultLocation.checked == true)
	{
		if(cookieValue != '')
			setCookie('userdefaultlocation', cookieValue, 365, '/');
	}else
	{
		deleteCookie('userdefaultlocation',cookieValue,'/');
	}
}


function checkIsDefaultLocation(ishorizontal) {
	var defcountry = readCookie("hc_default_location_country");
	var deflocation = readCookie("hc_default_location_city_name");

	if (deflocation != null) {
		setSelected('country_code', defcountry);
		if (defcountry == 'USA') {
			setSelected('state_code', readCookie("hc_default_location_state"));
		} else {
			loadStates(document.hc_directory_searchform.country_code, ishorizontal);
		}
		document.hc_directory_searchform.city_name.value = deflocation;
		document.hc_directory_searchform.defaultlocation.checked = true;
	}
}


function toggleSearchType(type)
{
	switch(type)
	{
		case "by_specialty":
			$('HomeSearchBySpecialtyHeader').style.display = "block";
			$('HomeSearchByNameHeader').style.display = "none";
			$('HomeSearchBySmartHeader').style.display = "none";
			$('HomeSearchBySpecialtyForm').style.display = "block";
			$('HomeSearchByNameForm').style.display = "none";
			$('HomeSearchBySmartForm').style.display = "none";
			break;
		case "by_name":
			$('HomeSearchBySpecialtyHeader').style.display = "none";
			$('HomeSearchByNameHeader').style.display = "block";
			$('HomeSearchBySmartHeader').style.display = "none";
			$('HomeSearchBySpecialtyForm').style.display = "none";
			$('HomeSearchByNameForm').style.display = "block";
			$('HomeSearchBySmartForm').style.display = "none";
			break;
		case "by_smart":
			$('HomeSearchBySpecialtyHeader').style.display = "none";
			$('HomeSearchByNameHeader').style.display = "none";
			$('HomeSearchBySmartHeader').style.display = "block";
			$('HomeSearchBySpecialtyForm').style.display = "none";
			$('HomeSearchByNameForm').style.display = "none";
			$('HomeSearchBySmartForm').style.display = "block";
			break;
		default:
			break;
	}
	document.getElementById('search_type').value = type;
}

function validateSearch(form, type_search)
{
	if(form.city_name.value == '')
	{
		alert('Please type a City or Zipcode');
		form.city_name.focus();
		return false;
	}
	switch(type_search)
	{
		case 'by_specialty':
			if (form.HomeSearchSpecialty.selectedIndex == 0)
			{
				alert('Please select a specialty');
				form.HomeSearchSpecialty.focus();
				return false;
			}
		break;
		case 'by_name':
			if (form.name_search.value == null || (form.name_search.value.replace(/^\s+|\s+$/g, '')).length == 0)
			{
				alert('Please type a First Name, Last Name or Facility Name');
				form.name_search.focus();
				return false;
			}
		break;
		case 'by_smart':
			if (form.symptom_dicease_search.value == null || (form.symptom_dicease_search.value.replace(/^\s+|\s+$/g, '')).length == 0)
			{
				alert('Please type a Specialty, Symptom or Disease');
				form.symptom_dicease_search.focus();
				return false;
			}
		break;
	}
	return true;
}

function doSearch(target)
{
	var div = $('CareProviderTopic');
	var isAdvanced = false;
	var queryString = '';
	var form = $('hc_directory_searchform');
	if (form.search_type.value != "by_specialty") {
		//categories.php params
		if(!validateSearch(form,form.search_type.value))
			return false;
		setDefaultLocation(form.defaultlocation);
		queryString = 'keyword=';
		switch(form.search_type.value)
		{
			case "by_name":
				queryString = queryString + form.name_search.value;
				break;
			case "by_smart":
				queryString = queryString + form.symptom_dicease_search.value;
				break;
		}

		queryString = queryString + '&location=' + form.city_name.value;
		queryString = queryString + '&locationUser=' + form.city_name.value;
		queryString = queryString + '&search_type=' + form.search_type.value;
		if(form.insurance_code.value == "")
			queryString = queryString + '&advanced_search=';
		else
		{
			queryString = queryString + '&advanced_search=1';
			queryString = queryString + '&insurance_code=' + form.insurance_code.value;
		}
		if(form.sort_by_code)
			queryString = queryString + '&sort_by_code=' + form.sort_by_code.value;
		if(form.defaultlocation.checked == true)
			queryString = queryString + '&defaultlocation=on';
		queryString = path + 'verifyLocation.php?' + queryString;

	} else {
		//parametros para results.php
		if(!validateSearch(form,form.search_type.value))
			return false;
		setDefaultLocation(form.defaultlocation);
		queryString = 'location=' + form.city_name.value; //+ buildLocationParam();
		queryString = queryString + '&locationUser=' + form.city_name.value; //+ buildLocationParam();
		queryString = queryString + '&category=' + form.HomeSearchCategory.value + ',' + form.subcategory.value;
		if(form.insurance_code.value != "")
		{
			queryString = queryString + '&insurance_code=' + form.insurance_code.value;
		}
		if(form.sort_by_code)
		{
			if(form.sort_by_code.value != "")
				queryString = queryString + '&sort_by_code=' + form.sort_by_code.value;
		}
		if(form.defaultlocation.checked == true)
			queryString = queryString + '&defaultlocation=on';
		queryString = queryString + '&search_type=' + form.search_type.value;
		queryString = path + 'verifyLocation.php?' + queryString;
	}
	if(idCobrander) {
		var cobrander_protocol = window.location.protocol;
		var cobrander_path = window.location.pathname;
		// this is required because IE loading files locally uses "\" and not "/"
		var separator = (cobrander_protocol == "file:" && cobrander_path.indexOf("/", 1) == -1 ? "\\" : "/");
		var cobrander_path = window.location.pathname;
		var cobrander_file = cobrander_path.substring(cobrander_path.lastIndexOf(separator) + 1);

		queryString = queryString + '&idcobrander=' + idCobrander;
		queryString = queryString + '&filter=' + form.cobrander_filter.value;
		queryString = queryString + '&search_type=' + form.search_type.value;

		script_path = cobrander_path.replace(cobrander_file, '');

		queryString = queryString.replace(path, '');
		window.location = path + queryString;
	} else {
		queryString = url_prefix + queryString;
		window.location = queryString;
	}

	return false;
}

function doSearchClinic(target)
{
	var queryString = '';
	var form = $('hc_directory_searchform');
	var search_type = '';
	if (form.name_search.value != "") {
		//categories.php params
		search_type = "by_name";
		if(!validateSearch(form,"by_name"))
			return false;
		setDefaultLocation(form.defaultlocation);
		queryString = 'keyword=';
		queryString = queryString + form.name_search.value;
		queryString = queryString + '&location=' + form.city_name.value;
		queryString = queryString + '&locationUser=' + form.city_name.value;
		queryString = queryString + '&search_type=by_name';
		if(form.insurance_code.value == "")
			queryString = queryString + '&advanced_search=';
		else
		{
			queryString = queryString + '&advanced_search=1';
			queryString = queryString + '&insurance_code=' + form.insurance_code.value;
		}
		if(form.sort_by_code)
			queryString = queryString + '&sort_by_code=' + form.sort_by_code.value;
		if(form.defaultlocation.checked == true)
			queryString = queryString + '&defaultlocation=on';
		queryString = path + 'verifyLocation.php?' + queryString;

	} else {
		search_type = "by_specialty";
		//parametros para results.php
		if(!validateSearch(form,"by_specialty"))
			return false;
		setDefaultLocation(form.defaultlocation);
		queryString = 'location=' + form.city_name.value; //+ buildLocationParam();
		queryString = queryString + '&locationUser=' + form.city_name.value; //+ buildLocationParam();
		queryString = queryString + '&category=' + form.HomeSearchSpecialty.value;
		if(form.insurance_code.value != "")
		{
			queryString = queryString + '&insurance_code=' + form.insurance_code.value;
		}
		if(form.sort_by_code)
		{
			if(form.sort_by_code.value != "")
				queryString = queryString + '&sort_by_code=' + form.sort_by_code.value;
		}
		if(form.defaultlocation.checked == true)
			queryString = queryString + '&defaultlocation=on';
		queryString = queryString + '&search_type=' + search_type;
		queryString = path + 'verifyLocation.php?' + queryString;
	}
	if(idCobrander) {
		var cobrander_protocol = window.location.protocol;
		var cobrander_path = window.location.pathname;
		// this is required because IE loading files locally uses "\" and not "/"
		var separator = (cobrander_protocol == "file:" && cobrander_path.indexOf("/", 1) == -1 ? "\\" : "/");
		var cobrander_path = window.location.pathname;
		var cobrander_file = cobrander_path.substring(cobrander_path.lastIndexOf(separator) + 1);

		queryString = queryString + '&idcobrander=' + idCobrander;
		//queryString = queryString + '&filter=' + form.cobrander_filter.value;
		queryString = queryString + '&search_type=' + search_type;

		script_path = cobrander_path.replace(cobrander_file, '');

		queryString = queryString.replace(path, '');
		window.location = path + queryString;
	} else {
		queryString = url_prefix + queryString;
		window.location = queryString;
	}

	return false;
}