$(function(){
	browser(); 
	
	
	/* end conf Tabs */
	swapValues = [];
    $(".swap").each(function(i) {
        swapValues[i] = $(this).val();
        $(this).focus(function() {
            if ($(this).val() == swapValues[i]) {
                $(this).val("");
            }
        }).blur(function() {
            if ($.trim($(this).val()) == "") {
                $(this).val(swapValues[i]);
            }
        });
    });
	
	var $galleryShow = $('#galleryShow');
	if($galleryShow.length){
		theGallery($galleryShow);	
	}
	
	$('#backToTop').click(function(){scrollIt($('#top'));return false;});
	
	if($('.sitemap').length){
		$('h2+h2, h2+h3').addClass('afterH2');
		$('ul+h2').addClass('afterUl');
		$('h3+h2').addClass('afterH3');
	}
	
	
});

// Timers
jQuery.timer = function(time, func, callback) {
	var a = { timer: setTimeout(func, time), callback: null }
	if (typeof (callback) == 'function') { a.callback = callback; }
	return a;
};

jQuery.clearTimer = function(a) {
	clearTimeout(a.timer);
	if (typeof (a.callback) == 'function') { a.callback(); };
	return this;
};

//Smooth Scrolling
function scrollIt(where){
		$('html,body').animate(
			{scrollTop: where.offset().top},
			500
		  );	
	}


//adds classes to html and body for browser/version & os
(function($){$.browserTest=function(a,z){var u='unknown',x='X',m=function(r,h){for(var i=0;i<h.length;i=i+1){r=r.replace(h[i][0],h[i][1]);}return r;},c=function(i,a,b,c){var r={name:m((a.exec(i)||[u,u])[1],b)};r[r.name]=true;r.version=(c.exec(i)||[x,x,x,x])[3];if(r.name.match(/safari/)&&r.version>400){r.version='2.0';}if(r.name==='presto'){r.version=($.browser.version>9.27)?'futhark':'linear_b';}r.versionNumber=parseFloat(r.version,10)||0;r.versionX=(r.version!==x)?(r.version+'').substr(0,1):x;r.className=r.name+r.versionX;return r;};a=(a.match(/Opera|Navigator|Minefield|KHTML|Chrome/)?m(a,[[/(Firefox|MSIE|KHTML,\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape']]):a).toLowerCase();$.browser=$.extend((!z)?$.browser:{},c(a,/(camino|chrome|firefox|netscape|konqueror|lynx|msie|opera|safari)/,[],/(camino|chrome|firefox|netscape|netscape6|opera|version|konqueror|lynx|msie|safari)(\/|\s)([a-z0-9\.\+]*?)(\;|dev|rel|\s|$)/));$.layout=c(a,/(gecko|konqueror|msie|opera|webkit)/,[['konqueror','khtml'],['msie','trident'],['opera','presto']],/(applewebkit|rv|konqueror|msie)(\:|\/|\s)([a-z0-9\.]*?)(\;|\)|\s)/);$.os={name:(/(win|mac|linux|sunos|solaris|iphone)/.exec(navigator.platform.toLowerCase())||[u])[0].replace('sunos','solaris')};if(!z){$('html').addClass([$.os.name,$.browser.name,$.browser.className,$.layout.name,$.layout.className].join(' '));}};$.browserTest(navigator.userAgent);})(jQuery);
browser = function(){

            var OSName="Unknown OS";
            var browser = "";
            if (navigator.appVersion.indexOf("Mac")!=-1) OSName="Mac";
            if (navigator.appVersion.indexOf("Win")!=-1) OSName="PC";
            bodyClass = $.browser.className+OSName
            $("body").addClass(bodyClass);
//
}

/* The Gallery */
function theGallery($galleryShow){
	var $gallUl = $('ul', $galleryShow);
		var $galLi = $('li', $gallUl);
		var liWidth = $galLi.width() + parseInt($galLi.css('margin-right'));
		var fullUlWidth = (liWidth*$galLi.length) - parseInt($galLi.css('margin-right'));
		$galLi.last().addClass('last').css('margin-right','0');
		var $galImage = $('#galleryImage img');
		var $galTitle = $('#galleryInfo h2 a');
		var $galP = $('#galleryInfo p');
		var $galLeft = $('#galleryLeft');
		var $galRight = $('#galleryRight');
		$galLi.eq(0).children('a').addClass('active');
		
		$gallUl.width(fullUlWidth);
		$galLi.children('a').click(function(){
			var $this = $(this);
			var photo = {
				url:		$this.attr('data-url'),
				image:		$this.attr('data-large-image'),
				title:		$this.attr('data-title'),
				p:			$this.attr('data-p')
				
			}
			
			$this.addClass('active').parent().siblings().children('a').removeClass('active');
			$galImage.attr({'src':photo.image, 'alt': photo.title});
			$galP.html(photo.p);
			$galTitle.text(photo.title).attr('href', photo.url);
			return false;
		});
		
		
		$galLeft.click(function(){		
			clickArrow('previous');
			
			return false;									
		});
		
		$galRight.click(function(){		
			clickArrow('next');
			return false;									
		});
		
		var moveToX = 0;
		var currentML;
		var ulLength = fullUlWidth
		var move = $galleryShow.width() / liWidth;
		var maxMove = (ulLength - $galleryShow.width()) * (-1);
		function clickArrow(direction){
			currentML = parseInt($gallUl.css('margin-left'));
			x = 1;
			var cml = currentML;
			
			while(x <(move +1)){
				if(direction == 'previous'){
					if(moveToX < 0){
						moveToX = (cml+= liWidth);
						$galRight.removeClass('inactive');
						if(moveToX == 0){
							$galLeft.addClass('inactive');	
						}
					}
				}else if(direction == 'next'){
					if(moveToX > maxMove){
						moveToX = (cml-= liWidth);
						$galLeft.removeClass('inactive');
						if(moveToX == maxMove){
							$galRight.addClass('inactive');	
						}
					}
				}
				x+=1;	
			}
			$gallUl.animate({marginLeft:moveToX},500
							,function(){
								currentML = parseInt($gallUl.css('margin-left'));
							});
			return false;	
		}	
}

(function($) {
 $.fn._ie_select=function() { 
 	return $(this).each(function() { 
	var a = $(this),
    p = a.parent();
    p.css('position','relative');
	var o = a.position(),
		h = a.outerHeight(),
		l = o.left,
		t = o.top;

		var c = a.clone(true);

		$.data(c,'element',a);

		c.css({
				zIndex   : 100,
				height   : h,
				top      : t,
				left     : l,
				position : 'absolute',
				width    : 'auto',
				opacity  : 0
		}).attr({
				id    : this.id + '-clone',
				name  : this.name + '-clone'
		}).change(function() {
				$.data(c,'element')
						.val($(this).val())
						.trigger('change')
		});

		a.before(c).click(function() {
				c.trigger('click');
		});

}); // END RETURN

}; // END PLUGIN

        // Usage
        if ($.browser.msie) {
                $('select')._ie_select();
        }

})(jQuery); // END SAFETY
