
// console.log("~~~~~~~ TEST6 ~~~~~~~~~~");


function initToolbar(startArticle) {
	if(startArticle == '1292347500000') {
		$('body').addClass('clickables-static');
	}
	
	
	nymag.toolbarItemW = 180;
	nymag.toolbarLeftPad = 900;
	nymag.toolbarLeftOffset = 270;
	nymag.toolbarIncrement = 4;
	nymag.toolbarMoving = false;

	nymag.toolbarCurrentRight = 20;	
	nymag.toolbarCurrentLeft = 20;
	nymag.toolbarQueue = 0;
	nymag.toolbarArticles = new Array();
	nymag.toolbarNumItems = new Array();
	
	setToolbarClicks();

	
	//// TOOLBAR AJAX
	
	// url: "http://10.176.200.115:4502/content/nymag/ajax/jcr:content/clickables/set.loadjson.offset.10.json", 
	// clickables.json
	
	
	
	// getClickables(5,0,startArticle,'new');

	
	// TOOLBAR NAVIGATION	
	
	$("#toolbar .next").click(function(){
		if( $(this).hasClass('nextOff') === false ) {
			// ADD OLDER 5
			getClickables(4,nymag.toolbarCurrentRight,startArticle,'old');
		}
		
	});
	
	$("#toolbar .prev").click(function(){
		if( $(this).hasClass('prevOff') === false ) {
			// ADD NEWER 5
			getClickables(4,nymag.toolbarCurrentLeft,startArticle,'new');
		}
	});
	
	
	//// CHECK SCROLL COOKIE
	var toolbarCookie = readCookie('toolbarToggle');
	if( toolbarCookie == "off" ) {
		$('#toolbar').addClass('noscroll');
	}
	
	//// TOOLBAR SCROLLING
	
	var elemScroll1 = '#toolbar';
	var elemEnd1 = '#content';
	var startOffSet1 = 0;
	var endOffSet1 = 0;


	$(window).scroll(function() {
		scrollToolbar(elemScroll1,elemEnd1,startOffSet1,endOffSet1);
	});

	$(window).resize(function() {
		scrollToolbar(elemScroll1,elemEnd1,startOffSet1,endOffSet1);
	});
	
	// CLOSE TOGGLE
	// console.log("W/T: " + $('#toolbar-wrap').offset().top + " / " + $('#toolbar').offset().top );
	
	$('#toggle-scroll .off').click(function() {
		var toolbarOffset = $('#toolbar').offset().top - $('#toolbar-wrap').offset().top;
		
		if ( toolbarOffset < 110 ) {
			var toolbarReturn = -1 * toolbarOffset;
		} else {
			var toolbarReturn = "-110px";
		}

		$('#toolbar').animate({ top: toolbarReturn }, function() {
			$('#toolbar').addClass('noscroll');

			returnToolbar('#toolbar');

			setCookie('toolbarToggle','off','90');
		});
		

	});
	
	$('#toggle-scroll .on').click(function() {
		$(elemScroll1).removeClass('noscroll');
		$(elemScroll1).addClass('toggled');
		
		setCookie('toolbarToggle','on','90');
	});
}


function returnToolbar (elemScroll) {
	// RETURN TO BEGINNING
	$(elemScroll).stop(true, false);
	$(elemScroll).css('position','relative');
	$(elemScroll).css('top','auto');
	$(elemScroll).css('left','auto');
	$(elemScroll).css('width', $(elemScroll).parent().width() );
	$(elemScroll).removeClass('scrolling');

	nymag.firstScroll = 0;
}



