/* 
JavaScript Library.
*/

var defaultPageHeight = 600;

window.onresize = function() {
	centerPage(defaultPageHeight);
}

function centerPage(h) {

	var pageHeight = window.innerHeight;

	if ( !pageHeight ) {
		pageHeight = document.body.offsetHeight;
		pageHeight = document.documentElement.clientHeight;
	}

	var newMarginPx = '6px';

//	window.alert(pageHeight);

	if ( !isNaN(pageHeight) ) {
		newMargin = ( pageHeight - h ) /2;
		if ( newMargin < 6 ) {
			newMargin = '6';
		}
		newMarginPx = newMargin + 'px';
	}

	var contentObj = document.getElementById('contentwrap')
	contentObj.style.marginTop = newMarginPx;
	contentObj.style.display = '';
}


var last_image;
var last_name;
var portfolioVisible = false;

var homeRollOvers = new Array('residential', 'healthcare', 'multifamily', 'liturgical', 'educational', 'commercial');

function showPortfolio() {
	var which = '';

	if ( !portfolioVisible ) {
		which = '02';
		portfolioVisible = true;
	} else {
		which = '01';
		portfolioVisible = false;
	}


	for (var x=0; x < homeRollOvers.length; x++) {
		var imgsrc = '/home/' + homeRollOvers[x] + '_' + which + '.gif';
		var imgname  = homeRollOvers[x] + 'btn';

//		roll(imgname,imgsrc);
		clock = setTimeout( 'roll("' + imgname + '","' + imgsrc + '",1);', 1 );
//		window.alert('I try to roll ' + imgname + ' to ' + imgsrc);
	}

	clock = setTimeout( 'setLastImage();', 150 );

}

function setLastImage() {
	last_image = '/home/portfolio.gif';
	last_name = eval('document.portfoliobtn.src');
	
}

function preloadHomeImages() {
	for (var x=0; x < homeRollOvers.length; x++) {
		var imgsrc = '/home/' + homeRollOvers[x] + '_02.gif';
		preload(imgsrc); 
	}
	preload('/home/profile_over.gif','/home/portfolio_over.gif','/home/contact_over.gif');
}

// Image roll-over
// Use: roll('image_name','roll_over_path'); 
function roll(img_name, roll_to, blockOverride) {

	var obj = eval('document.' + img_name);
	var regex = new RegExp ( "03","i" );
	var theValue = regex.exec(obj.src);

	if ( !theValue || blockOverride) {
		var obj = eval('document.' + img_name);
		last_image = obj.src;
		last_name = img_name;
		obj.src = roll_to;
	}

	theValue = false;
}

// Always use with roll()
// Use: roll_restore();
function roll_restore() {
	if (last_image) {
//		window.alert('Restoring: ' + last_name + ' to ' + last_image);
		var flip_back = eval('document.' + last_name);
		flip_back.src = last_image;
	}
}

// Preloads images
// Use: preload('path_to_image','path_to_image',...etc);
function preload() {
	if (document.images) {
		var img = preload.arguments;
		var tmp = new Array(img.length);
		for (var i=0; i<tmp.length; i++) {
			tmp[i] = new Image;
			tmp[i].src = img[i];
		}
	}
}


// Automatic redirect from a pull-down
// Use: launch(this)
function launch(current) {
	var index = current.selectedIndex;
	var select_name = current.name;
	var form_name = current.form.name;
	var pull = eval('document.'+form_name+'.'+select_name);
	if (pull.options[index].value != '#') {
		window.location = pull.options[index].value;
		return;
	}
	return;
}

function getValue(elm) {
 var url = window.location + '&';
 var regex = new RegExp ( elm + "=([^&]+)","i" );
 var theValue = regex.exec(url);
 if ( theValue ) {
  var temp = theValue[1].replace( /\+/g, " " );
  theValue[1] = unescape(temp);
  return(theValue[1]);
 }
 else { return(' '); }
}

function openWin(url,width,height,name) {
 if (!width) { width = 425; }
 if (!height) { height = 400; }
 if (!name) { name = 'help'; }
 open(url,name,'screenX=50,screenY=50,width='+width+',height='+height+',scrollbars,resizable').focus();
}