/*
	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");
		}
	}
}


/*
	Track the returnKey
*/
function goReturn(form, form1, event) {
     getEvent=event.keyCode;   
     test = false; 
     try{
     if (getEvent == "13")
		 {	
		 try{	 	
				if(form1.q.value != 0){
					test = true;
				}
			}catch(e){
				if(document.searchBox.q.value != 0){
					test = true;
				}
			}		 	
			if(test)
 			{  						
 			  document.searchBox.submit(); 
 			  return false;			 			  			  			 
 			}
 			else if (  typeof ajaxDIVOpen == "undefined" || ajaxDIVOpen == false ){ 		
			formvalidation(form);			
		   	return false;
		   	}
         } else if(getEvent == "27"){
             getDoubleClickValue(false);
    	}else{
			return true;
		}
		}catch(e){ if(document.searchBox.q.value != 0){
					document.searchBox.submit();
				}
				 }
    }

function goReturnSelectHotel(form, form1, event) {
     getEvent=event.keyCode;
     if (getEvent == "13")
		 {	 	
			if(form1.q.value != 0)
 			{  						
 			  form1.submit(); 
 			  return false;			 			  			  			 
 			}
 			else if (  typeof ajaxDIVOpen == "undefined" || ajaxDIVOpen == false ){ 		
 			form.submit(); 			
		   	return false;
		   	}
         } else if(getEvent == "27"){
         	getDoubleClickValue(false);
    	}else{
			return true;
		}
    }



function openSmartLocationPopup(theUrl, windowName, width, height)
{
    var safety = 60;
    var left = window.event.screenX;
    var top = window.event.screenY;

    var temp = left + width + safety;
    if (temp > screen.width)
        left = screen.width - width - safety;

    temp = top + height + safety;
    if (temp > screen.height)
        top = screen.height - height - safety;

    if (window.event.screenX < left)
        left = window.event.screenX;
    if (window.event.screenY < top)
        top = window.event.screenY;

    var features = "scrollbars=no,resizable=no,width=" + width + ",height=" + height + ",left=" + left + ",top=" + top;
    window.open(theUrl, windowName, features);
}
/*
* This function set the appropriate class for the given id depending upon the 
* content of the element. 
*/
function setOrangeButton(a_RefName){
	try{	
		var a_Ref = document.getElementById(a_RefName);
		var v_text = '';
		v_text = a_Ref.text;
	
		// This is the case of IE	
		if( typeof v_text == "undefined"){	
			v_text = a_Ref.innerText;
		}	
		
		var v_strLen = v_text.length;
		
		/*if( v_strLen <= 3){
			v_text = 'button_small';
		}else */
		if( v_strLen <= 3){
			v_text = 'button_medium_red';
		}else if( v_strLen <= 8){
			v_text = 'button_small_medium';
//			v_text = 'button_medium_red1';
		}else if( v_strLen <= 13){
			v_text = 'button_small_medium1';
//			v_text = 'button_medium';
		}else if( v_strLen <= 16){
			v_text = 'button_medium1';
		}else{
			v_text = 'button_large';
		}
		a_Ref.className = v_text;
	}catch(e){
	}	
	
}

function setOrangeButtonGroup(a_RefName1, a_RefName2){
	try{	
		var a_Ref1 = document.getElementById(a_RefName1);
		var a_Ref2 = document.getElementById(a_RefName2);

		var v_text1 = '';
		var v_text2 = '';		

		v_text1 = a_Ref1.text;
		v_text2 = a_Ref2.text;	

		// This is the case of IE	
		if( typeof v_text1 == "undefined"){	
			v_text1 = a_Ref1.innerText;
		}
		
		if( typeof v_text2 == "undefined"){	
			v_text2 = a_Ref2.innerText;
		}			
		var v_strLen1 = v_text1.length;
		var v_strLen2 = v_text2.length;
		
		setOrangeButton(a_RefName1);		
		setOrangeButton(a_RefName2);
		
		if(v_strLen1 > v_strLen2){
			a_Ref2.className = a_Ref1.className;
		}else{
			a_Ref1.className = a_Ref2.className;
		}		
		
	}catch(e){
	}	
	
}

