slide_speed = 0;
news_speed = 0;
news_top = 0;
slide_time = 0;
slider_width = 0;
set_timer_to_zero = 0;
time_length = 0;

image_number = 0;

function slideshow(speed) {

	jQuery('#slider li a').hover(function() {
		clearInterval(slider_timer);
		now = new Date();
		time_length = now.getTime() - slide_time;
		set_timer_to_zero = 0;
		if (!jQuery(this).hasClass('slider-link-current'))  {
			set_timer_to_zero = 1;
			jQuery('#slider-time-line-current').width(0);
			jQuery('.slider-image, .slider-caption').css({zIndex: 997}).stop();
			
			var current_slide = jQuery('.slider-link-current');
			var next_slide = jQuery(this);
			
			current_slide.removeClass('slider-link-current');
			next_slide.addClass('slider-link-current');
			
			current_slide.children('.slider-image, .slider-caption').css({zIndex: 998, opacity: 1.0});
			next_slide.children('.slider-image, .slider-caption').css({zIndex: 999, opacity: 0.0}).animate({opacity: 1.0}, 1000, function() {current_slide.children('.slider-image, .slider-caption').css({zIndex: 997});});
		}
	},function(){
		now = new Date();
		if (set_timer_to_zero) {
			slide_time = now.getTime();
		} else {
			slide_time = now.getTime() - time_length;
		}
		slider_timer = setInterval('slider_line_time()', 10);
	});
	
	var now = new Date();
	slide_time = now.getTime();  
	slide_speed = speed;
	slider_width = jQuery('#slider-time-line').width();

	var img = new Image();
	t = jQuery('.slider-image-current');
	jQuery(img)
		.load(function() {
			jQuery(this).css({'display': 'none', 'visibility': 'visible'});
			jQuery(this).addClass('slider-image no-preload slider-image-current');
			t.after(jQuery(this));
			t.remove();
			jQuery(this).fadeIn(function(){
				jQuery('#slider-time-line').css({visibility: 'visible'});
				jQuery('.slider-caption, .slider-image').css({visibility: 'visible'});
				jQuery('.slider-link-current .slider-image, .slider-link-current .slider-caption').css({zIndex: 999});
				slider_timer = setInterval('slider_line_time()', 10);
			});
		})
		.attr('src', t.attr('src'));
}

function slider_line_time() {
	var now = new Date();
	var time_length = now.getTime() - slide_time;
	var slider_line_time_current_width = slider_width * (time_length / slide_speed);
	if (slider_line_time_current_width > slider_width) {
		slider_line_time_current_width = slider_width;
		slide_time = now.getTime();  
		slide();
	} else {
		jQuery('#slider-time-line-current').width(slider_line_time_current_width + 'px');
	}
}

function slide() {  
	
	var current_slide = (jQuery('#slider li a.slider-link-current') ? jQuery('#slider li a.slider-link-current') : jQuery('#slider li:first a'));  
	
	if (current_slide.parent().next().length > 0) {
		var next_slide = current_slide.parent().next().children('a:first');
	} else {
		var next_slide = jQuery('#slider li:first a');
	}
	
	current_slide.removeClass('slider-link-current');
	next_slide.addClass('slider-link-current');
	
	current_slide.children('.slider-image, .slider-caption').css({zIndex: 998});
	next_slide.children('.slider-image, .slider-caption').css({zIndex: 999, opacity: 0.0}).animate({opacity: 1.0}, 1000, function() {current_slide.children('.slider-image, .slider-caption').css({zIndex: 997});});
}  

function news_hover() {
	jQuery('#news-container').hover(function(){
		clearInterval(news_scroll_timer);
	},function(){
		news_scroll_timer = setInterval('news_scroll()', 1000 / news_speed);
	});
	
	jQuery('#news-little-triangle-down').hover(function(){
		clearInterval(news_scroll_timer);
		if (news_top > 0) {
			var link = jQuery('#news-scroll a:last').attr('href');
			jQuery('#news-scroll').prepend('<a class="news" href="' + link +'">' + jQuery('#news-scroll a:last').html() + '</a>');
			jQuery('#news-scroll a:last').remove();
			news_top = news_top - jQuery('#news-scroll a:first').height() - 18;
			jQuery('#news-scroll').css({top: news_top});
		}
		news_scroll_timer = setInterval('news_scroll_down()', 1000 / news_speed);
	},function(){
		clearInterval(news_scroll_timer);
		news_scroll_timer = setInterval('news_scroll()', 1000 / news_speed);
	});
	
	jQuery('#news-little-triangle-up').hover(function(){
		clearInterval(news_scroll_timer);
		news_scroll_timer = setInterval('news_scroll()', 300 / news_speed);
	},function(){
		clearInterval(news_scroll_timer);
		news_scroll_timer = setInterval('news_scroll()', 1000 / news_speed);
	});
}

