/**
 * @author erbilir
 */

var currBigPhotoOrder;


$(document).ready(function(){
	
	currBigPhotoOrder = 0;
	
	//$("body").css('height', window.innerHeight+"px");
	//$("#MainLeft").css('height', (window.innerHeight-55)+"px");
	Skrolla("#MenuWrapper1");
	Skrolla("#MenuWrapper2");
	Skrolla("#MenuWrapper3");
	Skrolla("#MenuWrapper4");

	//SkrollaText("#Content", "#ProductionContent");
	
	//$('#scrollbar1').tinyscrollbar();
	
	CheckEmptyWorkHeaders();
	SetImgClicks();
	
	window.onresize = function(){
		
		if($("#LightBoxWrapper").is(':visible'))
		{
			if($.browser.msie)
			{
				//alert($("#MainPhotoBigDiv").height());
				$("#MainPhotoBigDiv img").css('height', $("#MainPhotoBigCanvas").height()+"px");
			}
		}
		
		if(window.innerHeight>645)
		{
//			$("body").css('height', window.innerHeight+"px");
//			$("#MainLeft").css('height', (window.innerHeight-55)+"px");
//			$("#MainRight").css('height', (window.innerHeight-55)+"px");
		}
		
	};
	
	
	//$('.sc_menu_wrapper').css('height', ''+((screen.height*600)/768)+'px');
	
	$(".prodHeaderIn").bind('mouseup', function(){
		if($(this).html().charAt($(this).html().length-1)=='+')
		{
			$(this).parent().css('height', 'auto');
			$(this).parent().children(".prodItemIn").slideDown();
			var headerValues = $(this).html().split('+');
			$(this).html(headerValues[0]+"-");
		}
		else
		{
			$(this).parent().stop().animate({
				height: '20px'
			});
			$(this).parent().children(".prodItemIn").slideUp();
			var headerValues = $(this).html().split('-');
			$(this).html(headerValues[0]+"+");
		}
	});
	
	$("#SpeHover").bind('mouseover', function(){
		$("#SpecialSpot").css('left', '370px');
		$("#SpecialSpot").stop().animate({
			left: '30px'
		}, 200, 'easeOutQuad');
	});
	$("#SpeHover").bind('mouseleave', function(){
		$("#SpecialSpot").stop().animate({
			left: '-200px'
		}, 200, 'easeInQuad');
	});
	
});

function CheckEmptyWorkHeaders()
{
	var proHeaders = $('.prodHeader');
	for(var i=0; i<proHeaders.length; i++)
	{
		if($(proHeaders[i]).children('.prodItemIn').length<1)
		{
			$(proHeaders[i]).remove();
		}
	}
}