function getClickables(limit,offset,startArticle,direction) {
		
	
	
	// console.log("TEST PATH: " + "/content/nymag/ajax/_jcr_content/clickables/set.limit:" + limit + ".offset:" + offset + ".start:" + startArticle + ".age:" + direction + ".json");
	
	if( nymag.toolbarMoving == false ) {
		// console.log("{{{{{ --------------------------- \n\n\n");
		
		nymag.toolbarMoving = true;

	
		nymag.toolbarQueue += 1;
		$.ajax({ 
			url: "/content/nymag/ajax/_jcr_content/clickables/set.limit:" + limit + ".offset:" + offset + ".start:" + startArticle + ".age:" + direction + ".json", 
			cache: false, 
			dataType: "json",
	        success: function(data){

				// console.log("SUCCESS");

				
				var thisQueue = nymag.toolbarQueue;
			
			
				nymag.toolbarNumItems[thisQueue] = data.items.length;
				// console.log("NUM ITEMS: " + nymag.toolbarNumItems[thisQueue] + "///// TQ:" + thisQueue );
				
				
				// $('#toolbar .content').css('left','-' + ( (numItems * nymag.toolbarItemW / 2) - 90 ) + 'px');


				// TRAVERSE ARTICLES
				nymag.toolbarArticles[thisQueue] = "";

				// console.log("array test:" + thisQueue);

				$.each(data.items, function(i,item){
					toolbarData = data;

					var title = this.title;
					var path = this.path;
					var rubric = this.rubric;

					var article = 
						"<article class='entry clickable "+ rubric + "' data-permalink='" + path + "' data-commentlink='false'>\n" +
					 
							"<a href='" + path + "'><span class='icon'></span>" +
								title + 
								"&nbsp;<span class='comment-tout'></span>" + 
							"</a>\n" +
						"</article>\n\n";

					
					if($.browser.msie && parseInt($.browser.version, 10) < 9 ) article = $(innerShiv(article, false));
				
					nymag.toolbarArticles[thisQueue] = nymag.toolbarArticles[thisQueue] + article;
					
					// console.log("THIS QUEUE:" + thisQueue);

				});
				
				
			
				// ADD ARTICLES TO TOOLBAR
				if ( direction == "old") {
					// console.log("- - - - - APPENDING");
					// console.log("TOOLBAR ARTICLE(old/append)[" + thisQueue + " / " + nymag.toolbarNumItems[thisQueue] + "]");
					
					$('#toolbar .content').width( $('#toolbar .content').width() + (nymag.toolbarNumItems[thisQueue] * nymag.toolbarItemW ) );
					$("#toolbar .content").append(nymag.toolbarArticles[thisQueue]);
				

				
					// SET OFFSET
					nymag.toolbarCurrentRight = nymag.toolbarCurrentRight + nymag.toolbarNumItems[thisQueue];
				
					// CLEAR ARTICLES
					nymag.toolbarArticles[thisQueue] = '';
				
				} else {
					// console.log("- - - - - PREPENDING");
					window.setTimeout(function() {
					
						// console.log("TOOLBAR ARTICLE(new/prepend)[" + thisQueue + " / " + nymag.toolbarNumItems[thisQueue] + "]");
					
						$('#toolbar .content').width( $('#toolbar .content').width() + ( nymag.toolbarNumItems[thisQueue] * nymag.toolbarItemW) );
						$("#toolbar .content").prepend(nymag.toolbarArticles[thisQueue]);
					
						var currentToolbarLeft = $("#toolbar .content").css('left').replace("px", ""); 
						var newToolbarLeft = currentToolbarLeft - ( 180 * nymag.toolbarNumItems[thisQueue] );
						$("#toolbar .content").css('left', newToolbarLeft );
					
					
						// CLEAR ARTICLES
						nymag.toolbarArticles[thisQueue] = '';
					
						resetToolbarButtons();
					
						// console.log("testing delay for:" + nymag.toolbarNumItems[thisQueue]   + "/////" + thisQueue + "\n\n\n\n\n\n");
					}, 800);

				
					// SET OFFSET
					nymag.toolbarCurrentLeft = nymag.toolbarCurrentLeft + nymag.toolbarNumItems[nymag.toolbarQueue];
				}
			
			
				// ASSIGN CLICKS
				setToolbarClicks();
			
				// GET COMMENT COUNTS
				nymag.echo.loadCommentTouts();

			
				// RESET BUTTONS
				resetToolbarButtons();

			
	        },
			error: function(data) { 
				// console.log("JSON Error: " + data); 
			}
		
		
		});
	
		// SLIDE OUTSIDE OF AJAX
		if ( direction == "old") {

			// SLIDE ENTRIES
			$("#toolbar").addClass('isSliding');
		
			$("#toolbar .content").animate({
				left: '-=' + ( nymag.toolbarItemW * nymag.toolbarIncrement ) + "px"
			}, '600', function() {
				// REMOVE PREV-NEXT OVERLAY CLASS
				$("#toolbar").removeClass('isSliding');
				nymag.toolbarMoving = false;
			
				// RESET BUTTONS
				resetToolbarButtons();
			});
		

		
		} else {

			// SLIDE ENTRIES
			$("#toolbar").addClass('isSliding');
		
			$("#toolbar .content").animate({
				left: '+=' + ( nymag.toolbarItemW * nymag.toolbarIncrement ) + "px"
			}, '600', function() {
				// REMOVE PREV-NEXT OVERLAY CLASS
				$("#toolbar").removeClass('isSliding');
				nymag.toolbarMoving = false;
			
			
				// RESET BUTTONS
				resetToolbarButtons();
			});

		}
		
		// console.log( "/////" + nymag.toolbarQueue + "---------------------------}}}}}}}");
		
	} // nymag.toolbarMoving
	
	
}

