$('html').addClass('hasjs');

Cufon.replace('#mnav h1', {
	hover: true,
	fontFamily: 'Black'
});

Cufon.replace('.home #mnav p, .home #mnav ul li, #artists li, #share li, #contact li, .artist p', {
	hover: true,
	fontFamily: 'Regular'
});

Cufon.replace('.artist-title', {
	hover: true,
	fontFamily: 'Bold'
});

Cufon.replace('.artist h2, h3, #work .hovertext p, strong', {
	hover: true,
	fontFamily: 'Medium'
});

var $j = jQuery.noConflict();

$j(document).ready(function() {
	$j('h3 + cufon, h2 + cufon, p + cufon').remove();
	
	
	
	if($j('.home').length > 0) {
		startHome();
	} else if ($j('.second').length > 0) {
		startSecond();
	};
	
	$j('.home #mnav h1').click(function(){
		if($j(this).next().is(':visible')) {
			$j(this).next().slideUp(300);
			$j(this).children('a').removeClass('selected').cufonRefresh('#mnav h1')
		} else {
			$j('.selected').parent().next().slideUp(300);
			$j('.selected').removeClass('selected').cufonRefresh('#mnav h1');
			$j(this).next().slideDown(300);
			$j(this).children('a').addClass('selected')
		}
		return false;
	});
	
	resizeWindow();
	//window resize resets position
	$j(window).bind("resize", resizeWindow);

	function resizeWindow(e) {
		var windowH = $j(window).height();
		//console.log(windowH)
		var rapH = $j('#rap').height() + 35;
		//console.log(rapH);
		var h = (windowH - rapH)/2
		//console.log(h);
		if ( h >= 35 ) {
			$j('#rap').css('margin-top', h);	
		} else {
			$j('#rap').css('margin-top', '35px');
		}
		
		//var newWindowWidth = $j('#comments .rightCol').width();
		//var scale = newWindowWidth / oldWidth;
		//$j('#imgwrapper, #imgcontainer, #imgcontainer .before, #imgcontainer .after, #markercontainer').css();
	};

	//hover over home artists links	
	$j('.home #artist-link li a, #artists li a').hover(
	function(){ //hover on
		var index = $j(this).parent('li').prevAll().length;
		$j('.artist:eq(' + index + ')').show(0).fadeTo(0, 1);
			
	var pos = $j(this).offset();
	var width = $j(this).width();
	var pushLeft = width + 42; //compensate for margin on header
	var marginT = parseInt($j('#rap').css('margin-top').replace('px', ''));
	//console.log(marginT);
	var boxTop = ((pos.top - 158) - (marginT -35 )); //compensate for margin on header
	//console.log(pushLeft);
	//console.log(boxTop);
	$j('.home .artist').css('left', pushLeft + 'px').css('top', '' + boxTop + 'px').css('background-position', '0px 120px');
	
	}, function() { //hover off
		$j('.artist').hide(0);
	});
	
	
	//hover over share div and contact div
	$j('.home #contact-link p a, .home #share-link p a').hover(
		function(){ //hover on
			$j(this).addClass('hover');
			var link = $j(this).attr('href').replace('#', '');
			$j('#' + link + '').show(0).fadeTo(0, 1);
				
		var pos = $j(this).offset();
		var width = $j(this).width();
		var rapPos = $j('#rap').offset();
		//console.log(pos.left - rapPos.left);
		var pushLeft = pos.left - rapPos.left + width //compensate for margin on header
		var marginT = parseInt($j('#rap').css('margin-top').replace('px', ''));
		var boxTop = ((pos.top - 158) - (marginT -35 )); //compensate for margin on header
		
		$j('#' + link + '').css('left', pushLeft + 'px').css('top', '' + boxTop + 'px').css('background-position', '0px 120px');
		
		// add sliders
		if ($j('.home #share .wrapper').height() < $j('.home #share ul:not(ul ul)').height()) {
			var containHeight = $j('.home #share .wrapper').height();
			var fullHeight = $j('.home #share ul:not(ul ul)').height();
			var difference = containHeight - fullHeight;
			var proportion = containHeight/fullHeight;		//get difference between container and inner heights
			//console.log(difference);
			
			if( $j('.home #share .innercontainer').length > 0 ) {
			} else {
				$j('.home #share ul:not(ul ul)').wrap('<div class="container"><div class="slide"><div class="innercontainer"></div></div></div>')
				$j('.home #share .wrapper').append('<div class="sliderwrapper"><div class="slider"></div></div>');
				
				$j('.home #share .slider').slider({
					orientation: "vertical",
					range: false,
					min: 0,
					max: 100,
					value: 100,
					slide: function(event, ui) {
						$j('#share .innercontainer').css('top' , (-( -difference - ((ui.value/100) * -difference))) );
					}	
				});
			}
		
		var sliderH = 353 * proportion;
			//console.log(sliderH);
			
		$j('.home #share .ui-slider-handle').css('height', sliderH).css('margin-bottom', -sliderH/2);
		$j('.home #share .wrapper .slider').css('height', (453-sliderH)).css('margin-top', sliderH/2);

		} //end slider

		}, function() { //hover off
			$j(this).removeClass('hover');
			var link = $j(this).attr('href').replace('#', '');
			window.setTimeout(function() {
			 if( $j('#' + link + '').hasClass('hover') ) {
			 } else {
			 	$j('#' + link + '').hide(0);
			 	$j('#share .innercontainer').css('top', '0px');
				$j('#share .ui-slider-handle').css('bottom', '100%');
			 }
			}, 1000);
		
	});
	
	
	//sliders for #morecontent
	function secondSlider() {
		$j('#morecontent #share li .wrapper').each(function(){
			var h1 = $j(this).height();
			var h2 = $j(this).children('ul').height();
			
			if( $j(this).height() < $j(this).children('ul').height() ) {
				var containHeight = $j(this).height();
				var fullHeight = $j(this).children('ul').height();
				var difference = containHeight - fullHeight;
				var proportion = containHeight/fullHeight;		//get difference between container and inner heights
				
				$j('#morecontent #share li .wrapper').append('<div class="sliderwrapper"><div class="slider"></div></div>');
				$j(this).find('.slider').slider({
					orientation: "vertical",
					range: false,
					min: 0,
					max: 100,
					value: 100,
					slide: function(event, ui) {
						$j(this).parents('.wrapper').children('ul ul').css('top' , (-( -difference - ((ui.value/100) * -difference))) );
					}
				});
				
				var sliderH = 370 * proportion;
				
				$j(this).find('.ui-slider-handle').css('height', sliderH).css('margin-bottom', -sliderH/2);
				$j(this).find('.slider').css('height', (470-sliderH)).css('margin-top', sliderH/2);
			}
		});
	}
	
	
	$j('.home #contact, .home #share').hover(
		function(){ 
			$j(this).addClass('hover');
		}, function(){
			$j(this).removeClass('hover');
			/*window.setTimeout(function() {
			 if( $j('.home #contact-link p a').hasClass('hover') ) {
			 } else {*/
			 	$j(this).hide(0);
			 	$j('#share .innercontainer').css('top', '0px');
				$j('#share .ui-slider-handle').css('bottom', '100%');
			 /*}
			}, 1000);*/
	});
	
	$j('.home #contact-link p a, .home #share-link p a:first').click(function(){ return false; } );
	
	// second main nav clicks
	$j('.second #share-link a').click(function(){
		$j('#artists, #contact').fadeTo(100,0).hide();
		$j(this).mnavSelect();
		if ( $j('.ui-slider').length > 0 ){} else{
			secondSlider();
		}
		return false;
	});
	
	$j('.second #artist-link a').click(function(){
		$j('#contact, #share').fadeTo(100,0).hide();
		$j(this).mnavSelect();
		return false;
	});
	
	$j('.second #contact-link a').click(function(){
		$j('#artists, #share').fadeTo(100,0).hide();
		$j(this).mnavSelect();
		return false;
	});
	
	$j('#shadowbox-close').live('click', function(){
		$j('#lightboxwall').remove();
		return false;
	});
    
  function mycarousel_initCallback(carousel) {
    $j('#scrollbtn-rt').live('click', function() {
    	return false;
    });

    $j('#scrollbtn-lft').live('click', function() {
    	return false;
    });
	};
	
  function mycarousel_buttonNextCallback(carousel, button, enabled) {
  	if (enabled == true){
  		$j('#scrollbtn-rt').fadeTo(0, 1);
  	} else {
  		$j('#scrollbtn-rt').fadeTo(0, 0.25);
  	}
  }
  
  function mycarousel_buttonPrevCallback(carousel, button, enabled) {
  	if (enabled == true){
  		$j('#scrollbtn-lft').fadeTo(0, 1);
  	} else {
  		$j('#scrollbtn-lft').fadeTo(0, 0.25);
  	}
  }
    
  $j("#work ul:first").jcarousel({
	  scroll: 3,
	  initCallback: mycarousel_initCallback,
	  buttonNextCallback: mycarousel_buttonNextCallback,
      buttonPrevCallback: mycarousel_buttonPrevCallback,
	  // This tells jCarousel NOT to autobuild prev/next buttons
	  buttonNextHTML: '<a id="scrollbtn-rt" href=""><img src="img/basic/btn-rt.gif" alt=""/></a>',
	  buttonPrevHTML: '<a id="scrollbtn-lft" href=""><img src="img/basic/btn-lft.gif" alt=""/></a>'
		
  });
  

  //if ( $j('#work ul:first img').length >= 3 ) {
  	$j('#portfolio').append('');
  //}

	if ( $j('#work ul:first img').length <= 3 ) {
		$j('#scrollbtn-lft').fadeTo(0,0.25).css({'backgroundColor' : '#464646' , 'cursor' : 'default'});
		$j('#scrollbtn-rt').fadeTo(0,0.25).css({'backgroundColor' : '#464646' , 'cursor' : 'default'});
		
	}


    
   $j('.second #work li:not(li li) a').hover(
   	function(){
   		var text = $j(this).find('img').attr('alt');
   		//console.log(text);
   		$j(this).prepend('<div class="hovertext"><p>' + text + '</p></div>').find('.hovertext').fadeTo(0,0,function(){
   			var h = $j(this).children('p').height();
   			var pmar = ((200 - h)/2) -5 + 'px';				//get top margin for element
   			$j(this).children('p').css('margin-top', pmar)
   			Cufon.replace('#work .hovertext p', {
					fontFamily: 'Medium'
				});
   			
   		}).fadeTo(200,1);
   	}, function() {
   		$j('.hovertext').remove();
   	}
   );
   
  //replacement lightbox
  $j('#work li a').live('click', function(){
  	//get dimensions from rel value
  	//get href
  	var href= $j(this).attr('href');
  	var dim = $j(this).attr('rel').split(';');
  	dim[1] = dim[1].replace('height=', '');
  	dim[2] = dim[2].replace('width=', '');
  	//console.log(dim[1] + ', ' + dim[2]);
  	
  	$j('body').append('<div id="lightboxwall"><div id="lightbox" style="width: ' + dim[2] +'px;"><a href="#" id="shadowbox-close">Close</a><div class="wrapper"><object id="sb-content" height="' + (parseInt(dim[1]) + 16) + '" width="' + dim[2] + '" data="' + href + '" type="video/quicktime" kioskmode="true" name="sb-content"><param value="' + href + '" name="src"/><param value="aspect" name="fixed"/><param value="true" name="controller"/><param value="true" name="autoplay"/></object></div></div></div>').find('#lighboxwall').fadeTo(0,0, function(){
  		$j(this).fadeTo(1, 300);
  	});
  	$j(this).siblings('.details').clone().appendTo('#lightbox').fadeTo(0,0, function(){
  		Cufon.replace('#lightbox .details li', { fontFamily: 'Bold'});
			Cufon.replace('#lightbox .details li span', { fontFamily: 'Regular'});
  	}).fadeTo(0,1);
  	
  	return false;
  });
	
});

