<!--//

// horizontal nav over images

  over_home = new Image;
  over_home.src = "images/nav/home_over.gif";
  over_mixes = new Image;
  over_mixes.src = "images/nav/mixes_over.gif";
  over_gigs = new Image;
  over_gigs.src = "images/nav/gigs_over.gif";
  over_biog = new Image;
  over_biog.src = "images/nav/biog_over.gif";
  over_top10 = new Image;
  over_top10.src = "images/nav/top10_over.gif";
  over_friends = new Image;
  over_friends.src = "images/nav/friends_over.gif";
  over_contact = new Image;
  over_contact.src = "images/nav/contact_over.gif";
  over_gallery = new Image;
  over_gallery.src = "images/nav/gallery_over.gif";

   
  
  
// horizontal nav off images

  off_home = new Image;
  off_home.src = "images/nav/home_off.gif";
  off_mixes = new Image;
  off_mixes.src = "images/nav/mixes_off.gif";
  off_gigs = new Image;
  off_gigs.src = "images/nav/gigs_off.gif";
  off_biog = new Image;
  off_biog.src = "images/nav/biog_off.gif";
  off_top10 = new Image;
  off_top10.src = "images/nav/top10_off.gif";
  off_friends = new Image;
  off_friends.src = "images/nav/friends_off.gif";
  off_contact = new Image;
  off_contact.src = "images/nav/contact_off.gif";
  off_gallery = new Image;
  off_gallery.src = "images/nav/gallery_off.gif";


  

// primary nav on images

  on_home = new Image;
  on_home.src = "images/nav/home_on.gif";
  on_mixes = new Image;
  on_mixes.src = "images/nav/mixes_on.gif";
  on_gigs = new Image;
  on_gigs.src = "images/nav/gigs_on.gif";
  on_biog = new Image;
  on_biog.src = "images/nav/biog_on.gif";
  on_top10 = new Image;
  on_top10.src = "images/nav/top10_on.gif";
  on_friends = new Image;
  on_friends.src = "images/nav/friends_on.gif";
  on_contact = new Image;
  on_contact.src = "images/nav/contact_on.gif";
  on_gallery = new Image;
  on_gallery.src = "images/nav/gallery_on.gif";
 
// function for the rollovers
function ImgFunc(imgDocID, imgObjName) {
      document.images[imgDocID].src = eval(imgObjName + ".src")
}

function setImageSrc(objName, path) {
	var obj;
	if ((obj = findObj(objName)) != null) {
		obj.src = path;
	}
}

function validateNewsletterSubForm() {
	var err = 0;
	var errors = 'Sorry, the following error(s) exist on the form:\n';
	var email = /^.+\@.+\..+$/;
	
	if (!document.newsletter_form.email.value) {
		err++;
		errors += ' - please enter your email address\n';
	} else if (email.test(document.newsletter_form.email.value)==false) {
		err++;
		errors += ' - the email address is in an invalid format\n'
	}
	
	if (err > 0) {
		alert(errors);
		document.newsletter_form.email.focus();
	}

	return (err == 0);
}

function setRowClass(src, style) {
	src.className = style;
}

function validateLoginForm() {
	var err = 0;
	var errors = 'Sorry, the following error(s) exist on the form:\n';

	if (!document.login_form.username.value) {
		err++;
		errors += ' - please enter your username\n';
	}

	if (!document.login_form.password.value) {
		err++;
		errors += ' - please enter your password\n';
	}

	if (err > 0) {
		alert(errors);	
	}

	return (err == 0);
}

function setObjHtml(name, value) {
	var obj;
	if ((obj = findObj(name)) != null) {
		obj.innerHTML = value;
	}
}

/* search the dom for the object */
function 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=findObj(n,d.layers[i].document);
  }
  if(!x && d.getElementById) {
    x=d.getElementById(n);
  }
  // alert('object ' + n + ' is ' + x);
  return x;
}


/* find then set a layers visibility */
function showHideLayers() { //v6.0
  var i,p,v,obj,args=showHideLayers.arguments;

  for (i=0; i<(args.length-2); i+=3) {

        if ((obj=findObj(args[i]))!=null) {
            v=args[i+2];
            if (obj.style) {
                obj=obj.style;
                v=(v=='show')? 'visible' : (v=='hide')? 'hidden':v;
            }
            obj.visibility=v;
    }
  }
}

/* takes the highlighting of a field */
function blurField(field) {
	try {
		var classes = field.className.split(" fieldOn");
		if (classes.length > 0) {
			field.className = classes[0];
		}
	} catch (error) {

	}
}