function SetImgClicks()
{
	$(".mainPhotoItemImg").bind('mouseup', function(){
		
		$("#MainPhotoBigDiv").find('img').attr('src', '');
		$("#LightBoxWrapper").css('display', 'block');
		$("#MainPhotoCanvasBack").fadeIn();
		$("#MainPhotoCanvasTop").fadeIn();
		$("#MainPhotoCanvasBottom").fadeIn();
		var srcTemp = $(this).attr('src');
		var srcValues1 = srcTemp.split('&');
		var srcValues2 = srcValues1[0].split('/');
		var src = srcValues2[srcValues2.length-1];
		
		$("#MainPhotoBigDiv").find('img').attr('src', 'images/main/'+src);
		currBigPhotoOrder = $(this).attr('order');
		
		$("#MainPhotoBigDiv").hide();
		$("#MainPhotoBigDesc").hide();
		var photographerName = $(this).attr('photographer');
		$("#MainPhotoBigDesc").html("Photographer: "+photographerName);
		$("#AjaxLoad").fadeIn();
		
		if($.browser.msie)
		{
			$("#MainPhotoBigDiv img").css('height', $("#MainPhotoBigDiv").height()+"px");
		}
		
		$("#SpeHover").unbind('mouseover');
		$("#SpeHover").unbind('mouseleave');
    	
//    	$("#MainPhotoBigDiv img").click(function(){
//    		alert($("#MainPhotoBigDiv").height());
//    	});
    	
		
		var interval = setInterval(function(){
		    var image = $("#MainPhotoBigDiv img");
		    var completed = 0;
		
		    // Counts number of images that are succesfully loaded
		    image.each(function()
		    {
		    	if(this.complete)
		    	{
		    		completed++;
		    	}
		    });    
		    
		    if (completed == 1)
		    {
		    	clearInterval(interval);
		    	// Timeout added to fix problem with Chrome
		    	setTimeout(function(){
		
		    		//loading.hide();
		    		// Remove scrollbars    
		    		$("#AjaxLoad").fadeOut();
		    		if(photographerName!="null" && photographerName!="" )
		    		{
		    			$("#MainPhotoBigDesc").fadeIn();
		    		}
		    		else
		    		{
		    			$("#MainPhotoBigDesc").fadeOut(100);
		    		}
		    		
		    		var imgTemp = new Image();
		    		imgTemp.src = image.attr('src');
		    		if($.browser.msie)
					{
						$(image).css('max-height', imgTemp.height);
						$(image).css('max-width', imgTemp.width);
					}
					$("#MainPhotoBigDiv").css('max-height', imgTemp.height);
		    		$(image).css('max-height', imgTemp.height);
		    		
		    		image.parent().fadeIn("fast", function(){
		    			//enable(); 
		    		});                 
		    	}, 1000); 
		    }
		}, 100);
	  
		//$("#MainPhotoCanvasIn").fadeIn();
		
	});
	
	$("#MainPhotoLeft").bind('mouseup', function(){
		
		$("#MainPhotoBigDiv").find('img').attr('src', '');
		var prevPhoto;
		if(currBigPhotoOrder==1)
		{
			prevPhoto = $(".mainPhotoItemImg[order='"+($(".mainPhotoItemImg").length)+"']");
		}
		else
		{
			prevPhoto = $(".mainPhotoItemImg[order='"+(parseInt(currBigPhotoOrder)-1)+"']");
		}
		
		var srcTemp = $(prevPhoto).attr('src');
		var srcValues1 = srcTemp.split('&');
		var srcValues2 = srcValues1[0].split('/');
		var src = srcValues2[srcValues2.length-1];
		
		$("#MainPhotoBigDiv").find('img').attr('src', 'images/main/'+src);
		currBigPhotoOrder = $(prevPhoto).attr('order');
		
		$("#MainPhotoBigDiv").hide();
		$("#MainPhotoBigDesc").hide();
		var photographerName = $(prevPhoto).attr('photographer');
		$("#MainPhotoBigDesc").html("Photographer: "+photographerName);
		$("#AjaxLoad").fadeIn();
		
		var interval = setInterval(function(){
		    var image = $("#MainPhotoBigDiv img");
		    var completed = 0;
		
		    // Counts number of images that are succesfully loaded
		    image.each(function()
		    {
		    	if(this.complete)
		    	{
		    		completed++;
		    	}
		    });    
		    
		    if (completed == 1)
		    {
		    	clearInterval(interval);
		    	// Timeout added to fix problem with Chrome
		    	setTimeout(function(){
		
		    		//loading.hide();
		    		// Remove scrollbars    
		    		$("#AjaxLoad").fadeOut();
		    		if(photographerName!="null" && photographerName!="" )
		    		{
		    			$("#MainPhotoBigDesc").fadeIn();
		    		}
		    		else
		    		{
		    			$("#MainPhotoBigDesc").fadeOut(100);
		    		}
		    		var imgTemp = new Image();
		    		imgTemp.src = image.attr('src');
		    		if($.browser.msie)
					{
						$(image).css('max-height', imgTemp.height);
						$(image).css('max-width', imgTemp.width);
					}
					$("#MainPhotoBigDiv").css('max-height', imgTemp.height);
		    		$(image).css('max-height', imgTemp.height);
		    		image.parent().fadeIn("fast", function(){
		    			//enable(); 
		    		});                 
		    	}, 1000); 
		    }
		}, 100);
		
	});
	
$("#MainPhotoRight").bind('mouseup', function(){
		
		$("#MainPhotoBigDiv").find('img').attr('src', '');
		var nextPhoto;
		if(currBigPhotoOrder==$(".mainPhotoItemImg").length)
		{
			nextPhoto = $(".mainPhotoItemImg[order='1']");
		}
		else
		{
			nextPhoto = $(".mainPhotoItemImg[order='"+(parseInt(currBigPhotoOrder)+1)+"']");
		}
		
		var srcTemp = $(nextPhoto).attr('src');
		var srcValues1 = srcTemp.split('&');
		var srcValues2 = srcValues1[0].split('/');
		var src = srcValues2[srcValues2.length-1];
		
		$("#MainPhotoBigDiv").find('img').attr('src', 'images/main/'+src);
		currBigPhotoOrder = $(nextPhoto).attr('order');
		
		$("#MainPhotoBigDiv").hide();
		$("#MainPhotoBigDesc").hide();
		var photographerName = $(nextPhoto).attr('photographer');
		$("#MainPhotoBigDesc").html("Photographer: "+photographerName);
		$("#AjaxLoad").fadeIn();
		
		var interval = setInterval(function(){
		    var image = $("#MainPhotoBigDiv img");
		    var completed = 0;
		
		    // Counts number of images that are succesfully loaded
		    image.each(function()
		    {
		    	if(this.complete)
		    	{
		    		completed++;
		    	}
		    });    
		    
		    if (completed == 1)
		    {
		    	clearInterval(interval);
		    	// Timeout added to fix problem with Chrome
		    	setTimeout(function(){
		
		    		//loading.hide();
		    		// Remove scrollbars    
		    		$("#AjaxLoad").fadeOut();
		    		if(photographerName!="null" && photographerName!="" )
		    		{
		    			$("#MainPhotoBigDesc").fadeIn();
		    		}
		    		else
		    		{
		    			$("#MainPhotoBigDesc").fadeOut(100);
		    		}
		    		var imgTemp = new Image();
		    		imgTemp.src = image.attr('src');
		    		if($.browser.msie)
					{
						$(image).css('max-height', imgTemp.height);
						$(image).css('max-width', imgTemp.width);
					}
					$("#MainPhotoBigDiv").css('max-height', imgTemp.height);
		    		$(image).css('max-height', imgTemp.height);
		    		image.parent().fadeIn("fast", function(){
		    			//enable(); 
		    		});                 
		    	}, 1000); 
		    }
		}, 100);
		
	});
	
	$("#MainPhotoBigCloseWrapper").bind("mouseup", function(){
		
		$("#MainPhotoCanvasBack").fadeOut();
		$("#MainPhotoCanvasTop").fadeOut();
		$("#MainPhotoCanvasBottom").fadeOut().queue(function(){
			$("#LightBoxWrapper").css('display', 'none');
			$("#MainPhotoBigDiv").children('img').attr('src', '');
			$(this).dequeue();
		});
		
		$("#SpeHover").bind('mouseover', function(){
			$("#SpecialSpot").css('left', '370px');
			$("#SpecialSpot").stop().animate({
				left: '30px'
			}, 200, 'easeOutQuad');
		});
		$("#SpeHover").bind('mouseleave', function(){
			$("#SpecialSpot").stop().animate({
				left: '-200px'
			}, 200, 'easeInQuad');
		});
		
	});
	
}