/*******************/
/** JS FUNCTIONS **/
/*******************/

/** GLOBAL functions **/
jQuery.fn.cufonRefresh = function(selectors) {
	Cufon.refresh(selectors);
};


jQuery.fn.mnavSelect = function() {
	if( $j(this).hasClass('selected-scrim') ) {
		var href= $j(this).attr('href');
		
		$j('#morecontent, #morecontent ' + href + '').show().fadeTo(100, 1);
		
	} else {
		$j('#mnav .selected').removeClass('selected').cufonRefresh('#mnav h1');
		$j('#mnav .selected-scrim').removeClass('selected-scrim').cufonRefresh('#mnav h1');
		$j('#morecontent ul ul').css('top', '0px');
		$j('#morecontent .ui-slider-handle').css('bottom', '100%');
		
		return this.each(function() {
			var href= $j(this).attr('href');
			//console.log(href);
			//$j('#morecontent div:not(div' + href + ')').fadeTo(100,0).hide();
			$j(this).addClass('selected-scrim');
			$j('#morecontent, #morecontent ' + href + '').show().fadeTo(100, 1);
		});
	}
}

/** HOME PAGE functions **/
//page opens
function startHome() {
	$j('.artist, #share, #contact').hide(0);
	$j('#mnav h1').next().slideUp(0);
};

/** ARTIST PAGE functions **/
function startSecond() {
	$j('#morecontent').prepend('<a id="close-btn" href="#">Close</a>');
	$j('#morecontent, #morecontent #share, #morecontent #artists, #morecontent .artist, #morecontent #contact').fadeTo(100, 0, function(){
			$j(this).hide();
		});
	$j('#close-btn').live('click', function(){
		$j('#morecontent, #morecontent #share, #morecontent #artists, #morecontent #contact').fadeTo(100, 0, function(){
			$j(this).hide();
		});
		return false;
	})
};