if (document.createElement && document.getElementsByTagName) {
	document.writeln('<style>#desc p, .tollOptions {display:none} #desc p.first {display:block}</style>');
}

window.addEvent('domready', function() {
	var selectElement = $('stn'),
	    selectState = $('state'),
	    areaCode = $('radioAreaCode'),
	    city = $('radioCity'),
	    selectPlaces = $('places'),
		phNumbersBox = $('phNumbersBox'),
		phNumbersBox2 = $('phNumbersBox2'),
		phNumbersBox3 = $('phNumbersBox3'),
		innerPhNumbersBox = $('innerPhNumbersBox'),
	    phNumbersBoxp = $$('div#phNumbersBox p'),
	    loaderGFX = $('loader'),
	    loaderGFX2 = $('loader2'),
	    loaderGFX3 = $('loader3');
	
	phNumbersBoxp.set('html', '<br><br><br><br><br>');
	phNumbersBox.setStyle('display', 'none');
	selectPlaces.disabled = true;	    
	areaCode.checked = true;	    
	selectElement.selectedIndex = 0;
	selectState.selectedIndex = 0;

	var toggleElements = $$('div#desc p', 'div.options');
	
	selectElement.onchange = function() {
		$each(toggleElements, function(element) {
			element.setStyle('display', 'none');
		});
		var indx = this.selectedIndex;
		toggleElements[indx].style.display = 'block';
		if (indx % 2) {
			toggleElements[toggleElements.length - 1].style.display = 'block';
			$('radioRandom').checked = true;
			var reqRandomNumbers = new Request({
				method: 'get',
				url: 'getPlaces.php',
				onRequest: function() {
					loaderGFX2.setStyle('display', 'block');
					phNumbersBox2.setStyle('display', 'none');
					phNumbersBox3.setStyle('display', 'none');
					phNumbersBox.setStyle('display', 'block');
					phNumbersBoxp.set('html', '<br><br><br><br><br>');
				},
				onFailure: function() {
					loaderGFX2.setStyle('display', 'none');	
				},
				onCancel: function() {
					loaderGFX2.setStyle('display', 'none');	
				},
				onSuccess: function(data) {
					loaderGFX2.setStyle('display', 'none');
					phNumbersBoxp.set('html', data);
					
				}
			}).send('True800=false');
		}
		else {
			selectPlaces.selectedIndex = 0;
			phNumbersBoxp.set('html', '<br><br><br><br><br>');
			toggleElements[toggleElements.length - 2].style.display = 'block';
		}
		
	};
	var cache = {};
	selectState.onchange = function() {
		if(this.selectedIndex === 0) {
				selectPlaces.disabled = true;
				selectPlaces.selectedIndex = 0;
				return false;
		}
		var US_state = this.options[this.selectedIndex].value;
		var req = new Request({
			method: 'get',
			url: 'getPlaces.php',
			onRequest: function() {
				loaderGFX.setStyle('display', 'block');
				selectPlaces.disabled = true;	    
				selectPlaces.set('html', '<option>Loading Cities...</option>');
				sortBy = null;
				sortBy2 = null;
				grabData = null;
			},
			onFailure: function() {
				loaderGFX.setStyle('display', 'none');	
			},
			onCancel: function() {
				loaderGFX.setStyle('display', 'none');	
			},
			onSuccess: function(data) {
				sortBy = null;
				sortBy2 = null;
				grabData = null;
				selectPlaces.disabled = false;
				loaderGFX.setStyle('display', 'none');
				areaCode.checked = true;
				
				eval(data);
				
				if (sortBy === null) {
					selectPlaces.options.length = 0;
					selectPlaces.options[0] = new Option('No Results Found');
				}
				else {
					
					var sortByNow = function sortByNow() {
						selectPlaces.options.length = 0;
						sortBy.each(function(element, i) {
							if (i === 0) {
								selectPlaces.options[i] = new Option('Select an Area Code or City');
							}
							selectPlaces.options[i+1] = new Option(element[1] + ' - ' + element[0]);
						});
					};
					sortByNow();
					areaCode.onclick = sortByNow;
					city.onclick = function() {
						var sortBy2 = sortBy.map(function(ite) {
							return ite;						    
						});
						selectPlaces.options.length = 0;
						sortBy2.sort();
						sortBy2.each(function(element, i) {
							if (i === 0) {
								selectPlaces.options[i] = new Option('Select an Area Code or City');
							}
							selectPlaces.options[i+1] = new Option(element[1] + ' - ' + element[0]);
						});
					};
					
					selectPlaces.onchange = function() {
						var val = this.options[this.selectedIndex].firstChild.nodeValue;
						var r = val.split(' - ');
						var reqNumbers = new Request({
							method: 'get',
							url: 'getPlaces.php',
							onRequest: function() {
								loaderGFX2.setStyle('display', 'block');
								phNumbersBox2.setStyle('display', 'none');
								phNumbersBox3.setStyle('display', 'none');
								phNumbersBox.setStyle('display', 'block');
								phNumbersBoxp.set('html', '<br><br><br><br><br>');
							},
							onFailure: function() {
								loaderGFX2.setStyle('display', 'none');	
							},
							onCancel: function() {
								loaderGFX2.setStyle('display', 'none');	
							},
							onSuccess: function(data) {
								loaderGFX2.setStyle('display', 'none');
								phNumbersBoxp.set('html', data);
							}
						}).send('AreaCode=' + r[0] + '&PlaceName=' + r[1]);
					};
				}
			}
		}).send('state=' + US_state + new Date().getTime());
	};
	$('radioRandom').addEvent('click', function() {
		var reqRandomNumbers = new Request({
			method: 'get',
			url: 'getPlaces.php',
			onRequest: function() {
				loaderGFX2.setStyle('display', 'block');
				phNumbersBox2.setStyle('display', 'none');
				phNumbersBox3.setStyle('display', 'none');
				phNumbersBox.setStyle('display', 'block');
				phNumbersBoxp.set('html', '<br><br><br><br><br>');
			},
			onFailure: function() {
				loaderGFX2.setStyle('display', 'none');	
			},
			onCancel: function() {
				loaderGFX2.setStyle('display', 'none');	
			},
			onSuccess: function(data) {
				loaderGFX2.setStyle('display', 'none');
				phNumbersBoxp.set('html', data);
			}
		}).send('True800=false');
	});
	$('radio800').addEvent('click', function() {
		var req800Numbers = new Request({
			method: 'get',
			url: 'getPlaces.php',
			onRequest: function() {
				loaderGFX2.setStyle('display', 'block');
				phNumbersBox2.setStyle('display', 'none');
				phNumbersBox3.setStyle('display', 'none');
				phNumbersBox.setStyle('display', 'block');
				phNumbersBoxp.set('html', '<br><br><br><br><br>');
			},
			onFailure: function() {
				loaderGFX2.setStyle('display', 'none');	
			},
			onCancel: function() {
				loaderGFX2.setStyle('display', 'none');	
			},
			onSuccess: function(data) {
				loaderGFX2.setStyle('display', 'none');
				phNumbersBoxp.set('html', data);
			}
		}).send('True800=true');
	});
	$('radioVanity').addEvent('click', function() {
		$('vanitySearch').setStyle('display', 'block');
	});
	$('radioTransfer').addEvent('click', function() {
		phNumbersBox3.setStyle('display', 'none');
		phNumbersBox.setStyle('display', 'none');
		phNumbersBox2.setStyle('display', 'block');
	});
	$$('input.onlyNumbers').addEvent('keypress', function(event) {
		if (/^\d{1}$/.test(event.key) || event.key === 'backspace' || event.key === 'tab' || event.key === '*') {
			return true;
		}
		else {
			return false
		}
	});
	$('ph2').addEvent('keyup', function() {
		if (this.get('value').length === 3) {
			$('ph3').select();	
		}
	});
	$$('td.num').addEvent('click', function() {
		var theNum = this.get('text')[0];
		var count = $('ph2').get('value').length;
		var count2 = $('ph3').get('value').length;
		if (count < 3) {
			$('ph2').value += theNum;
		}
		else if (count >= 3 && count2 <= 3) {
			$('ph3').value += theNum;
		}
	});
	
	$('radioVanity').addEvent('click', function() {
		phNumbersBox.setStyle('display', 'none');
		phNumbersBoxp.set('html', '<br><br><br><br><br>');
		phNumbersBox2.setStyle('display', 'none');
		phNumbersBox3.setStyle('display', 'block');
	});
	
	$('searchVanity').addEvent('click', function() {
		var theNum = '';
		theNum = $('ph1').get('value');
		theNum += $('ph2').get('value');
		theNum += $('ph3').get('value');
		if (theNum.length < 10) {
			var len = theNum.length;
			var pendingAmount = 10 - len;
			while (pendingAmount--) {
				theNum += '*';
			}
			while ($('ph2').get('value').length < 3) {
				$('ph2').value += '*';
			}
			while ($('ph3').get('value').length < 4) {
				$('ph3').value += '*';
			}
		}
		var reqVanitySearch = new Request({
			method: 'get',
			url: 'getPlaces.php',
			onRequest: function() {
				loaderGFX3.setStyle('display', 'block');
			},
			onFailure: function() {
				loaderGFX3.setStyle('display', 'none');	
			},
			onCancel: function() {
				loaderGFX3.setStyle('display', 'none');	
			},
			onSuccess: function(data) {
				loaderGFX3.setStyle('display', 'none');
				$('numbers').set('html', data);
			}
		}).send('SearchTerm=' + theNum);;
		return false;
	});
	$('selectSMARTPlan').addEvent('submit', function() {
		switch ($('stn').get('value')) {
			case 'SNLB15Q' :
			case 'SNLC15Q' :
			case 'SNLS15Q' :
			case 'SNLG15Q' :
			case 'SNLP15Q' :
				if ($$('input.availibleNumber').length > 0) {
					break;
				} else {
					alert('Please select a local phone number');
					return false;
				}
			default :
		}
	});
	var newWindow = null;
	function closeWin() {
		if (newWindow != null) {
			if (!newWindow.closed) newWindow.close();
		}
	}

	function popUpWin(url, type, strWidth, strHeight){
		closeWin();
		if (type == "fullScreen"){
			strWidth = screen.availWidth - 10;
			strHeight = screen.availHeight - 160;
		}
		var tools="";
		if (type == "standard" || type == "fullScreen") tools = "resizable=no,toolbar=no,location=no,scroll=yes,scrollbars=yes,menubar=no,width="+strWidth+",height="+strHeight+",top=135,left=210";
		if (type == "console") tools = "resizable=no,toolbar=no,location=no,directories=no,status=no,scroll=no,scrollbars=no,menubar=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
		newWindow = window.open(url, 'newWin', tools);
		//newWindow.focus();
		return false;
	}
	
	$('moreSearchTips').addEvent('click', function() {	
		return popUpWin('more_search_tips.html', 'standard', 300, 400);								   
	});
});