function setToolbarClicks() {
 // console.log("--- TOOLBAR CLICKS3 ---");
	
	$('#toolbar article a').unbind('click').click(function() {
		event.stopPropagation();
		event.preventDefault();
		
		if( $(this).parent().hasClass('clickable-on') === false ) {
		
			nymag.toolbarClickURL = $(this).attr('href');
			var thisIndex = $(this).parent().index();
			var selectedIndex = $('#toolbar article.clickable-on').index();
			var selectedLeft = $('#toolbar article.clickable-on').position().left;
		
			// console.log('THIS INDEX: ' + thisIndex + ' / selected Index: ' + selectedIndex);
		
			var moveAmount = nymag.toolbarItemW * (selectedIndex - thisIndex);
			var currPos = parseInt( $("#toolbar .content").position().left );
		
			// REMOVE SELECTED
			$('#toolbar article.clickable-on').removeClass('clickable-on');
			$(this).parent().addClass('clickable-on');
		
			// SLIDE ENTRIES
			$("#toolbar").addClass('isSliding');
		
			// console.log("DO ANIMATE:" + moveAmount + " | " + currPos + " | " + (currPos+moveAmount) );

			$('#content article.entry-clickables').animate({ opacity: '.25' }, 'fast');

			
			if( $('#content .prev').hasClass('prevOff') && thisIndex == 0 ) {
				moveAmount = moveAmount - nymag.toolbarItemW;
				
				// console.log("- - - - - SUBTRACTED " + nymag.toolbarItemW);
			}
			

				$("#toolbar .content").animate({
					left: ( selectedLeft - moveAmount + nymag.toolbarLeftOffset ) * -1 + "px"
				}, 'fast',function() {
					// REMOVE PREV-NEXT OVERLAY CLASS
					$("#toolbar").removeClass('isSliding');
				

			
					document.location.href = nymag.toolbarClickURL;
					//.replace('http://qa.nymetro.com/daily/entertainment/','http://author01.qa.nymetro.com:4502/content/nymag/daily/entertainment/').replace('.html','.html?wcmmode=disabled');
			
				});
			
		}

	});
	
}


function scrollToolbar(elemScroll,elemEnd,startOffSet,endOffSet) {	
	if (!nymag.originalPos) {
		nymag.originalPos = parseInt( $(elemScroll).offset().top );			
	}

	

	var scrollTop = $(window).scrollTop();
	var scrollEnd = $(elemEnd).offset().top + $(elemEnd).height() - $(elemScroll).height() - startOffSet - endOffSet;

	// console.log("Scroll position:" + scrollTop + " // Original position: " + nymag.originalPos + " / " + elemScroll + " / " + elemEnd + " / " + startOffSet + " // " + (nymag.originalPos+startOffSet) );
	
	if( scrollTop >= (nymag.originalPos-startOffSet) && $(elemScroll).hasClass('noscroll') === false  ) {
		$(elemScroll).addClass('scrolling');
		
		// console.log( "CLASS=" + $(elemScroll).attr('class') );
		
		$(elemScroll).css('position','fixed');
		$(elemScroll).css('top', (startOffSet + "px") );
		$(elemScroll).css('left', 'auto' );
		
		
		if( nymag.firstScroll !== 1) {
			
			// $(elemScroll).css('width', $(elemScroll).parent().width() );
			
		}
		
		nymag.firstScroll = 1;

	} else if (scrollTop < (nymag.originalPos-startOffSet) ) {
		returnToolbar(elemScroll);
	}
	


}

function resetToolbarButtons() {
	var contentWidth = $('#toolbar .content').width();
	var contentCenter = contentWidth + 900;
	var contentLeft = parseInt( $('#toolbar .content').css('left').replace("px","") );
	var contentThreshold = ( $('#toolbar').width() / 2 ) - 35;
	
	
	// console.log("Threshold: " + contentThreshold + " //// W:" + contentWidth + " / Center:" + contentCenter + " // From center:" + (  contentLeft + contentCenter ) );
	
	
	// NEXT BUTTON
	if( (contentLeft + contentCenter) <= contentThreshold ) {
		$("#toolbar .next").addClass("nextOff" );
		// console.log("~~~~ NEXT   OFF ~~~~" + contentLeft + "//" + contentCenter + "//" + contentThreshold);
		
		return "next off";
	} else {
		$("#toolbar .next").removeClass("nextOff");
	}
	
	// PREV BUTTON
	if ( contentLeft >= -1400 ) {
		$("#toolbar .prev").addClass("prevOff");
		// console.log("~~~~ PREV OFF ~~~~" + contentLeft);
		
		return "prev off";
	} else {
		$("#toolbar .prev").removeClass("prevOff");
	}
}


