var lightboxImages = new Array();
var mdialog = '';

//--
var regText = 'Registruotis';
var txt_slideDown = 'Rodyti žemėlapį';
var txt_slideUp = 'Slėpti žemėlapį';
var url_prefix = '';

function initCaptcha(){
	$('#recaptcha_table').css('width', '370px');
	$('#recaptcha_table td.recaptcha_image_cell').css('background', 'none repeat scroll 0 0 transparent');
	$('#recaptcha_logo').parent().css('display', 'none');
	$('#recaptcha_tagline').parent().css('display', 'none');
	$('#recaptcha_response_field').css({
		'border': '1px solid #CE6E00',
		'font-size': '14px',
		'padding': '4px',
		'background-color': '#FFA600',
		'width': '292px',
		'color': '#FFF'
	});
	Recaptcha.focus_response_field();
}

function shareWithEmail(event, trigger, $link) {
	if(event.preventDefault) {
		event.preventDefault();
	} else {
		event.returnValue = false;
	}
	
	if(!$link) $link = window.location;
	$url = url_prefix+'/naujienos/share';
	
	$.get($url, function(data){
		mdialog = $(data).dialog({
			dialogClass: 'orange',
			width: 400,
			resizable: false,
			create: function(event, ui) {
				$(this).find('#PostLink').attr('value', $link);
				$(this).parent('.ui-dialog').css('overflow', 'visible');
				$(this).parent('.ui-dialog').draggable({handle:'div.ui-dialog'});
				Recaptcha.create("6LeHw8oSAAAAAAgDw4A1ZAVcXEllh1CUXjxDCvhx", "recaptcha", {
					theme: "clean",
					callback: initCaptcha
				});
			},
			close: function(event, ui) {
				Recaptcha.destroy();
				mdialog.remove().dialog( "destroy" );
			}
		});
	});
}

function sharePost(event, trigger){
	if(event.preventDefault) {
		event.preventDefault();
	} else {
		event.returnValue = false;
	}

	$form = $(trigger).closest('form');
	$data = $form.serialize();
	$url = $form.attr('action');
	$dialog = $form.closest('div.ui-dialog');
	
	$dialog.css('opacity', '0.75');
	$('body').css('cursor', 'wait');
	
	$.post($url, $data, function(data){
		
		
		$form.find('input.form-error').removeClass('form-error');
		$form.find('div.error-message').remove();
		$form.find('#captcha-message').html('');
		
		data = $.parseJSON(data);
		if(data.status == 'success'){
			$('body').css('cursor', 'auto');
			Recaptcha.destroy();
			mdialog.remove().dialog( "destroy" );
			
			$dialog = $('<div id="subscribtion-success">'+data.message+'</div>');
			mdialog = $($dialog).dialog({
				dialogClass: 'orange message',
				width: 400,
				resizable: false,
				modal: true,
				minHeight: 100,
				create: function(event, ui) {
					$(this).parent('.ui-dialog').css('overflow', 'visible');
				},
				close: function(event, ui) {
					Recaptcha.destroy();
					mdialog.remove().dialog( "destroy" );
				}
			});
		} else {
			Recaptcha.reload();
			
			$dialog.css('opacity', '1');
			$('body').css('cursor', 'auto');
			
			if(data.status == 'captcha-error'){
				$form.find('#captcha-message').html(data.message);
			}
			
			if(data.validationErrors){
				$.each(data.validationErrors, function(index, value){
					$form.find('input.'+index+', textarea.'+index).addClass('form-error').parent().append('<div class="error-message">'+value+'</div>');
				});
				
			}
		}
	});
}

