
//functions
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
	  { 
	  Char = sText.charAt(i); 
	  if (ValidChars.indexOf(Char) == -1) 
		 {
		 IsNumber = false;
		 }
	  }
   return IsNumber;
}

function insertCity(URL, currentCity, totalCities)
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			insertedCities++;
			if(insertedCities == (totalCities - 1))
			{
				document.forms.registerForm.submit();
			}	
		}
	}
	xmlHttp.open("GET",URL,true);
	xmlHttp.send(null);
}

function updateInnerHTML(URL, objectID)
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			document.getElementById(objectID).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET",URL,true);
	xmlHttp.send(null);
}

function validateEmail(email)
{
	var xmlHttp;
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange=function()
	{
		if(xmlHttp.readyState==4)
		{
			if(parseInt(xmlHttp.responseText) > 0)
			{
				alert("The email address '" + email + "' is already in use, please choose another.");
				document.forms.registerForm.email.value = "";
				document.forms.registerForm.email2.value = "";
			}
		}
	}
	xmlHttp.open("GET",'/ajax/uniqueEmail.php?email=' + email,true);
	xmlHttp.send(null);
}

function showCitySelect(state)
{
	updateInnerHTML('/ajax/citySelect.php?state=' + state, 'cityList');
}

function showCitySelected(state, city)
{
	updateInnerHTML('/ajax/citySelect.php?state=' + state + '&city=' + city, 'cityList');
}

function showCityList(state, baseState, baseCity)
{
	document.getElementById('cityListRadius').innerHTML = "<div align=center><br/><b>Loading, please wait...</b></div>";
	updateInnerHTML('/ajax/cityListRadius.php?state=' + state + '&basecity=' + baseCity + '&basestate=' + baseState, 'cityListRadius');
	document.getElementById('cityListMajor').innerHTML = "<div align=center><br/><b>Loading, please wait...</b></div>";
	updateInnerHTML('/ajax/cityListMajor.php?state=' + state + '&basecity=' + baseCity + '&basestate=' + baseState, 'cityListMajor');
	document.getElementById('cityListMinor').innerHTML = "<div align=center><br/><b>Loading, please wait...</b></div>";
	updateInnerHTML('/ajax/cityList.php?state=' + state + '&basecity=' + baseCity + '&basestate=' + baseState, 'cityListMinor');
}

function updateSelectedCities()
{
	var innerHTML="";
	var cost = 0;
	var currentPrice = 0;
	selectedCities.sort();
	for (i=0;i<selectedCities.length;i++)
	{
		if (selectedCities[i][2] == "major")
			currentPrice = majorCityAddition;
		else
			currentPrice = minorCityAddition;
		cost = cost + parseInt(currentPrice);
		innerHTML += "<div style=\"float: left; width: 210px; border-bottom: 1px solid #CCCCCC; padding-bottom: 3px; padding-top: 2px;\">"+ selectedCities[i][0] + ", " + selectedCities[i][1] +"</div><div style=\"float: left; border-bottom: 1px solid #CCCCCC; padding-bottom: 3px; padding-top: 2px;\"><a href=\"javascript: removeSelectedCity(" + i + ")\">[Remove]</a></div><div style=\"clear: both;\"></div>";
	}
	document.getElementById('selectedCities').innerHTML = innerHTML;
	document.getElementById('totalCost').innerHTML = "$" + cost + ".00";
	document.getElementById('totalCities').innerHTML = selectedCities.length;
}

function addSelectedCity(state, city, cityType)
{
	var selectedCity = [city,state,cityType];
	var cityExists = false;
	
	for (i=0;i<selectedCities.length;i++)
	{
		if (selectedCity[0]==selectedCities[i][0] && selectedCity[1]==selectedCities[i][1])
		{
			cityExists = true;	
		}
	}
	
	if(!cityExists)
	{
		selectedCities.push(selectedCity);
		updateSelectedCities();
	}
}

function removeSelectedCity(cityIndex)
{
	selectedCities.splice(cityIndex, 1);
	updateSelectedCities();
}

function storeCities()
{
	for (i=0;i<selectedCities.length;i++)
	{
		document.forms.cityListForm.cityList.value += selectedCities[i][0] + "|" + selectedCities[i][1] + "|" + selectedCities[i][2] + ",";
	}
	document.forms.cityListForm.submit();
}

function toggleSubmitButton(objectID)
{
	if(document.getElementById(objectID).disabled == false)
		document.getElementById(objectID).disabled = true;
	else
		document.getElementById(objectID).disabled = false;
}

function bookmark_us(url, title){

if (window.sidebar) // firefox
    window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
    var elem = document.createElement('a');
    elem.setAttribute('href',url);
    elem.setAttribute('title',title);
    elem.setAttribute('rel','sidebar');
    elem.click();
}
else if(document.all)// ie
    window.external.AddFavorite(url, title);
}
