var nAV = navigator.appVersion.toLowerCase();
var nUA = navigator.userAgent.toLowerCase();
var nP = navigator.platform.toLowerCase();
var isIE = nAV.indexOf('msie')!=-1;
var isIE6 = (nAV.indexOf('msie 6')!=-1 || nAV.indexOf('msie 5')!=-1);
var isFirefox = (nUA.indexOf('firefox')!=-1);
var isOpera = (nUA.indexOf('opera')!=-1);
var isSafari = (nUA.indexOf('safari')!=-1);
var isWin32 = (nP.indexOf('win')!=-1);
var isMac = (nP.indexOf('mac')!=-1);
if (isOpera) {
  isIE = false;
  isIE6 = false;
}

function $(id) {
  return document.getElementById(id); 
}

/**
simple redirect for a select box option 
element using onChange() event
**/

function go(opt){
				var URL = opt.options[opt.selectedIndex].value
			//	alert(URL);
				window.location.href = URL;
				}

function getOffX(o) {
  var curleft = 0;
  if (obj.offsetParent)	{
    while (o.offsetParent) {
      curleft += o.offsetLeft;
      o = o.offsetParent;
    }
  } else if (o.x) {
    curleft += o.x;
  }
  return curleft;
}

function getOffY(o) {
  var curtop = 0;
  if (o.offsetParent) {
    while (o.offsetParent) {
      curtop += o.offsetTop;
      o = o.offsetParent;
    }
  } else if (o.y) {
    curtop += o.y;
  }
  return curtop;
}

function parentNode(o) {
  if (!o.parentNode) return o;
  o = o.parentNode;
  while (o.nodeType == 3 && o.parentNode) {
    o = o.parentNode;
  }
  return o;
}

function classContains(o,sClass) {
  if (typeof(o.className)=='undefined' || !o.className) return false;
  var sC = o.className;
  return (sC==sClass || sC.indexOf(sClass+' ')+1 || sC.indexOf(' '+sClass)+1);
}

function addClass(o,sClass) {
  if (classContains(o,sClass)) return false;
  o.className = (o.className?o.className+' ':'')+sClass;
}

function removeClass(o,sClass) {
  if (!classContains(o,sClass)) return false;
  o.className = o.className.replace(sClass+' ','');
  o.className = o.className.replace(' '+sClass,'');
  o.className = o.className.replace(sClass,'');
}



function NavElement(sId) {

	
  var self = this;
  var needsCSSHelp = (isIE || isSafari || isOpera); // these don't handle css { dt:hover + dd } at all, or are buggy in this particular case - handled instead via JS
  this.id = sId;
  this.o = null; 
  this.oDTs = [];
  this.oDDs = [];
  this.lastHover = null;

	
  this.oMouseHandler = function(evt) {
    var e = evt?evt:window.event;
    if (e.type != 'mouseover' && e.type != 'mouseout') return;
	
    if (!needsCSSHelp) return true;
	
    if (e.type == 'mouseover') {
      if (isSafari && self.lastHover) {
        removeClass(self.lastHover,'hover');
        removeClass(self.oDDs[self.lastHover._index],'hover');
      }
      addClass(this,'hover');
      addClass(self.oDDs[this._index],'hover');
      self.lastHover = this;
    } else {
      removeClass(this,'hover');
      removeClass(self.oDDs[this._index],'hover');
    }
  }

  this.releaseHandlers = function() {
  	if(self.o == null)
		return;
		
    self.oHeader.onclick = null;
      for (var i=self.oDTs.length; i--;) {
        self.oDTs[i].onmouseover = null;
        self.oDTs[i].onmouseout = null;
      }
  }

  this.init = function() {
  	self.o = $(sId);
	
	if(self.o == null)
		return;
		
	self.oDTs = self.o.getElementsByTagName('dt');
	self.oDDs = self.o.getElementsByTagName('dd');
	for (var i=self.oDTs.length; i--;) {
		self.oDTs[i].onmouseover = self.oMouseHandler;
		self.oDTs[i].onmouseout = self.oMouseHandler;
		self.oDTs[i]._index = i;
	}
  }

  this.destructor = function() {
    self.releaseHandlers();
    self.lastHover = null;
    self.oDTs = null;
    self.oDDs = null;
    self.o = null;
    self = null;
  }

}

function externalLinks() {
	
	if (!document.getElementsByTagName) return;
	
	var anchors = document.getElementsByTagName("a");
	
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
		}
	}
}


oLeftMenu = new NavElement('popout');

function unload() {
  oLeftMenu.destructor();
  oLeftMenu = null;
}

