// Browser Detect Lite  v2.1
// http://www.dithered.com/javascript/browser_detect/index.html
// modified by Chris Nott (chris@NOSPAMdithered.com - remove NOSPAM)
//
// modified by Michael Lovitt to include OmniWeb and Dreamcast

function BrowserDetectLite() {
	var ua = navigator.userAgent.toLowerCase(); 
	this.ua = ua;

	// browser name
	this.isGecko     = (ua.indexOf('gecko') != -1);
	this.isMozilla   = (this.isGecko && ua.indexOf("gecko/") + 14 == ua.length);
	this.isNS        = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
	this.isIE        = ( (ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1) ); 
	this.isOpera     = (ua.indexOf("opera") != -1); 
	this.isKonqueror = (ua.indexOf("konqueror") != -1); 
	this.isIcab      = (ua.indexOf("icab") != -1); 
	this.isAol       = (ua.indexOf("aol") != -1); 
	this.isWebtv     = (ua.indexOf("webtv") != -1); 
	this.isOmniweb   = (ua.indexOf("omniweb") != -1);
	this.isDreamcast   = (ua.indexOf("dreamcast") != -1);
	
	// spoofing and compatible browsers
	this.isIECompatible = ( (ua.indexOf("msie") != -1) && !this.isIE);
	this.isNSCompatible = ( (ua.indexOf("mozilla") != -1) && !this.isNS && !this.isMozilla);
	
	// browser version
	this.versionMinor = parseFloat(navigator.appVersion); 
	
	// correct version number for NS6+ 
	if (this.isNS && this.isGecko) {
		this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('/') + 1 ) );
	}
	
	// correct version number for IE4+ 
	else if (this.isIE && this.versionMinor >= 4) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
	}
	
	// correct version number for Opera 
	else if (this.isOpera) {
		if (ua.indexOf('opera/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera ') + 6 ) );
		}
	}
	
	// correct version number for Konqueror
	else if (this.isKonqueror) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
	}
	
	// correct version number for iCab 
	else if (this.isIcab) {
		if (ua.indexOf('icab/') != -1) {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab/') + 6 ) );
		}
		else {
			this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab ') + 6 ) );
		}
	}
	
	// correct version number for WebTV
	else if (this.isWebtv) {
		this.versionMinor = parseFloat( ua.substring( ua.indexOf('webtv/') + 6 ) );
	}
	
	this.versionMajor = parseInt(this.versionMinor); 
	this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
	
	// platform
	this.isWin   = (ua.indexOf('win') != -1);
	this.isWin32 = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1) );
	this.isMac   = (ua.indexOf('mac') != -1);
	this.isUnix  = (ua.indexOf('unix') != -1 || ua.indexOf('linux') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)

	// specific browser shortcuts
	this.isNS4x		= (this.isNS && this.versionMajor == 4);
	this.isNS40x	= (this.isNS4x && this.versionMinor < 4.5);
	this.isNS47x	= (this.isNS4x && this.versionMinor >= 4.7);
	this.isNS4up	= (this.isNS && this.versionMinor >= 4);
	this.isNS6x		= (this.isNS && this.versionMajor == 6);
	this.isNS6up	= (this.isNS && this.versionMajor >= 6);
	
	this.isIE4x		= (this.isIE && this.versionMajor == 4);
	this.isIE4up	= (this.isIE && this.versionMajor >= 4);
	this.isIE5x		= (this.isIE && this.versionMajor == 5);
	this.isIE55		= (this.isIE && this.versionMinor == 5.5);
	this.isIE5up	= (this.isIE && this.versionMajor >= 5);
	this.isIE6x		= (this.isIE && this.versionMajor == 6);
	this.isIE6up	= (this.isIE && this.versionMajor >= 6);
	
	this.isIE4xMac = (this.isIE4x && this.isMac);
}
var browser = new BrowserDetectLite();

//---------------------------------------------------------------
// Opacity Displayer, Version 1.0
// Copyright Michael Lovitt, 6/2002.
// Distribute freely, but please leave this notice intact.
//---------------------------------------------------------------

