/*Table of Contents (search with preceding *)
	
	* Form Validations
	* Scrolling anchor links
	* Search Bar Tabs
	* Misc. Utilities
-----------------------------------------------------*/



/*Form Validations
-----------------------------------------------------*/

function validate_registration_form(){
	
	var form = $('registration_application');
	
	if (form.org_name.value == "")
	{
		alert("Please fill in 'Organization Name'.");
		form.org_name.focus();
		return false;
	}
	
	if (form.org_years_established.value == "")
	{
		alert("Please fill in 'Years Established'.");
		form.org_years_established.focus();
		return false;
	}
	if (((form.org_years_established.value < "0") || (form.org_years_established.value > "9")))
	{
		alert("'Years Established' must be a number.");
		form.org_years_established.focus();
		return false;
	}
	
	if (form.org_street_address.value == "")
	{
		alert("Please fill in 'Street Address'.");
		form.org_street_address.focus();
		return false;
	}
	
	if (form.org_city.value == "")
	{
		alert("Please fill in 'City'.");
		form.org_city.focus();
		return false;
	}
	
	if (form.org_state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.org_state.focus();
		return false;
	}
	
	if (form.org_zip.value == "")
	{
		alert("Please fill in 'Zip'.");
		form.org_zip.focus();
		return false;
	}
	reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	if (!reZip.test(form.org_zip.value))
	{
		alert("'Zip Code' must be valid.");
		form.org_zip.focus();
		return false;
	}
	
	if (form.org_phone.value == "")
	{
		alert("Please fill in 'Phone'.");
		form.org_phone.focus();
		return false;
	}
	rePhone = new RegExp(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/);
	if (!rePhone.test(form.org_phone.value))
	{
		alert("'Phone Number' must be valid.");
		form.org_phone.focus();
		return false;
	}
	
	if (form.org_business_type.selectedIndex == 0)
	{
		alert("Please fill in 'Business Type'.");
		form.org_business_type.focus();
		return false;
	}
	
	if (form.org_fein.value == "")
	{
		alert("Please fill in 'FEIN'.");
		form.org_fein.focus();
		return false;
	}
	
	if (form.org_tax_exempt.selectedIndex == 0)
	{
		alert("Please fill in 'Tax Exempt?'.");
		form.org_tax_exempt.focus();
		return false;
	}
	
	if (form.org_incorporation_state.selectedIndex == 0)
	{
		alert("Please fill in 'State of Incorporation'.");
		form.org_incorporation_state.focus();
		return false;
	}
	
	if (form.org_home_based.selectedIndex == 0)
	{
		alert("Please fill in 'Home Based?'.");
		form.org_home_based.focus();
		return false;
	}
	
	if (form.user_email.value == "")
	{
		alert("Please fill in 'Email'.");
		form.user_email.focus();
		return false;
	}
	reEmail = new RegExp(/^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/);
	if (!reEmail.test(form.user_email.value))
	{
		alert("'Email' must be valid.");
		form.user_email.focus();
		return false;
	}
	
	if (form.user_name.value == "")
	{
		alert("Please fill in 'Name'.");
		form.user_name.focus();
		return false;
	}
	
	if (form.user_title.value == "")
	{
		alert("Please fill in 'Title'.");
		form.user_title.focus();
		return false;
	}
	
	if (form.user_phone.value == "")
	{
		alert("Please fill in 'Phone'.");
		form.user_phone.focus();
		return false;
	}
	rePhone = new RegExp(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/);
	if (!rePhone.test(form.user_phone.value))
	{
		alert("'Phone Number' must be valid.");
		form.user_phone.focus();
		return false;
	}
	
	if (form.user_hiring_name.value == "")
	{
		alert("Please fill in 'Name'.");
		form.user_hiring_name.focus();
		return false;
	}
	
	if (form.user_hiring_title.value == "")
	{
		alert("Please fill in 'Title'.");
		form.user_hiring_title.focus();
		return false;
	}
	
	if (form.user_hiring_phone.value == "")
	{
		alert("Please fill in 'Phone'.");
		form.user_hiring_phone.focus();
		return false;
	}
	rePhone = new RegExp(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/);
	if (!rePhone.test(form.user_hiring_phone.value))
	{
		alert("'Phone Number' must be valid.");
		form.user_hiring_phone.focus();
		return false;
	}
	
	if (form.billing_address.value == "")
	{
		alert("Please fill in 'Address'.");
		form.billing_address.focus();
		return false;
	}
	
	if (form.billing_city.value == "")
	{
		alert("Please fill in 'City'.");
		form.billing_city.focus();
		return false;
	}
	
	if (form.billing_state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.billing_state.focus();
		return false;
	}
	
	if (form.billing_zip.value == "")
	{
		alert("Please fill in 'Zip'.");
		form.billing_zip.focus();
		return false;
	}
	reZip = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
	if (!reZip.test(form.billing_zip.value))
	{
		alert("'Zip Code' must be valid.");
		form.billing_zip.focus();
		return false;
	}
	
	if (form.billing_name.value == "")
	{
		alert("Please fill in 'Name'.");
		form.billing_name.focus();
		return false;
	}
	
	if (form.billing_title.value == "")
	{
		alert("Please fill in 'Title'.");
		form.billing_title.focus();
		return false;
	}
	
	if (form.billing_phone.value == "")
	{
		alert("Please fill in 'Phone'.");
		form.billing_phone.focus();
		return false;
	}
	rePhone = new RegExp(/^\(?\d{3}\)?\s|-\d{3}-\d{4}$/);
	if (!rePhone.test(form.billing_phone.value))
	{
		alert("'Phone Number' must be valid.");
		form.billing_phone.focus();
		return false;
	}
	
	if (form.secret_question.selectedIndex == 0)
	{
		alert("Please fill in 'Secret Question'.");
		form.secret_question.focus();
		return false;
	}
		
	if (form.secret_answer.value == '')
	{
		alert("Please fill in 'Secret Answer'.");
		form.secret_answer.focus();
		return false;
	}
		
	if (form.agree.checked == false)
	{
		alert("Please check 'Agree'.");
		form.agree.focus();
		return false;
	}
	
	return true;
}


