$(document).ready(function(){
	$("#slider .ce_text").slider();
	customFormElements();
	$('.testi input.submit').click(function(e){
		e.preventDefault();
		$('.testitulokset').hide();
		$('.testitulokset .ce_text').hide();
		$('.sinun-kiropraktikkosi').hide();
		var val = $('.valitse-maakunta').val();
		$('#' + val).show();
		$('.testi input.checkbox[checked]').each(function(){
			$('.testitulokset').show();
			val = $(this).attr('value');
			$('.testitulokset .' + val).show();
		});
	});
	$('#form-trigger').fancybox();
	$(".kirotesti a:contains('@')").addClass('hyperlink_txt').html("Ota yhteys").click(function(e){
		e.preventDefault();
		$("#ctrl_12").attr('value', $(this).attr('href').substr(7));
		$("#form-trigger").trigger('click');
	});
	$("#yhteydenottolomake-piilotettu input.submit").click(function(e){
		var sendOk = true;
		var inputs = $("#yhteydenottolomake-piilotettu input.text.mandatory");
		$(inputs).removeClass('error');
		for(var i = 0; i < inputs.length; i++) {
			var $input = $(inputs[i]);
			if($input.val() == "") {
				sendOk = false;
				$input.addClass("error");
			}
		}
		if(sendOk == true) $("#yhteydenottolomake-piilotettu form").submit();
	});
});

$.fn.slider = function() {
	var $this = this;
	$this.each(function(){
		var element = $(this);
		var control = $('<a href="#"></a>').appendTo("#sliderControls");
		control.click(function(e){
			e.preventDefault();
			$("#sliderControls .activeControl").removeClass('activeControl');
			$(this).addClass("activeControl");
			$this.doFadeIn(element);
			window.clearInterval($this.interval);
			$this.interval = setInterval(function(){ $this.fadeNext(); },6000);
		});
	});
	$this.doFadeIn = function(arg) {
		$this.filter('.visible').removeClass('visible').fadeOut(2000);
		arg.fadeIn(2000);
		arg.addClass('visible');
	};
	$("#sliderControls a").first().addClass('activeControl');
	$this.fadeNext = function() {
		var nextControl = $('#sliderControls .activeControl').next();
		if(nextControl.length == 0) nextControl = $('#sliderControls a').first();
		nextControl.trigger('click');
	};
	$this.doFadeIn($this.first());
	$this.interval = setInterval(function(){ $this.fadeNext(); },6000);
}

function customFormElements() {
	$("input, textarea").focusin(function(){
		if(jQuery.support.opacity == true) $(this).prevAll('label').first().fadeTo(100, 0.1);
		else $(this).prevAll('label').first().css("display", "none");
	});
	$("input, textarea").focusout(function(){
		if($(this).val() == "") {
			if(jQuery.support.opacity == true) $(this).prevAll('label').first().fadeTo(100, 1);
			else $(this).prevAll('label').first().css("display", "block");
		}
	});
	
	$('input, textarea').each(function(){
		if($(this).val() != "") {
			if(jQuery.support.opacity == true) $(this).prevAll('label').first().fadeTo(100, 0.1);
			else $(this).prevAll('label').first().css("display", "none");
		}
	});
	
	$("select").each(function() {
		var select = $(this);
		$(this).css("display", "none");
		var options = $("option", this);
		var defaultValue;
		for(var i = 0; i < options.length; i++) {
			if($(options[i]).attr("selected") == "selected") {
				defaultValue = $(options[i]).html();
				$('.' + defaultValue).show();
				break;
			}
			else $defaultValue = $(options[0]).html();
			//alert($(options[i]).attr("selected"));
		}
		var htmlStr = '<ul class="select"><li><span class="value">' + defaultValue + '</span><ul class="options">';
		for(i = 0; i < options.length; i++) {
			htmlStr += '<li><a href="">' + $(options[i]).html() + '</a></li>';
		}
		htmlStr += "</ul></li></ul>";
		$htmlStr = $(htmlStr);
		$(this).after($htmlStr);
		if($(this).hasClass("error")) $htmlStr.addClass("error");
		$("ul.select").click(function(){
			$("ul.options").toggle();
		});
		$("ul.options li a").click(function(event) {
			event.preventDefault();
			//alert($('option[selected]', select).index());
			var i = $(this).parent().index();
			var j = $('option[selected]', select).index();
			$(options[i]).attr("selected", "selected");
			$(options[j]).removeAttr("selected");
			$(this).parent().parent().parent().children("span.value").html($(this).html());
			var openThis = $(options[i]).attr('value');
			$('.sinun-kiropraktikkosi-sivu .sinun-kiropraktikkosi').hide();
			$('.sinun-kiropraktikkosi-sivu #' + openThis).show();
		});
	});
	$('input.checkbox').each(function() {
		var $this = $(this);
		$this.css("display", "none");
		var custom = $('<div class="checkbox"></div>');
		$this.parent().prepend(custom);
		custom.click(function(){
			if($(this).hasClass("checked")) {
				$(this).removeClass("checked");
				$this.removeAttr("checked");
			}
			else {
				$(this).addClass("checked");
				$this.attr("checked", "true");
			}
		});
	});
}
