// JavaScript Document
function checkAll(formName)
{
	var f = document.forms[formName];
	var fields = f.elements;
	var field;
	for (i = 0; i < fields.length; i++)	 {
		field = fields[i];
		if (field.type == "checkbox") 
			field.checked = true;
	}
}

function uncheckAll(formName)
{
	var f = document.forms[formName];
	var fields = f.elements;
	var field;
	for (i = 0; i < fields.length; i++)	 {
		field = fields[i];
		if (field.type == "checkbox") 
			field.checked = false;
	}
}// JavaScript Document
var treeStateValue = false;
function checkEnter(e, formName, componentId) {
	var characterCode;
	if (e && e.which) {
		e = e;
		characterCode = e.which;
	} else {
		e = event;
		characterCode = e.keyCode;
	}
	if (characterCode == 13) {
		var component = e.target;
		var id = component.id;
		submitForm(formName, 1, {source:componentId});
		return false;
	} else {
		return true;
	}
} 
function treeState(state) {
	treeStateValue = state;
}
function tableruler() {
//	if (treeStateValue) {
//		return;
//	}
//	treeState(true);
	if (document.getElementById && document.createTextNode) {
		var divs = document.getElementsByTagName("div");
		for (var h = 0; h < divs.length; h++) {
			var div = divs[h];
			if (div.className == "ruler") {
				var children = div.childNodes;
				for (var i = 0; i < children.length; i++) {
					var child = children[i];
					if (child.nodeName == "TABLE") {
						var trs = child.getElementsByTagName("tr");
						for (var j = 0; j < trs.length; j++) {
							if (trs[j].parentNode.nodeName == "TBODY") {
								trs[j].onmouseover = function () {
									this.className = "ruled";
									return false;
								};
								trs[j].onmouseout = function () {
									this.className = "";
									return false;
								};
							}
						}
					}
				}
			}
		}
	}
}