function validate_advanced_search_form(form, type){
	if(type == "1"){
		return validate_people_search_form(form);
	}
	
	else if(type == "2a"){
		return validate_background_search_form(form);
	}
	
	else if(type == "4a"){
		return validate_criminal_search_form(form);
	}
}


function validate_people_search_form(form){
	
	if (form.first_name.value == "")
	{
		alert("Please fill in 'First Name'.");
		form.first_name.focus();
		return false;
	}
	
	if (form.last_name.value == "")
	{
		alert("Please fill in 'Last Name'.");
		form.last_name.focus();
		return false;
	}
		
	/*if (form.first_name.value == "" && (form.street_number.value == "" || form.street.value == ""))
	{
		alert("Please fill in 'First Name'.");
		form.first_name.focus();
		return false;
	}
	
	if (form.last_name.value == "" && (form.street_number.value == "" || form.street.value == ""))
	{
		alert("Please fill in 'Last Name'.");
		form.last_name.focus();
		return false;
	}
	
	if (form.street_number.value == "" && (form.first_name.value == "" || form.last_name.value == ""))
	{
		alert("Please fill in 'Street Number'.");
		form.street_number.focus();
		return false;
	}
	
	if (form.street.value == "" && (form.first_name.value == "" || form.last_name.value == ""))
	{
		alert("Please fill in 'Street Name'.");
		form.street.focus();
		return false;
	}
	
	if (form.city.value == "" && (form.first_name.value == "" || form.last_name.value == ""))
	{
		alert("Please fill in 'City'.");
		form.city.focus();
		return false;
	}*/
		
	/*if (form.state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.state.focus();
		return false;
	}*/
	
	return true;
}

function validate_background_search_form(form){
		
	if (form.first_name.value == "")
	{
		alert("Please fill in 'First Name'.");
		form.first_name.focus();
		return false;
	}
	
	if (form.last_name.value == "")
	{
		alert("Please fill in 'Last Name'.");
		form.last_name.focus();
		return false;
	}
	
	/*if (form.state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.state.focus();
		return false;
	}*/
	
	return true;
}

function validate_phone_search_form(form){
		
	if (form.area_code.value == "" && form.state.selectedIndex == 0)
	{
		alert("Please fill in either 'Area Code' or 'State'.");
		form.area_code.focus();
		return false;
	}
	
	if (form.phone_number.value == "")
	{
		alert("Please fill in 'Phone Number'.");
		form.phone_number.focus();
		return false;
	}
	
	return true;
}

function validate_address_search_form(form){
			
	if (form.street.value == "")
	{
		alert("Please fill in 'Street Name'.");
		form.street.focus();
		return false;
	}
	
	if (form.city.value == "")
	{
		alert("Please fill in 'City'.");
		form.city.focus();
		return false;
	}
	
	if (form.state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.state.focus();
		return false;
	}
	
	return true;
}

