function runHomePage() 
{
	//	Hide Impressions Box
	$('homebar').setStyle( { opacity: 0 } );
	$('remodelbar').setStyle( { opacity: 0 } ); 
	
	//	Set Effects Interval
	Effect.Queues.interval = 500;
	
	//	Run parallel action on impression and home-display box
	new Effect.Parallel([
		new Effect.Appear('homebar', { sync: true, from: 0, to: 1 }),
		new Effect.Appear('remodelbar', { sync: true, from: 0, to: 1, delay:2 }) ], { duration: 3.5 });
	
	
	//	Setup Click Events for Main Buttons
	$('homebar').observe('mouseover', function(event) {
    	event.stop();
        
		$('homebar').setStyle( { opacity: 1 } ); 
		new Effect.Fade('homebar', { to: .5, duration: .5 } );
   	});
	$('homebar').observe('mouseout', function(event) {
    	event.stop();
        
		$('homebar').setStyle( { opacity: 1 } ); 
		new Effect.Appear('homebar', { to:1, duration: .5 } );
   	});
	$('homebar').observe('click', function(event) {
    	event.stop();
        
		window.location = 'index.php?page=newhome&step=1';
   	});
	
	$('remodelbar').observe('mouseover', function(event) {
    	event.stop();
        
		$('remodelbar').setStyle( { opacity: 1 } ); 
		new Effect.Fade('remodelbar', { to: .5, duration: .5 } );
   	});
	$('remodelbar').observe('mouseout', function(event) {
    	event.stop();
        
		$('remodelbar').setStyle( { opacity: 1 } ); 
		new Effect.Fade('remodelbar', { to:1, duration: .5 } );
   	});
	$('remodelbar').observe('click', function(event) {
    	event.stop();
        
		window.location = 'index.php?page=remodel&step=1';
   	});

}

//	ACTION SCRIPT FOR CONTACT FORM
function runContactPage()
{
	//	Hide Impressions Box
	$('error').setStyle( { opacity: 0 } );
	
	//	Set Effects Interval
	Effect.Queues.interval = 500;
	
	//	Setup Click Events
	$('name').observe('focus', function(event) {
    	event.stop();
        
		new Effect.Highlight('name', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 1 } );
   	});
	$('phone').observe('focus', function(event) {
    	event.stop();
        
		new Effect.Highlight('phone', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 1 } );
   	});
	$('email').observe('focus', function(event) {
    	event.stop();
        
		new Effect.Highlight('email', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 1 } );
   	});
	$('message').observe('focus', function(event) {
    	event.stop();
        
		new Effect.Highlight('message', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 1 } );
   	});
}

function validateForm()
{
	//	
	var errorText = "";
	
	var name = document.getElementById('name');
	var phone = document.getElementById('phone');
	var email = document.getElementById('email');
	var message = document.getElementById('message');
	
	if( name.value === "" )
	{
		new Effect.Highlight('name', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 5 } );
		
		errorText += "Name\n";
	}
	if( phone.value === "" )
	{
		new Effect.Highlight('phone', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 5 } );
		
		errorText += "Phone\n";
	}
	if( email.value === "" )
	{
		new Effect.Highlight('email', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 5 } );
		
		errorText += "Email\n";
	} 
	if( message.value === "" )
	{
		new Effect.Highlight('message', { startcolor: '#d3dfef', endcolor: '#618ab3', duration: 5 } );
		
		errorText += "Message\n";
	}
	
	
	if( errorText !== "" )
	{
		alert("ERROR!\nNot all form fields are complete. Please complete all fields.\n\n" + errorText);
 		
		return false;
	}

	return true;
}

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 validate_form()
{
	//	
	var errors = 0;
	var name = document.getElementById('name');
	var email = document.getElementById('email');
	var phone = document.getElementById('phone');
	var address = document.getElementById('address');
	
	if( name.value == "" )
	{
		errors = 1;
		new Effect.Highlight('name', { duration: 8, startcolor: '#ffa800', endcolor: '#ffffff' } );
	}
	if( email.value == "" )
	{
		errors = 1;
		new Effect.Highlight('email', { duration: 8, startcolor: '#ffa800', endcolor: '#ffffff' } );
	}
	if( phone.value == "" )
	{
		errors = 1;
		new Effect.Highlight('phone', { duration: 8, startcolor: '#ffa800', endcolor: '#ffffff' } );
	}


	if( errors ) {
		alert("There are uncompleted fields on this form! They are being highlighted for you now.\n\n Please all fields try submitting the form again.");
		return false; }
}










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

function changebg(element, src)
{
	document.getElementById(element).style.backgroundimage = "url(src)";
}

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 = "";
}