var cancelResetDisplay = false;
var curGalleryPage = 0;
curButton = null;
defaultImageTimer = null;

function displayGalleryImage(src, title) {
	var gallery = document.getElementById("galleryMainDisplay");
	var imageTitle = document.getElementById("imageTitle");
	var shieldableDisplay = document.getElementById("shieldableDisplay");
	
	if(gallery != null) {
		if(gallery.getAttribute("originalSrc") == null) {
			gallery.setAttribute("originalSrc", gallery.src);
		}
	
		cancelResetDisplay = true;
		gallery.src = src;
		gallery.style.zIndex = 3;
		gallery.alt = title;
		gallery.title = title;
		imageTitle.innerHTML = title;
	}
}

//<![CDATA[
function displayMap(address) {
	if (GBrowserIsCompatible()) {
		var galleryObj = document.getElementById("contactForm");
		var map = new GMap(galleryObj);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		var point = new GPoint(-73.921853, 45.581251);
		map.centerAndZoom(point, 1);
		var marker = new GMarker(point);
		
		while(address.indexOf(", ") > -1)
			address = address.replace(",", "<br />");
		
		var addressDisplay = document.createElement("div");
		addressDisplay.innerHTML = address;
		
		map.openInfoWindow(point, addressDisplay);
		map.addOverlay(marker);
	  }
}
//]]>

function displayShieldableTitle(title) {
	var shieldableDisplayImageTitle = document.getElementById("shieldableDisplayImageTitle");
	shieldableDisplayImageTitle.innerHTML = title;
}

function sndEml(eml) {
	newUrl = "mailto:" + eml.replace("_at_", "@").replace("_dot_", ".");
	
	location.href = newUrl;
}

function closeFrame(id) {
	var frm = document.getElementById(id);
	var global = document.getElementById("global");
	global.removeChild(frm);
}

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements);
}

function keepDisplay() {
	cancelResetDisplay = true;
}

function minimizeFrame(btnSrc, id) {
	var wnd = document.getElementById(id);
	var iFrame = getElementsByClassName(wnd, "iframe", "windowIFrame");
	
	if(iFrame[0].style.height == "0px") {
		btnSrc.innerHTML = "_";
		iFrame[0].style.height = "600px";
	}
	else {
		btnSrc.innerHTML = "^";
		iFrame[0].style.height = "0px";
	}
}

function nextGalleryPage() {
	var galleryThumbs = document.getElementById("galleryThumbs");
	var pages = getElementsByClassName(galleryThumbs, "div", "page");

	if(curGalleryPage < pages.length - 1)
		curGalleryPage++;
	
	showGalleryPage(curGalleryPage);
}

function previousGalleryPage() {
	if(curGalleryPage > 0)
		curGalleryPage--;
	
	showGalleryPage(curGalleryPage);
}

function resetGalleryImage() {
	cancelResetDisplay = false;
	
	setTimeout(resetGalleryImageDelayed, 500);
}

function resetGalleryImageDelayed() {
	if(cancelResetDisplay)
		return;

	var gallery = document.getElementById("galleryMainDisplay");
	
	if(gallery.getAttribute("originalSrc") != null) {
		gallery.src = gallery.getAttribute("originalSrc");
		gallery.style.zIndex = 1;
	}
}

function showPlanningExample(img, idButton) {
	if (curButton != null)
	{
		document.getElementById(curButton).className = "btnPage";
	}
	curButton = idButton;
	document.getElementById(idButton).className = "btnPage current";
	var exampleDisplay = document.getElementById("exampleDisplay");
	exampleDisplay.src = img;
	
	
}

function showMessage(boxId, message) {
	document.getElementById(boxId).innerHTML = message;
	window.setTimeout("document.getElementById('" + boxId + "').innerHTML = '';", 3000);
}

