Array.implement({
shuffle:function() {
this.sort(function (x,y) { return Math.floor(Math.random()*3)-1; });
return this;
}
});

function indexFilter()
{ 
	var page_var = location.toString();
	var url_array = new Array();
	url_array = page_var.split('/');
	
	var section = url_array[4];
  
	
	// set up rules for filter
	var filterTagsBtn = document.id('filter_tags_btn');
	var filterPathwaysBtn = document.id('filter_pathways_btn');
	var filterTagsDiv = document.id('filter_tag');
	var filterPathwaysDiv = document.id('filter_pathway');	
	
	if(section == 'pathway')
	{
		// show tags
		filterTagsDiv.setStyle('display','none');
		filterTagsBtn.removeClass('selected_link');
		
		filterPathwaysDiv.setStyle('display','block');
		filterPathwaysBtn.addClass('selected_link');
	}
	else
	
	{
		// show tags
		filterTagsDiv.setStyle('display','block');
		filterTagsBtn.addClass('selected_link');
		
		filterPathwaysDiv.setStyle('display','none');
		filterPathwaysBtn.removeClass('selected_link');
	}
	
	
	filterTagsBtn.addEvent('click', function(evt, el) { 
		evt.preventDefault();
		filterTagsBtn.addClass('selected_link');
		filterPathwaysBtn.removeClass('selected_link');
		
		filterTagsDiv.setStyle('display','block');
		filterPathwaysDiv.setStyle('display','none');
		
		// clear tags
		document.id('filter_tag_form').getElements('input').each(function(quickel) { 
			quickel.checked = false; 
		}); 
		document.id('filter_pathway_form').getElements('input').each(function(quickel) { 
			quickel.checked = false; 
		});
		
		
		var postPathwayRequest = new Request({method: 'post', url: '/filter/', onSuccess: function(response) { document.id('main_thumbs').set('html', response); }});
		postPathwayRequest.send('data= '); 
		
	});
	
	filterPathwaysBtn.addEvent('click', function(evt, el) { 
		evt.preventDefault();
		filterTagsBtn.removeClass('selected_link');
		filterPathwaysBtn.addClass('selected_link');
		
		filterTagsDiv.setStyle('display','none');
		filterPathwaysDiv.setStyle('display','block');
		
		// clear tags
		document.id('filter_tag_form').getElements('input').each(function(quickel) { 
			quickel.checked = false; 
		}); 
		document.id('filter_pathway_form').getElements('input').each(function(quickel) { 
			quickel.checked = false; 
		});
		
		var postPathwayRequest = new Request({method: 'post', url: '/filter/', onSuccess: function(response) { document.id('main_thumbs').set('html', response); }});
		postPathwayRequest.send('data= '); 
		
	});
	
	document.id('filter_pathway').addEvents({
		'click:relay(a)': function(evt, el) 
		{  
			evt.preventDefault();  
		}
	});
	
	
	// clear tags
	document.id('filter_tag_form').getElements('input').each(function(quickel) { 
		quickel.checked = false; 
	}); 
			
			
	// search for tags
	var postTagRequest = new Request({method: 'post', url: '/filter/tags/', onSuccess: function(response) { document.id('main_thumbs').set('html', response); }});

	document.id('filter_tag_form').addEvents({
		'click:relay(input)' : function(evt, el) {
			
			if(el.getParent('label.filter_label').get('class')=='filter_label'){
				el.getParent('label.filter_label').addClass('checked');
			}
			else if(el.getParent('label.filter_label').get('class')=='filter_label checked'){
				el.getParent('label.filter_label').removeClass('checked');
				el.getParent('label.filter_label').addClass('unchecked');
			}
			else if(el.getParent('label.filter_label').get('class')=='filter_label unchecked'){
				el.getParent('label.filter_label').addClass('checked');
				el.getParent('label.filter_label').removeClass('unchecked');
			}
			
			var checkedLength = document.id('filter_tag_form').getElements('input:checked').length;
			var checkedArray =  new Array();
			checkedArray = document.id('filter_tag_form').getElements('input:checked');
						 
			var postArray = new Array();
		 	for(c=0; c < checkedLength; c++)
			{
				 postArray.push(checkedArray[c].get('id'));
	 		} 
	 		
	 		postTagRequest.send('data='+postArray.toString()); 
		}
	}); 	
	
	// search for pathway
	var postPathwayRequest = new Request({method: 'post', url: '/filter/pathway/', onSuccess: function(response) { document.id('main_thumbs').set('html', response); }});
		
	document.id('filter_pathway_form').addEvents({
		'click:relay(input)' : function(evt, el) {
			
			document.id('filter_pathway_form').getElements('input:checked').each(function(quickel) {
				quickel.getParent('label.filter_label').removeClass('checked');
				quickel.checked = false; 
			}); 
			
			var d = function()
			{
				el.getParent('label.filter_label').addClass('checked'); 
				el.checked = true;
				
				var checkedLength = document.id('filter_pathway_form').getElements('input:checked').length;
				var checkedArray =  new Array();
				checkedArray = document.id('filter_pathway_form').getElements('input:checked');
							 
				var postArray = new Array();
			 	for(c=0; c < checkedLength; c++)
				{
					 postArray.push(checkedArray[c].get('id'));
		 		} 
		 		
		 		postPathwayRequest.send('data='+postArray.toString());
		 	}
		 	d.delay(500); 
		}
	}); 	
	

	/// thumbnail loader
	var thumbs = $$('div.index_thumb');
	thumbs.setStyle('opacity', 0);
		
	var thumbArray = new Array();
	var thumbImgArray = new Array();
	var totalThumbs = thumbs.length;
	
	for(var i=0; i<totalThumbs; i++)
	{
		thumbImgArray.push(thumbs[i].getElement('img') );
       	// clean up dom
       	thumbImgArray[i].destroy();
		thumbArray.push(thumbs[i]);
	} 
	
	var thumbImages = new Asset.images([thumbImgArray], {
    	onComplete: function(){
       		thumbImgArray.each(function(im, index) { 
       			 
     			// inject image
    			new Element('img',{ src:im.get('src'), height:75 }).inject(thumbs[index].get('id')); 
    			    			
    			// if we are on the last elment
    			if(index == Math.round(thumbImgArray.length-1)){
        			// shuffle the thumbs up
	        		thumbs.shuffle().shuffle();
		 			
		 			// fade them in sequentially 
					thumbs.each(function(el, index){
					 	(function() { el.fade('in')}).delay(index+(20*index))
					});
    			}
    		});        			
   		}
	});
	
	// preview content
	var previewEl = document.id('preview_content');
	var previewDisplayEl = document.id('preview_display_content');	
	
	var previewFx = new Fx.Morph(previewEl, { duration: 500, transition: Fx.Transitions.Sine.easeOut });
	document.id('main_thumbs').addEvents({
		'click:relay(div.index_thumb)' : function(evt, el)
		{
			var previewElSize = previewEl.getSize();
			if(previewElSize.y > 1)
			{
				
			}
				else
			{
				previewFx.start({
					'display':'block',
					'height':[0,300]
				});
			}
			
			var scrollToTopFx = new Fx.Scroll(window).toTop();
			
			var previewRequest = new Request({'url': '/preview/'+ this.get('id').replace('thumb_','') + '/' , method: 'get',
				onSuccess: function(response){
					previewDisplayEl.set('html',response);
					previewDisplayEl.fade(0,1);
					document.id('close_button').fade(0.8,0.8)
					
					document.id('close_button').addEvents({
							
						'click' :  function(){ 
							previewFx.start({
							'display':'none',
							'height':[300,0]
						});
						},
					'mouseover':function()
					{
						document.id('close_button').setStyle('color', '#000');
					},
					'mouseout':function()
					{
						document.id('close_button').setStyle('color', '#666');
					}
				});
				
		
				}
			}).get();
		},
		'mouseover:relay(div.index_thumb)' : function(evt, el)
		{
			this.set('morph', {duration: 200, transition: 'linear'});
			this.morph({opacity: 0.5});
		},
		'mouseout:relay(div.index_thumb)' : function(evt, el)
		{
			this.set('morph', {duration: 200, transition: 'linear'});
			this.morph({opacity: 1});
		}
		
	});
	
	

}
 
 
function indexSize()
{
	
		document.id('preview_content').setStyle('overflow-x', 'hidden');

	var thumbContainer = document.id('main_thumbs');
	var windowSize = document.window.getSize();
	
	var totalYRows = Math.round(windowSize.y/110)-1;
	var newHeight = Math.round(totalYRows*110)
		
	 if((navigator.userAgent.match(/iPad/i))){
		
		thumbContainer.setStyles({
		'width': 1500,
		'height': newHeight,
		'overflow': 'visible'
		});	
			 		
	} else {
		
		thumbContainer.setStyles({
		'width': windowSize.x,
		'height': newHeight,
		'overflow': 'visible'
		});	
	}
	 	
	
	var previewEl = document.id('preview_content');
	previewEl.setStyle('width', 1000)
}


function followStudent()
{	
	var leftCol = document.id('student_meta');
	var windowPos = window.getScroll();
	var windowSize = document.window.getSize();

	if(windowPos.y > 140)
	{
		 leftCol.setStyles({'top': -58, 'position': 'fixed', 'width': windowSize.x, 'height':20, 'padding-top': 7, 'background-color' :'#F8F8F8', 'z-index':99 });
		 
	}
		else
	{
		leftCol.setStyles({'top': 0, 'position': 'relative', 'width': 1050, 'padding-top': 0 });
	}  
}


function share() {

	var fbShare = document.id('fb_share');
	var twShare = document.id('tw_share');
	
	var newfbshare = new Element('a', {id: 'fb_share_link', 'href': 'http://www.facebook.com/sharer.php?u='+window.location, 'target' : '_blank'});
	var newtwshare = new Element('a', {id: 'fb_share_link', 'href': ' http://twitter.com/home?status='+window.location, 'target' : '_blank'});
	newfbshare.wraps(fbShare);
	newtwshare.wraps(twShare);
 
}