function scrollElement(elemScroll,elemEnd,startOffSet,endOffSet) {	
	if (!nymag.originalPos) {
		nymag.originalPos = parseInt( $(elemScroll).offset().top );			
	}

	

	var scrollTop = $(window).scrollTop();
	var scrollEnd = $(elemEnd).offset().top + $(elemEnd).height() - $(elemScroll).height() - startOffSet - endOffSet;

	// console.log("Scroll position:" + scrollTop + " // Original position: " + nymag.originalPos + " / " + elemScroll + " / " + elemEnd + " / " + startOffSet + " // " + (nymag.originalPos+startOffSet) );
	
	if( scrollTop >= scrollEnd ) {
		// STOP SCROLLING (END)
		
		// RESET LEFT/TOP
		$(elemScroll).css('left','auto');

		
		$(elemScroll).css('position','absolute');
		$(elemScroll).css('top', ( ( $(elemEnd).height() - $(elemScroll).height() - endOffSet ) + "px") );

		
	} else if( scrollTop >= (nymag.originalPos-startOffSet) ) {
		// START SCROLLING
		
		$(elemScroll).css('width', $(elemScroll).width() );
//		$(elemScroll).css('left', $(elemScroll).parent().offset().left );
		
		$(elemScroll).css('position','fixed');
		$(elemScroll).css('top', (startOffSet + "px") );
		
		$(elemScroll).addClass('scrolling');

	} else if (scrollTop < (nymag.originalPos-startOffSet) ) {
		// RETURN TO BEGINNING
		
		$(elemScroll).css('position','relative');
		$(elemScroll).css('top','auto');
		$(elemScroll).css('left','auto');
		$(elemScroll).removeClass('scrolling');

	}

}




function initRelatedStories() {

	var elemScroll1 = '#related-stories';
	var elemEnd1 = '#content-wrap-1';
	
	var endOffSet1 = 20;


	$(window).scroll(function() {
		var startOffSet1 = ( $(window).height() - $(elemScroll1).height() - 60 ); // was 100
		
		scrollElement(elemScroll1,elemEnd1,startOffSet1,endOffSet1);
	});

	$(window).resize(function() {
		var startOffSet1 = ( $(window).height() - $(elemScroll1).height() - 60 ); // was 100
		
		scrollElement(elemScroll1,elemEnd1,startOffSet1,endOffSet1);
	});
	
}

function evenColumns(elemID,selector) {
	nymag.evenColHeight = 0;
	
	$(elemID + " " + selector).each(function(){
		// console.log( "This H: " + $(this).height() );
		
		if( $(this).height() > nymag.evenColHeight ) {
			nymag.evenColHeight = $(this).height(); 
		}
	});
	
	$(elemID + " " + selector).css('height',nymag.evenColHeight + "px");
}

function initPartnerFeeds() {
	evenColumns('#partner-feeds','.content');
}

function initRatings() {
	$('#rating-stars,#rated-stars').mousemove(function(e){
		var x = e.pageX - $(this).offset().left;
		
		if( x <= 18 ) {
			// 1 star
			$(this).attr('class','rating-1');
		} else if( x > 18 && x <= 37 ) {
			// 2 stars
			$(this).attr('class','rating-2');
		} else if( x > 37 && x <= 56 ) {
			// 3 stars
			$(this).attr('class','rating-3');
		} else if( x > 56 && x <= 75 ) {
			// 4 stars
			$(this).attr('class','rating-4');
		} else if( x > 75 ) {
			// 5 stars
			$(this).attr('class','rating-5');
		}

	      // console.log(x +', '+ y);
	});
	
	
	$('#rating-stars,#rated-stars').click(function(e){
		thisClass = $(this).attr('class');
		
		$(this).attr('data-rating',thisClass);
		$('#rated-stars').attr('data-rating',thisClass);
		$('#rated-stars').attr('class',thisClass);
		
		$('#rate-wrap').fadeOut('fast',function() {
			$('#rated-wrap').fadeIn();
			$('#rated-wrap').addClass('just-rated');
			// 
			// $('#rated-wrap').mouseleave(function() {
			// 	$('#rated-wrap').removeClass('just-rated');
			// 	
			// 	console.log('moused out');
			// });
		});
	});
	
	
	
	$('#rating-stars,#rated-stars').mouseout(function(e){						
		thisDataRating = $(this).attr('data-rating');
		
		$(this).attr('class',thisDataRating);
	});
	
	
	// $('#rated-stars').mouseover(function(e){						
	// 	if( $('#rated-wrap').hasClass('just-rated') ) {
	// 		// do nothing
	// 	} else {
	// 		$('#rated-wrap').hide();
	// 		$('#rate-wrap').show();
	// 	}
	// });	
	
}


