function send_contact(type)
{ 
	switch( type )
	{
		case "backup":
			send_backup_request();
			break;
		default:
		case "contact":
			send_contact_request();
			break;
			
		case "service-request":
			send_service_request();
			break;		
	}
}

//	SEND CONTACT REQUEST
function send_contact_request()
{		
	//	VALIDATE
	//	REQUIRE NAME, PHONE, EMAIL, PURPOSE
	if( $('Name').value.length <= 0 ) {
		new Effect.Shake('Name'); new Effect.Appear('Name-Error'); new Effect.Fade('Name-Error', {delay:2} ); return false; }
	if( $('Message').value.length <= 0 ) {
		new Effect.Shake('Phone'); new Effect.Appear('Phone-Error'); new Effect.Fade('Message-Error', {delay:2} ); return false; }
	if( !Utility.validateEmail('Email') ) {
		new Effect.Shake('Email'); new Effect.Appear('Email-Error'); new Effect.Fade('Email-Error', {delay:2} ); return false; }
	
	
	//	DISABLE SUBMIT BUTTON
	//$('Submit').disabled = true;
	
	//	Show Progress
	$('form').hide();
	$('progress-area').show();
	
	$('service-form').request({
			parameters: { page:'contact' },
			onSuccess: function(e) 
			{ 
				//	DEBUG ONLY
				//	alert( e.responseText );
				var response = e.responseText.split('^');;
				var success = response[0];
				success = success.replace(/\s/gi, '');
				
				var message = response[1];
					
				//	Show failure message
				if( success != "true" )
				{
					alert(message);
				}
				else
				{
					//	Otherwise, redirect to home page 
					alert(message);
					window.location="./";
				}
				
				$('form').show();
				$('progress-area').hide();
			} 
	});
}

//	SEND BACKUP REQUEST
function send_backup_request()
{		
	//	VALIDATE
	//	REQUIRE NAME, PHONE, EMAIL, PURPOSE
	if( $('Name').value.length <= 0 ) {
		new Effect.Shake('Name'); new Effect.Appear('Name-Error'); new Effect.Fade('Name-Error', {delay:2} ); return; }
	if( $('Email').value.length <= 0 ) {
		new Effect.Shake('Email'); new Effect.Appear('Email-Error'); new Effect.Fade('Email-Error', {delay:2} ); return; }
	if( $('Phone').value.length <= 10 ) {
		new Effect.Shake('Phone'); new Effect.Appear('Phone-Error'); new Effect.Fade('Phone-Error', {delay:2} ); return; }
	if( $('Purpose').value.length <= 0 ) {
		new Effect.Shake('Purpose'); new Effect.Appear('Purpose-Error'); new Effect.Fade('Purpose-Error', {delay:2} ); return; }
	
	//	DISABLE SUBMIT BUTTON
	//	$('Submit').disabled = true;
	
	//	Show Progress
	$('form').hide();
	$('progress-area').show();
	
	$('service-form').request({
			parameters: { page:'backup' },
			onSuccess: function(e) 
			{ 
				//	DEBUG ONLY
				//	alert( e.responseText );
				var response = e.responseText.split('^');;
	
				var success = response[0];
				success = success.replace(/\s/gi, '');
				
				var message = response[1];
		
				//	Show failure message
				if( success != "true" )
				{
					alert(message);
				}
				else
				{
					//	Otherwise, redirect to home page 
					alert(message);
					window.location="./";
				}
				
				$('form').show();
				$('progress-area').hide();
			}
	});
}

//	SEND CONTACT REQUEST
function send_service_request()
{		
	//	VALIDATE
	//	REQUIRE NAME, PHONE, EMAIL, PURPOSE
	if( $('Name').value.length <= 0 ) {
		new Effect.Shake('Name'); new Effect.Appear('Name-Error'); new Effect.Fade('Name-Error', {delay:2} ); return false; }
	if( !Utility.validateEmail('Email') ) {
		new Effect.Shake('Email'); new Effect.Appear('Email-Error'); new Effect.Fade('Email-Error', {delay:2} ); return false; }
	if( $('Message').value.length <= 0 ) {
		new Effect.Shake('Phone'); new Effect.Appear('Phone-Error'); new Effect.Fade('Message-Error', {delay:2} ); return false; }
	
	//	DISABLE SUBMIT BUTTON
	//$('Submit').disabled = true;
	
	//	Show Progress
	$('form').hide();
	$('progress-area').show();
	
	$('service-form').request({
			parameters: { page:'service' },
			onSuccess: function(e) 
			{ 
				//	DEBUG ONLY
				//	alert( e.responseText );
				var response = e.responseText.split('^');;
	
				var success = response[0];
				success = success.replace(/\s/gi, '');
				
				var message = response[1];
				if( message == 'undefined' )
					alert( e.responseText );
					
				//	Show failure message
				if( success != "true" )
				{
					alert(message);
				}
				else
				{
					//	Otherwise, redirect to home page 
					alert(message);
					window.location="./";
				}
				
				$('form').show();
				$('progress-area').hide();
			} 
	});
}


