﻿var DHTML = (document.getElementById || document.all);

function switchOnOff(oBackButton,nOnOff)
	{
	var cButtonSource = oBackButton.src
	switch (nOnOff)
		{
		case 0:
			cButtonSource = cButtonSource.replace("-on","-off")
			break
		case 1:
			cButtonSource = cButtonSource.replace("-off","-on")
			break
		}
	oBackButton.src = cButtonSource
	}

function pageLoad()
	{
	// Browser test.
	if(top.SHOULDNOTEXIST || ! DHTML) 
		{
		return;
		}

	var menu = document.getElementById('menu'),
	aLinks = menu.getElementsByTagName("a");

	for (i=0; i < aLinks.length; i++)
		{
		if (aLinks[i].href == document.location.href)
			{
			aLinks[i].className = "active"
			}
			else
			{
			aLinks[i].className = ""
			}
		}
	
	menu.style.visibility = 'hidden';
	menu.style.position = 'absolute';
	menu.style.left = '387px';
	menu.style.top = '35px';
	menu.drawerLeftClose = menu.offsetWidth;
	menu.drawerSpeed = 5;
	menu.style.visibility = 'visible';

	if (menu) {createDrawer(menu);}

	var menuButton = document.createElement('DIV');
		menuButton.style.position = 'absolute';
		menuButton.style.left = '650px';
		menuButton.style.top = '35px';
		menuButton.style.width = '37px';
		menuButton.style.height = '91px';

	document.getElementById('container').appendChild(menuButton);

	createDrawerButton(menu, menuButton);
	
	var moreInfo = document.getElementById('more-info-drawer');
	if(moreInfo)
		{
		// Apply properties.
		moreInfo.drawerTopClose = -moreInfo.offsetHeight + 18;
		moreInfo.drawerSpeed = 5;
		moreInfo.drawerStartPause = 1000;
		// Create the drawer.
		createDrawer(moreInfo);
		createDrawerButton(moreInfo, document.getElementById('more-info'));
		}
	}

function pagePreLoad()
	{
	if('/' != location.pathname && '/Home' != location.pathname) 
		{
		document.write('<style media="screen" type="text/css">#menu { visibility: hidden; }</style>')
		}
	}


function createDrawer( drawer )
	{
	// Drawer defaults.
	if(typeof(drawer.drawerLeftClose) == 'undefined')
		drawer.drawerLeftClose = 0;
	if(typeof(drawer.drawerLeftOpen) == 'undefined')
		drawer.drawerLeftOpen = 0;
	if(typeof(drawer.drawerTopClose) == 'undefined')
		drawer.drawerTopClose = 0;
	if(typeof(drawer.drawerTopOpen) == 'undefined')
		drawer.drawerTopOpen = 0;
	if(typeof(drawer.drawerSpeed) == 'undefined')
		drawer.drawerSpeed = 2;
	if(typeof(drawer.drawerStartPause) == 'undefined')
		drawer.drawerStartPause = 500;
	
	// Create a new element for clipping drawer.
	var clip = document.createElement('div');
	// Prep clip.
	clip.className = 'drawerClip';
	if(drawer.style.position)
		clip.style.position = drawer.style.position;
	else
		clip.style.position = 'relative';
	clip.style.left = drawer.style.left;
	clip.style.top = drawer.style.top;
	clip.style.overflow = 'hidden';
	clip.style.width = drawer.offsetWidth + 'px';
	clip.style.height = drawer.offsetHeight + 'px';
	// Prep drawer.
	drawer.clip = clip;
	drawer.style.position = 'absolute';
	drawer.style.left = drawer.drawerLeftOpen + 'px';
	drawer.style.top = drawer.drawerTopOpen + 'px';
	// Place clip in the document.
	drawer.parentNode.appendChild(clip);
	// Place drawer in clip.
	clip.appendChild(drawer);
	
	// Drawer array and index.
	drawer.drawerIndex = drawerArray.length;
	drawerArray[drawer.drawerIndex] = drawer;
	// Set timeout and play drawer closing.
	drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ drawer.drawerIndex +'])', drawer.drawerStartPause);
	
	// drawer events.
	createDrawerButton(drawer, drawer);
	
	// Completed successfully, return true.
	return true;
	}

function createDrawerButton(drawer, button)
	{
	button.drawer = drawer;
	button.onmouseover = function(e) 
		{
		drawer.style.visibility = 'visible';
		openDrawer(this.drawer);
		}

	button.onmouseout = function(e) 
		{
		clearTimeout(this.drawer.drawerTimeout);
		this.drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ this.drawer.drawerIndex +'])', 100);
		}
	}


