
// init
$(function(){
	$.scroll();
	$.fontSwitch();
	$('#mainMenu').droppy();
});

addEvent(window,"load", initRollovers);

(function($){
	
	$.extend({
		boxLink : function(obj){
			
			var obj = $.extend({
				box : $(".boxLink"),
				anch : $(".boxLink a")
			},obj || {});
			
			obj.anch.click(function(e){
				e.stopPropagation();					
			});	
			
			obj.box
			.css("cursor","pointer")
			.each(function(){
				var a = $(this).find("a");
				var href = a.attr("href");	
				
				$(this)
				.click(function(){
					if(a.attr("target") == "_blank") {
						window.open(href,"","")
					} else{
						window.location.href = 	href;	
					};
				})
				.hover(function(){
					$(this).addClass("on");				
				},
				function(){
					$(this).removeClass("on");				
				});							  
			});
			
		},
		tab : function(){
			
			var obj = $.extend({
				trigger : $(".tab a"),
				targets : $(".tabContents")
			},obj || {});

			obj.targets.eq(1).hide();

			obj.trigger.click(function(){
				var targetId = $(this).attr("href");
				var target = $("#" + targetId);
				
				$(this)
				.addClass("active")
				.parent()
				.siblings()
				.child()
				.removeClass("active");
				
				target
				.show()
				.siblings()
				.hide();									
			});			
		},
		scroll : function(obj){
			
			var obj = $.extend({
				a : $('a[href^=#]'),
				speed : 700,
				ease : "easeOutExpo"
			},obj || {});
			
			obj.a.click(function(){
				if(!($(this).is(".dontScroll"))){
					var href= this.hash; 
					var target = $(href); 		
					
					if(target.size()) { 
						var top = target.offset().top; 
						$($.browser.safari ? 'body' : 'html')
						.animate({scrollTop:top}, obj.speed, obj.ease); 
					};
					return false; 							 
				}
			 })
			.focus(function(){
				this.blur();				
			});;			
		},
		fontSwitch : function(obj){
			
			var obj = $.extend({
				bodyClass : 'font',
				switcher : $("#fontChanger"),
				switchClass : 'fontChange',
				startClass : "Normal",
				activeClass : 'active',
				cookieValue : 'fontSize'
			},obj || {});			
			
			var value = $.cookie(obj.cookieValue);
			
			if (value) {
				$("body")
				.addClass(obj.bodyClass + value);
				
				obj.switcher
				.find("." + obj.switchClass + value)
				.addClass(obj.activeClass);
			} else {
				$("body")
				.addClass(obj.bodyClass + obj.startClass);
				
				obj.switcher
				.find("." + obj.switchClass + obj.startClass)
				.addClass(obj.activeClass);
			};
			
			obj.switcher.find("a")
			.click( function() {
				value = $(this).attr("class").replace(obj.switchClass, '');
				
				$("body")
				.removeClass(obj.bodyClass + "Normal")
				.removeClass(obj.bodyClass + "Small")
				.removeClass(obj.bodyClass + "Large")
				.addClass(obj.bodyClass + value);
				
				$(this)
				.addClass(obj.activeClass)
				.parent()
				.siblings()
				.children()
				.removeClass(obj.activeClass);
			
				$.cookie(obj.cookieValue, value);
			})
			.focus(function(){
				this.blur();				
			});

		}
			 
	});
	
})(jQuery);

/*
 * Droppy 0.1.2
 * (c) 2008 Jason Frame (jason@onehackoranother.com)
 */
$.fn.droppy = function(options) {
    
  options = $.extend({speed: 250}, options || {});
  
  this.each(function() {
    
    var root = this, zIndex = 1000;
    
    function getSubnav(ele) {
      if (ele.nodeName.toLowerCase() == 'li') {
        var subnav = $('> ul', ele);
        return subnav.length ? subnav[0] : null;
      } else {
        return ele;
      }
    }
    
    function getActuator(ele) {
      if (ele.nodeName.toLowerCase() == 'ul') {
        return $(ele).parents('li')[0];
      } else {
        return ele;
      }
    }
    
    function hide() {
      var subnav = getSubnav(this);
      if (!subnav) return;
      $.data(subnav, 'cancelHide', false);
      setTimeout(function() {
        if (!$.data(subnav, 'cancelHide')) {
          $(subnav).slideUp(options.speed);
        }
      }, 500);
    }
  
    function show() {
      var subnav = getSubnav(this);
      if (!subnav) return;
      $.data(subnav, 'cancelHide', true);
      $(subnav).css({zIndex: zIndex++}).slideDown(options.speed);
      if (this.nodeName.toLowerCase() == 'ul') {
        var li = getActuator(this);
        $(li).addClass('hover');
        $('> a', li).addClass('hover');
      }
    }
    
    $('ul, li', this).hover(show, hide);
    $('li', this).hover(
      function() { $(this).addClass('hover'); $('> a', this).addClass('hover'); },
      function() { $(this).removeClass('hover'); $('> a', this).removeClass('hover'); }
    );
    
  });
  
};

function addEvent(target, ev, func){
	try {
		target.addEventListener(ev, func, false);
	} catch(e) {
		target.attachEvent("on" + ev, func);
	};	
};

function openWin(url,ww,hh) {
	var wn = 'blank';
	var fea = "width="+ww+",height="+hh+",scrollbars=0,resizable=0";
	window.open(url,wn,fea);
}

function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');
	var aInput = document.getElementsByTagName('input');
	var arr_rollover = [];

	for(var i = 0; i < aImages.length; i++) {
		arr_rollover.push(aImages[i]);
	};
	for(var i = 0; i< aInput.length; i++) {
		arr_rollover.push(aInput[i]);
	};
	
	for (var i = 0; i < arr_rollover.length; i++) {       
		if (arr_rollover[i].className == 'rollover') {
			var src = arr_rollover[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_on'+ftype);
			arr_rollover[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			arr_rollover[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}   
			
			arr_rollover[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_on'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
};