function SkrollaText(wrapper, scrollable)
{
	var wrapper = $(wrapper);
	var scrollable = $(scrollable);
	
	wrapper.css({overflow: "hidden"});
	enable(); 
	
  function enable()
  {
	  // height of area at the top at bottom, that don't respond to mousemove
	  var inactive = 50;         
	  // Cache for performance
	  var wrapperWidth = wrapper.width();
	  var wrapperLeft = wrapper.offset().left;
	  var wrapperRight = wrapperWidth+wrapperLeft;
	  var wrapperHeight = wrapper.height();
	  var wrapperTop = 395;
	  var wrapperBottom = wrapperHeight+wrapperTop;
	  
	  // Using outer height to include padding too
	  //var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
	  // Do not cache wrapperOffset, because it can change when user resizes window
	  // We could use onresize event, but it&#39;s just not worth doing that 
	  // var wrapperOffset = wrapper.offset();
	  
	  
	  var interval1;
	  //When user move mouse over menu
	  $(wrapper).unbind('mouseleave');
	  $(wrapper).bind('mouseleave', function(e){
		  clearInterval(interval1);
		  var interval2;
		  interval1 = interval2;
	  });
	  wrapper.mousemove(function(e){
		  
		  var speed = 10;
		  var scrollAdd = 1;
		  
		  if(e.pageY<((wrapperHeight-inactive)/2)+395 && wrapper.scrollTop!=0)
		  {
			  var activeAreaTop = 395;
			  var activeAreaDown = ((wrapperHeight-inactive)/2)+activeAreaTop;
			  var activeArea = activeAreaDown-activeAreaTop;
			  //alert(interval1);
			  //if(interval1==undefined)
			  //{
				  //alert('hey');
				  clearInterval(interval1);
				  var interval2;
				  interval1 = interval2;
				  interval1 = setInterval(function(){
					  if(wrapper.scrollTop()>0)
					  {
						  var scrollAdd = 1;
						  if(e.pageY<activeAreaTop+20)
						  {
							  scrollAdd = 4;
						  }
						  else if(e.pageY<activeAreaTop+40 && e.pageY>activeAreaTop+20)
						  {
							  scrollAdd = 3;
						  }
						  else if(e.pageY<activeAreaTop+70 && e.pageY>activeAreaTop+40)
						  {
							  scrollAdd = 2;
						  }
						  else if(e.pageY<activeAreaTop+100 && e.pageY>activeAreaTop+70)
						  {
							  scrollAdd = 1;
						  }
						  wrapper.scrollTop(wrapper.scrollTop()-scrollAdd);
					  }
					  else
					  {
						  clearInterval(interval1);
					  }
					  
				  },speed);
			  //}
		  }
		  else if(e.pageY>(((wrapperHeight-inactive)/2)+inactive+395) && wrapper.scrollTop()!=scrollable.height()-wrapperHeight)
		  {
			  //alert(interval1);
			  //if(interval1==undefined)
			  //{
				  var activeAreaDown = wrapperHeight+395;
				  var activeAreaTop = activeAreaDown-((wrapperHeight-inactive)/2);
	  			  var activeArea = activeAreaDown-activeAreaTop;
				  //alert('hey');
				  clearInterval(interval1);
				  var interval2;
				  interval1 = interval2;
				  interval1 = setInterval(function(){
					  if(wrapper.scrollTop()<((scrollable.height()-wrapperHeight)))
					  {
						  var scrollAdd = 1;
						  if(e.pageY>activeAreaDown-20)
						  {
							  scrollAdd = 4;
						  }
						  else if(e.pageY<activeAreaDown-20 && e.pageY>activeAreaDown-40)
						  {
							  scrollAdd = 3;
						  }
						  else if(e.pageY<activeAreaDown-40 && e.pageY>activeAreaDown-70)
						  {
							  scrollAdd = 2;
						  }
						  else if(e.pageY<activeAreaDown-70 && e.pageY>activeAreaDown-100)
						  {
							  scrollAdd = 1;
						  }
						  wrapper.scrollTop(wrapper.scrollTop()+scrollAdd);
					  }
					  else
					  {
						  clearInterval(interval1);
					  }
					  
				  },speed);
			  //}
		  }
		  else
		  {
			  clearInterval(interval1);
			  var interval2;
			  interval1 = interval2;
		  }
		  
		  
		  
		  
//		  var wrapperOffset = wrapper.offset();
//		  // Scroll menu
//		  var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight  - inactiveMargin;
//
//		  if (top < 0){
//			  top = 0;
//		  }
//
//		  wrapper.scrollTop(top);
	  });
  }
}