function selectFile(fileUrl) {
	window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;
	window.top.close() ;
	window.top.opener.focus() ;
	window.close();
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Author: Eric Mulligan
// Company: Tarantula Consulting
function addUserToList(user) {
	var parentWindow = window.parent;
	var parentForm = parentWindow.document.forms[0];
	var userInput = parentForm.elements[1].value;
	var users = null;
	if (userInput != "" && userInput != null) {
		users = userInput.split(", ", null);
		users.push(user);
	} else {
		users = new Array();
		users.push(user);
	}
	userInput = users.join(", ");
	parentForm.elements[1].value = userInput;
}

function removeUserFromList(user) {
	var parentWindow = window.parent;
	var parentForm = parentWindow.document.forms[0];
	var userInput = parentForm.elements[1].value;
	var users = null;
	if (userInput != "" && userInput != null) {
		users = userInput.split(", ", null);
		users.pop(user);
		userInput = users.join(", ");
		parentForm.elements[1].value = userInput;
	} else {
		alert("This user has already been removed.");	
	}
}

function refreshParentWindow() {
	var parentWindow = window.opener;
	var parentUrl = parentWindow.location.href;
	parentWindow.location.href = parentUrl;
	window.close();
}

function openMessageComposition(id) {
	var pageToOpen = "/members/protected/artist/messagecomp.jsf?message=";
	pageToOpen += id;
	var hChrome = 32;
	var vChrome = 96;
	var winWidth = 500;
	var winHeight = 375; 	
	var width = (window.screen.width - (winWidth + hChrome)) / 2;
	var height = (window.screen.height - (winHeight + vChrome)) / 2;
	var	features = "width=" + winWidth + ",height=" + winHeight + ",left=" + width + ",top=" + height + ",screenX=" + width + ",screenY=" + height;
	MM_openBrWindow(pageToOpen,'messagecomp',features);
	return false;
}

function allCheckboxesTrueFalse() {
	var inputs = document.getElementsByTagName("input");
	var selectBoxes = new Array();
	for (input in inputs) {
		if (input.getAttribute("type") == "checkbox") {
				selectBoxes.push(input);
		}
	}
	for (selectBox in selectBoxes) {
		if (!selectBox.checked) {
			selectBox.checked = true;	
		} else {
			selectBox.checked = false;	
		}
	}
}

function openMessage(id) {
	var pageToOpen = "/members/protected/artist/messageopen.jsf?message=";
	pageToOpen += id;
	MM_openBrWindow(pageToOpen,'messageopen','width=500,height=400');
	return false;
}

/** 
 * This function toggles checkboxes in the form 
 * surrounding the specified element. If the element
 * is a checkbox, it is excluded from the toggle 
 * (since this function is most likely called from
 * another checkbox).
 */
function toggleCheckboxes(element) {
	var form = null;
	var type = null;
	var source = element;
	if (element) {
		while (element) {
			type = element.nodeName;
			if (type == "FORM") {
				form = element;
				break;
			}
			element = element.parentNode;
		}
	}
	if (form) {
		var input = null;
		var inputs = form.getElementsByTagName("INPUT");
		for (var i=0; i < inputs.length; i++) {
			input = inputs[i];
			if (input.getAttribute("type") == "checkbox") {
				if (input != source) {
					if (input.checked) {
						input.checked = false;
					} else {
						input.checked = true;
					}
				}
			}
		}
	}
}
// Opacity and Fade in script.
// Script copyright (C) 2008 http://www.cryer.co.uk/.
// Script is free to use provided this copyright header is included.
function SetOpacity(object,opacityPct)
{
  // IE.
  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
  // Old mozilla and firefox
  object.style.MozOpacity = opacityPct/100;
  // Everything else.
  object.style.opacity = opacityPct/100;
}
function ChangeOpacity(id,msDuration,msStart,fromO,toO)
{
  var element=document.getElementById(id);
  var opacity = element.style.opacity * 100;
  var msNow = (new Date()).getTime();
  opacity = fromO + (toO - fromO) * (msNow - msStart) / msDuration;
  if (opacity<0) 
    SetOpacity(element,0)
  else if (opacity>100)
    SetOpacity(element,100)
  else
  {
    SetOpacity(element,opacity);
    element.timer = window.setTimeout("ChangeOpacity('" + id + "'," + msDuration + "," + msStart + "," + fromO + "," + toO + ")",1);
  }
}
function FadeIn(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," + startMS + ",0,100)",1);
}
function FadeOut(id)
{
  var element=document.getElementById(id);
  if (element.timer) window.clearTimeout(element.timer); 
  var startMS = (new Date()).getTime();
  element.timer = window.setTimeout("ChangeOpacity('" + id + "',1000," + startMS + ",100,0)",1);
}
function FadeInImage(foregroundID,newImage,backgroundID)
{
  var foreground=document.getElementById(foregroundID);
  if (backgroundID)
  {
    var background=document.getElementById(backgroundID);
    if (background)
    {
      background.style.backgroundImage = 'url(' + foreground.src + ')';
      background.style.backgroundRepeat = 'no-repeat';
    }
  }
  SetOpacity(foreground,0);
  foreground.src = newImage;
  if (foreground.timer) window.clearTimeout(foreground.timer); 
  var startMS = (new Date()).getTime();
  foreground.timer = window.setTimeout("ChangeOpacity('" + foregroundID + "',1000," + startMS + ",0,100)",10);
}

function selectFile(fileUrl) {
	if (window.top.opener) {
		window.top.opener.SetUrl( encodeURI( fileUrl ).replace( '#', '%23' ) ) ;
		window.top.close() ;
		window.top.opener.focus() ;
		window.close();
	} else {
		window.location=fileUrl;
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function toggleStars(number) {
	for (var i=1; i <= 5; i++) {
		MM_swapImage('ratingForm:star' + i,'','/content/cms/images/icons/star_grey.gif',1)
	}
	for (var i=0; i <= number; i++) {
		MM_swapImage('ratingForm:star' + i,'','/content/cms/images/icons/star_yellow.gif',1)
	}
	submitRating(number);
}