(function (j){
	function site_scroll(){
		var link_master = j('#sitenavigation').find('a.onepage_link');
		var bodyWid = Math.ceil( j('.content_box').outerWidth() * j('.content_box').length );
		j('body').css('width', bodyWid + 'px');
		
		link_master.each(function(){
			var siteUrl = j("meta[name=url]").attr('content');
			var duration_time = j("meta[name=duration]").attr('content') * 1;
			var easing_effect = j("meta[name=easing]").attr('content');
			var theDiv = j(this).attr('href').replace( siteUrl, '');
			var leftOff = j(theDiv).offset();
			
			if( j(theDiv).parent() ){	
				var dParent = j(theDiv).parent();
				var parLeft = dParent.offset();
			}
			
			j(this).bind('click', function(e){
				e.preventDefault();

				j('.shown').removeClass('shown');
				j(this).addClass('shown');
				
				j.browser.opera  = /opera/.test(navigator.userAgent.toLowerCase());  
				if (j.browser.opera){
					if(leftOff.top != 0){
						if( j('html').scrollLeft() != parLeft.left ){
							j('html').stop().animate({scrollLeft: parLeft.left + 'px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect, 
									complete: function(){
										j(this).animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					} else {
						if( j('html').scrollTop() != 0 ){
							j('html').stop().animate({scrollTop: '0px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html').animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					}
				} else {
					if(leftOff.top > 0){
						
						if( j('html,body').scrollLeft() == parLeft.left ){
							j('html,body').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						} else if ( j('body').scrollLeft() == parLeft.left ) {
							j('html,body').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						} else {
							j('html,body').stop().animate({scrollLeft: parLeft.left + 'px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						}
					} else {
						if( j('html').scrollTop() != 0 || j('body').scrollTop() != 0 ){
							j('html,body').stop().animate({scrollTop: '0px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html,body').animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					}
				}

			});
		});
	};
	
	function detectSpecialURL(){
		var duration_time = j("meta[name=duration]").attr('content') * 1;
		var easing_effect = j("meta[name=easing]").attr('content');
		var ur = location.href.replace( '#', '?v=');
		var par = geronimo_grab_param('v', ur);
		
		if(par != ""){
			var leftOff = j('#'+par).offset();
			
			if( j('#'+par).parent() ){	
				var dParent = j('#'+par).parent();
				var parLeft = dParent.offset();
			}
			
				j.browser.opera  = /opera/.test(navigator.userAgent.toLowerCase());  
				if (j.browser.opera){
					if(leftOff.top != 0){
						if( j('html').scrollLeft() != parLeft.left ){
							j('html').stop().animate({scrollLeft: parLeft.left + 'px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect, 
									complete: function(){
										j(this).animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					} else {
						if( j('html').scrollTop() != 0 ){
							j('html').stop().animate({scrollTop: '0px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html').animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					}
				} else {
					if(leftOff.top > 0){
						
						if( j('html,body').scrollLeft() == parLeft.left ){
							j('html,body').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						} else if ( j('body').scrollLeft() == parLeft.left ) {
							j('html,body').animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						} else {
							j('html,body').stop().animate({scrollLeft: parLeft.left + 'px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollTop: leftOff.top + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						}
					} else {
						if( j('html').scrollTop() != 0 || j('body').scrollTop() != 0 ){
							j('html,body').stop().animate({scrollTop: '0px'}, 
								{
									queue:false, 
									duration: duration_time, 
									easing: easing_effect,
									complete: function(){
										j(this).animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
									}
								}
							);
						} else {
							j('html,body').animate({scrollLeft: leftOff.left + 'px'}, {queue:false, duration: duration_time, easing: easing_effect});
						}
					}
				}
		}
	};
	
	function geronimo_grab_param(name,url){
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );
		var results = regex.exec( url );
		if( results == null )
			return "";
			else
		return results[1];
	};
	
j(document).ready(function(){

	site_scroll();
	detectSpecialURL();
	

	j('#portfolio-filter a').click(function() {
		parent.location.hash = '#our_work';
		return false;
	});
	j('#portfolio-list li a').click(function() {
		var refs = j(this).attr('href');
		j('body').append('<div id="scraps"></div>');
		j('#scraps').load(refs + ' #leftside');	
        j(this).colorbox({innerWidth: '700px', height: '80%', inline: true, href: '#scraps', rel: 'nofollow', title: 'Portfolio', onCleanup: function() {
		 j('#scraps').remove();
		}});
	});
	j('#teamers .member').css('opacity', '0.7');
	j('#teamers .member').hover(function() {
	  j(this).fadeTo('slow', 0.9);	
	}, function() {
	  j(this).fadeTo('slow', 0.7);		 
	});
	j('#teamers .member').hover(function() {
		j(this).colorbox({width: '50%', height: '60%', html: function() {
			var bio = j(this).children('.bio').html();
			return bio;
		}
		});
	});
})})(jQuery);
