//

function reportError(request) 
{
		var out = "Error: " + request.responseText;
		alert(out);
		$('error').innerHTML = out;
}

function reportException(request, exception) 
{
		var out = "Exception: " + request.url + " " + exception;
		alert(out);
		$('error').innerHTML = out;
}

function reportSuccess(request) 
{
		var out = "Success: " + request.responseText;
		alert(out);
		$('error').innerHTML = out;
}

function update_list(updateEl,action,urlbase)
{
	params = action;
    if ( urlbase == '' || urlbase == '/' )
        var url = '/atact_ajax.php';
    else
        var url = urlbase + '/atact_ajax.php';
	
	//$('error').innerHTML = urlbase + ' ' + url + "?" + params;
	
	//alert(url + "?" + params);
	
	var ajax = new Ajax.Request(
                               	url,
                                {method: 'get', parameters: params, asynchronous: false, evalScripts: true});
	
	//alert(ajax.transport.responseText);
	var elem = $(updateEl);
	elem.innerHTML = '<select name="county_id"  >' + ajax.transport.responseText + "</select>";

	return true;
}

function ajax_update(form,updateEl,action)
{
	var params = Form.serialize(form);
	params = params + "&" + action;
	
	var url = 'atact_ajax.php';
	
	//alert(url + "?" + params);
	
	//parent.document.getElementById('error').innerHTML = url + "?" + params;
	
	var ajax = new Ajax.Request(
                               	url,
                                {method: 'get', parameters: params, asynchronous: false, evalScripts: true});
	
	//alert(ajax.transport.status);
	parent.document.getElementById(updateEl).innerHTML = ajax.transport.responseText;
	
	return true;
}

function setCityState(request)
{
	citystate = request.responseText.split(';');
	
	update_list('county_id','action=get_state_counties&stateprov_abbr='+citystate[1]+'&selected='+citystate[2],citystate[3]);
	document.form1.city.value = citystate[0];
	for (var i = 0; i < document.form1.stateprov_abbr.length; i++)
	{
		if ( document.form1.stateprov_abbr.options[i].value == citystate[1] )
		{
			document.form1.stateprov_abbr.selectedIndex = i;
			break;
		}
	}
}

function checkZip(url) 
{
	if($F('zip').length == 5) 
	{
		//var url = prefix + 'checkZip.php';
		var params = 'zip=' + $F('zip');
		//$('error').innerHTML = url+params;

		var ajax = new Ajax.Request(
			url,
			{method: 'get', parameters: params, onFailure: reportError, onSuccess: setCityState});
	}
}

function setMailValidation() 
{
	if ( $F('preferred_contact_id')==1 || $F('admin_preferred_contact_id')==1 || $F('admin_preferred_contact_id')==3 )
	{
		KT_FVO['email'] = {required: true, type: 'text', format: 'email', additional_params: '/^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$/i'}
	}
	else
	{
		KT_FVO['email'] = {required: false, type: 'text', format: 'email', additional_params: '/^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$/i'}
	}
}

function setMailnPhoneValidation() 
{
	if ( $F('alternate_contact_2')==1 )
		KT_FVO['alternate_preferred_contact_id'] = {required: true, type: 'numeric', errorMessage: 'Please select one.'}
	else
		KT_FVO['alternate_preferred_contact_id'] = {required: false, type: 'numeric', errorMessage: 'Please select one.'}
		
	if ( $F('alternate_contact_2')==1 && $F('alternate_preferred_contact_id')==1 )
	{
		KT_FVO['alternate_email'] = {required: true, type: 'text', format: 'email', additional_params: '/^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$/i'}
		KT_FVO['alternate_phone'] = {required: false, type: 'text', errorMessage: 'Please enter a valid phone number.'}
	}
	else if ( $F('alternate_contact_2')==1 && $F('alternate_preferred_contact_id')!=1 )
	{
		KT_FVO['alternate_email'] = {required: false, type: 'text', format: 'email', additional_params: '/^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$/i'}
		KT_FVO['alternate_phone'] = {required: true, type: 'text', errorMessage: 'Please enter a valid phone number.'}
	}
	else
	{
		KT_FVO['alternate_email'] = {required: false, type: 'text', format: 'email', additional_params: '/^[\\w\\.-]+@[\\w\\.-]+\\.\\w+$/i'}
		KT_FVO['alternate_phone'] = {required: false, type: 'text', errorMessage: 'Please enter a valid phone number.'}
	}
}

function show_disable(form)
{
	Element.show(form);	
}

var myGlobalHandlers = {
	onCreate: function(){
		Element.show('systemWorking');
	},

	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			Element.hide('systemWorking');
		}
	}
};

Ajax.Responders.register(myGlobalHandlers);
		
