// JavaScript Document
var xmlhttp=false;
var xmlHTTPError = false;

var siteContext = '';

var explodedSelected = 0;
var explodedGallery = new Array();
explodedGallery[0] = '/images/ExplodedPergola.gif';
explodedGallery[1] = '/images/ExplodedBedroom.gif';
explodedGallery[2] = '/images/ExplodedMezzanine.gif';
explodedGallery[3] = '/images/ExplodedBathroom.gif';
explodedGallery[4] = '/images/ExplodedLivingRoom.gif';
explodedGallery[5] = '/images/ExplodedFrontRoom.gif';

function SetSiteContext(ctx){
	siteContext = ctx;
}

function MenuOptionMouseMove (obj) {
	var comparator = new RegExp('OnOver','gi');
	
	if (obj.className.match(comparator)) {
		obj.className = obj.className.replace (comparator,'');
	} else {
		obj.className += 'OnOver';
	}
}

function GotoNextPage(page) {

	var loadedWindow = 	window.open(page + '.jsp','_self','');

}

function ExplodeThumbnail (thumbnail, explodedId) {
	ResetCurrentSelectedNavigation();
	
	explodedSelected = explodedId;

 	SetSelectedNavigation (explodedSelected);
		
	var targetImage = document.getElementById('explodedImage');
	targetImage.src = siteContext + explodedGallery[explodedId];
	
}

function PreviousExploded () {
	ResetCurrentSelectedNavigation();
	
	if (explodedSelected == 0) {
		explodedSelected = explodedGallery.length - 1;
	} else {
		explodedSelected--;
	}

 	SetSelectedNavigation (explodedSelected);
 
	var targetImage = document.getElementById('explodedImage');
	targetImage.src = siteContext + explodedGallery[explodedSelected];	
}

function NextExploded () {
	ResetCurrentSelectedNavigation();

	if (explodedSelected == explodedGallery.length - 1) {
		explodedSelected = 0;
	}  else {
		explodedSelected++;
	}

 	SetSelectedNavigation (explodedSelected);
	
	var targetImage = document.getElementById('explodedImage');	
	targetImage.src = siteContext + explodedGallery[explodedSelected];	
}

function ResetCurrentSelectedNavigation() {
	var currentNav = document.getElementById('ImageNavigator' + explodedSelected);
	var newHTML = currentNav.innerHTML;
	
	var regExp = new RegExp('\\[','gi');
	newHTML = newHTML.replace (regExp,'');

	var regExp = new RegExp('\\]','gi');
	newHTML = newHTML.replace (regExp,'');
	
	currentNav.innerHTML = newHTML;
}

function SetSelectedNavigation (id) {
	var currentNav = document.getElementById('ImageNavigator' + id);
	currentNav.innerHTML = '[' + currentNav.innerHTML + ']';
}

function ExpandMap (obj) {
	var expandedMapURL = obj.getAttribute('ExpandedMapURL');
	var expandedMapAttributes = obj.getAttribute('ExpandedMapAttributes');
	var mapWindow = window.open(expandedMapURL,'',expandedMapAttributes );
}



function SubmitFrenchEnquiry() {

	var errorString = '';


	if (trim(document.getElementById('Name').value).length == 0){
		errorString += '     - Nom\n';
	}

	if (trim(document.getElementById('Email').value).length == 0){
		errorString += '     - E-mail\n';
	}

	if (trim(document.getElementById('Message').innerHTML).length == 0){
		errorString += '     - Message\n';
	}

	if (errorString != '') {
		alert ('Veuillez rentrer les renseignements suivants: \n' + errorString);
		return;
	}
	
	
	document.getElementById('EnquirySubmitted').value = 'true'; 	

	var frmEnquiry = document.getElementById('frmEnquiry');
	frmEnquiry.submit();
}

function SubmitEnquiry() {

	var errorString = '';


	if (trim(document.getElementById('Name').value).length == 0){
		errorString += '     - Name\n';
	}

	if (trim(document.getElementById('Email').value).length == 0){
		errorString += '     - Email Address\n';
	}

	if (trim(document.getElementById('Message').value).length == 0){
		errorString += '     - Message\n';
	}

	if (errorString != '') {
		alert ('Please enter the following information: \n' + errorString);
		return;
	}
	
	
	document.getElementById('EnquirySubmitted').value = 'true'; 	

	var frmEnquiry = document.getElementById('frmEnquiry');
	frmEnquiry.submit();
}


// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}
