function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

var fading = false;

function fadeIn(objId,opacity) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 3.5;
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 80);
    } else {
		setOpacity(obj, 100);
		fading = false;
		//re-src for _1
		var oldSrc = document.getElementById(replace(objId, '_2' ,'_1')).src;
		oldSrc = oldSrc.substring(oldSrc.lastIndexOf('/') + 1, oldSrc.length);
		document.getElementById(replace(objId, '_2' ,'_1')).src = getImage();
		photos = replace(photos, '|' + oldSrc.substring(1, oldSrc.indexOf('.')), '');
		//window.status = oldSrc + '|' + photos;

	}
  }
}

function fadeOut(objId,opacity,direction) {
  if (document.getElementById) {
    obj = document.getElementById(objId);
    if (opacity >= 0) {
      setOpacity(obj, opacity);
      opacity -= 3.5;
      window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 80);
    } else {
		setOpacity(obj, 0);
		fading = false;
		//re-src for _2
		var oldSrc = document.getElementById(objId).src;
		oldSrc = oldSrc.substring(oldSrc.lastIndexOf('/') + 1, oldSrc.length);
		document.getElementById(objId).src = getImage();
		photos = replace(photos, '|' + oldSrc.substring(1, oldSrc.indexOf('.')), '');
		//window.status = oldSrc + '|' + photos;
	}
  }
}

function populateGrid() {

	document.getElementById('f1_1').src = getImage();
	document.getElementById('f2_1').src = getImage();
	document.getElementById('f3_1').src = getImage();
	document.getElementById('f4_1').src = getImage();
	document.getElementById('f1_2').src = getImage();
	document.getElementById('f2_2').src = getImage();
	document.getElementById('f3_2').src = getImage();
	document.getElementById('f4_2').src = getImage();

}

var photos = '';

function getImage() {
	
	var thisImgIndex = rand(53);
	while (photos.indexOf('|' + thisImgIndex) != -1) {
		//alert(photos.indexOf('|' + thisImgIndex));
		thisImgIndex = rand(53);
	}
	photos += '|' + thisImgIndex;
	return('/img/homepage/f' + thisImgIndex + '.jpg');

}

var vF1 = '1';
var vF2 = '1';
var vF3 = '1';
var vF4 = '1';

var lastInd = 0;

function fadeGridImages(howMany) {
	if (fadeGridImages.arguments[1] == null)
	{
		howMany = 4;
	}

	if (!fading) {
		var thisInd = rand(howMany);
		while (thisInd == lastInd) {
			thisInd = rand(howMany);
		}
		lastInd = thisInd;

			if (eval('vF' + thisInd) == 1) {
				fading = true;
				fadeOut('f' + thisInd + '_2', 100);
				eval('vF' + thisInd + ' = 2;');
			} else {
				fading = true;
				fadeIn('f' + thisInd + '_2', 0);
				eval('vF' + thisInd + ' = 1;');
			}
	}

	setTimeout('fadeGridImages(' + howMany + ')', 140);

}


var currEDiv = '';

function showEDiv(menID, bgColor) {

	currEDiv = menID;

	document.getElementById('tYt').style.display = 'none';
	document.getElementById('tBt').style.display = 'none';	
	
	document.getElementById('tEDiv').style.backgroundColor = bgColor;
	document.getElementById('tEDiv').style.display = 'block';
	
	hideInnerEDivs();

	if (document.getElementById(menID + '_e')) {
		document.getElementById(menID + '_e').style.display = 'block';
	}	

}

function hideInnerEDivs() {
	document.getElementById('cal_e').style.display = 'none';
	document.getElementById('exp_e').style.display = 'none';
	document.getElementById('gard_e').style.display = 'none';
	document.getElementById('about_e').style.display = 'none';
}

function hideEDiv() {
	if (eval('hideEDivt')){
		document.getElementById('tYt').style.display = 'block';
		document.getElementById('tBt').style.display = 'block';
		document.getElementById('tEDiv').style.display = 'none';
		hideInnerEDivs();
		
	}
	
}

var hideEDivt = false;
var hideEDivb = false;
function callHideEDiv() {
	eval('hideEDivt = true;');
	setTimeout('hideEDiv()', 100);
}

function transHeaderElements() {
	setOpacity(document.getElementById('cal'), 70);
	setOpacity(document.getElementById('nat'), 70);
	setOpacity(document.getElementById('plnt'), 70);
	setOpacity(document.getElementById('soc'), 70);
	setOpacity(document.getElementById('yerb'), 70);
	setOpacity(document.getElementById('buen'), 70);
	setOpacity(document.getElementById('chap'), 70);
	if (navigator.userAgent.toLowerCase().indexOf('mac') != -1) {
		document.getElementById('sectionHead').innerHTML = '<em>' + document.getElementById('sectionHead').innerHTML + '</em>';
	}
}

