jQuery(document).ready(function(){

	// Checks the browser and adds classes to the body to reflect it.
	// author: Jon Hobbs-Smith   http://www.tvidesign.co.uk/blog/CSS-Browser-detection-using-jQuery-instead-of-hacks.aspx
	var userAgent=navigator.userAgent.toLowerCase();$.browser.chrome=/chrome/.test(navigator.userAgent.toLowerCase());if($.browser.msie){$('body').addClass('msie');$('body').addClass('msie'+$.browser.version.substring(0,1))}if($.browser.chrome){$('body').addClass('chrome');userAgent=userAgent.substring(userAgent.indexOf('chrome/')+7);userAgent=userAgent.substring(0,1);$('body').addClass('chrome'+userAgent);$.browser.safari=false}if($.browser.safari){$('body').addClass('safari');userAgent=userAgent.substring(userAgent.indexOf('version/')+8);userAgent=userAgent.substring(0,1);$('body').addClass('safari'+userAgent)}if($.browser.mozilla){if(navigator.userAgent.toLowerCase().indexOf('firefox')!=-1){$('body').addClass('firefox');userAgent=userAgent.substring(userAgent.indexOf('firefox/')+8);userAgent=userAgent.substring(0,1);$('body').addClass('firefox'+userAgent)}else{$('body').addClass('mozilla')}}if($.browser.opera){$('body').addClass('opera')}


	$(".cssir").cssir();

	$(".cssiroo").cssir({
	  onOver: true
	});

	$(".cssir_acc1").cssir({
	   onOver: true,
	   spanClassNameFromParent:"h3"
	});



	$("#slideItems").hslide({
		slideLinksID  : 'slideLinks',
		slideItemWidth: 900,
		slideDelay    : 25000,
		slideSpeed    : 1500
	});

	jQuery("#vSlideItems").vslide({
		slideLinksID  : 'vSlideLinks'
	});

	jQuery(".innermenu-link").gclbutton({ fixedWidth:true });



});












///////////////////////////////////////////////////////////////////////////////
// [JQuery Accordion Plugin] //////////////////////////////////////////////////
(function($) {
$.fn.gclaccordion = function(options) {
	
	var defaults = {
	    slideSpeed        : 500  // How quickly should the accordion scroll?
	   ,hideActiveLink    : true // Hide clicked link?
	   ,linkClass         : "accordion-link"    //Links class name
	   ,contentClass      : "accordion-content" //Contents class name
	   ,activeClass       : "active_header"     //selected header class
	   ,onOverClass       : null       //if not null, header on over class //"over_header"
	   ,openContentOnLoad : 0   //If -1, all tabs will be closed on load, else open content at given pos
	   ,afterChange       : null
	   ,depth             : 1
	},
    settings = jQuery.extend({}, defaults, options),
	$this = jQuery(this), $accordionLinksWrapper, $accordionLinks = [], $accordionContents, posCurrent, linkHref;
	
	$accordionLinksWrapper = $this.find("."+settings.linkClass);

    jQuery.each($accordionLinksWrapper, function(index) {
		$accordionLinks[index] = jQuery(this).find("a");
		linkHref = $accordionLinks[index].attr("href");
		//if (window.console && window.console.firebug) {console.info("%s value: %s", "href", linkHref);}
		if(linkHref == "" || linkHref == "#") { 
			linkHref = ""; 
			$accordionLinks[index].attr({"href": "javascript:void(0)"});
		}
        jQuery(this).data("href", linkHref);
    });

	
	$accordionContents = $this.find("."+settings.contentClass);
	//$accordionContents.each(function(index) { jQuery(this).css('height', jQuery(this).height());	});
	
	$accordionContents.hide();

	posCurrent = settings.openContentOnLoad;
	
	/*
	var $byDepth = new Array();
	$byDepth[0] = { "accordionLinksWrapper": this, "accordionContents": this };
	if(settings.depth > 1) {	
		for (i=1; i<=settings.depth; i++)
		{
			alert($byDepth[(i-1)].accordionLinksWrapper);
			$byDepth[i] = { 
				 "accordionLinksWrapper" : jQuery("> ." + settings.linkClass, $byDepth[(i-1)].accordionLinksWrapper)
				,"accordionContents"     : jQuery("> ." + settings.contentClass, $byDepth[(i-1)].accordionContents)
			}
		}
		$byDepth[1].accordionLinksWrapper.css("background-color","red");
	}*/

	var reqLocation = document.location.toString();
	if (reqLocation.match("#")) {
	  var reqAnchor = reqLocation.split("#")[1];
	  $accordionLinksWrapper.each(function(index) {
		if ( jQuery(this).data("href") == "#"+reqAnchor ) { posCurrent = index; }
	  });
	}
	
	if(posCurrent > -1) {
		if(settings.activeClass != null && settings.activeClass != "") {
			$accordionLinksWrapper.eq(posCurrent).addClass(settings.activeClass);
		}
		if(settings.hideActiveLink) {
			$accordionLinks.eq(posCurrent).hide();
		}
		$accordionContents.eq(posCurrent).show();
	}
	
	
	if(settings.onOverClass != null && settings.onOverClass != "") {
		$accordionLinksWrapper.hover(function () {
			jQuery(this).siblings($accordionLinksWrapper).removeClass(settings.onOverClass);
			jQuery(this).addClass(settings.onOverClass);
		}, function () {
			jQuery(this).removeClass(settings.onOverClass);
		});
	}
	
	var $thisLink;
	$accordionLinksWrapper.click(function(){
		$thisLink = jQuery(this);
		posCurrent = $accordionLinksWrapper.index(this);
		if(settings.hideActiveLink) {
			$accordionLinks.show("fast"); 
			$accordionLinks.eq(posCurrent).animate({opacity: "hide"}, 500, "linear");  
		}
		
		if(settings.activeClass != null && settings.activeClass != "") {
			$thisLink.siblings($accordionLinksWrapper).removeClass(settings.activeClass);
			if( ! $thisLink.next("div").is(":visible") ) {
				$thisLink.addClass(settings.activeClass);
			} else {
				$thisLink.removeClass(settings.activeClass);
			}
		}
		
		$thisLink.next($accordionContents).slideToggle(settings.slideSpeed, function() {
			if(settings.afterChange != null && settings.afterChange != "") {
				settings.afterChange();
			}
		}).siblings("div:visible").slideUp(settings.slideSpeed);
		//$(this).parent().next("div").slideToggle(settings.slideSpeed, function () { $(this).siblings("div:visible").slideUp(settings.slideSpeed); });
	});

	// returns the jQuery object to allow for chainability.  
    return this;
	
};
})(jQuery);