function init() {

 initRemoveText();
 reload_images();
 
  if(init_slide_show) {
  	var imgs = "";
  	for (var i=0; i<slideshow_images.length; i++) {
		if(i != 0)
			imgs += ";";
			
		imgs += slideshow_images[i];
	}
  	RunSlideShow("slideshow","slideshow-img",imgs,4);
  }
  
  externalLinks();
  oLeftMenu.init();
  window.onload = null;
  window.onunload = unload;
}

function preInit() {
  if (document.getElementById) {
    window.onload = init;
  } else {
    return false;
  }
  if (isIE && isIE6) { // silly IE, web standards are for good browsers!
    addClass(document.getElementsByTagName('html')[0],'ie6');
  }
}

function showID(id) {
	element = $(id);
	
	element.style.display = "block";
	element.style.visibility = "visible";
	
}

function openWin( windowURL, windowName, windowFeatures )
{
	return window.open( windowURL, windowName, windowFeatures ) ; 
}

function swapImage(newPath) {
						var elem = document.getElementById('main_img');
						var path = elem.src
						//alert(path);
						elem.src = newPath;
					}

function swap_img(img_id, source) {
	o_main_img = $('main_img');
	o_swap_img = $(img_id);
	
	o_main_img.src = source;
	
}

//www.cryer.co.uk © 2004 and www.brainerror.net ver 1.3 © June 7,2004
//were reference for the following Javascript slide show code
function changeOpac(opacity, id)
{
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 101);
	object.MozOpacity = (opacity / 101);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function blendimage(divid, imageid, imagefile, millisec)
{
	var speed = Math.round(millisec / 10);
	var timer = 0;

	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";

	//make image transparent
	changeOpac(0, imageid);

	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++)
	{
	setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
	timer++;
	}
}

var slideCache = new Array();

function RunSlideShow(divid,imageid,imageFiles,displaySecs)
{
	var imageSeparator = imageFiles.indexOf(";");
	var nextImage = imageFiles.substring(0,imageSeparator);

	changeOpac(0, imageid);
	blendimage(divid,imageid,nextImage,100);

	var futureImages= imageFiles.substring(imageSeparator+1,imageFiles.length)+ ';' + nextImage;
	setTimeout("RunSlideShow('"+divid+"','"+imageid+"','"+futureImages+"',"+displaySecs+")",displaySecs*1000);

	// Cache the next image to improve performance.
	imageSeparator = futureImages.indexOf(";");
	nextImage = futureImages.substring(0,imageSeparator);
	if (slideCache[nextImage] == null)
	{
	slideCache[nextImage] = new Image;
	slideCache[nextImage].src = nextImage;
	}
}

/*-  When a user clicks on a text field, any default text should
	be removed.
----------------------------------------------------------------------*/
function initRemoveText() {
	if (document.getElementsByTagName) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++) {
			var this_input = inputs[i];
			if (this_input.getAttribute("type") == "text" && this_input.getAttribute("rel") == "removeit") {
				this_input.setAttribute("previous", this_input.value);

				this_input.onclick = function() {
					this.value = "";
				}

				this_input.onblur = function() {
					if (this.value.length == 0) {
						this.value = this.getAttribute("previous");
					}
					this.setAttribute("previous", this.value);
				}
			}
		}
	}
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

function reload_images() {
	image1 = $('image1');
	image2 = $('image2');
	image3 = $('image3');

	if(image1 != null && image1.value.length > 0) {
		
		img1 = $('img1');
		img1.src = '/member_images/thumbnails/' + image1.value;
	}
	
	if(image1 != null && image2.value.length > 0) {
		img2 = $('img2');
		img2.src = '/member_images/thumbnails/' + image2.value;
	}
	
	if(image1 != null && image3.value.length > 0) {
		img3 = $('img3');
		img3.src = '/member_images/thumbnails/' + image3.value;
	}
		
}

function delete_image(i) {
	image = $('image' + i);
	img = $('img' + i);
	
	// delete the image
	if(image != null && img != null) {
		image.value = "";
		img.src = '/images/upload-image.gif';
	}
	
	// move everything up 
	for(n = i; n < 3; n++) {
		move(n + 1, n);
	}
	

}

function move(a, b) {
	image_a = $('image' + a);
	img_a = $('img' + a);
	
	image_b = $('image' + b);
	img_b = $('img' + b);
	
	image_b.value = image_a.value;
	img_b.src = img_a.src;
	
	image_a.value = "";
	img_a.src = "/images/upload-image.gif";
	
}