/** nav menu hover function */
var menu=function(){
	var t=15,z=50,s=6,a;
	function dd(n){this.n=n; this.h=[]; this.c=[]}
	dd.prototype.init=function(p,c){
		a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
		for(i;i<l;i++){
			var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
			h.onmouseover=new Function(this.n+'.st('+i+',true)');
			h.onmouseout=new Function(this.n+'.st('+i+')');
		}
	}
	dd.prototype.st=function(x,f){
		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
		clearInterval(c.t); c.style.overflow='hidden';
		if(f){
			p.className+=' '+a;
			if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
			if(c.mh==c.offsetHeight){c.style.overflow='visible'}
			else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
		}else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
	}
	function sl(c,f){
		var h=c.offsetHeight;
		if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
			if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
			clearInterval(c.t); return
		}
		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		c.style.height=h+(d*f)+'px'
	}
	return{dd:dd}
}();

var menuSide=function(){
	var t=15,z=50,s=6,b;
	function ee(n){this.n=n; this.h=[]; this.c=[]}
	ee.prototype.init=function(p,c){
		b=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
		for(i;i<l;i++){
			var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
			h.onmouseover=new Function(this.n+'.sa('+i+',true)');
			h.onmouseout=new Function(this.n+'.sa('+i+')');
		}
	}
	ee.prototype.sa=function(x,f){
		var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
		clearInterval(c.t); c.style.overflow='hidden';
		if(f){
			p.className+=' '+b;
			if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
			if(c.mh==c.offsetHeight){c.style.overflow='visible'}
			else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
		}else{p.className=p.className.replace(b,''); c.t=setInterval(function(){sl(c,-1)},t)}
	}
	function sl(c,f){
		var h=c.offsetHeight;
		if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
			if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
			clearInterval(c.t); return
		}
		var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		c.style.height=h+(d*f)+'px'
	}
	return{ee:ee}
}();

/** functions from sitepoint 
* http://www.sitepoint.com/article/javascript-from-scratch/2/
* addLoadListener used to initiate rss fetch
*/
function addLoadListener(fn) 
{ 
 if (typeof window.addEventListener != 'undefined') 
 { 
   window.addEventListener('load', fn, false); 
 } 
 else if (typeof document.addEventListener != 'undefined') 
 { 
   document.addEventListener('load', fn, false); 
 }
 else if (typeof window.attachEvent != 'undefined') 
 { 
   window.attachEvent('onload', fn); 
 } 
 else 
 { 
   var oldfn = window.onload; 
   if (typeof window.onload != 'function') 
   { 
     window.onload = fn; 
   } 
   else 
   { 
     window.onload = function() 
     { 
       oldfn(); 
       fn(); 
     };
   } 
 } 
}

/* -----    getElementsByClassName  -----
	by SCOTT SCHILLER
	http://www.schillmania.com
-----------------------------------*/

function getElementsByClassName(className,oParent) {
  var doc = (oParent||document);
  var matches = [];
  var nodes = doc.all||doc.getElementsByTagName('*');
  for (var i=0; i<nodes.length; i++) {
    if (nodes[i].className == className || nodes[i].className.indexOf(className)+1 || nodes[i].className.indexOf(className+' ')+1 || nodes[i].className.indexOf(' '+className)+1 || nodes[i].className.indexOf(className+'-')+1 || nodes[i].className.indexOf('-'+className)+1) {
      matches[matches.length] = nodes[i];
    }
  }
  return matches; // kids, don't play with fire. ;)
}

/* Webnetwork functions */
//function to write the flash player code into the page
function writeMp3()
{
 // code must not contain any line breaks
 code = '<object type="application/x-shockwave-flash" height="1" width="1" data="http://www.facevalue.co.nz/resources/file/xspf_player_slim.swf?playlist_url=http://www.facevalue.co.nz/resources/file/homepage.xml&player_title=gymnopedies&autoload=true&autoplay=true&repeat_playlist=true"><param name="movie" value="http://www.facevalue.co.nz/resources/file/xspf_player_slim.swf?playlist_url=http://www.facevalue.co.nz/resources/file/homepage.xml&player_title=gymnopedies&autoload=true&autoplay=true&repeat_playlist=true" /><param name="autoload" value="true" /><param name="autoplay" value="true" /><param name="repeat_playlist" value="true" /></object>';
 if(document.getElementById('player'))
 {
	 document.getElementById('player').innerHTML = code;
 }

 return;
}
// set the function to run onload (addLoadListener function in site script file)
addLoadListener(writeMp3);

//refill form details on validation failure
function refillFormAdv(x)
{
  fields = document.forms[x].elements;
  j = readCookie(x+'formJson')
  if(!j)
  {
    return;
  }
  
  v = eval("("+URLDecode(j)+")"); // extract values
  for(i in fields)
  {
    f = fields[i];
    id = f.id;
	t = f.type;
	
    if(id) {id = id.replace(/-/g,'_');}else{continue;}
    if(t=='radio')
	{
		z=eval('v.' + f.name); //radio buttons
	}
	else
	{
		z=eval('v.' + id);
	}
	
    if(z)
    {
	  switch(t)
	  {
		case "text":
		case 'textarea':
		  f.value = z;
		  break;
		  
		case 'checkbox':
			f.checked = true;
		  break;
		  
		case 'radio':
		  if(f.value == z)
		  {
		    f.checked = true;
		  }
		  break;
		  
		case 'select-one':
		  for(o in f.options)
		  {
		    if(f.options[o] && f.options[o].value == z)
			{ 
			  f.options[o].selected=true; 
			}
		  }
                  if(f.onchange)
                  {
                    f.onchange({target : f});
                  }
		  break;
		// add other element types later if needed
        default: 
		  break;
	  }
	}
  }
  eraseCookie(x+'formJson');
}

function URLDecode(v)
{
  v = unescape(v);
  while(v.indexOf('+')>-1){  v = v.replace("+"," "); }
  return v;
}
// from http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