//---------------------------------------------------------------
// OPACITY OBJECT
//
// Instantiates the object, defines the properties and methods.
function OpacityObject(divId, strPath) {
	this.id = divId;
	this.path = strPath;
	if (ns){
		if (browserVersion>=5) {
			this.layerObject = document.getElementById(divId).style;
		} else { 
			this.layerObject = eval("document."+divId);
		}
	} else {
		this.layerObject = eval(divId + ".style");
	}
	this.setBackground = od_object_setBackground;
}
// Uses AlphaImageLoader filter, or the css background property,
// as appropriate, to apply a PNG or GIF as the background of the layerObject.
function od_object_setBackground() {	
	if (pngAlpha) {
		this.layerObject.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+this.path+".png', sizingMethod='scale')";
	} else {
		this.layerObject.backgroundImage = 'url('+this.path+'.png)';
	}
}
//---------------------------------------------------------------

//---------------------------------------------------------------
// OPACITY DISPLAY FUNCTION
// Outputs the image as a div with the AlphaImageLoader, or with
// a standard image tag.
function od_displayImage(strId, strPath, intWidth, intHeight, strClass, strAlt) {	
	if (pngAlpha) {
		document.write('<div style="height:'+intHeight+'px;width:'+intWidth+'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+strPath+'.png\', sizingMethod=\'scale\')" id="'+strId+'" class="'+strClass+'"></div>');
	} else {
		document.write('<img src="'+strPath+'.png" width="'+intWidth+'" height="'+intHeight+'" name="'+strId+'" border="0" class="'+strClass+'" alt="'+strAlt+'" />');
	}
}
//---------------------------------------------------------------

//---------------------------------------------------------------
// OPACITY ROLL-OVER FUNCTIONS
function od_rollOver(strId, strColor) {	
	if (pngAlpha) {
		document.getElementById(strId).style.backgroundColor = strColor;
	} else {
	    if (document.images && (flag == true)) {
	        document[strId].src = eval(strId + "on.src");
	    }
	}
}
function od_rollOut(strId, strColor) {	
	if (pngAlpha) {
		document.getElementById(strId).style.backgroundColor = strColor;
	} else {
	    if (document.images) {
	        document[strId].src = eval(strId + "off.src");
	    }
	}
}
//---------------------------------------------------------------

//---------------------------------------------------------------
// global variables

// if IE5.5+ on win32, then display PNGs with AlphaImageLoader
if ((browser.isIE55 || browser.isIE6up || browser.isIE6x) && browser.isWin32) {
	var pngAlpha = true;
	var strExt = ".png";
// else, if the browser can display PNGs normally, then do that. that list includes:
	//     -Gecko Engine: Netscape 6 or Mozilla, Mac or PC
	//     -IE5+ Mac (OpacityObject applies the background image at 100% opacity)
	//     -Opera 6+ PC
	//     -Opera 5+ Mac (Doesn't support dynamically-set background images)
	//     -Opera 6+ Linux 
	//     -Omniweb 3.1+ 
	//     -Icab 1.9+ 
	//     -WebTV 
	//     -Sega Dreamcast
} else if ((browser.isGecko) || (browser.isIE5up && browser.isMac) || (browser.isOpera && browser.isWin && browser.versionMajor >= 6) || (browser.isOpera && browser.isUnix && browser.versionMajor >= 6) || (browser.isOpera && browser.isMac && browser.versionMajor >= 5) || (browser.isOmniweb && browser.versionMinor >= 3.1) || (browser.isIcab && browser.versionMinor >= 1.9) || (browser.isWebtv) || (browser.isDreamcast)) {
	var pngNormal = true;
	var strExt = ".png";
	// otherwise, we use plain old GIFs
} else {
	var strExt = ".gif";
}

var ns = (document.all)?false:true;
var browserVersion = parseFloat(navigator.appVersion );
//---------------------------------------------------------------

