// inserting via DOM fails in Safari 2.0 so applying brute force

var isOnimageArr = new Array();
var isOnpanelArr = new Array();
var maincarousel, currentcurousel, currentcontainer = '';
var isDragging = false;

$(document).ready(function() {
	$('#mycarousel').jcarousel({
		scroll: 1,
		initCallback: function (carousel) {
			maincarousel = $('#mycarousel');
			currentcurousel = $('#mycarousel');
			currentcontainer = '.contentbox';
		},
		// This tells jCarousel NOT to autobuild prev/next buttons
		buttonNextHTML: null,
		buttonPrevHTML: null
	});
	$('#control-main-right').css({'top': $('.contentarea').position().top+'px'});
	mycarousel_initCallback();
	
	initFancybox ();
	initSubGallery ();
	
	$('.subgalpopup').bind('mouseup',function() {
		if (!isDragging) {
			currentcurousel = maincarousel;
			currentcontainer = '.contentbox';
			$(this).css({'display':'none'});
			$('.subgal-wrapper-inner').css({'display':'none'});
		}
	});
	
	$("#infolink").fancybox({
		'margin' : 0,
		'width': 850,
		'height' : 440,
		'autoDimensions': false,
		'autoScale' : false,
		'hideOnContentClick': false
	});
	$("#contactlink").fancybox({
		'margin' : 0,
		'width': 450,
		'height' : 235,
		'autoDimensions': false,
		'autoScale' : false,
		'hideOnContentClick': false
	});
	
	/*$('#title-handle').hover(function(){
		$('##fancybox-title-over').css({
			'left' : 0
		});
	});*/
	
	enableImageHover();
	
	prepareVideo();
});


function initFancybox () {
	var boxes = $('a');
	
	for (var i=0;i<boxes.length;i++) {
		if($(boxes[i]).attr('rel') == 'lightbox') {
			$(boxes[i]).fancybox({'hideOnContentClick': false});
		}
	}
}

function initSubGallery () {
	var boxes = $('img');
	
	for (var i=0;i<boxes.length;i++) {
		if($(boxes[i]).attr('rel') == 'subgal') {
			$(boxes[i]).bind('mouseup',function(){
				if (!isDragging) {
					currentcurousel = '#subgal-'+$(this).attr('pgal');
					currentcontainer = '#gal-wrappersg-'+$(this).attr('pgal');
					
					$('.subgalpopup').css({'display':'block'});
					$('#gal-wrappersg-'+$(this).attr('pgal')).css({'display':'block'});
					$('#subgal-'+$(this).attr('pgal')).jcarousel({
						scroll: 1,
						// This tells jCarousel NOT to autobuild prev/next buttons
						buttonNextHTML: null,
						buttonPrevHTML: null 
					});
					
					$('#subgal-'+$(this).attr('pgal')).draggable({
						axis: "x",
						start: function (event) {
							isDragging = true;
							},
						stop: function (event, ui) {
							carouselDrag(event, ui);
							}
					});
				}
			});
		}
	}
}

function loadAJAX (params, data, target, callfunc,args) {
	var tags = params.split(',');
	var pdata = data.split(',');
	
	callAJAX(tags,pdata,target,callfunc,args);
}

function callAJAX(tags, data, target, callfunc,args) {
	var postdata = "";
	callfunc = (typeof callfunc == 'undefined')?'':callfunc;
	
	for (i = 0; i < tags.length; i++) {
		if (i == 0) {
			postdata = tags[i]+"="+data[i];
		} else {
			postdata += "&"+tags[i]+"="+data[i];
		}
	}
	
	// prototype AJAX call
	new $.ajax({
				type:'POST',
				url:'../library/ajax.php',
				data:postdata,
				success:function(transport){		
					$(target).html(transport);
					if (callfunc != '') {
						window[callfunc](args);
						initDatePicker();
					}
				}});
}


function animateNext() {
	var containerWidth = $(currentcontainer).outerWidth();
	var sliderLeft = $(currentcurousel).position().left;
	var sliderWidth = $(currentcurousel).outerWidth();
	var totalTravelLength =  containerWidth - sliderWidth;
	var lengthToTravel = sliderWidth - (containerWidth + sliderLeft);
	var scrollSpeed = lengthToTravel * 3;
	
	if (lengthToTravel > 30) {
		$(currentcurousel).animate({
			left: totalTravelLength + 'px'
		},'slow','linear');
	}
}

function animatePrevious() {
	var lengthToTravel = $(currentcurousel).position().left;
	var scrollSpeed = (lengthToTravel < 0)?(lengthToTravel * -1) * 3:lengthToTravel * 3;
	
	$(currentcurousel).animate({
		left: '0px'
	},'slow','linear');
}

function carouselDrag(edata, uidata) {
	var containerWidth = $(currentcontainer).outerWidth();
	var sliderWidth = $(currentcurousel).outerWidth();
	var totalTravelLength =  containerWidth - sliderWidth;
	
	if (totalTravelLength > uidata.position.left) {
		$(currentcurousel).css({
			'left': (totalTravelLength > 0)?'0px':totalTravelLength + 'px'
		});
	} else if (uidata.position.left > 0) {
		$(currentcurousel).css({
			'left': '0px'
		});
	}
	
	isDragging = false;
}

function mycarousel_initCallback() {
	$('#control-main-left').bind('mouseenter',function(){
		//currentcurousel.prev();
		//carousel.prev();
		//animatePrevious();
		
		animateNext();
		return false;
	}).bind('mouseout',function(){
		$(currentcurousel).stop(true);
	});
	$('#control-main-right').bind('mouseenter',function(){
		//currentcurousel.next();
		//carousel.next();
		//animateNext();
		
		animatePrevious();
		return false;
	}).bind('mouseout',function(){
		$(currentcurousel).stop(true);
	});
	
	$('#mycarousel').draggable({
		axis: "x",
		start: function (event) {
			isDragging = true;
			},
		stop: function (event, ui) {
			carouselDrag(event, ui);
			}
	});
}

function enableImageHover() {
	$('img').bind('mouseover', function() {
		var imgid = $(this).attr('nodeid');
		
		$('.carnode'+imgid+' span').addClass('galhover');
	});
	$('img').bind('mouseout', function() {
		var imgid = $(this).attr('nodeid');
		
		$('.carnode'+imgid+' span').removeClass('galhover');
	});
}

function showVideoBox(id) {
	alert(id);
}

function prepareVideo() {
	var videos = $('.mplayer');
	
	for (var i=0; i < videos.length; i++) {
		jwplayer($(videos[i]).attr('id')).setup({
			flashplayer: 'js/jwplayer/player.swf'
		});
	}
}

