// Collections Rollovers
$(document).ready(function () {

// a.level 1 rollovers
  $('a.level1').hover(function() { 
  	var fade = $('#sub-collection div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });
  
  // a.level 2 rollovers
  $('a.level2').hover(function() { 
  	var fade = $('#sub-collection01 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection01 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });
  
    // a.level 3 rollovers
  $('a.level3').hover(function() { 
  	var fade = $('#sub-collection02 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection02 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });
  
      // a.level 4 rollovers
  $('a.level4').hover(function() { 
  	var fade = $('#sub-collection03 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection03 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });
  
        // a.level 5 rollovers
  $('a.level5').hover(function() { 
  	var fade = $('#sub-collection04 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection04 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });

        // a.level 6 rollovers
  $('a.level6').hover(function() { 
  	var fade = $('#sub-collection05 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection05 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });

        // a.level 7 rollovers
  $('a.level7').hover(function() { 
  	var fade = $('#sub-collection06 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection06 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });

        // a.level 8 rollovers
  $('a.level8').hover(function() { 
  	var fade = $('#sub-collection07 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(250, 1);
    } else {
      fade.fadeIn(0);
    }
   },function () {
    var fade = $('#sub-collection07 div.fade > div');
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      fade.fadeOut(0);
    }
  });
  
  
   
  
  
  
   
   
  $('div.fade').hover(function() {
    // on hovering over, find the element we want to fade *up*
    var fade = $('> div', this);
    
    // if the element is currently being animated (to a fadeOut)...
    if (fade.is(':animated')) {
      // ...take it's current opacity back up to 1
      fade.stop().fadeTo(250, 1);
    } else {
      // fade in quickly
      fade.fadeIn(0);
    }
  }, function () {
    // on hovering out, fade the element out
    var fade = $('> div', this);
    if (fade.is(':animated')) {
      fade.stop().fadeTo(3000, 0);
    } else {
      // fade away slowly
      fade.fadeOut(0);
    }
  });
});




// Nivo Zoom:
$(window).load(function() {
	$('body').nivoZoom({
		speed:500,
		zoomHoverOpacity:0.8,
		overlay:false,
		overlayColor:'#333',
		overlayOpacity:0.5,
		captionOpacity:0.8
	});
});




// Clear Value Field
addEvent(window, 'load', init, false);

function init() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];
        
        if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
            /* Add event handlers */          
            addEvent(theInput, 'focus', clearDefaultText, false);
            addEvent(theInput, 'blur', replaceDefaultText, false);
            
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}









/* 
 * Cross-browser event handling
 */
function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

/* 
 * Kills an event's propagation and default action
 */
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }
    
    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
}


function cancelEventSafari() {
    return false;        
}

function getElementStyle(elementID, CssStyleProperty) {
    var element = document.getElementById(elementID);
    if (element.currentStyle) {
        return element.currentStyle[toCamelCase(CssStyleProperty)];
    } else if (window.getComputedStyle) {
        var compStyle = window.getComputedStyle(element, '');
        return compStyle.getPropertyValue(CssStyleProperty);
    } else {
        return '';
    }
}


/*
 * Disables all 'test' links, that point to the href '#', by Ross Shannon
 */
function disableTestLinks() {
  var pageLinks = document.getElementsByTagName('a');
  for (var i=0; i<pageLinks.length; i++) {
    if (pageLinks[i].href.match(/[^#]#$/)) {
      addEvent(pageLinks[i], 'click', knackerEvent, false);
    }
  }
}
