//debugger;

// image rollover script for the main navigation
function registerImage(imgName) {
	eval(imgName + " = new Image()");
	eval(imgName + ".src = \"http://www2.maestroworks.net/images/icons/menu/" + imgName + ".gif\"");
}

function on(imgID) {
	img = document.getElementById(imgID);
	img.src = eval(imgID + ".src");
}

//register main navigation rollovers
registerImage("Home");
registerImage("Hotel_info");
registerImage("Reservations");
registerImage("Specials");
registerImage("Locations");



// GLOBAL


/*

	dom checker

*/

dom = (document.getElementById)? true : false;

ie4 = (document.all)? true : false;

ns6= (dom && !ie4)? true : false;

ns4 = (document.layers)? true:false;



function toggleDisplay(obj1Name, obj2Name) {

	/*

		function to show and hide the signin and signout ids 

		made for the GCCI login bar

	*/

	

	// get the object

	objSignin = getObject(obj1Name);

	objSignout = getObject(obj2Name);

	

	if (objSignout.style.display == 'none') {

		// show the singout

		objSignout.style.display = 'block';

		objSignin.style.display = 'none';

	} else {

		// show the singin

		objSignout.style.display = 'none';

		objSignin.style.display = 'block';

	}

}



function toggleForm(objName, varStatus) {

	/*

		function to show and hide the form elements 

		made for the review and reserve and join pages

	*/

	

	// get the object

	objSection = getObject(objName);

	

	if (varStatus == 'show') {

		// show the section

		objSection.style.display = 'block';

	} else {

		// hide the section

		objSection.style.display = 'none';

		

	}

}



function makeRand(maxNum) {

	/*

		creates a random number between 1 -> maxNum

	*/

	rnd = Math.round((maxNum * Math.random()));

	rnd = (rnd == 0)? makeRand(maxNum) : rnd;

	return rnd;

}



function changeNavBg(id, bkImage, base) {

	/*

		function to change the background for the navigation. 

		Takes the td id for that navigation item and the name 

		of the background image and replaces them depending

		on the state that they need to change to or out of.

	*/

	

	// get the 3 images to be changed out

	newImagel = "url(" + base + "images/nav/" + bkImage + "-l.gif)";

	newImage = "url(" + base + "images/nav/" + bkImage + ".gif)";

	newImager = "url(" + base + "images/nav/" + bkImage + "-r.gif)";

	

	// get the object

	tdObjl = getObject(id + "l");

	tdObj = getObject(id);

	tdObjr = getObject(id + "r");

	

	// change out the different ids to the new images

	if (tdObj) {

		tdObjl.style.backgroundImage = newImagel;

		tdObj.style.backgroundImage = newImage;

		tdObjr.style.backgroundImage = newImager;

	} else {

		return;

	}

}



function getObject(oID) {

	/*

		function that returns the element based on the browser

		capitalities - ns4 will return null if the obj doesn't exist

	*/

	if (dom) {

		obj = document.getElementById(oID);

	} else if (ie4) {

		obj = document.all(oID);

	} else if (ns4) {

		obj = document.layers(oID);

		if (!obj)

			return null;

	}

	return obj;

}





function promoChanger() {

	/*

		this function changes out the images for 

		the promos so that there are two more

		in the changing area - will loop around 

		and around

	*/

	promoImgName1 = this.promoAreaExt + "Img1";

	promoImgName2 = this.promoAreaExt + "Img2";

	

	obj1 = document.images[promoImgName1];

	obj2 = document.images[promoImgName2];

	

	imgArrayLength = this.imageName.length - 1;

	

	nextPromoPlace = ((this.currentPromoPlace + 1) > imgArrayLength)? 0 : this.currentPromoPlace + 1;

	nextPlusPromoPlace = ((nextPromoPlace + 1) > imgArrayLength)? 0 : nextPromoPlace + 1;

		

	this.currentPromoPlace = nextPlusPromoPlace;

	

	obj1.src = '../images/promo/' + this.imageName[nextPromoPlace]

	obj2.src = '../images/promo/' + this.imageName[nextPlusPromoPlace]

}



function ldLinks() {

	/*

		function to load the images into an array when the 

		loadLinks part of the object is called

	*/

	args=ldLinks.arguments;

	for (var i=0;i<args.length;i++) {

		argsSplt = args[i].split("|")

		this.linkName[i] = argsSplt[0]

		this.linkTarget[i] = ((argsSplt[1] != "") && (argsSplt[1] != null))? argsSplt[1] : "";

	}

}



function ldImages() {

	/*

		function to load the images into an array when the 

		loadImages part of the object is called

	*/

	args=ldImages.arguments;

	for (var i=0;i<args.length;i++) {

		this.imageName[i] = args[i]

	}

}



function linkOut(lID) {

	/*

		function that controls what the user will link out to when

		a promotion is clicked

	*/

	imgArrayLength = this.imageName.length - 1;

	if (lID == 1) {

		place = this.currentPromoPlace;

	} else if (lID == 2) {

		place = ((this.currentPromoPlace + 1) > imgArrayLength)? 0 : this.currentPromoPlace + 1;

	}

	if (this.linkTarget[place] != "") {

		alert(this.linkName[place])

		window.open(this.linkName[place], this.linkTarget[place]);

	} else {

		document.location.href = this.linkName[place];

	}

}



function promoImageChange(AreaExt) {

	/*

		object to handle the promo images movements

		

		it changes out the two images within the based on the

		promoAreaExt variable as long as that extension has the Img1 and Img2

		attached to the end of the image. eg. ptnrImg1

	*/

	this.currentPromoPlace = 0;

	this.imageName = Array();

	this.linkName = Array();

	this.linkTarget = Array();

	this.loadImages = ldImages;

	this.loadLinks = ldLinks;

	this.promoAreaExt = AreaExt;

	this.promoNext = promoChanger;

	this.promoLink = linkOut;

}



partners = new promoImageChange('ptnr');

partners.loadImages("promo-holding-partner.jpg","promo-holding-partner-1.jpg","promo-holding-partner-2.jpg","promo-holding-partner-3.jpg","promo-holding-partner-4.jpg");

partners.loadLinks("http://www.digitaria.com", "http://www.google.com", "http://www.yahoo.com","http://www.google.co.nz");



offers = new promoImageChange('offr');

offers.loadImages("promo-holding-partner.jpg","promo-holding-partner-1.jpg","promo-holding-partner-2.jpg","promo-holding-partner-3.jpg","promo-holding-partner-4.jpg");

offers.loadLinks("http://www.digitaria.com|blank", "http://www.google.com", "http://www.yahoo.com|blank","");



function preload(imgObj,imgSrc) {

	/*

		function to preload images

	*/

	if (document.images) {

		eval(imgObj+' = new Image()');

		eval(imgObj+'.src = "'+imgSrc+'"');

	}

}



function changeImage(imgName,imgObj,layer) {

	/*

		function to do rollovers of images

	*/

	if (document.images) {

		if (document.layers) {

			if (layer!=null){

				eval('document.layers.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src');

			} else {

				document.images[imgName].src = eval(imgObj+".src");

			}

		} else {

			document.images[imgName].src = eval(imgObj+".src");

		}

	}

}