﻿jQuery.noConflict();

function setupScroll() {
	var scrollBar = jQuery('#scrollBar');
	var viewport = jQuery('.viewport');
	var content = jQuery('.viewport .scrollArea');
	//alert(content.height());
	//alert(viewport.height());
	if (content.outerHeight() < viewport.outerHeight())
	{ scrollBar.css('display', 'none'); }
	else
	{ 
		scrollBar.css('display', 'block');
		var viewportHeight = viewport.outerHeight();
		//var contentHeight = content.outerHeight() + jQuery('.galleryContainer').height();
		var contentHeight = content.outerHeight();
		//alert('content Height: ' + contentHeight + '\nviewport height: ' + viewportHeight);
		var cst;
		if(jQuery.browser.safari)
		{ cst = (contentHeight - viewportHeight) / 125; }
		else
		{ cst = (contentHeight - viewportHeight) / 129; }
		//alert('constant: ' + cst);
		
		jQuery('#dragKnob').draggable('destroy');
		jQuery('#dragKnob').draggable({
			axis: 'y',
			containment: 'parent',
			drag: function(event ,ui) {
				viewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});
		
		jQuery('#downKnob').unbind();
		jQuery('#downKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos += 5;
			if(knobPos > 129) knobPos = 129;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
			});
		});
		
		jQuery('#upKnob').unbind();
		jQuery('#upKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos -= 5;
			if(knobPos < 0) knobPos = 0;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
			});
		});
		
		jQuery('.viewport').unbind();
		viewport.mousewheel(function(event, delta) {
		   viewport.stop();
		   jQuery('#dragKnob').stop();
			if(delta > 0)
			{
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos -= 25;
				if(knobPos < 0) knobPos = 0;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
				});
			}
			else
			{
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos += 25;
				if(knobPos > 129) knobPos = 129;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
				});
			}
		});
		
		var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
		//jQuery('#dragKnob').css('top', knobPos + 'px');
		jQuery('#dragKnob').animate({
			top: knobPos
		}, 50, function() {
			viewport.scrollTop(cst * knobPos);
		});
	}
}

function setupScrollNews() {
	var scrollBar = jQuery('#scrollBar');
	var viewport = jQuery('.newsViewport');
	var content = jQuery('.newsViewport .scrollArea');
	//alert(content.height());
	//alert(viewport.height());
	if (content.outerHeight() < viewport.outerHeight())
	{ scrollBar.css('display', 'none'); }
	else {
		scrollBar.css('display', 'block');
		var viewportHeight = viewport.outerHeight();
		//var contentHeight = content.outerHeight() + jQuery('.galleryContainer').height();
		var contentHeight = content.outerHeight();
		//alert('content Height: ' + contentHeight + '\nviewport height: ' + viewportHeight);
		var cst;
		if (jQuery.browser.safari)
		{ cst = (contentHeight - viewportHeight) / 125; }
		else
		{ cst = (contentHeight - viewportHeight) / 129; }
		//alert('constant: ' + cst);

		jQuery('#dragKnob').draggable('destroy');
		jQuery('#dragKnob').draggable({
			axis: 'y',
			containment: 'parent',
			drag: function(event, ui) {
				viewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});

		jQuery('#downKnob').unbind();
		jQuery('#downKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos += 5;
			if (knobPos > 129) knobPos = 129;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
			});
		});

		jQuery('#upKnob').unbind();
		jQuery('#upKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos -= 5;
			if (knobPos < 0) knobPos = 0;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
			});
		});

		jQuery('.newsViewport').unbind();
		viewport.mousewheel(function(event, delta) {
			viewport.stop();
			jQuery('#dragKnob').stop();
			if (delta > 0) {
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos -= 25;
				if (knobPos < 0) knobPos = 0;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
				});
			}
			else {
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos += 25;
				if (knobPos > 129) knobPos = 129;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
				});
			}
		});

		var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
		//jQuery('#dragKnob').css('top', knobPos + 'px');
		jQuery('#dragKnob').animate({
			top: knobPos
		}, 50, function() {
			viewport.scrollTop(cst * knobPos);
		});
	}
}