function maximizeImage(event, trigger){
	if(event.preventDefault) {
		event.preventDefault();
	} else {
		event.returnValue = false;
	}
	
	
	if(typeof allImages === 'undefined'){
		var $imageUrl = $(trigger).attr('href');
	} else {
		var $imageUrl = $(trigger).next('a').find('img').attr('src');
	}
	
	if(lightboxImages.length <= 0){
		
		$.fn.prettyPhoto({
	    	social_tools: false,
	    	opacity: 0.6,
	    	show_title: false,
	    	allow_resize: false,
	    	counter_separator_label: '/',
	    	theme: 'pp_default',
	    	horizontal_padding: 16,
	    	modal: false,
	    	overlay_gallery: true,
	    	markup: '<div class="pp_pic_holder"> \
				<div class="ppt">&nbsp;</div> \
				<div class="pp_top"> \
	    			<a class="pp_close" href="#">Close</a>\
					<div class="pp_left"></div> \
					<div class="pp_middle"></div> \
					<div class="pp_right"></div> \
				</div> \
				<div class="pp_content_container"> \
					<div class="pp_left"> \
					<div class="pp_right"> \
						<div class="pp_content"> \
							<div class="pp_loaderIcon"></div> \
							<div class="pp_fade"> \
								<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
								<div class="pp_hoverContainer"> \
									<a class="pp_next" href="#">next</a> \
									<a class="pp_previous" href="#">previous</a> \
								</div> \
								<div id="pp_full_res"></div> \
								<div class="pp_details"> \
								</div> \
							</div> \
						</div> \
					</div> \
					</div> \
				</div> \
				<div class="pp_bottom"> \
					<div class="pp_left"></div> \
					<div class="pp_middle"></div> \
					<div class="pp_right"></div> \
				</div> \
			</div> \
			<div class="pp_overlay"></div>'
	    });
		
		if(typeof allImages === 'undefined'){
			var $imageUrl = $(trigger).attr('href');
			$.each($('#thumbs a'), function(index, value){
				lightboxImages.push($(value).attr('href'));
			});
		} else {
			var $imageUrl = $(trigger).next('a').find('img').attr('src');
			$.each(allImages, function(index, value){
				if($(value).attr('slideUrl')){
					lightboxImages.push($(value).attr('slideUrl'));
				}
			});
		}

	}
		
	var imgIndex = 0;
	$.each(lightboxImages, function(index, value){
		if($imageUrl == value){
			imgIndex = index;
		}
	});
	
	$.prettyPhoto.open(lightboxImages);
	$.prettyPhoto.changePage(imgIndex);

	
	
}

function subscribe(event, trigger){
	if(event.preventDefault) {
		event.preventDefault();
	} else {
		event.returnValue = false;
	}
	
	
	$form = $(trigger).closest('form');
	$data = $form.serialize();
	$url = $form.attr('action');
	
	$.post($url, $data, function(data){
		$form.find('div.error-message').remove();
		$form.find('input.form-error').removeClass('form-error');
		data = $.parseJSON(data);
		console.log(data);
		if(data.status == 'error'){
			if(data.validationErrors){
				$.each(data.validationErrors, function(index, value){
					
					$form.find('input.'+index).addClass('form-error').parent().append('<div class="error-message">'+value+'</div>');
				});
			}
			
		} else if(data.status == 'success'){
			
			$form.find('div.error-message').remove();
			$form.find('input.name, input.email').removeClass('form-error').val('');
			
			$dialog = $('<div id="subscribtion-success">'+data.message+'</div>');
			$($dialog).dialog({
				dialogClass: 'orange message',
				width: 400,
				resizable: false,
				modal: true,
				minHeight: 100,
				create: function(event, ui) {
					$(this).parent('.ui-dialog').css('overflow', 'visible');
				}
			});
			
		}
	});
}

function onTransitionIn(slide, caption, isSync){
		
	$image = $(slide).find('img');
	$container = $(slide);
	if($container.height() < $image.height()){
		$image.css('margin-top', ($container.height() - $image.height())/1.2 + 'px');
	}
	
	$maximizeLink = $('<a href="#" onclick="maximizeImage(event, this)" class="maximize" >').css({
		'width': $container.width()+'px',
		'height': $container.height()+'px'
	});
	
	$(slide).animate({
		'opacity': '1'
	}, 'slow').prepend($maximizeLink);
}