function fixYBItalics() {
	if (navigator.userAgent.toLowerCase().indexOf('mac') != -1) {
		document.getElementById('tYt').innerHTML = '<em>' + document.getElementById('tYt').innerHTML + '</em>';
		document.getElementById('tBt').innerHTML = '<em>' + document.getElementById('tBt').innerHTML + '</em>';
		document.getElementById('ybHead').innerHTML = '<em>' + document.getElementById('ybHead').innerHTML + '</em>';
	}
	
}


rnd.today=new Date();
rnd.seed=rnd.today.getTime();

function rnd() {
        rnd.seed = (rnd.seed*9301+49297) % 233280;
        return rnd.seed/(233280.0);
};

function rand(number) {
        return Math.ceil(rnd()*number);
};


	function replace(string,text,by) {
		// Replaces text with by in string
		var strLength = string.length, txtLength = text.length;
		if ((strLength == 0) || (txtLength == 0)) return string;

		var i = string.indexOf(text);
		if ((!i) && (text != string.substring(0,txtLength))) return string;
		if (i == -1) return string;

		var newstr = string.substring(0,i) + by;

		if (i+txtLength < strLength)
			newstr += replace(string.substring(i+txtLength,strLength),text,by);

		return newstr;
	}


	function navOver(thisObj, bgColor) {
		thisObj.style.backgroundColor = bgColor;
		if (document.getElementById(thisObj.id + '_line')) {
			document.getElementById(thisObj.id + '_line').style.backgroundColor = '#DBE5E2';
		}
	}

	function navOff(thisObj, bgColor) {
		if (document.getElementById(thisObj.id + '_line')) {
			document.getElementById(thisObj.id + '_line').style.backgroundColor = '#003A19';
		}
		thisObj.style.backgroundColor = bgColor;
	}


	function exists(thing) {

	if (thing != null) {
		if ((thing + '') == '0') {
			return(true);
		} else if (thing) {
			return(true);
		}
	}

	return(false);
}


var thisImagePop = null;
var thisCurrImage = null;

function popPic(thisURL) {

	var imgURL = thisURL;

	thisCurrImage = new Image;
	thisCurrImage.src= imgURL;

	thisImagePop = window.open(imgURL, 'pic', 'title=0,resizable=1,scrollbars=0,status=0,width=300,height=300');

	thisImagePop.focus();
	watchResize();
} 

function watchResize() {

	if (thisCurrImage.height > 0) {
		thisImagePop.resizeTo(thisCurrImage.width + 50, thisCurrImage.height + 80);
	} else {
		setTimeout('watchResize()', 100);
	}

}


function getCurrentDate() {

	var currDate = '';

	var theDate = new Date();
	var monthname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	currDate +=monthname[theDate.getMonth()] + " ";
	currDate +=theDate.getDate() + ", ";
	currDate +=theDate.getFullYear();

	return(currDate);
}

function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} //End Function

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} //End While
return strTemp;

} //End Function

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function


var validEmailChars = 'abcdefghijklmnopqrstuvwxyz1234567890@._-+';

function validateEmail(theEmail, emailTitle, emailObjectName) {

   if (Trim(theEmail) == '') {
      alert('Please enter an email address.');
	  if (exists(emailObjectName)) {
			if (eval('document.' + emailObjectName)) {
				eval('document.' + emailObjectName + '.focus();');
			}
		}
      return(false);
   }

   theEmail = theEmail.toLowerCase();

   if (theEmail != null) {

      for (i=0; i<theEmail.length; i++) {
       if (validEmailChars.indexOf(theEmail.charAt(i)) == -1) {
          alert((exists(emailTitle)?emailTitle:'This') + ' email address contains a \'' + theEmail.charAt(i) + '\' character which is invalid. Please re-enter this email address.');
		if (exists(emailObjectName)) {
			if (eval('document.' + emailObjectName)) {
				eval('document.' + emailObjectName + '.focus();');
			}
		}
          return(false);
       }

      }
   }
   if (theEmail.indexOf('@') == -1) {
       alert((exists(emailTitle)?emailTitle:'This') + ' email address lacks an \'@\' character. Please re-enter this email address.');
		if (exists(emailObjectName)) {
			if (eval('document.' + emailObjectName)) {
				eval('document.' + emailObjectName + '.focus();');
			}
		}
       return(false);
   } else if ((theEmail.indexOf('@') == theEmail.length-1) || (theEmail.length < 6) || (theEmail.indexOf('@') == 0)) {
       alert((exists(emailTitle)?emailTitle:'This') + ' email address appears to be incomplete. Please re-enter this email address.');
		if (exists(emailObjectName)) {
			if (eval('document.' + emailObjectName)) {
				eval('document.' + emailObjectName + '.focus();');
			}
		}
       return(false);
   }

   return(true);
}