function showDynamicFrame(url) {
	var frame = document.createElement("iframe");
	var frameWindow = document.createElement("div");
	var global = document.getElementById("global");
	
	var curFrms = getElementsByClassName(global, "div", "frmDynamic");
	if(curFrms != null)
	{
		for(i = 0 ; i < curFrms.length ; i++)
		{
			if(curFrms[i] != null && curFrms[i].src == url)
				return;
		}
	}
	
	var windowWidth = 1024;
	
	frameWindow.style.position = "absolute";
	frameWindow.style.top = "40px";
	frameWindow.style.left = (document.body.offsetWidth / 2) - (windowWidth / 2) + "px";
	frameWindow.id = "frmDynamic" + Math.round(Math.random()*10000);
	frameWindow.className = "frmDynamic";
	
	frame.style.width = windowWidth + "px";
	frame.style.height = "auto";
	
	frameTitle = document.createElement("div");
	frameTitle.style.backgroundColor = "#CC0000";
	frameTitle.style.width = (windowWidth + 4) + "px";
	frameTitle.style.height = "28px";
	
	frameCloseBtn = document.createElement("div");
	frameCloseBtn.style.cssFloat = "right";
	frameCloseBtn.style.backgroundColor = "#AA0000";
	
	frameMinimizeBtnA = document.createElement("a");
	frameMinimizeBtnA.href = "javascript:minimizeFrame(frameMinimizeBtnA, '" + frameWindow.id + "')";
	frameMinimizeBtnA.innerHTML = "_";
	frameMinimizeBtnA.style.cssFloat = "left";
	frameMinimizeBtnA.style.display = "block";
	frameMinimizeBtnA.style.marginRight = "6px";
	frameMinimizeBtnA.style.padding = "6px";
	frameMinimizeBtnA.style.fontSize = "13px";
	frameMinimizeBtnA.style.fontWeight = "bold";
	frameMinimizeBtnA.style.color = "#FFFFFF";
	frameCloseBtn.appendChild(frameMinimizeBtnA);
	
	frameCloseBtnA = document.createElement("a");
	frameCloseBtnA.href = "javascript:closeFrame('" + frameWindow.id + "')";
	frameCloseBtnA.innerHTML = "X";
	frameCloseBtnA.style.cssFloat = "left";
	frameCloseBtnA.style.display = "block";
	frameCloseBtnA.style.padding = "6px";
	frameCloseBtnA.style.fontSize = "13px";
	frameCloseBtnA.style.fontWeight = "bold";
	frameCloseBtnA.style.color = "#FFFFFF";
	frameCloseBtn.appendChild(frameCloseBtnA);
	
	frameTitle.appendChild(frameCloseBtn);
	frameWindow.appendChild(frameTitle);
	
	frame.src = url;
	frame.className = "windowIFrame";
	frame.style.width = windowWidth + "px";
	frame.style.height = "600px";
	frame.style.backgroundColor = "#FFFFFF";
	frameWindow.appendChild(frame);
	
	var dd1 = new YAHOO.example.DDOnTop(frameWindow.id);
	
	global.appendChild(frameWindow);
}

function showGalleryPage(nb) {
	try {
		var gallery = document.getElementById("galleryThumbs");
		var pager = document.getElementById("pager");
		var page = document.getElementById("page" + nb);
		var pages = getElementsByClassName(gallery, "div", "page");
		var btnPage = document.getElementById("btnPage" + nb);
		var btnPages = getElementsByClassName(pager, "div", "btnPage");
		
		for(i = 0 ; i < pages.length ; i++)
			pages[i].className = "page";
		
		for(i = 0 ; i < btnPages.length ; i++)
			btnPages[i].className = "btnPage";
	
		page.className = "page visible";
		btnPage.className = "btnPage current";
		
		curGalleryPage = nb;
	}
	catch(e) {
		alert(e.message);
	}
}

function validateForm(frm) {
	var inputs, inputId, success = true;
	var lbl;
	
	inputs = getElementsByClassName(frm, "input", "required")
	inputs.push(document.getElementById("comments_req"));
	
	try
	{
		for(i = 0 ; i < inputs.length ; i++)
		{
			inputId = inputs[i].id.toString();
			if(inputId.indexOf("_req") != -1)
			{
				if(inputs[i].value == "")
				{
					var lbl = document.getElementById(inputId.substring(0, inputId.length - 4) + "_label");
					lbl.style.color = "#dd0000";
					lbl.style.fontWeight = "bold";
					success = false;
				}
				else
				{
					document.getElementById(inputId.substring(0, inputId.length - 4) + "_label").style.color = "#B56D45";
				}
			}
		}
	}
	catch(ex)
	{
		alert(ex.message);
		return false;
	}
	
	return success;
}