/* Lithuanian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* @author Arturas Paleicikas <arturas@avalon.lt> */
jQuery(function($){
	$.datepicker.regional['lt'] = {
		closeText: 'Uždaryti',
		prevText: '&#x3c;Atgal',
		nextText: 'Pirmyn&#x3e;',
		currentText: 'Šiandien',
		monthNames: ['Sausis','Vasaris','Kovas','Balandis','Gegužė','Birželis',
		'Liepa','Rugpjūtis','Rugsėjis','Spalis','Lapkritis','Gruodis'],
		monthNamesShort: ['Sau','Vas','Kov','Bal','Geg','Bir',
		'Lie','Rugp','Rugs','Spa','Lap','Gru'],
		dayNames: ['sekmadienis','pirmadienis','antradienis','trečiadienis','ketvirtadienis','penktadienis','šeštadienis'],
		dayNamesShort: ['sek','pir','ant','tre','ket','pen','šeš'],
		dayNamesMin: ['Se','Pr','An','Tr','Ke','Pe','Še'],
		weekHeader: 'Wk',
		dateFormat: 'yy-mm-dd',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['lt']);
});

$(document).ready(function(){
	
	if($('ul.menu li.parent').find('li.active').length){
		$('ul.menu li.parent').addClass('active');
	}
	
	$('ul.menu li.parent').hover(
			function(){
				
				$(this).find('ul.subitems').fadeIn('fast');
				$(this).addClass('hover');
			},
			function(){
				$(this).find('ul.subitems').fadeOut('fast');
				$(this).removeClass('hover');
			}
	);
	
	
	
	$('#events-calendar').datepicker({
		dateFormat: 'yy-mm-dd',
		regional: 'lt',
		beforeShowDay: function(date) {
			var cdate = new Date(date);
			if(calendarEvents){
				var ret  = [false, ''];
				var tooltip = '';
				$.each(calendarEvents, function(index, value){
					var edate = new Date(value);
					if(cdate.toDateString() == edate.toDateString()){
						tooltip += '<p>'+escape(index)+'</p>';
						ret  = [true, 'selectable', tooltip];
					}
				});
				return ret;
			} else {
				return [false, ''];
			}
			
		},
		onChangeMonthYear: function(year, month, inst) {
			//$(inst).find('td.selectable').tipsy();
		},
		onSelect: function(dateText, inst) {
			
			window.location = url_prefix+"/naujienos/by_date/"+dateText;
		}
	});
	
	$('#events-calendar td.selectable').tipsy({
		html: true,
		live: true,
		gravity: 's',
		 opacity: 1
	});
	
	
	
	
	if($('input.slug-source').length){
		$('input.slug-source').slugIt({
			output: '.slug-dest'
		});
	}
	
	$( ".sortable" ).sortable({
		items: 'tbody tr',
		update: function(event, ui) {
			
			$table = $(this);
			$table.css({
				'opacity': '0.5',
				'cursor': 'progress'
			});
			$.each($( ".sortable tbody tr" ), function(index, value){
				$(value).find('span.order input').attr('value', index);
			});
			
			$form = $table.closest('form');
			data = $form.serialize();
			url = $form.attr('action');
			
			
			$.post(url, data, function(response){
				response = $.parseJSON(response);
				$table.css({
					'opacity': '1',
					'cursor': 'default'
				});
				console.log(response);
				if(response.status == 'success'){
					statusClass='success';
				} else {
					statusClass='error';
				}
				$('#content').find('#flashMessage').remove();
				$('#content').prepend($('<div id="flashMessage" class="'+statusClass+'">'+response.message+'<div>').hide().fadeIn());
			});
		}
	});
});