var drawerArray = new Array();

function openDrawer(drawer)
	{
	clearTimeout(drawer.drawerTimeout);
	drawer.clip.style.visibility = 'visible';
	
	// Apply horizontal movement.
	var left = parseInt(drawer.style.left);
	if(drawer.drawerLeftClose == drawer.drawerLeftOpen)
		{
		; // No change needed.
		}
	else if(drawer.drawerLeftClose < drawer.drawerLeftOpen)
		{
		// Opens from left to right. Move right.
		var newLeft = left + drawer.drawerSpeed;
		if(newLeft > drawer.drawerLeftOpen)
			{
			// newLeft exceeded closing limit.
			drawer.style.left = drawer.drawerLeftOpen + 'px';
			}
			else
			{
			drawer.style.left = newLeft + 'px';
			drawer.drawerTimeout = setTimeout('openDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	else if(drawer.drawerLeftOpen < drawer.drawerLeftClose)
		{
		// Opens from right to left. Move left.
		//var newLeft = left - drawer.drawerSpeed;
		var newLeft = (1 - 1/drawer.drawerSpeed)*left;
		if(newLeft < drawer.drawerLeftOpen)
			{
			// newLeft exceeded closing limit.
			drawer.style.left = drawer.drawerLeftOpen + 'px';
			}
			else
			{
				drawer.style.left = newLeft + 'px';
				drawer.drawerTimeout = setTimeout('openDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	
	// Apply vertical movement.
	var top = parseInt(drawer.style.top);
	if(drawer.drawerTopClose == drawer.drawerTopOpen)
		{
		; // No change needed.
		}
	else if(drawer.drawerTopClose < drawer.drawerTopOpen)
		{
		// Opens from top to bottom. Move down.
		//var newTop = top + drawer.drawerSpeed;
		var newTop = (1 - 1/drawer.drawerSpeed)*top;
		if(newTop > drawer.drawerTopOpen)
			{
			// newTop exceeds open limit. Set open position.
			drawer.style.top = drawer.drawerTopOpen + 'px';
			}
			else
			{
			drawer.style.top = newTop + 'px';
			clearTimeout(drawer.drawerTimeout);
			drawer.drawerTimeout = setTimeout('openDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	else if(drawer.drawerTopOpen < drawer.drawerTopClose)
		{
		// Opens from bottom to top. Move up.
		var newTop = top - drawer.drawerSpeed;
		if(newTop < drawer.drawerTopOpen)
			{
			// newTop exceeds closing limit. Set closed postiion.
			drawer.style.top = drawer.drawerTopOpen + 'px';
			}
			else
			{
			drawer.style.top = newTop + 'px';
			clearTimeout(drawer.drawerTimeout);
			drawer.drawerTimeout = setTimeout('openDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	}


function closeDrawer(drawer)
	{
	clearTimeout(drawer.drawerTimeout);
	
	// Horizontal movement.
	var left = parseInt(drawer.style.left);
	if(drawer.drawerLeftClose == drawer.drawerLeftOpen)
		{
		; // No change needed.
		}
	else if(drawer.drawerLeftClose < drawer.drawerLeftOpen)
		{
		// Closes from right to left. Move left.
		//var newLeft = left - drawer.drawerSpeed;
		var newLeft = left + (1/drawer.drawerSpeed)*(left - drawer.drawerSpeed);
		if(newLeft < drawer.drawerLeftClose)
			{
			// newLeft exceeded closing limit.
			drawer.style.left = drawer.drawerLeftClose + 'px';
			drawer.clip.style.visibility = 'hidden';
			}
			else
			{
				drawer.style.left = newLeft + 'px';
				drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	else if(drawer.drawerLeftOpen < drawer.drawerLeftClose)
		{
			// Closes from left to right. Move right.
			//var newLeft = left + drawer.drawerSpeed;
			var newLeft = left + (1/drawer.drawerSpeed)*(left + drawer.drawerSpeed);
			if(newLeft > drawer.drawerLeftClose)
			{
				// newLeft exceeded closing limit.
				drawer.style.left = drawer.drawerLeftClose + 'px';
				drawer.clip.style.visibility = 'hidden';
			}
			else
			{
				drawer.style.left = newLeft + 'px';
				drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	
	// Vertical movement.
	var top = parseInt(drawer.style.top);
	if(drawer.drawerTopClose == drawer.drawerTopOpen)
		{
		; // No change needed.
		}
	else if(drawer.drawerTopClose < drawer.drawerTopOpen)
		{
		// Closes from bottom to top. Move up.
		//var newTop = top - drawer.drawerSpeed;
		var newTop = top + (1/drawer.drawerSpeed)*(top - drawer.drawerSpeed);
		if(newTop < drawer.drawerTopClose)
			{
			// newTop exceeded closing limit.
			drawer.style.top = drawer.drawerTopClose + 'px';
			drawer.clip.style.visibility = 'hidden';
			}
		else
			{
			drawer.style.top = newTop + 'px';
			clearTimeout(drawer.drawerTimeout);
			drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	else if(drawer.drawerTopOpen < drawer.drawerTopClose)
		{
		// Closes from top to bottom. Move down.
		//var newTop = top + drawer.drawerSpeed;
		var newTop = top + (1/drawer.drawerSpeed)*(top + drawer.drawerSpeed);
		if(newTop > drawer.drawerTopClose)
			{
			// newTop exceeded closing limit.
			drawer.style.top = drawer.drawerTopClose + 'px';
			drawer.clip.style.visibility = 'hidden';
			}
			else
			{
			drawer.style.top = newTop + 'px';
			clearTimeout(drawer.drawerTimeout);
			drawer.drawerTimeout = setTimeout('closeDrawer(drawerArray['+ drawer.drawerIndex +'])', 40);
			}
		}
	}


var mediaPlayerStyleHref = 'mediaPlayer.css';

function createMediaPlayerPopups()
	{
	var a = document.getElementsByTagName('A');
	for(i in a) 
		{
		if(a[i].className && 0 <= a[i].className.indexOf('mediaPlayer'))
			{
			a[i].onclick = function() { return mediaPlayer(this); };
			}
		}
	}

function mediaPlayer(self)
	{
	if(self.mediaPlayer) 
		{
		if(!self.mediaPlayer.closed)
			{
			self.mediaPlayer.close();
			}
		}
	
	// Build the popup window.
	var width = 280, height = 365;
	var left = (screen.width/2) - width/2;
	var top = (screen.height/2) - height/2;
	var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
	
	var src = self.href;
	var title = self.innerHTML;
	
	var content = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
      content += '<param name="SRC" value="' + src + '">';
      content += '<param name="AUTOPLAY" value="true">';
      content += '<param name="CACHE" value="true">';
      content += '<param name="CONTROLLER" value="true">';
      content += '<embed type="audio/mpeg" src="' + src + '" autoplay="true" controller="true" cache="true" pluginspage="http://www.apple.com/quicktime/download/">';
    content += '</object>';
	
	var footer  = '<p><a href="'+src+'" onclick="return false;">Download Media</a>';
	    footer += '<br>To download this, right click "Download Media" and select "Save Target As..." or "Save Link As..."</p>';
	    footer += '<p><a href="http://www.apple.com/quicktime/download/" target="_blank">Get Quicktime Player</a>';
	    footer += '<br>Quicktime Player is required to view this.</p>';
	
	var page  = '<head><title>'+title+'</title><style type="text/css" media="screen">@import "'+mediaPlayerStyleHref+'";</style></head>';
	    page += '<body><div id="container"><h1>'+title+'</h1><div id="content">'+content+'</div><div id="footer">'+footer+'</div></div></body>';
	
	self.mediaPlayer = window.open('', 'msgWindow', styleStr);
	self.mediaPlayer.document.write(page);
	
	return false;
	}

function setPageTitle()
	{
	var metas = document.getElementsByTagName('META'), i, cPageTitle;
	for (i = 0; i < metas.length; i++)
		{
		if (metas[i].getAttribute('NAME') == "title")
		break;
		}
	
	if (metas[i])
		{
		cPageTitle = metas[i].getAttribute('CONTENT');
		if (cPageTitle.length > 0)
			{
			document.getElementById("pageTitle").innerHTML = cPageTitle
			}
		}
	}


function validateEmptiness(oInput, cMessage)
	{
	if (oInput.value.length == 0)
		{
		oInput.style.borderColor = "red"
		oInput.style.borderWidth = "3px"
		alert(cMessage + "\n\r" + "Please enter needed info.")
		oInput.focus()
		return false
		}
	oInput.style.borderColor = ""
	oInput.style.borderWidth = "2px"
	return true
	}

//HomeWindow:
/**
 * Cycle through an array of images and links as every
 * HomeWindowsMinInterval to HomeWindowsMaxInterval 
 * milliseconds.
 */
var HomeWindowsMinInterval = 7000; // milliseconds
var HomeWindowsMaxInterval = 9000; // milliseconds

var HomeWindowsTL = new Array(
	'<a href="/WhatGlobeCanDoForYou#KitchenAndBathroomRemodels"><img alt="Kitchens" src="/images/Kitchens-TL.jpg" /></a>', 
	'<a href="/WhatGlobeCanDoForYou#HomeExteriorTexcote"><img alt="Stucco" src="/images/Stucco-TL.jpg" /></a>'
);
var HomeWindowsTR = new Array(
	'<a href="/WhatGlobeCanDoForYou#KitchenAndBathroomRemodels"><img alt="Bathrooms" src="/images/Bathrooms-TR.jpg" /></a>',
	'<a href="/WhatGlobeCanDoForYou#NewDrivewaysAndSidewalks"><img alt="Driveways" src="/images/Driveways-TR.jpg" /></a>'
);
var HomeWindowsBL = new Array(
	'<a href="/WhatGlobeCanDoForYou#NewOrReplacementWindowAndDoors"><img alt="New Windows" src="/images/NewWindows-BL.jpg" /></a>',
	'<a href="/WhatGlobeCanDoForYou#LuxuryPatioEnclosures"><img alt="Patios" src="/images/Patios-BL.jpg" /></a>'
);
var HomeWindowsBR = new Array(
	'<a href="/WhatGlobeCanDoForYou#FullHomeAdditionsAndOrConversions"><img alt="Room Additions" src="/images/RoomAdditions-BR.jpg" /></a>',
	'<a href="/WhatGlobeCanDoForYou#CompleteOrRepairOfRoofing"><img alt="Roofing" src="/images/Roofing-BR.jpg" /></a>'
);

//createHomeWindows();
function createHomeWindows()
{	
	var TL = document.getElementById('HomeWindowsTL');
	TL.HomeWindows = HomeWindowsTL;
	TL.HomeWindowsSelected = 0; // Start at the first element in the array.
	TL.HomeWindowsInterval = setInterval('HomeWindowsFadeout("HomeWindowsTL")', Math.round(Math.random()*HomeWindowsMaxInterval + HomeWindowsMinInterval));
	
	var TR = document.getElementById('HomeWindowsTR');
	TR.HomeWindows = HomeWindowsTR;
	TR.HomeWindowsSelected = 0; // Start at the first element in the array.
	TR.HomeWindowsInterval = setInterval('HomeWindowsFadeout("HomeWindowsTR")', Math.round(Math.random()*HomeWindowsMaxInterval + HomeWindowsMinInterval));
	
	var BL = document.getElementById('HomeWindowsBL');
	BL.HomeWindows = HomeWindowsBL;
	BL.HomeWindowsSelected = 0; // Start at the first element in the array.
	BL.HomeWindowsInterval = setInterval('HomeWindowsFadeout("HomeWindowsBL")', Math.round(Math.random()*HomeWindowsMaxInterval + HomeWindowsMinInterval));
	
	var BR = document.getElementById('HomeWindowsBR');
	BR.HomeWindows = HomeWindowsBR;
	BR.HomeWindowsSelected = 0; // Start at the first element in the array.
	BR.HomeWindowsInterval = setInterval('HomeWindowsFadeout("HomeWindowsBR")', Math.round(Math.random()*HomeWindowsMaxInterval + HomeWindowsMinInterval));
	
}

function HomeWindowsFadeout(element_id)
{
	var element = document.getElementById(element_id);
	// Fadeout
	new Effect.Opacity(element, {duration:1.0, from:1.0, to:0.0, afterFinish:HomeWindowsFadein});
}

function HomeWindowsFadein(obj)
{
	var element = obj.element;
	// Get the next thingy.
	element.HomeWindowsSelected++;	// Step to the next thingy.
	if(element.HomeWindowsSelected < element.HomeWindows.length) {
		element.innerHTML = element.HomeWindows[element.HomeWindowsSelected];
	} else {
		element.HomeWindowsSelected = 0; // Start over at the first thingy.
		element.innerHTML = element.HomeWindows[element.HomeWindowsSelected];
	}
	
	// Fadein
	new Effect.Opacity(element, {delay: 0.5, duration:1.0, from:0.0, to:1.0});
}

//End HomeWindow