///////////////
/*

*/
var application_window_open = false;
function open_application_window( openorclose )
{
	//
	//
	if( openorclose == false ) {
		close_application_window();
		return;
	}
		
	if( application_window_open )
		return;
		
	//	Show Mask
	new Effect.Appear('mask', {duration:.3, to:.6});
	
	//	Determine the middle of the visible screen to 
	//	display contact window
	var pageCenter = getScreenCenter();
	//var pageCoords = pageCenter.split(',');

	var offsetX = parseInt($('application_window').getStyle( 'width' ));
	var offsetY = parseInt($('application_window').getStyle( 'height' ));
	
	var left = (pageCenter[0] - (offsetX / 2));
	var top = (pageCenter[1] - (offsetY / 2));

	//	Show contact window
	$('application_window').setStyle({left:left+'px', top:top+'px'});
	new Effect.Appear('application_window', { duration:.3} );
	
	application_window_open = true;
	
	$('application_remote').src = "https://loans.springleaffinancial.com/IAPS?newPage=y&Command=merentry&MerchantId=670448";
	
	new Draggable('application_window' );
}

function close_application_window()
{
	$('application_window').hide();
	$('application_window').setStyle({left:0, top:0});
	
	$('application_remote').src = "";
	
	application_window_open = false;
	
	//	Hide Mask
	new Effect.Fade('mask', {duration:.1});
}