function setupScrollNewsDouble() {
	var scrollBar = jQuery('#scrollBar');
	var viewport = jQuery('.newsViewport');
	var imageViewport = jQuery('.imageViewport');
	var content = jQuery('.newsViewport .scrollArea');
	var imgContent = jQuery('.imageViewport .imageScroller');
	//alert(content.height());
	//alert(viewport.height());
	if (content.outerHeight() <= viewport.outerHeight())
	{ scrollBar.css('display', 'none'); }
	else {
		scrollBar.css('display', 'block');
		var viewportHeight = viewport.outerHeight();
		//var contentHeight = content.outerHeight() + jQuery('.galleryContainer').height();
		var contentHeight = content.outerHeight();
		//alert('content Height: ' + contentHeight + '\nviewport height: ' + viewportHeight);
		var cst;
		if (jQuery.browser.safari)
		{ cst = (contentHeight - viewportHeight) / 125; }
		else
		{ cst = (contentHeight - viewportHeight) / 129; }
		//alert('constant: ' + cst);

		jQuery('#dragKnob').draggable('destroy');
		jQuery('#dragKnob').draggable({
			axis: 'y',
			containment: 'parent',
			drag: function(event, ui) {
				viewport.scrollTop(cst * ui.position.top);
				imageViewport.scrollTop(cst * ui.position.top);
			},
			refreshPositions: true
		});

		jQuery('#downKnob').unbind();
		jQuery('#downKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos += 5;
			if (knobPos > 129) knobPos = 129;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
				imageViewport.scrollTop(cst * knobPos);
			});
		});

		jQuery('#upKnob').unbind();
		jQuery('#upKnob').click(function() {
			var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
			knobPos -= 5;
			if (knobPos < 0) knobPos = 0;
			//jQuery('#dragKnob').css('top', knobPos + 'px');
			jQuery('#dragKnob').animate({
				top: knobPos
			}, 50, function() {
				viewport.scrollTop(cst * knobPos);
				imageViewport.scrollTop(cst * knobPos);
			});
		});

		jQuery('.newsViewport').unbind();
		viewport.mousewheel(function(event, delta) {
			viewport.stop();
			jQuery('#dragKnob').stop();
			if (delta > 0) {
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos -= 25;
				if (knobPos < 0) knobPos = 0;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
					imageViewport.scrollTop(cst * knobPos);
				});
			}
			else {
				var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
				knobPos += 25;
				if (knobPos > 129) knobPos = 129;
				//jQuery('#dragKnob').css('top', knobPos + 'px');
				jQuery('#dragKnob').animate({
					top: knobPos
				}, 50, function() {
					viewport.scrollTop(cst * knobPos);
					imageViewport.scrollTop(cst * knobPos);
				});
			}
		});

		var knobPos = jQuery('#dragKnob').offset().top - jQuery('#dragArea').offset().top;
		//jQuery('#dragKnob').css('top', knobPos + 'px');
		jQuery('#dragKnob').animate({
			top: knobPos
		}, 50, function() {
			viewport.scrollTop(cst * knobPos);
			imageViewport.scrollTop(cst * knobPos);
		});
	}
}

function initGallery(gallery, url)
{
	if(gallery.children('img').size() != jQuery(url).size())
	{ alert('error'); return; }
	
	var images = [];
	for(var i = 0; i < jQuery(url).size(); i++)
	{
		var img = new Image();
		img.src = url[i];
		images[i] = img;
		//alert(gallery.children('img')[0].width);
		//jQuery(img).attr('width', jQuery(img).width());
		//jQuery(img).attr('height', jQuery(img).height());
		//images[i].width = jQuery(img).width();
		//images[i].height = jQuery(img).height();
	}

	jQuery.each(gallery.children(), function(index, item) {
	   jQuery(item).css('cursor', 'pointer');
	   jQuery(item).click(function() {
	      showModalImgPopup(images[index])
	   });
	});
	//setupScroll();
}