/* puts highlighting focus on a field */
function focusField(field) {
	
	try {
	  field.className = field.className + ' fieldOn';
	  field.focus();
	} catch (error) {

	}
}

/* sets the background colour of a field */
function setColour(src, colour) {
  src.style.backgroundColor=colour;
}

/**
 * Set the css class of an object
 */
function setClass(src, name) {
  src.className = name;
}

/**
 * 
 */
function setObjClass(objname, name) {
	var obj;
	if ((obj = findObj(objname)) != null) {
		obj.className = name;
	}
}

/* selects an array element */
function selectRadio(groupName, newval) {
   var buttonGroup;

   // get the button group element from its name
   eval("buttonGroup = " + groupName);

   for (var i=0; i<buttonGroup.length; i++) {

         if (buttonGroup[i].value == newval) {
            buttonGroup[i].checked = true;
         }
      }
   }

function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function

/**
 * Set a layers display value
 */
function displayLayer(name, value) {
	var obj;

	if ((obj = findObj(name)) != null) {
		obj.style.display = value;
	}
}

/**
 * Check if the value of a field is i digit
 */
function isDigit(textfield) {

	var numeric = /^[0-9]+$/.test(textfield.value);
	if (!numeric) {
		alert('Please enter a numeric value');
		return false;
	}
	return true;

}

/**
 * Sets the inner html for a label
 */
function setLabel(lbl, value) {
	var obj;
	if ((obj = findObj(lbl)) != null) {
		obj.innerHTML = value;
	}
}

/**
 * The general page submissiong script, calls the validation
 * which can in turn show any errors
 */
function submitForm() {

	if (validateForm()) {
		document.form.submit();
		return true; // never gets to here
	}

	return false;
}

// find object x coord
function findPosX(objName) {
	var obj;
	var curleft = 0;

	// return defaul
	if ((obj = findObj(objName)) == null) {
		return 0;
	}
		
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	
	return curleft;
}

function findPosY(objName) {
	var obj;
	var curtop = 0;

	// return defaul
	if ((obj = findObj(objName)) == null) {
		return 0;
	}
		
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

/**
 * Sets the selected option on a select
 */
function selectOption(field, value) {
	options = field.options;

	for(i=0;i<options.length;i++) {

		if (options[i].value == value) {
			field.options.selectedIndex = i;
		}
	}
}

function confirmDelete(item) {
  	return confirm('Are you sure you want to delete this ' + item + '?\n\tTo continue click \'OK\'\n');
}

function openPopup(height, width) {
	var left = 0;
	var top = 0;

	try {
	    left = (screen.width) ? (screen.width-width)/2 : 0;
    	top  = (screen.height) ? (screen.height-height)/2 : 0;
	} catch (error) {
		// 
	}

	window.open("","x",'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + ',resizable=1');
}

//
function onOffElements(show,elList,toggleBy) {
   	HM_DOM = document.getElementById ? true : false;
    HM_IE  = document.all ? true : false;
	HM_NS4 = document.layers ? true : false;

	if(!(HM_DOM||HM_IE||HM_NS4)) {
		return true;
	}

	if(HM_NS4&&(toggleBy=="tag")) { 
		return true;
	}

	for(var i=0; i<elList.length; i++) {
		var ElementsToToggle = [];
		switch(toggleBy) {
			case "tag":
				ElementsToToggle = (HM_DOM) ? document.getElementsByTagName(elList[i]) : document.all.tags(elList[i]);
				break;
			case "id":
				ElementsToToggle[0] = (HM_DOM) ? document.getElementById(elList[i]) : (HM_IE) ? document.all(elList[i]) : document.layers[elList[i]];
				break;
		}
	}
		
	for(var j=0; j<ElementsToToggle.length; j++) {
		var theElement = ElementsToToggle[j];
		if(!theElement) { 
			continue; 
		}
		if(HM_DOM||HM_IE) {
			theElement.style.visibility = show ? "inherit" : "hidden";
		} else if (HM_NS4) {
			theElement.visibility = show ? "inherit" : "hide";
		}
	}
	return true;
}

function strip_spaces(field) {
	field.value = field.value.replace(/ /g,"");
}

function formatTelephoneNumber(field) {
	field.value = field.value.replace(/ /g,"");
	field.value = field.value.replace(/\(/g,"");
	field.value = field.value.replace(/\)/g,"");
	field.value = field.value.replace(/\+/g,"00");
}
//-->
