gIsImagePreloadDone = false; // becomes true after loading of navigation

/*
	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 (gIsImagePreloadDone == true) {
		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");
			}
		}
	}
}

function call_jumpMenu(selObj,restore){ //v3.0
  if(selObj.options[selObj.selectedIndex].value != " ")
  {
	  target='parent';
	  eval("parent.location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (restore) selObj.selectedIndex=0;
  }else{
  return false;
  }
}