function news_scroll() {
	news_top = news_top - 1;
	jQuery('#news-scroll').css({top: news_top});
	if (news_top <= -jQuery('#news-scroll a:first').innerHeight()) {
		var link = jQuery('#news-scroll a:first').attr('href');
		jQuery('#news-scroll').append('<a class="news" href="' + link +'">' + jQuery('#news-scroll a:first').html() + '</a>');
		jQuery('#news-scroll a:first').remove();
		news_top = 18;
		jQuery('#news-scroll').css({top: 18});
	}
}

function news_scroll_down() {
	news_top = news_top + 1;
	jQuery('#news-scroll').css({top: news_top});
	if (news_top > 0) {
		var link = jQuery('#news-scroll a:last').attr('href');
		jQuery('#news-scroll').prepend('<a class="news" href="' + link +'">' + jQuery('#news-scroll a:last').html() + '</a>');
		jQuery('#news-scroll a:last').remove();
		news_top = news_top - jQuery('#news-scroll a:first').height() - 18;
		jQuery('#news-scroll').css({top: news_top});
	}
}

function news(speed, height) {	
	jQuery('#news').css({'height' : height, 'margin-bottom' : '27px'});
	news_speed = speed;
	news_hover();
	news_scroll_timer = setInterval('news_scroll()', 1000 / news_speed);
}

function contact(url) {
	
	function isValidMail(mail) {
		var pattern = new RegExp(/^[a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4}$/i);
		return pattern.test(mail);
	}	
	
	jQuery('#contact-form').submit(function() {
		var name = jQuery('#name').val();
		var email = jQuery('#email').val();
		var subject = jQuery('#subject').val();
		var message = jQuery('#message').val();
		var error = 0;
		if (name == '') {
			error = 1;
			jQuery('#name').siblings('label').addClass('error');
		} else {
			jQuery('#name').siblings('label').removeClass('error');
		}
		if ((email == '') || (!isValidMail(email))){
			error = 1;
			jQuery('#email').siblings('label').addClass('error');
		} else {
			jQuery('#email').siblings('label').removeClass('error');
		}
		if (message == '') {
			error = 1;
			jQuery('#message').siblings('label').addClass('error');
		} else {
			jQuery('#message').siblings('label').removeClass('error');
		}
		if (error == 0) {
			jQuery('#contact-ajax-loader').css({display: 'block'});
			jQuery.ajax({
				url: url + '/mail.php',
				type: 'post',
				data: 'name=' + name + '&email=' + email + '&subject=' + subject + '&message=' + message,
				success: function(msg){
					if (msg == 'OK') {
						jQuery('#contact-ajax-loader').css({display: 'none'});
						jQuery('#contact-message-sent').fadeIn(600);
						jQuery('#submit').attr('disabled', 'disabled');
						jQuery('#submit').addClass('disable');
						setTimeout(function() {
							jQuery('#contact-message-sent').fadeOut(600, function() { 
								jQuery('#submit').removeAttr('disabled');
								jQuery('#submit').removeClass('disable');
							});
						}, 8000);
					} else {
						jQuery('#contact-ajax-loader').css({display: 'none'});
						jQuery('#contact-message-not-sent').fadeIn(600);
						setTimeout(function() {
							jQuery('#contact-message-not-sent').fadeOut(600);
						}, 8000);
					}
				},
				error: function() {
					jQuery('#contact-ajax-loader').css({display: 'none'});
					jQuery('#contact-message-not-sent').fadeIn(600);
					setTimeout(function() {
						jQuery('#contact-message-not-sent').fadeOut(600);
					}, 8000);
				}
			});
		}
		jQuery('#submit').blur();
		return false;
	});
}