function getWindowHeight ()
{
	if( typeof( window.innerWidth ) == 'number' ) 
	{
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	
	return myHeight;
}

function getWindowWidth ()
{
	if( typeof( window.innerWidth ) == 'number' ) 
	{
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	
	return myWidth;
}

function getScreenCenter()
{
	var centerX = getWindowWidth() / 2;
	var centerY = getWindowHeight() / 2;
	
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body

	var pageoffsetX=document.all? iebody.scrollLeft : pageXOffset
	var pageoffsetY=document.all? iebody.scrollTop : pageYOffset
	
	centerX+=pageoffsetX;
	centerY+=pageoffsetY;

	return [centerX, centerY];
}

function getScreenOffset()
{
	var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body

	var pageoffsetX=document.all? iebody.scrollLeft : pageXOffset
	var pageoffsetY=document.all? iebody.scrollTop : pageYOffset
	
	return [pageoffsetX, pageoffsetY];
}



function toggle( element )
{
	$(element).Blink();	
}



function validate_phone_number_format(ElemID)
{
	var value = document.getElementById(ElemID).value;
	value = value.replace(/[^\d]+/ig, "");

	if(value.length == 7)
	{
		value = "(503) " + value;
		value = value.slice(0,9) + "-" + value.slice(9,14);
	}
	else if(value.length == 10)
		value = "(" + value.slice(0,3) + ") " + value.slice(3,6) + "-" + value.slice(6,10);
	else if(value.length == 11)
		value = value.slice(0,1) + " (" + value.slice(1,4) + ") " + value.slice(4,7) + "-" + value.slice(7,11);
	else if(value.length > 0 && value.length < 7)
		document.getElementById(ElemID).style.backgroundColor = '#FF0000';
		
	document.getElementById(ElemID).value = value;
}

function validate_statecode(ElemID)
{
	var elem_value = document.getElementById(ElemID).value;
	elem_value = elem_value.toUpperCase();
	document.getElementById(ElemID).value = elem_value;
}

function validate_date(ElemID)
{
	var value = document.getElementById(ElemID).value;
	var mysql_date_fmt = /(\d{4})-(\d{2})-(\d{2})/
	var std_date_fmt = /\d{2}-\d{2}-\d{4}/
	
	if(value.length == 4)
	{
		var year = value.slice(2,4);
		// If year starts with 0, add 20 to it. else, ad 19
		if(year.slice(0,1) == 0)
			year = "20" + year;
		else
			year = "19" + year;
			
		value = "0" + value.slice(0,1) + "/0" + value.slice(1,2) + "/" + year;
	}
	else if(value.length == 5)
	{
		var year = value.slice(3,5);
		// If year starts with 0, add 20 to it. else, ad 19
		if(year.slice(0,1) == 0)
			year = "20" + year;
		else
			year = "19" + year;
			
		value = "0" + value.slice(0,1) + "/" + value.slice(1,3) + "/" + year;
	}
	else if(value.length == 6)
	{
		// Problem. This could either be 121005 as meaning 12/10/2005, or it could be 231978 meaning
		// 02/03/1978. Must check value
		var year = value.slice(2,6);			
		value = "0" + value.slice(0,1) + "/0" + value.slice(1,2) + "/" + year;
	}
	else if(value.length == 7)
	{
		var year = value.slice(3,7);
		value = "0" + value.slice(0,1) + "/" + value.slice(1,3) + "/" + year;
	}
	else if(value.length == 8)
	{
			value = value.slice(0,2) + "/" + value.slice(2,4) + "/" + value.slice(4,8);
	}
	
	if(value == "00/00/0000")
		value = "";
	
	document.getElementById(ElemID).value = value;
}

function changebgColor(ID, Color)
{
	document.getElementById(ID).style.backgroundColor=Color;
}

function change_image(element, src)
{
	var obj = document.getElementById(element);
	
	obj.src = src;
}

function hide_element(element, hide)
{
	if(typeof element != "object")
	{
		element = document.getElementById(element);
	}
	if(!element)
	{
		alert("Can't find ".element);
		return false;
	}
	if(!hide)
	{
		element.style.visibility = '';
		element.style.display = '';
	}
	else
	{
		element.style.visibility = 'hidden';
		element.style.display = 'none';
	}
}

function hide_elements_by_name(name, hide)
{
	var elements = document.getElementsByName(name);
	if(!elements)
		return false;
	for(var i = 0; i < elements.length; i++)
		hide_element(elements[i], hide);
}

function enable_element(element, enable)
{
	if(typeof element != "object")
		element = document.getElementById(element);
	element.disabled = enable ? "" : "disabled";
}

function enable_elements_by_name(name, enable)
{
	var elements = document.getElementsByName(name);
	if(!elements)
		return false;
	for(var i = 0; i < elements.length; i++)
		enable_element(elements[i], enable);
}

// --------------------------------------------------

function get_current_date()
{
	var date = new Date;
	var month = "" + (date.getMonth()+1);
	month = month.length < 2 ? "0" + month : month;
	var day_of_month = "" + date.getUTCDate();
	day_of_month = day_of_month.length < 2 ? "0" + day_of_month : day_of_month;
	return month + "/" + day_of_month + "/" + date.getUTCFullYear();
}

function get_last_day(year, month)
{
	var date_obj = new Date(year, month, 1);
	var last_day;
	do {last_day = date_obj.getDate(); date_obj.setDate(date_obj.getDate() + 1);} while (date_obj.getDate() > 1);
	return last_day;
}

// --------------------------------------------------
function phone_lookup(value)
{
	var area_code;
	var number;
	value = value.replace(/[^\d]+/ig, "");
	
	if(value.length == 10)
	{
		area_code = value.slice(0,3); number = value.slice(3,6) + "-" + value.slice(6,10);
	}
	else if(value.length == 11)
	{
		area_code = value.slice(1,4); number = value.slice(4,7) + "-" + value.slice(7,11);
	}
	else if(value.length == 7)
	{
		alert("You must enter an area code for this number");
		return;
	}
	else
	{
		alert("Invalid phone number");
		return;
	}
	
	var url = "http://www.whitepages.com/10858/search/Reverse_Phone?npa=" + area_code + "&phone=" + number;
	window.open(url, 'reverse_lookup', 'scrollbars=yes, resizable=yes, width=750, height=480, left=' + ((screen.width / 2) - 375) + ', top=' + ((screen.height / 2) - 240));
}

// ----------------------------------------------------------------------------------

function hide_element(obj, hid)
{
	obj = get_var_object(obj);
	if(!obj)
		alert("Unable to find element.");
		
	obj.style.visibility = "hidden";
	obj.style.display = "none";
}

function show_element(obj)
{
	obj = document.getElementById(obj);
	obj.style.visibility = "";
	obj.style.display = "";
}
function collapseElement(ID)
{
	var element = document.getElementById(ID);
	element.style.display = "none";
}
function expandElement(ID)
{
	var element = document.getElementById(ID);
	element.style.display = "";
}
