slide_speed = 0;
news_speed = 0;
news_top = 0;
slide_time = 0;
slider_width = 0;
set_timer_to_zero = 0;
time_length = 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);
	});
	
	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});
	
	var now = new Date();
	slide_time = now.getTime();  
	slide_speed = speed;
	slider_width = jQuery('#slider-time-line').width();
	slider_timer = setInterval('slider_line_time()', 10);
}

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);
	});
}

function news_scroll() {
	news_top = news_top - 1;
	jQuery('#news-scroll').css({top: news_top});
	if (news_top == -jQuery('#news-scroll p:first').innerHeight()) {
		jQuery('#news-scroll').append('<p class="news">' + jQuery('#news-scroll p:first').html() + '</p>');
		jQuery('#news-scroll p:first').remove();
		news_top = 0;
		jQuery('#news-scroll').css({top: 0});
	}
}

function news(speed) {
	news_speed = speed;
	news_hover();
	news_scroll_timer = setInterval('news_scroll()', 1000 / news_speed);
}

function menu() {
	jQuery('ul.sf-menu').superfish({
		delay:         400,
		animation : {height:'show'}, animationClose : {height:'hide'},
		autoArrows:  false
    });
}

function contact() {

	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 spamcheck = jQuery('#spamcheck').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 (subject == '') {
			error = 1;
			jQuery('#subject').siblings('label').addClass('error');
		} else {
			jQuery('#subject').siblings('label').removeClass('error');
		}
		if ((email == '') || (!isValidMail(email))){
			error = 1;
			jQuery('#email').siblings('label').addClass('error');
		} else {
			jQuery('#email').siblings('label').removeClass('error');
		}
		if (spamcheck != '5') {
			error = 1;
			jQuery('#spamcheck').siblings('label').addClass('error');
		} else {
			jQuery('#spamcheck').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: '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);
					}
				}
			});
		}
		jQuery('#submit').blur();
		return false;
	});
}



var checkboxHeight = "25";
var radioHeight = "25";
var selectWidth = "190";


/* No need to change anything after this */


document.write('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: ' + selectWidth + 'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; } .disabled { opacity: 0.5; filter: alpha(opacity=50); }</style>');

var Custom = {
	init: function() {
		var inputs = document.getElementsByTagName("input"), span = Array(), textnode, option, active;
		for(a = 0; a < inputs.length; a++) {
			if((inputs[a].type == "checkbox" || inputs[a].type == "radio") && inputs[a].className == "styled") {
				span[a] = document.createElement("span");
				span[a].className = inputs[a].type;

				if(inputs[a].checked == true) {
					if(inputs[a].type == "checkbox") {
						position = "0 -" + (checkboxHeight*2) + "px";
						span[a].style.backgroundPosition = position;
					} else {
						position = "0 -" + (radioHeight*2) + "px";
						span[a].style.backgroundPosition = position;
					}
				}
				inputs[a].parentNode.insertBefore(span[a], inputs[a]);
				inputs[a].onchange = Custom.clear;
				if(!inputs[a].getAttribute("disabled")) {
					span[a].onmousedown = Custom.pushed;
					span[a].onmouseup = Custom.check;
				} else {
					span[a].className = span[a].className += " disabled";
				}
			}
		}
		inputs = document.getElementsByTagName("select");
		for(a = 0; a < inputs.length; a++) {
			if(inputs[a].className == "styled") {
				option = inputs[a].getElementsByTagName("option");
				active = option[0].childNodes[0].nodeValue;
				textnode = document.createTextNode(active);
				for(b = 0; b < option.length; b++) {
					if(option[b].selected == true) {
						textnode = document.createTextNode(option[b].childNodes[0].nodeValue);
					}
				}
				span[a] = document.createElement("span");
				span[a].className = "select";
				span[a].id = "select" + inputs[a].name;
				span[a].appendChild(textnode);
				inputs[a].parentNode.insertBefore(span[a], inputs[a]);
				if(!inputs[a].getAttribute("disabled")) {
					inputs[a].onchange = Custom.choose;
				} else {
					inputs[a].previousSibling.className = inputs[a].previousSibling.className += " disabled";
				}
			}
		}
		document.onmouseup = Custom.clear;
	},
	pushed: function() {
		element = this.nextSibling;
		if(element.checked == true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 -" + checkboxHeight*3 + "px";
		} else if(element.checked == true && element.type == "radio") {
			this.style.backgroundPosition = "0 -" + radioHeight*3 + "px";
		} else if(element.checked != true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 -" + checkboxHeight + "px";
		} else {
			this.style.backgroundPosition = "0 -" + radioHeight + "px";
		}
	},
	check: function() {
		element = this.nextSibling;
		if(element.checked == true && element.type == "checkbox") {
			this.style.backgroundPosition = "0 0";
			element.checked = false;
		} else {
			if(element.type == "checkbox") {
				this.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
			} else {
				this.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
				group = this.nextSibling.name;
				inputs = document.getElementsByTagName("input");
				for(a = 0; a < inputs.length; a++) {
					if(inputs[a].name == group && inputs[a] != this.nextSibling) {
						inputs[a].previousSibling.style.backgroundPosition = "0 0";
					}
				}
			}
			element.checked = true;
		}
	},
	clear: function() {
		inputs = document.getElementsByTagName("input");
		for(var b = 0; b < inputs.length; b++) {
			if(inputs[b].type == "checkbox" && inputs[b].checked == true && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 -" + checkboxHeight*2 + "px";
			} else if(inputs[b].type == "checkbox" && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 0";
			} else if(inputs[b].type == "radio" && inputs[b].checked == true && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 -" + radioHeight*2 + "px";
			} else if(inputs[b].type == "radio" && inputs[b].className == "styled") {
				inputs[b].previousSibling.style.backgroundPosition = "0 0";
			}
		}
	},
	choose: function() {
		option = this.getElementsByTagName("option");
		for(d = 0; d < option.length; d++) {
			if(option[d].selected == true) {
				document.getElementById("select" + this.name).childNodes[0].nodeValue = option[d].childNodes[0].nodeValue;
			}
		}
	}
}
window.onload = Custom.init;