//-----------------------------------------------------------------------------
// FUNCTION: Preload Images
//-----------------------------------------------------------------------------
function preloadimages () {
	if (document.images) {
	  img01 = new Image(422,250); 
	  img01.src = "/images/house_Olde_Copper.png";
	  
	  img02 = new Image(422,250); 
	  img02.src = "/images/house_Weathered_Copper.png";
	  
	  img03 = new Image(422,250); 
	  img03.src = "/images/house_Telegray_II.png";
	  
	  img04 = new Image(422,250); 
	  img04.src = "/images/house_Pachyderm_Gray_Tex.png";
	  
	  img05 = new Image(422,250); 
	  img05.src = "/images/house_Texture_Black.png";
	  
	  img06 = new Image(422,250); 
	  img06.src = "/images/house_Steel_Blue.png";
	  
	  img07 = new Image(422,250); 
	  img07.src = "/images/house_Wine_Red.png";
	  
	  img08 = new Image(422,250); 
	  img08.src = "/images/house_Charlston_Green.png";
	  
	  img09 = new Image(422,250); 
	  img09.src = "/images/house_Sherwood_Green.png";
	  
	  img10 = new Image(422,250); 
	  img10.src = "/images/house_Forest_Green.png";
	  
	  img11 = new Image(422,250); 
	  img11.src = "/images/house_Pigeon_Blue.png";
	  
	  img12 = new Image(422,250); 
	  img12.src = "/images/house_Coppertex_3.png";
	  
	  img13 = new Image(422,250); 
	  img13.src = "/images/house_Bronze_Age_3.png";
	  
	  img14 = new Image(422,250); 
	  img14.src = "/images/house_Sky_White.png";
	  
	  img15 = new Image(422,250); 
	  img15.src = "/images/house_Weatherable_White.png";
	  
	  img16 = new Image(422,250); 
	  img16.src = "/images/house_Wheat_Textra.png";
	  
	  img17 = new Image(422,250); 
	  img17.src = "/images/house_Weatherable_Tan.png";
	}
}

//-----------------------------------------------------------------------------
// FUNCTION: Siding Select
//-----------------------------------------------------------------------------
function sidingselect (colorname) {
	array_cstdsm = getElementsByClass('cs_siding_td_sm_sel');
	for (i=0; i < array_cstdsm.length; i++) {
		array_cstdsm[i].className = "cs_siding_td_sm";
	}
	
	array_csimgsm = getElementsByClass('cs_siding_img_sm_sel');
	for (i=0; i < array_csimgsm.length; i++) {
		array_csimgsm[i].className = "cs_siding_img_sm";
	}
	
	housepictd = document.getElementById('house_pic_td');
	sidingpic = document.getElementById('cs_siding_lg');
	cstdsm = document.getElementById('cs_siding_' + colorname + '_td_sm');
	csimgsm = document.getElementById('cs_siding_' + colorname + '_img_sm');
	sidingtxt = document.getElementById('cs_siding_txt');
	
	
	housepictd.style.backgroundImage = 'url(/images/colorsample_siding_' + colorname + '_sm.jpg)';
	sidingpic.src = "/images/colorsample_siding_" + colorname + "_lg.jpg";
	sidingtxt.innerHTML = colorname.replace(/_/g, " ");
	cstdsm.className = "cs_siding_td_sm_sel";
	csimgsm.className = "cs_siding_img_sm_sel";
}

//-----------------------------------------------------------------------------
// FUNCTION: Shutter Select
//-----------------------------------------------------------------------------
function shutterselect (colorname) {
	array_cstdsm = getElementsByClass('cs_shutter_td_sm_sel');
	for (i=0; i < array_cstdsm.length; i++) {
		array_cstdsm[i].className = "cs_shutter_td_sm";
	}
	
	array_csimgsm = getElementsByClass('cs_shutter_img_sm_sel');
	for (i=0; i < array_csimgsm.length; i++) {
		array_csimgsm[i].className = "cs_shutter_img_sm";
	}
	
	shutterpic = document.getElementById('cs_shutter_lg');
	cstdsm = document.getElementById('cs_shutter_' + colorname + '_td_sm');
	csimgsm = document.getElementById('cs_shutter_' + colorname + '_img_sm');
	sidingtxt = document.getElementById('cs_shutter_txt');
	
	housepic = new OpacityObject('house_pic','/images/house_' + colorname);
	housepic.setBackground();
	
	shutterpic.src = "/images/colorsample_shutter_" + colorname + "_lg.jpg";
	sidingtxt.innerHTML = colorname.replace(/_/g, " ");
	cstdsm.className = "cs_shutter_td_sm_sel";
	csimgsm.className = "cs_shutter_img_sm_sel";
}

