function clickInput(element, value)
{
	obj = document.getElementById(element);
	obj.className = obj.className.replace(new RegExp("invalid"), "");
	if(obj.value == value)
	{
		obj.value = '';
	}
}

function submitForm(form, value)
{
	formObj = document.getElementById(form);
	if(formObj.getElementsByTagName("input")[0] != undefined) { inputObj = formObj.getElementsByTagName("input")[0]; }
	if((inputObj.value != value) && (inputObj.value != "")) 
	{ 
		formObj.submit() 
	} 
	else 
	{ 
		if(inputObj) 
		{ 
			inputObj.className=inputObj.className + " invalid"
			if (inputObj.value == "")
			{
				inputObj.value = value;
			}
		}
	};
}


window.onload = function()
{
	navHover();
  fades();
  hashActive();
}

function swapClass(element, cssclass)
{
	element.className = cssclass;
}

function fades()
{
  window.addEvent('domready',function() { 
    $each($$('.fadeLight'), function(el) { 
      var original = el.getStyle('background-color');
      var lighter = '#F0F0F0';
      var morph = new Fx.Morph(el,{ 'duration':'200', link:'cancel' }); 
      el.addEvents({ 
        'mouseenter' : function() { morph.start({ 'background-color':lighter }) }, 
        'mouseleave' : function() { morph.start({ 'background-color':original }) } 
          }); 
       });
     $each($$('.fadeDark'), function(el) { 
      var original = el.getStyle('background-color');
      var darker = '#DEDEDE';
      var morph = new Fx.Morph(el,{ 'duration':'200', link:'cancel' }); 
      el.addEvents({ 
        'mouseenter' : function() { morph.start({ 'background-color':darker }) }, 
        'mouseleave' : function() { morph.start({ 'background-color':original }) } 
          }); 
       });

      $each($$('.news-list-item'), function(el) {  
          el.onclick = function() { setActive(this); }  
       });
      $each($$('.gallery-list-item'), function(el) {  
          el.onclick = function() { setActive(this); }  
       });          
    });
}


var pad = function(num, totalChars) {
    var pad = '0';
    num = num + '';
    while (num.length < totalChars) {
        num = pad + num;
    }
    return num;
};

// Ratio is between 0 and 1
var changeColor = function(color, ratio, darker) {
    var difference = Math.round(ratio * 255) * (darker ? -1 : 1),
        decimal    = color.replace(
            /^#?([a-z0-9][a-z0-9])([a-z0-9][a-z0-9])([a-z0-9][a-z0-9])/i,
            function() {
                return parseInt(arguments[1], 16) + ',' +
                    parseInt(arguments[2], 16) + ',' +
                    parseInt(arguments[3], 16);
            }
        ).split(/,/);
    return [
        '#',
        pad(Math.max(parseInt(decimal[0], 10) + difference, 0).toString(16), 2),
        pad(Math.max(parseInt(decimal[1], 10) + difference, 0).toString(16), 2),
        pad(Math.max(parseInt(decimal[2], 10) + difference, 0).toString(16), 2)
    ].join('');
};
var lighterColor = function(color, ratio) {
    return changeColor(color, ratio, false);
};
var darkerColor = function(color, ratio) {
    return changeColor(color, ratio, true);
};


function hashActive()
{
  hash = document.location.hash.substring(1);
  if (document.getElementById('item' + hash) != undefined) { 
      object = document.getElementById('item' + hash);
      setActive(object);
  };
  
}

function setActive(el)
{
  clearActive();
  el.className = el.className + " active";
}


function clearActive()
{
  $each($$('.active'), function(el) {
  oldClass = el.className; 
  newClass = oldClass.replace(" active","");
  el.className = newClass;
  });
}