///////////////////////////////////////////////////////////////////////////////
// [JQuery Accordion Plugin] //////////////////////////////////////////////////
(function($) {
$.fn.gclaccordionBACKUP = function(options) {

	var defaults = {
	    slideSpeed        : 500  // How quickly should the accordion scroll?
	   ,hideActiveLink    : true // Hide clicked link?
	   ,linkClass         : "accordion-link"    //Links class name
	   ,contentClass      : "accordion-content" //Contents class name
	   ,activeClass       : "active_header"     //selected header class
	   ,onOverClass       : null       //if not null, header on over class //"over_header"
	   ,openContentOnLoad : 0   //If -1, all tabs will be closed on load, else open content at given pos
	   ,afterChange       : null
	},
    settings = jQuery.extend({}, defaults, options),
	$this = jQuery(this), $accordionLinksWrapper, $accordionLinks, $accordionContents, posCurrent;

	$accordionLinksWrapper = $this.find("."+settings.linkClass);
	$accordionLinks    = $accordionLinksWrapper.find("a").attr({'href': 'javascript:void(0)'});

	$accordionContents = $this.find("."+settings.contentClass);
	$accordionContents.each(function(index) {
		//jQuery(this).css('height', jQuery(this).height());
	});

	$accordionContents.hide();

	posCurrent = settings.openContentOnLoad;

	if(settings.openContentOnLoad > -1) {
		if(settings.activeClass != null && settings.activeClass != "") {
			$accordionLinksWrapper.eq(settings.openContentOnLoad).addClass(settings.activeClass);
		}
		if(settings.hideActiveLink) {
			$accordionLinks.eq(settings.openContentOnLoad).hide();
		}
		$accordionContents.eq(settings.openContentOnLoad).show();
	}


	if(settings.onOverClass != null && settings.onOverClass != "") {
		$accordionLinksWrapper.hover(function () {
			jQuery(this).siblings($accordionLinksWrapper).removeClass(settings.onOverClass);
			jQuery(this).addClass(settings.onOverClass);
		}, function () {
			jQuery(this).removeClass(settings.onOverClass);
		});
	}

	var $thisLink;
	$accordionLinksWrapper.click(function(){
		$thisLink = jQuery(this);
		posCurrent = $accordionLinksWrapper.index(this);
		if(settings.hideActiveLink) {
			$accordionLinks.show("fast");
			$accordionLinks.eq(posCurrent).animate({opacity: "hide"}, 500, 'linear');
		}

		if(settings.activeClass != null && settings.activeClass != "") {
			$thisLink.siblings($accordionLinksWrapper).removeClass(settings.activeClass);
			if( ! $thisLink.next("div").is(":visible") ) {
				$thisLink.addClass(settings.activeClass);
			} else {
				$thisLink.removeClass(settings.activeClass);
			}
		}

		$thisLink.next($accordionContents).slideToggle(settings.slideSpeed, function() {
			if(settings.afterChange != null && settings.afterChange != "") {
				settings.afterChange();
			}
		}).siblings("div:visible").slideUp(settings.slideSpeed);
		//$(this).parent().next("div").slideToggle(settings.slideSpeed, function () { $(this).siblings("div:visible").slideUp(settings.slideSpeed); });
	});

	// returns the jQuery object to allow for chainability.
    return this;

};
})(jQuery);






