// AJAX Functions
Ajax.Responders.register({
    onCreate: function() {
  if (Ajax.activeRequestCount === 1) {
    $('loading').show();
   }
    },
    onComplete: function() {
   if (Ajax.activeRequestCount === 0) {
    $('loading').hide();
   }
    }
 });

// ---------------------------------------------------------
// Phone number formatter, created for Foodry
// For more info, visit:
// http://www.foodry.com/blog
// ---------------------------------------------------------
function formatPhone(elm, e) {
    var keychar;

    // If used in onkeypress, pass in the event and this will
    // grab the character and do the right thing. This allows
    // for a smoother user experience than if the chars are
    // being visibly deleted.
    if (e) {
        var keynum;
        if (window.event) {
            keynum = e.keyCode
        }
        else if (e.which) {
            keynum = e.which
        }

        keychar = String.fromCharCode(keynum)
    }   

    // Allow a backspace to go through, so the user
    // can correct any typos.
    if (/[\b]/.exec(keychar)) {
        return true;
    } else {
        var p = elm.value + keychar;

        // Don't allow a leading 1 or 0. We also strip out all
        // non-numeric characters here to make the formatting
        // easier later on. This could be modified to allow
        // letters if you consider them valid.
        p = p.replace(/^[01]/,"");
        p = p.replace(/\D+/g, "");

        // You can easily change the formatting of the phone
        // number by editing the conditionals below.
        if (p.length > 0 && p.length < 3) {
            p = "("+p;
        }
        else if (p.length >= 3 && p.length < 7) {
            p = "("+p.substring(0,3)+") "+p.substring(3);
        }
        else if (p.length >= 7 && p.length < 10) {
            p = "("+p.substring(0,3)+") "+p.substring(3,6)+"-"+p.substring(6);
        }
        else if (p.length) {
            p = "("+p.substring(0,3)+") "+p.substring(3,6)+"-"+p.substring(6,10);
        }
        elm.value = p;

        return false;
    }
}

function printpage() {
	window.print();  
}

function set_iframe(){
	var random_number = Math.random();
	var url='/includes/image_upload.php?member_id='+$F('member_id')+'&update_pic=1&random='+ random_number;
	var frame_text = '<iframe id="image_frame" src="'+url+'" frameborder="0" height="300"></iframe>';
	$('frame_load').update(frame_text);
}

<!-- Limit Text Area
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}
// End -->