function launch_nivo_slider(effect, slices, animSpeed, pauseTime) {
	var img = new Image();
	jQuery(img)
		.load(function () {
			jQuery(this).css({'display': 'none', 'visibility': 'visible'});
			jQuery(this).addClass('no-preload');
			jQuery('.nivo-first-slide').append(this);
			jQuery(this).fadeIn(function(){
				jQuery('.nivo-first-slide').find('img:last').remove();
				jQuery('#nivo-slider').nivoSlider({
					'effect': effect,
					'slices': slices,
					'animSpeed': animSpeed,
					'pauseTime': pauseTime
				});
			});
		})
		.attr('src', jQuery('.nivo-first-slide').find('img').attr('src'));
};

function load_image() {
	var t = jQuery('img').eq(image_number);
	if (!t.hasClass('no-preload')) {
		var img = new Image();
		jQuery(img)
			.load(function() {
				jQuery(this).css({'display': 'none', 'visibility': 'visible'});
				t.after(jQuery(this));
				t.remove();
				jQuery(this).fadeIn(function(){
					image_number++;
					load_image();
				});
			})
			.error(function() {
				image_number++;
				load_image();
			})
			.attr('src', t.attr('src'));
	} else {
		image_number++;
		load_image();
	}
}

function show_images() {
	jQuery('img').each(function() {
		if (jQuery(this).hasClass('no-preload') &&  (!jQuery(this).hasClass('slider-image')) ){
			jQuery(this).css('visibility', 'visible');
		}
	});
}

function improve_thumbnails() {
	jQuery('a img').each(function() {
		if (jQuery(this).parent('a').hasClass('thumbnail')){
			jQuery(this).parent('a').attr('rel', 'prettyPhoto[gallery]');
			if (jQuery(this).hasClass('alignleft')) {
				jQuery(this).removeClass('alignleft');
				jQuery(this).parent('a').addClass('thumbnail-alignleft');
			}
			if (jQuery(this).hasClass('alignright')) {
				jQuery(this).removeClass('alignright');
				jQuery(this).parent('a').addClass('thumbnail-alignright');
			}
			var w = jQuery(this).css('width');
			var h = jQuery(this).css('height');
			jQuery(this).parent('a')
				.css({'width': w, 'height': h})
				.append('<div style="width: ' + w + '; height: ' + h + '" class="thumbnail-mask"></div>')
				.hover(function() {
					if (jQuery.browser.msie) {
						jQuery(this).find('.thumbnail-zoom').css('display', 'block');
						jQuery(this).find('.thumbnail-triangle').css('display', 'block');
						jQuery(this).find('.thumbnail-mask').css('filter', 'alpha(opacity=8)');
					} else {
						jQuery(this).find('.thumbnail-zoom').fadeIn();
						jQuery(this).find('.thumbnail-triangle').fadeIn();
					}
					jQuery(this).find('.thumbnail-mask').fadeOut();
				}, function() {
					if (jQuery.browser.msie) {
						jQuery(this).find('.thumbnail-zoom').css('display', 'none');
						jQuery(this).find('.thumbnail-triangle').css('display', 'none');
					} else {
						jQuery(this).find('.thumbnail-zoom').fadeOut();
						jQuery(this).find('.thumbnail-triangle').fadeOut();
					}
					jQuery(this).find('.thumbnail-mask').fadeIn();
				});
			if (jQuery(this).parent('a').hasClass('video')) {
				jQuery(this).parent('a').append('<div style="width: ' + w + '; height: ' + h + '" class="thumbnail-triangle"></div>')
			} else {
				jQuery(this).parent('a').append('<div style="width: ' + w + '; height: ' + h + '" class="thumbnail-zoom"></div>')
			}
		}
	});
}

function improve_links() {
	jQuery('p a, .page ul a, .page ol a, .post ul a, .post ol a').css({'text-decoration': 'none', 'border-bottom-width': '1px'});
	jQuery('p a img').parent('a').css({'border-bottom-width': '0px'});
	jQuery('p a.thumbnail img').parent('a').css({'border-bottom-width': '1px'});
}