function validate_criminal_search_form(form){
	
	if (form.first_name.value == "")
	{
		alert("Please fill in 'First Name'.");
		form.first_name.focus();
		return false;
	}
	
	if (form.last_name.value == "")
	{
		alert("Please fill in 'Last Name'.");
		form.last_name.focus();
		return false;
	}
	
/*
	if (form.state.selectedIndex == 0)
	{
		alert("Please fill in 'State'.");
		form.state.focus();
		return false;
	}

*/	
	return true;
}






/*Search Bar Tabs
-----------------------------------------------------*/

function getTabData(id)
{
	//var url = '/includes/phpbin/search_bar/search_tab_process.php';
	//var rand = Math.random(9999);
	//var pars = 'id=' + id + '&rand=' + rand;
	//var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onLoading: showTabLoader, onComplete: showResponse});
	
	if(id == ''){id = 'people_search';}

	var tabs = new Array('people_search', 'background_information', 'reverse_lookup', 'criminal_records');
	tabs.each(
		function(tab){
			if(tab == id){
				theTab = document.getElementById(tab);
				if(theTab.style.display == 'none'){
					//Effect.toggle(theTab, 'appear', {duration: .5});
					theBtn = document.getElementById(tab+"_btn");
					theBtn.style.display = 'none';
					new Effect.Appear(theTab, { duration: .5});
					new Effect.Appear(theBtn, { duration: .5, queue: 'end'});
				}
			}else{
				theTab = document.getElementById(tab);
				theTab.style.display = 'none';
			}
		}
	);
	switchTabState(id);
}

/*function showTabLoader() 
{
	$('tab_loader').style.display = 'block';
	$('form_container').style.display = 'none';
}

function showResponse (originalRequest) 
{
	var newData = originalRequest.responseText;
	$('tab_loader').style.display = 'none';
	Effect.toggle('form_container', 'appear', {duration: .5});
	$('form_container').innerHTML = newData;
}*/

function switchTabState(id)
{
	var tabs = document.getElementsByClassName('tab');
	for (var i = 0; i < tabs.length; i++) 
	{
		if(tabs[i].id == "s_" + id)
		{
			Element.addClassName(tabs[i].id, 'on');
		}
		else
		{
			Element.removeClassName(tabs[i].id, 'on');
		}
	}
}

/*function initTabs()
{
	getTabData('people_search');
}*/



/*Misc. Utilities
-----------------------------------------------------*/

/*Hide select inputs when we trigger a div overlay*/
function toggleSelects(visibility)
{
    selects = document.getElementsByTagName('select');
    for(i = 0; i < selects.length; i++) 
	{
        selects[i].style.visibility = visibility;
    }
}

function bookmark(url,title)
{
	var ua = navigator.userAgent.toLowerCase();
   	this.isSafari      = (ua.indexOf('safari') != - 1);
   	this.isOmniweb     = (ua.indexOf('omniweb') != - 1);
   	this.isOpera       = (ua.indexOf('opera') != -1); 
   	this.isIE          = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) ); 
   	this.isMozilla     = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
   	this.isNS          = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );

	if(this.isIE)
	{
  		window.external.AddFavorite(url,title);
	}
	else if(this.isSafari || this.isOmniweb)
	{
		alert("Press ⌘+D to bookmark");
	}
	else if(this.isOpera)
	{
		alert("Press CTRL+D (PC) or ⌘+D (Mac) to bookmark");
	}
	else
	{
		window.sidebar.addPanel(title, url, "");
	}
}

// function getExternalLinks() {
// 	if (!document.getElementsByTagName) return;
// 	var anchors = document.getElementsByTagName("a");
// 	for (var i=anchors.length-1; i>=0; i--) {
// 		var anchor = anchors[i];
// 		//var site_url = "http://www.spontaneous-insight.com/";
// 		var site_url = "/";
// 		if(anchor.href && anchor.href.substr(0,10) != "javascript" && anchor.href.substr(0,1) != "#" && anchor.href.substr(0,5) != 'https') {
// 			if (anchor.href && anchor.href.substr(0,20) != site_url.substr(0,20)) {
// 				anchor.target = "_blank";
// 			}
// 		}
// 	}
// }

/*function checkEnter(event, element){
	if(event.keyCode == 13){
		search_form = element.parentNode.parentNode.parentNode.parentNode.parentNode;
		alert(search_form);
		search_form.submit();
		return false;
	}
	else{
		return true;
	}
}*/

function toggle_forms(form_id)
{
	if(form_id === 'phone_search_form')
	{
		$('phone_search_form').style.display = 'block';
		$('address_search_form').style.display = 'none';
	}
	else if(form_id === 'address_search_form')
	{
		$('address_search_form').style.display = 'block';
		$('phone_search_form').style.display = 'none';
	}
}