function pull_lris() {
		var url = '/includes/ajax_functions.php';
		var pars='action=pull_lris';
		//alert(pars);
		var myAjax = new Ajax.Updater( {success: 'lris_form'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
}		

function submit_lris() {
	
	var valid = new Validation('lris_contact', {onSubmit:false});
	var result = valid.validate();
	if(result == true){
		$('lris_contact').request({
		  onComplete: update_lris
		});
	}
}

function update_lris(request){
	
	$('lris_form').update(request.responseText);
	$('lris_form').innerHTML;

}

function fa_select(page) {
//alert(page);
	if(page == 1){
		Element.show('fa_page_one');
		Element.hide('fa_page_two');
		Element.hide('fa_page_three');
		$('fa_link_1').addClassName('fa_selected');
		$('fa_link_2').removeClassName('fa_selected');
		$('fa_link_3').removeClassName('fa_selected');
		$('fa_link_1b').addClassName('fa_selected');
		$('fa_link_2b').removeClassName('fa_selected');
		$('fa_link_3b').removeClassName('fa_selected');
	}
	if(page == 2){
		Element.hide('fa_page_one');
		Element.show('fa_page_two');
		Element.hide('fa_page_three');
		$('fa_link_1').removeClassName('fa_selected');
		$('fa_link_2').addClassName('fa_selected');
		$('fa_link_3').removeClassName('fa_selected');
		$('fa_link_1b').removeClassName('fa_selected');
		$('fa_link_2b').addClassName('fa_selected');
		$('fa_link_3b').removeClassName('fa_selected');
	}
	if(page == 3){
		Element.hide('fa_page_one');
		Element.hide('fa_page_two');
		Element.show('fa_page_three');
		$('fa_link_1').removeClassName('fa_selected');
		$('fa_link_2').removeClassName('fa_selected');
		$('fa_link_3').addClassName('fa_selected');
		$('fa_link_1b').removeClassName('fa_selected');
		$('fa_link_2b').removeClassName('fa_selected');
		$('fa_link_3b').addClassName('fa_selected');
	}
}

function do_name_search(switch_key) {
		
		if (switch_key == "viewallnames") {
		
			var url = '/includes/search_functions.php';
			var pars = 'action=search_all';
			//alert(pars);
			var myAjax = new Ajax.Updater( {success: 'search_results'}
			, url, {method: 'post', parameters: pars, onFailure: responseError});
		
		} else {
			
			var url = '/includes/search_functions.php';
			var pars = 'keyword=' + switch_key
			+ '&action=search_name';
			//alert(pars);
			var myAjax = new Ajax.Updater( {success: 'search_results'}
			, url, {method: 'post', parameters: pars, onFailure: responseError});
		
		}
		
}

function do_text_name_search(name_switch) {
		
		if(name_switch == "first"){
			var keyword = $F('search_first_name_keyword');
			var action = 'search_first_name_text';
		} else {
			var keyword = $F('search_last_name_keyword');
			var action = 'search_last_name_text';
		}
		
		var url = '/includes/search_functions.php';
		var pars = 'keyword=' + keyword
		+ '&action=' + action;

		var myAjax = new Ajax.Updater( {success: 'search_results'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
		return false;
}

function do_text_firm_search() {
		
		var url = '/includes/search_functions.php';
		var pars = 'keyword=' + $F('search_firm_keyword')
		+ '&action=search_firm_text';

		var myAjax = new Ajax.Updater( {success: 'search_results'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
		return false;
}

function update_search_results(request){
	
	$('search_results').update(request.responseText);
	$('search_results').innerHTML;
}

function do_photo_search() {
		
		var url = '/includes/search_functions.php';
		var pars = 'action=search_pics';
		//alert(pars);
		var myAjax = new Ajax.Updater( {success: 'search_results'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
		
}

function search_area() {

		var url = '/includes/search_functions.php';
		var pars = 'area=' + $F('practice_area')
		+ '&action=search_area';
		//alert(pars);
		var myAjax = new Ajax.Updater( {success: 'search_results'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
		
}

function fetch_practices(member_id) {
		
		var url = '/includes/ajax_functions.php';
		var pars = 'member_id=' + member_id
		+ '&action=fetch_practices';
		//alert(pars);
		var myAjax = new Ajax.Updater( {success: 'practice_area_results'}
		, url, {method: 'post', parameters: pars, onFailure: responseError});
		
}

function request_pass() {
		var valid = new Validation('pass_reset', {onSubmit:false});
		var result = valid.validate();
			if(result == true){
				var url = '/includes/ajax_functions.php';
				var pars = 'email=' + $F('email_address')
				+ '&action=reset_pass';
				//alert(pars);
				var myAjax = new Ajax.Updater( {success: 'reset_results'}
				, url, {method: 'post', parameters: pars, onFailure: responseError});
			}
}

function submit_update(){
	var valid = new Validation('update_form', {onSubmit:false});
	var result = valid.validate();
			if(result == true){
				$('update_form').request({
				  onComplete: update_form
				})
			}
}

function upload_image(){
	$('image_form').request({
	  onComplete: update_image
	})
}

function post_login_form(){
	$('login_form').request({
	  onComplete: update_page
	})
}

function post_member_form(){
	$('member_form').request({
	  onComplete: update_member_results
	})
}

function post_password_form(){
	$('password_form').request({
	  onComplete: update_pass_results
	})
}

function update_practice(practice_id) {
	
	var url = '/includes/ajax_functions.php';
	
	if($('area_'+practice_id).checked == true){
		var pars = 'member_id=' + $F('member_id') +
		'&practice_area_id=' + practice_id +
		'&action=add_practice';
		
	} else if ($('area_'+practice_id).checked == false){
		var pars = 'member_id=' + $F('member_id') + 
		'&practice_area_id=' + practice_id +
		'&action=remove_practice';	
	}
	
	//alert(pars);

		var myAjax = new Ajax.Updater( {success: 'practice_area_results'}
		, url, {method: 'post', parameters: pars, evalScripts: true, onFailure: responseError});

}

function opt_out(member_id) {
	
	var url = '/includes/ajax_functions.php';
	
	if($('opt_out').checked == true){
		var pars = 'member_id=' + member_id +
		'&opt_out=1' +
		'&action=opt_out';
		
	} else if ($('opt_out').checked == false){
		var pars = 'member_id=' + member_id + 
		'&opt_out=0' + 
		'&action=opt_out';	
	}
	
	//alert(pars);

		var myAjax = new Ajax.Updater( {success: 'opt_out_results'}
		, url, {method: 'post', parameters: pars, evalScripts: true, onFailure: responseError});

}


function logout() {
		var url = '/includes/login.php';
		var pars = '&action=logout';
		//alert(pars);
		var myAjax = new Ajax.Request(url, {method: 'post', parameters: pars
	, onSuccess: redirect_logout
	, onFailure: responseError});
}

function redirect_logout(){
	location.href = "/";
}

function update_form(request){
	var result = request.responseText;
	$('update_request_results').update(result);
	$('update_request_results').innerHTML
}

function update_page(request){
	var result = request.responseText.split("|");
	$('login_area').update(result[0]);
	$('login_area').innerHTML
	
		if(result[1] != 0){
			location.href = unescape(window.location.pathname);
		}
	}
	
function update_member_results(request){
	$('member_results').update(request.responseText);
	$('member_results').innerHTML
	}
	
function update_pass_results(request){
	$('password_results').update(request.responseText);
	$('password_results').innerHTML
	}
		
function responseError(request){
	alert(request.status);
}

function set_extender(){

	$('extender').setStyle({
						   height: $('container').getHeight() -300 + 'px'
						   });
}

document.observe("dom:loaded", function() {
		set_extender();
});