//-----------------------------------------------------------------------------
// FUNCTION: Get Elements By Class
//-----------------------------------------------------------------------------
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

//-----------------------------------------------------------------------------
// FUNCTION: Hide Div
//-----------------------------------------------------------------------------
function hidediv(id) {
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

//-----------------------------------------------------------------------------
// FUNCTION: Show Div
//-----------------------------------------------------------------------------
function showdiv(id) {
	//safe function to show an element with a specified id
		  
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}

//-----------------------------------------------------------------------------
// IMAGE PRELOADER
//-----------------------------------------------------------------------------
var lengthOfPreloadBar = 150 // Length of preload bar (in pixels)
var heightOfPreloadBar = 15 // Height of preload bar (in pixels)

var preloadbar = "/images/black.gif" // default preloadbar color
var preloadbg  = "/images/blue.gif" // color of bar as preloading progresses

var img01 = "/images/house_Olde_Copper.png";
var img02 = "/images/house_Weathered_Copper.png";
var img03 = "/images/house_Telegray_II.png";
var img04 = "/images/house_Pachyderm_Gray_Tex.png";
var img05 = "/images/house_Texture_Black.png";
var img06 = "/images/house_Steel_Blue.png";
var img07 = "/images/house_Wine_Red.png";
var img08 = "/images/house_Charlston_Green.png";
var img09 = "/images/house_Sherwood_Green.png";
var img10 = "/images/house_Forest_Green.png";
var img11 = "/images/house_Pigeon_Blue.png";
var img12 = "/images/house_Coppertex_3.png";
var img13 = "/images/house_Bronze_Age_3.png";
var img14 = "/images/house_Sky_White.png";
var img15 = "/images/house_Weatherable_White.png";
var img16 = "/images/house_Wheat_Textra.png";
var img17 = "/images/house_Weatherable_Tan.png";
var img18 = "/images/house_Right.png";
var img19 = "/images/house_Bottom.png";

var ImageArray = new Array(img01,img02,img03,img04,img05,img06,img07,img08,img09,img10,img11,img12,img13,img14,img15,img16,img17,img18,img19)

if (document.images) {
	var dots = new Array() 
	dots[0] = new Image(1,1)
	dots[0].src = preloadbar
	dots[1] = new Image(1,1)
	dots[1].src = preloadbg

	var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/ImageArray.length),currCount = 0
	var loaded = new Array(),i,covered,timerID
	var leftOverWidth = lengthOfPreloadBar%coverage
}

//-----------------------------------------------------------------------------
// FUNCTION: Load Images
//-----------------------------------------------------------------------------
function loadImages() { 
	for (i = 0; i < ImageArray.length; i++) { 
		preImages[i] = new Image()
		preImages[i].src = ImageArray[i]
	}
	for (i = 0; i < preImages.length; i++) { 
		loaded[i] = false
	}
	checkLoad()
}

//-----------------------------------------------------------------------------
// FUNCTION: Load Images
//-----------------------------------------------------------------------------
function checkLoad() {
	if (currCount == preImages.length) {
		hidediv('load_msg')
		return
	}
	for (i = 0; i <= preImages.length; i++) {
		if (loaded[i] == false && preImages[i].complete) {
			loaded[i] = true
			eval("document.img" + currCount + ".src=dots[1].src")
			currCount++
		}
	}
	timerID = setTimeout("checkLoad()",10) 
}