/** document load */
$(document).ready(function(){
	//even up columns
	//$('#content').css('height',Math.max($('#content').height(),$('#cat_nav').outerHeight())+'px');
});

/** 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}
}();

/* if you are having trouble with the submenu not disappearing completely check it doesn't have a top or bottom border */
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';c.style.filter='';}
			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;
		// if(console){ console.log(d,o); }
		c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
		/* if(o>0.99){alert('debugging: '+o);} */
		c.style.height=h+(d*f)+'px';
	}
	return{ee:ee}
}();

/* form refill functions */
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 refillForm(fields){
  for(i in fields){
    f = fields[i];
    t = document.getElementById(f); 
    v = readCookie(f);
    if(t && v){ t.value =URLDecode(v); eraseCookie(f); }
  }
}

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);
}