///////////////////////////////////////////////////////////////////////////////
// [JQuery CSS Image Replacement Plugin] //////////////////////////////////////
(function($) {
$.fn.cssir = function(options) {

	var defaults = {
		spanClassName:null,
		spanClassNameFromParent:null,
		onOver: false,
		onOverSuffix: "_oo"
	},
    settings = $.extend({}, defaults, options);

	return this.each(function() {
		var $this = $(this),
		$span, className;

		if(settings.spanClassName != null && settings.spanClassName != "") {
			className = settings.spanClassName;
		} else if(settings.spanClassNameFromParent != null && settings.spanClassNameFromParent != "") {
			className = $this.parents(settings.spanClassNameFromParent).attr("id") + "_span";
		} else {
			className = $this.attr("id") + "_span"; //$("#debug").append("<br />" + className);
		}

		$span = $('<span class="'+className+'"> </span>'); //$span = $(document.createElement("span"));
		$this.append($span);
		if(settings.onOver) {
			$this.hover(function () {
				$span.removeClass(className).addClass(className+settings.onOverSuffix);
			},function () {
				$span.removeClass(className+settings.onOverSuffix).addClass(className);
			});
		}

	});
};
})(jQuery);




(function($){$.fn.vslide=function(options){var defaults={slideLinksID:'vSlideLinks'},settings=$.extend({},defaults,options),$this=$(this),slideCurPos=-1,slideInterval,$slideLinks,$slideItems;$slideLinks=$("#"+settings.slideLinksID+" li a");$slideItems=$this.find("li");$slideLinks.attr({'href':'javascript:void(0)'}).eq(0).hide();$slideItems.slice(1).hide();$slideLinks.click(function(){if(slideCurPos!=$slideLinks.index(this)){slideCurPos=$slideLinks.index(this);$slideLinks.animate({opacity:"show"},500);$(this).animate({opacity:"hide"},50);$slideItems.hide().eq(slideCurPos).fadeIn("slow")}});return this}})(jQuery);

(function($){$.fn.hslide0=function(options){var defaults={previousLinkID:"slide-previous-link",nextLinkID:"slide-next-link",slideLinksID:'slideLinks',slideItemWidth:867,slideDelay:5000,slideSpeed:1500,slideOnLoad:true},settings=$.extend({},defaults,options),$this=$(this),slideCurPos=0,slideItemCount,slideInterval,$slideLinks,$slideItems;$slideLinks=$("#"+settings.slideLinksID+" li");$slideItems=$this.find("li.slide_item");$("#"+settings.slideLinksID+" a").attr({'href':'javascript:void(0)'});slideItemCount=$slideItems.size();if(settings.slideOnLoad){slideTo();slideInterval=setInterval(slideToNext,settings.slideDelay)}$("#"+settings.previousLinkID).attr({'href':'javascript:void(0)'}).click(function(){slideToPrevious()});$("#"+settings.nextLinkID).attr({'href':'javascript:void(0)'}).click(function(){slideToNext()});$slideLinks.click(function(){if(slideCurPos!=$slideLinks.index(this)){clearInterval(slideInterval);slideCurPos=$slideLinks.index(this);slideTo();if(settings.slideOnLoad){slideInterval=setInterval(slideToNext,settings.slideDelay)}}});function slideToPrevious(){clearInterval(slideInterval);slideCurPos--;if(slideCurPos<0){slideCurPos=slideItemCount-1}slideTo();if(settings.slideOnLoad){slideInterval=setInterval(slideToNext,settings.slideDelay)}}function slideToNext(){clearInterval(slideInterval);slideCurPos++;if(slideCurPos>=slideItemCount){slideCurPos=0}slideTo();if(settings.slideOnLoad){slideInterval=setInterval(slideToNext,settings.slideDelay)}}function slideTo(){$slideLinks.find("a").show();$slideLinks.eq(slideCurPos).find("a").hide();var slideTo=(slideCurPos*settings.slideItemWidth);$this.animate({marginLeft:"-"+slideTo+"px"},settings.slideSpeed)}return this}})(jQuery);