function showModalImgPopup(item) {
	//var imgHeight = (jQuery(item).height() == 0) ? 512 : (jQuery(item).height() == 32) ? 512 : (jQuery(item).height() == 128) ? 512 : jQuery(item).height();
	//var imgWidth = (jQuery(item).width() == 0) ? 512 : (jQuery(item).width() == 32) ? 512 : (jQuery(item).width() == 128) ? 512 : jQuery(item).width();
	var imgHeight = jQuery(item).height();
	var imgWidth = jQuery(item).width();
   var img = jQuery(item).clone().css({
      'border': 'none',
      'margin': 0,
      'padding': 0,
      'display': 'block',
      'position': 'absolute'
   }).width(imgWidth).height(imgHeight);
   var modal = jQuery('<div class="modalPopup"></div>');
   var modalBG = jQuery('<div class="modalPopupBG"></div>');
   var imgCnt = jQuery('<div class="modalPopupImgCont"></div>');
   var close = jQuery('<div class="modalPopupClose"><img alt="Close" src="Media/System/Buttons/closeModal.png" /></div>').appendTo(imgCnt).hide();
   var nameCnt = jQuery('<div class="modalName"></div>').appendTo(imgCnt).fadeOut();
   var descCnt = jQuery('<div class="modalDesc"></div>').appendTo(imgCnt).fadeOut();

   imgCnt.css({
      top: jQuery(document).height() / 2,
      left: jQuery(document).width() / 2,
      width: 0,
      height: 0,
      opacity: 1
   });

   modal.height(jQuery(document).height());
   modal.width(jQuery(document).width());
   modal.css('opacity', 0);

   modalBG.appendTo(modal);
   modalBG.css('opacity', 0.4);

   imgCnt.appendTo(modal);
   modal.prependTo('body');

   imgCnt.css({
      'background-color': 'white',
      'background-image': 'url(\'' + img.src + '\')',
      'background-repeat': 'no-repeat',
      'background-position': 'center center',
      'background-attachment': 'scroll'
   });

   var divWidth = imgWidth;
   var divHeight = imgHeight + 30;
   var imgTop = (jQuery(document).height() / 2) - (divHeight / 2 + 25) + 75;
   var imgLeft = (jQuery(document).width() / 2) - (divWidth / 2 + 25);
   if (imgTop < 0)
   { imgTop = 0; }
   if (imgLeft < 0)
   { imgLeft = 0; }
   //imgCnt.empty();

   close.click(function() {
		modal.fadeOut().remove();
      /*imgCnt.animate({
         top: (jQuery(window).height() / 2),
         left: (jQuery(window).width() / 2),
         width: 0,
         height: 0,
         padding: 0
      }, 200, function() {*/
         /*modal.animate({
            opacity: 0,
            height: 0,
            width: 0
         }, 300, function() {
            jQuery(window).unbind('resize');
            //modal.hide().remove();
         }).remove();*/
      //});
   });

   modal.animate({
      opacity: 1
   }, 750, function() {
      imgCnt.animate({
         top: imgTop,
         left: imgLeft,
         width: divWidth,
         height: divHeight,
         padding: 10
      }, 500, function() {
			jQuery(img).fadeOut().appendTo(imgCnt).fadeIn('slow');
			nameCnt.text(jQuery(img).attr('alt')).fadeIn('normal');
			if(jQuery(img).attr('desc') != undefined)
			{ descCnt.text(jQuery(img).attr('desc')).fadeIn('normal'); }
			close.show();
         jQuery(window).bind('resize', function() {
            var imgTop = (jQuery(document).height() / 2) - (divHeight / 2 + 10);
            var imgLeft = (jQuery(document).width() / 2) - (divWidth / 2 + 10);
            if (imgTop < 0)
            { imgTop = 0; }
            if (imgLeft < 0)
            { imgLeft = 0; }
            if (modal != null) {
               modal.height(jQuery(document).height());
               modal.width(jQuery(document).width());
               imgCnt.animate({
                  top: imgTop,
                  left: imgLeft
               }, 250);
            }
         });
      });
   });
}