function Skrolla(wrapper)
{
	var wrapper = $(wrapper);
	var scrollable = $(wrapper).children('.sc_menu');
	
	// Hide images until they are not loaded
	scrollable.hide();
	var loading = $("<div class='loading'>loading</div>").appendTo(wrapper);

	// Set function that will check if all images are loaded
	var interval = setInterval(function(){
	    var images = scrollable.find("img");
	    var completed = 0;
	
	    // Counts number of images that are succesfully loaded
	    images.each(function(){
	    	if(this.complete)
	    	{
	    		completed++;	
	    	}	   
	    });
	
	    if (completed == images.length)
	    {
	    	clearInterval(interval);
	    	// Timeout added to fix problem with Chrome
	    	setTimeout(function(){
	
	    		loading.hide();
	    		// Remove scrollbars    
	    		wrapper.css({overflow: "hidden"});
	
	    		scrollable.slideDown("slow", function(){
	    			enable(); 
	    		});                 
	    	}, 1000); 
	    }
	}, 100);
  function enable()
  {
	  // height of area at the top at bottom, that don't respond to mousemove
	  var inactive = 100;         
	  // Cache for performance
	  var wrapperWidth = wrapper.width();
	  var wrapperLeft = wrapper.offset().left;
	  var wrapperRight = wrapperWidth+wrapperLeft;
	  var wrapperHeight = wrapper.height();
	  var wrapperTop = 35;
	  var wrapperBottom = wrapperHeight+wrapperTop;
	  
	  // Using outer height to include padding too
	  //var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
	  // Do not cache wrapperOffset, because it can change when user resizes window
	  // We could use onresize event, but it&#39;s just not worth doing that 
	  // var wrapperOffset = wrapper.offset();
	  
	  
	  var interval1;
	  //When user move mouse over menu
	  $(wrapper).unbind('mouseleave');
	  $(wrapper).bind('mouseleave', function(e){
		  clearInterval(interval1);
		  var interval2;
		  interval1 = interval2;
	  });
	  wrapper.mousemove(function(e){
		  
		  var speed = 10;
		  var scrollAdd = 1;
		  
		  if(e.pageY<(wrapperHeight-inactive)/2 && wrapper.scrollTop!=0)
		  {
			  var activeAreaTop = 35;
			  var activeAreaDown = ((wrapperHeight-inactive)/2)+activeAreaTop;
			  var activeArea = activeAreaDown-activeAreaTop;
			  //alert(interval1);
			  //if(interval1==undefined)
			  //{
				  //alert('hey');
				  clearInterval(interval1);
				  var interval2;
				  interval1 = interval2;
				  interval1 = setInterval(function(){
					  if(wrapper.scrollTop()>0)
					  {
						  var scrollAdd = 1;
						  if(e.pageY<activeAreaTop+50)
						  {
							  scrollAdd = 4;
						  }
						  else if(e.pageY<activeAreaTop+100 && e.pageY>activeAreaTop+50)
						  {
							  scrollAdd = 3;
						  }
						  else if(e.pageY<activeAreaTop+150 && e.pageY>activeAreaTop+100)
						  {
							  scrollAdd = 2;
						  }
						  else if(e.pageY<activeAreaTop+200 && e.pageY>activeAreaTop+150)
						  {
							  scrollAdd = 1;
						  }
						  wrapper.scrollTop(wrapper.scrollTop()-scrollAdd);
					  }
					  else
					  {
						  clearInterval(interval1);
					  }
					  
				  },speed);
			  //}
		  }
		  else if(e.pageY>(((wrapperHeight-inactive)/2)+inactive) && wrapper.scrollTop()!=scrollable.height()-wrapperHeight)
		  {
			  //alert(interval1);
			  //if(interval1==undefined)
			  //{
				  var activeAreaDown = wrapperHeight+35;
				  var activeAreaTop = activeAreaDown-((wrapperHeight-inactive)/2);
	  			  var activeArea = activeAreaDown-activeAreaTop;
				  //alert('hey');
				  clearInterval(interval1);
				  var interval2;
				  interval1 = interval2;
				  interval1 = setInterval(function(){
					  if(wrapper.scrollTop()<((scrollable.height()-wrapperHeight)+35))
					  {
						  var scrollAdd = 1;
						  if(e.pageY>activeAreaDown-50)
						  {
							  scrollAdd = 4;
						  }
						  else if(e.pageY<activeAreaDown-50 && e.pageY>activeAreaDown-100)
						  {
							  scrollAdd = 3;
						  }
						  else if(e.pageY<activeAreaDown-100 && e.pageY>activeAreaDown-150)
						  {
							  scrollAdd = 2;
						  }
						  else if(e.pageY<activeAreaDown-150 && e.pageY>activeAreaDown-200)
						  {
							  scrollAdd = 1;
						  }
						  wrapper.scrollTop(wrapper.scrollTop()+scrollAdd);
					  }
					  else
					  {
						  clearInterval(interval1);
					  }
					  
				  },speed);
			  //}
		  }
		  else
		  {
			  clearInterval(interval1);
			  var interval2;
			  interval1 = interval2;
		  }
		  
		  
		  
		  
//		  var wrapperOffset = wrapper.offset();
//		  // Scroll menu
//		  var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight  - inactiveMargin;
//
//		  if (top < 0){
//			  top = 0;
//		  }
//
//		  wrapper.scrollTop(top);
	  });
  }
}
//function makeScrollable(wrapper, scrollable)
//{
//	// Get jQuery elements
//	var wrapper = $(wrapper), scrollable = $(scrollable);
//	
//	// Hide images until they are not loaded
//	scrollable.hide();
//	var loading = $("<div class='loading'></div>").appendTo(wrapper);
//
//	// Set function that will check if all images are loaded
//	var interval = setInterval(function(){
//	    var images = scrollable.find("img");
//	    var completed = 0;
//	
//	    // Counts number of images that are succesfully loaded
//	    images.each(function(){
//	    	if(this.complete)
//	    	{
//	    		completed++;	
//	    	}	   
//	    });
//	
//	    if (completed == images.length)
//	    {
//	    	clearInterval(interval);
//	    	// Timeout added to fix problem with Chrome
//	    	setTimeout(function(){
//	
//	    		loading.hide();
//	    		// Remove scrollbars    
//	    		wrapper.css({overflow: "hidden"});
//	
//	    		scrollable.slideDown("slow", function(){
//	    			enable(); 
//	    		});                 
//	    	}, 1000); 
//	    }
//	}, 100);
//  function enable()
//  {
//	  // height of area at the top at bottom, that don't respond to mousemove
//	  var inactiveMargin = 100;         
//	  // Cache for performance
//	  var wrapperWidth = wrapper.width();
//	  var wrapperHeight = wrapper.height();
//	  // Using outer height to include padding too
//	  var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
//	  // Do not cache wrapperOffset, because it can change when user resizes window
//	  // We could use onresize event, but it&#39;s just not worth doing that 
//	  // var wrapperOffset = wrapper.offset();
//
//	  //When user move mouse over menu          
//	  wrapper.mousemove(function(e){
//		  var wrapperOffset = wrapper.offset();
//		  // Scroll menu
//		  var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight  - inactiveMargin;
//
//		  if (top < 0){
//			  top = 0;
//		  }
//
//		  wrapper.scrollTop(top);
//	  });
//  }
//}
//
//function makeScrollable1(wrapper, scrollable)
//{
//	// Get jQuery elements
//	var wrapper = $(wrapper), scrollable = $(scrollable);
//	enable1();
//	// Hide images until they are not loaded
//	//scrollable.hide();
//	//var loading = $("<div class='loading'></div>").appendTo(wrapper);
//
//	// Set function that will check if all images are loaded
//	
//  function enable1()
//  {
//	  // height of area at the top at bottom, that don't respond to mousemove
//	  var inactiveMargin = 100;         
//	  // Cache for performance
//	  var wrapperWidth = wrapper.width();
//	  var wrapperHeight = wrapper.height();
//	  // Using outer height to include padding too
//	  var scrollableHeight = scrollable.outerHeight() + 2*inactiveMargin;
//	  // Do not cache wrapperOffset, because it can change when user resizes window
//	  // We could use onresize event, but it&#39;s just not worth doing that 
//	  // var wrapperOffset = wrapper.offset();
//
//	  //When user move mouse over menu          
//	  wrapper.mousemove(function(e){
//		  var wrapperOffset = wrapper.offset();
//		  // Scroll menu
//		  var top = (e.pageY -  wrapperOffset.top) * (scrollableHeight - wrapperHeight) / wrapperHeight  - inactiveMargin;
//
//		  if (top < 0){
//			  top = 0;
//		  }
//
//		  wrapper.scrollTop(top);
//	  });
//  }
//}








































