/*Modal plugin*/

(function($){
	$.fn.extend({ 
		Modal: function(options){
			var defaults = {
				isOpen : false,
				title: '',
				windowName: 'modalwindow',
				hash: []
			};
		var options = $.extend(defaults, options);
	
    		return this.each(function(i, obj) {
			
				openWindow(obj);
				var displayed = false;
				function openWindow(obj){
					
					var index = $(obj).parent().attr("href");
					index = index.substr(19, index.length);
					if(!this.isOpen){
						if(!$('#modalwindow').length > 0){
							$('body').append('<div id="modalwindow" class="modalbox"><div id="modalwindow-shadow" class="mshadow"></div><div id="modalwindow-container" class="mcontainer allround"><a href="javascript:void(0);" class="close dark a">close - X</a><h2 id="modalwindow-title"  class="mtitle pill"><span>@celebirdies</span></h2><div id="modalwindow-content"  class="mcontent"><ul id="imgview"></ul></div></div></div>');
						}
						this.isOpen = true;
						$('#modalwindow').addClass('open');
						$('#modalwindow').height($(document).height()).width($(document).width());
						$('#modalwindow-container').css({'top':$('#modalwindow').offset().top+'px'});
						var slides = $(obj).closest('ul').clone().attr('id','modalwindow-slides').attr('style', '');
						$(slides).find('img').each(function(){
							$(this).removeClass('allround');
							if($(this).attr('src').match('thumb')){
								imgsrc = $(this).attr('src');
								newsrc = imgsrc.replace("/thumb/", "/mini/");
								$(this).attr('src', newsrc).attr('width',75).attr('height',75);
							}
						});
						//$(modalWin).get(this.windowName+'-container').css('');
						$('#modalwindow').show(1, function(){
							title = $('#modalwindow-title').html('<span>@'+obj.alt+' pics</span>');
							$(this).find('a.close').click(function(){
								closeWindow();
							});
							$('#modalwindow-content').append(slides);
							$('#modalwindow-slides').find('img').each(function(){
								$(this).click(function(e){
									e.preventDefault();
									$(this).Modal();
								});
							});

						});
						
					} else {
						//console.log($(obj).closest('ul')[0].id == 'modalwindow-slides');
						var inView = false;
						if($(obj).closest('ul')[0].id == 'modalwindow-slides'){
							inView = true;
						}
						//console.log(inView)
						if(!inView){
							$('#modalwindow-container').css({'top':$('#modalwindow').offset().top+'px'});
							$('#modalwindow').show();
						}
						
						
						$('#modalwindow-content #imgview').find('li').each(function(){ 
								$(this).fadeOut("slow");
						});
						if($('#imgview li.'+index).length > 0){
								$('#imgview li.'+index).fadeIn("slow");
								$('#modalwindow-container').animate({'height':parseInt($('#imgview li.'+index).height()+48)+'px'});
								$('#modalwindow-slides').animate({'height':parseInt($('#imgview li.'+index).height())+'px'});
								displayed = true;
						}
					}
					if(!displayed){
						var bigImg = new Image();
						bigImg.src = obj.src.match("/thumb/")?obj.src.replace("/thumb/", "/large/"):obj.src.replace("/mini/", "/large/");
						$(bigImg).css({'max-width': '600px'});
						
						var wrapper = document.createElement('li');
						var link = $(obj).parent().clone().html('');
						$(link).attr('target','_blank');
						if(obj.title != '') { $(link).append('<p>'+obj.title+'</p>'); }
						$(link).append(bigImg);
						$(wrapper).attr('class', index);
						$(wrapper).append(link);
						$('#modalwindow-content ul#imgview').append(wrapper);
						bigImg.onload = function(){
							
							$('#modalwindow-container').animate({'height':parseInt($(this).height()+48)+'px'});
							$('#modalwindow-slides').animate({'height':(parseInt($(this).height())-12)+'px'});
						}
					}
				}
				
				function closeWindow(){
					defaults.isOpen = false;
					$('#modalwindow').hide();
				}
				function getNext(trigger, img){
					var parent = $(img).closest('li');
					var offleft = $('#modalwindow-content ul').css('left').replace('px','');
					
					console.log($(parent).prev().find('img'));
					switch(trigger.className){
						case 'prev':
							if($(parent).prev()){
								$(parent).prev().find('img').Modal();
								$('#modalwindow-content ul').animate({'left':(parseInt(offleft)+600)+'px'}, 1500, 'swing');
							}
						break;
						case 'next':
							if($(parent).next()){
								$(parent).next().find('img').Modal();
								$('#modalwindow-content ul').animate({'left':(parseInt(offleft)-600)+'px'}, 1500, 'swing');
							}
						break;
					}
				}
				
			});
		}
	});
})(jQuery);