///////////////////////////////////////////////////////////////////////////////
// [JQuery Horizontal Slide Plugin] ///////////////////////////////////////////
(function($) {
$.fn.hslide = function(options) {

	var defaults = {
		previousLinkID: "slide-previous-link",
		nextLinkID    : "slide-next-link",
		slideLinksID  : 'slideLinks',
		slideItemWidth: 900,
		slideDelay    : 25000,  // How long a rest between transitions?
		slideSpeed    : 1500,  // How quickly should the items scroll?
		slideOnLoad   : true,
		redirectOnDoubleClick: true  //redirect to page if slideLink is doubleclicked
	},
    settings = jQuery.extend({}, defaults, options),
	$this = jQuery(this),
	slideCurPos = 0, slideItemCount, slideInterval, $slideLinks, $slideItems;

	$slideLinks = jQuery("#"+settings.slideLinksID+" li");
	$slideItems = $this.find("li");

   jQuery.each($slideLinks, function() {
	  jQuery(this).data("href", jQuery(this).find("a").attr("href"));
	  jQuery(this).find("a").attr({ 'href': 'javascript:void(0)' });
   });
   //jQuery("#"+settings.slideLinksID+" a").attr({ 'href': 'javascript:void(0)' });

	slideItemCount = $slideItems.size();

	if(settings.slideOnLoad) {
		slideTo();
		slideInterval = setInterval(slideToNext, settings.slideDelay);
	} else {
		slideTo();
	}

	jQuery("#"+settings.previousLinkID).attr({ 'href': 'javascript:void(0)' }).click(function() { slideToPrevious(); });
	jQuery("#"+settings.nextLinkID).attr({ 'href': 'javascript:void(0)' }).click(function() { slideToNext(); });

	$slideLinks.click(function() {
        if (slideCurPos != $slideLinks.index(this)){
          clearInterval(slideInterval);
          slideCurPos = $slideLinks.index(this);
          slideTo();
		  if(settings.slideOnLoad) { slideInterval = setInterval(slideToNext, settings.slideDelay); }
        }  else if (settings.redirectOnDoubleClick){
			window.location = jQuery(this).data("href");
		}
	});

	function slideToPrevious() {
	  clearInterval(slideInterval);
	  slideCurPos--;
	  if (slideCurPos < 0) { slideCurPos = slideItemCount - 1; }
	  slideTo();
	  if(settings.slideOnLoad) { slideInterval = setInterval(slideToNext, settings.slideDelay); }
	}

	function slideToNext() {
	  clearInterval(slideInterval);
	  slideCurPos++;
	  if (slideCurPos >= slideItemCount) { slideCurPos = 0; }
	  slideTo();
	  if(settings.slideOnLoad) { slideInterval = setInterval(slideToNext, settings.slideDelay); }
	}

	function slideTo() {
	  $slideLinks.find("a").show();
	  $slideLinks.eq(slideCurPos).find("a").hide();
	  $this.stop();
	  $slideItems.animate({opacity: "hide"}, 500);
	  $slideItems.eq(slideCurPos).animate({opacity: "show"}, 800);
	  //$slideItems.hide("slow");
	  //$slideItems.eq(slideCurPos).show("slow");
	  //var slideTo = (slideCurPos * settings.slideItemWidth);
	  //$this.animate({ marginLeft: "-" + slideTo + "px" }, settings.slideSpeed);
	}

	// returns the jQuery object to allow for chainability.
    return this;
};
})(jQuery);






///////////////////////////////////////////////////////////////////////////////
// [JQuery BUTTON Plugin] /////////////////////////////////////////////////////
(function($) {
$.fn.gclbutton = function(options) {
	var defaults = {
		fixedWidth   : false
		,baseClasses : "ui-button ui-widget ui-state-default ui-corner-all"
		,hoverClass  : "ui-state-hover"
		,focusClass  : "ui-state-focus"
	},
	maxWidth=0, thisWidth=0,
	settings = $.extend({}, defaults, options);

	this.each(function() {
		var $this = jQuery(this);
		$this.addClass( settings.baseClasses );
		jQuery( '<span class="ui-button-text">'+$this.text()+'</span>' ).appendTo( $this.empty() );
		$this.mouseenter(function(){
		   $this.addClass( settings.hoverClass );
		}).mouseleave(function(){
		   $this.removeClass( settings.hoverClass );
		});

		if(settings.fixedWidth) {
		   thisWidth = $this .width();
		   if(maxWidth < thisWidth) { maxWidth = thisWidth; }
		}
	});

	if(settings.fixedWidth) {
	   this.each(function() {
	      jQuery(this).width(maxWidth);
	   });
	}

	return this;
};
})(jQuery);
