(function($){

	$.fn.placeholder = function(){
			
		return $(this).each(function(){
			
			var $obj = $(this);
			var placeholderText = $obj.attr("title");
			$obj.focus(function(){
				$obj.removeClass("field_error");
				if($obj.val() == placeholderText)
				{
					$obj.val("");
				}
			}).blur(function(){
				if($obj.val() == "")
				{
					$obj.val(placeholderText);
				}
			});
			$obj.bind("field_reset",function(){
				$obj.val(placeholderText);
			});
						
		});

	}
	
})(jQuery);

(function($){
	$.fn.check_popup = function(){
		var $overlay = $("#overlay");
		var clicked_url;
		$overlay.css("opacity", 0);
		var $content = $("#overlay_checkbox");
		$content.css("opacity",0);
		var $close = $content.find(".close_checkbox");
		var $begin = $content.find(".postcodecheckbox_begin");
		var $succes = $content.find(".postcodecheckbox_succes");
		var $error = $content.find(".postcodecheckbox_error");
		var $loader = $content.find(".postcodecheckbox_loader");
		var $anyway = $content.find(".send_anyway");
		$loader.html("Bezig met de check.<span class=\"checkbox_reset pointer blue\">annuleer</span>");
		function close_checkbox(){
			$content.stop().animate({
				opacity: 0
			},250,function(){
				$overlay.animate({
					opacity: 0
				},250,function(){
					if($request != false) $request.abort();
					$content.find(".postcodecheckbox_error, .postcodecheckbox_loader, .postcodecheckbox_succes, .postcodecheckbox_error").hide();
					$begin.show();
					$overlay.css("display","none");
					$content.css("display","none");
				});
			});
		}
				
		$close.click(function(){ close_checkbox(); });
		$overlay.click(function(){ close_checkbox(); });
		$anyway.click(function(){post_values_to("https://portal.lijbrandt.nl/aanmelden/nietbeschikbaar/");});
		var $request = false;
		var $submit = $content.find(".postcodecheck_submit");
		
		$content.find(".postcodecheck_postcode").keyup(function(){
			$("#postalCode").val($(this).val());
			$("#postalCode").attr("value",$(this).val());
			//alert($("#postalCode").val());
		});
		
		$content.find(".postcodecheck_housenr").keyup(function(){
			$("#houseNumber").val($(this).val());
			//$("#houseNumber").attr("value",$(this).val());
		});
		
		$content.find(".postcodecheck_extra").keyup(function(){
			$("#houseNumberExtension").val($(this).val());
			//$("#houseNumberExtension").attr("value",$(this).val());
		});
		
		$submit.click(function(){
			
			$content.find(".field").each(function(){
				$(this).triggerHandler("focus");
			});
			var data = {
			};
			var postcode = $content.find(".postcodecheck_postcode").val();
			var housenr = parseInt($content.find(".postcodecheck_housenr").val());
			if(isNaN(housenr)) housenr = "";
			var extra = $content.find(".postcodecheck_extra").val();
			var error = false;
			if(check_val(postcode) == false)
			{
				$content.find(".postcodecheck_postcode").addClass("field_error");
				error = true;
			}
			
			data.postcode = postcode.toUpperCase().split(" ").join("");
			if(check_val(housenr) == false)
			{
				$content.find(".postcodecheck_housenr").addClass("field_error");
				error = true;
			}
			data.housenr = housenr;
			data.extra = "";
			if(check_val(extra) == true)
			{
				data.extra = extra;
			}
			if(error == true){
				$content.find(".field").each(function(){
					$(this).triggerHandler("blur");
				});
				show_error("Het formulier is niet correct ingevuld.");
				return false;
			}
			$begin.slideUp();
			$loader.slideDown();			
			var _url = "&postalCode="+data.postcode+"&houseNumber="+data.housenr+"&houseNumberExtension="+data.extra;
			$request = $.ajax({
				type: "POST",
				url: "/call.php",
				data: {
					url: _url
				},
				success: function(data, status){
					var resp = $.parseJSON(data);
					if(resp.available == true){
						$loader.slideUp();
						$succes.slideDown();
						post_values_to(clicked_url);
					}else{
						$loader.slideUp();
						$error.slideDown();
						//document.location="https://portal.lijbrandt.nl/aanmelden/nietbeschikbaar/";
					}
				},
				error: function(request, status, error){
					//alert('error');
					//alert(status);
				}
			});
			
		});
		
		function check_val(value){
			if(value == "" || value == false) return false;
			return true;
		}
		
		function reset_checkbox()
		{
			$content.find(".postcodecheckbox_error, .postcodecheckbox_loader, .postcodecheckbox_succes, .postcodecheckbox_error").slideUp();
			$begin.slideDown();
			if($request != false) $request.abort();
		}
		
		$content.find(".checkbox_reset").click(function(){
			reset_checkbox();
		});
		
		return $(this).each(function(){
			var $button = $(this);
			function show_checkbox(){
				$overlay.css("display","block");
				$content.css("display","block");
				$overlay.stop().animate({
					opacity: 0.6
				},250,function(){
					$content.animate({
						opacity: 1
					},250);
				});
			}
			$button.click(function(e){
				//alert($(this).attr("href"));
				e.preventDefault();	
				if($(".is_available").length > 0 )
				{
					post_values_to($(this).attr("href"));
				}
				else
				{
					if(this.tagName.toUpperCase() == "A")
					{
						clicked_url = $(this).attr("href");
						//alert(clicked_url);
					}
					show_checkbox();
				}
			});
			
		});

	}
	
})(jQuery);

function post_values_to(url)
{
	var ext = $("#houseNumberExtention").val();
	var type = typeof ext;
	type = type.toUpperCase();
	if(type != "STRING" && type != "NUMBER")
	{
		ext = "";
	}
	var new_url = "/redirect.php?postalCode=" + $("#postalCode").val() + "&houseNumber=" + $("#houseNumber").val() + "&houseNumberExtension=" + $("#houseNumberExtension").val() + "&packageName=" + url;
	//alert(new_url);
	
	window.location = new_url;
	return;
	$("#sidebar #packageName").val(url);
	//alert($("#wrap .checkblock").length);
	if($("#form_to_submit").length == 0){
		$("#sidebar .check_block").wrap("<form method=\"post\" action=\"http://www.versie1.com/xms/index.php\" id=\"form_to_submit\"/>");
	}
	setTimeout(function(){
		//alert($("#form_to_submit").html());
		$("#form_to_submit").submit();
	},100);
}

(function($){

	$.fn.check_block = function(){
		var $content = $(this);
		var $buttons = $content.find(".checkblock_button");
		var $begin = $content.find(".postcodecheckbox_begin");
		var $succes = $content.find(".postcodecheckbox_succes");
		var $error = $content.find(".postcodecheckbox_error");
		var $real_error = $content.find(".postcodecheckbox_real_error");
		var $loader = $content.find(".postcodecheckbox_loader");
		var $anyway = $content.find(".send_anyway");
		$loader.html("Bezig met de check.<span class=\"checkbox_reset pointer blue\">annuleer</span>");
		function close_checkbox(){
			$content.stop().animate({
				opacity: 0
			},250,function(){
				$overlay.animate({
					opacity: 0
				},250,function(){
					if($request != false) $request.abort();
					$content.find(".postcodecheckbox_error, .postcodecheckbox_loader, .postcodecheckbox_succes, .postcodecheckbox_error").hide();
					$begin.show();
					$overlay.css("display","none");
					$content.css("display","none");
				});
			});
		}
				
		var $request = false;
		var $submit = $content.find(".postcodecheck_submit");
		$anyway.click(function(){post_values_to("https://portal.lijbrandt.nl/aanmelden/nietbeschikbaar/");});
		$submit.click(function(){
			
			$content.find(".field").each(function(){
				$(this).triggerHandler("focus");
			});
			var data = {
			};
			var postcode = $content.find(".postcodecheck_postcode").val();
			var housenr = parseInt($content.find(".postcodecheck_housenr").val());
			if(isNaN(housenr)) housenr = "";
			var extra = $content.find(".postcodecheck_extra").val();
			var error = false;
			if(check_val(postcode) == false)
			{
				$content.find(".postcodecheck_postcode").addClass("field_error");
				error = true;
			}
			data.postcode = postcode.toUpperCase().split(" ").join("");
			if(check_val(housenr) == false)
			{
				$content.find(".postcodecheck_housenr").addClass("field_error");
				error = true;
			}
			data.housenr = housenr;
			data.extra = "";
			if(check_val(extra) == true)
			{
				data.extra = extra;
			}
			if(error == true){
				$content.find(".field").each(function(){
					$(this).triggerHandler("blur");
				});
				show_error("Het formulier is niet correct ingevuld.");
				return false;
			}
			$("body").removeClass("is_available");
			$begin.slideUp();
			$loader.slideDown();			
			var _url = "&postalCode="+data.postcode+"&houseNumber="+data.housenr+"&houseNumberExtension="+data.extra;
			$request = $.ajax({
				type: "POST",
				url: "/call.php",
				data: {
					url: _url
				},
				success: function(data, status){
					var resp = $.parseJSON(data);
					if(resp.available == true){
						$("body").addClass("is_available");
						$loader.slideUp();
						$succes.slideDown();
					}else{
						$loader.slideUp();
						$error.slideDown();
					}
				},
				error: function(request, status, error){
					$loader.slideUp();
					$real_error.slideDown();
					//alert(status);
				}
			});
			
		});
		
		function check_val(value){
			if(value == "" || value == false) return false;
			return true;
		}
		
		function reset_checkbox()
		{
			$(".postcodecheckbox_error, .postcodecheckbox_loader, .postcodecheckbox_succes, .postcodecheckbox_error, .postcodecheckbox_real_error").slideUp();
			$begin.slideDown();
			$("body").removeClass("is_available");
			if($request != false) $request.abort();
		}
		
		$(".checkbox_reset").click(function(){
			reset_checkbox();
		});
		
		$buttons.each(function(){
			var $button = $(this);
			function show_checkbox(){
				$overlay.css("display","block");
				$content.css("display","block");
				$overlay.stop().animate({
					opacity: 0.6
				},250,function(){
					$content.animate({
						opacity: 1
					},250);
				});
			}
			$button.click(function(e){
				e.preventDefault();
				show_checkbox();
			});
			
		});
		if($content.hasClass("is_available"))
		{
			$begin.hide();
			$succes.show();
		}
		
		return $(this);

	}
	
})(jQuery);



(function($){

	$.fn.contactwidget = function(){
		
		return $(this).each(function(){
			
			var $widget = $(this);
			var $mail = $widget.find(".contact_mail");
			var $tele = $widget.find(".contact_telephone");
			var $back = $widget.find(".contact_back");
			var $go = $widget.find(".goto_mail");
			var $form = $widget.find(".widget_contact_form");
			var $succes = $widget.find(".contact_succes");
			$succes.css("opacity",0);
			
			$go.click(function(){
				$tele.slideUp();
				$mail.slideDown();
			});
			
			$back.click(function(){
				$mail.slideUp();
				$tele.slideDown();
			});
			
			$form.submit(function(){
				var data = [];
				var error = false;
				$widget.find(".placeholder").each(function(){
					$(this).triggerHandler("focus");
					var value = $(this).val();
					if(value == "" || value == false){
						error = true;
						$(this).addClass("field_error");
					}
				});
				
				if(error == true){
					show_error("Het formulier is niet volledig ingevuld.");
					$(".field_error").each(function(){
						$(this).triggerHandler("blur");
					});
					return false;
				}
			
				$widget.addClass("loading");
				var email=$("#contact_email").val();
				var message=$("#contact_message").val();
				//alert(message);
				$.post("/forms/send_form", {email:email,message:message}, function(data){
					//alert(data);
					$mail.slideUp();
					$succes.slideDown();
				});				
				
				
				// this in callback for mail.
				
				setTimeout(function(){
					$widget.removeClass("loading");
					$succes.animate({
						opacity: 1
					},500);
				},1500);
				
				return false;
			});
						
		});

	}
	
})(jQuery);

;(function($){

	$.fn.inputvalue = function(){
				
		return $(this).each(function(){
		
			var $element = $(this);
				
			var original_value = $element.val();
			
			$element.focus(function(){
			
				if($element.val() == original_value){
					$element.val("");
				}
			
			});
			
			$element.blur(function(){
						
				if($element.val() == ""){
					$element.val(original_value);
				}
			
			});
				
				
								
		});

	}
	
})(jQuery);

var error_shown = false;
var error_timeout;
function show_error(errorMessage){
	clearTimeout(error_timeout);
	var $error = $("#error_message");
	if(error_shown == true)
	{
		$error.stop().css("top","-50px");	
	}
	error_shown = true;
	$error.html(errorMessage);
	$error.animate({
		top: 0
	},300).unbind("click mouseenter mouseleave").click(function(){
		clearTimeout(error_timeout);
		hide_error();
	}).hover(function(){
		clearTimeout(error_timeout);
	},function(){
		error_timeout = setTimeout(function(){
			hide_error();
		},1000);
	});
	
	error_timeout = setTimeout(function(){
		hide_error();
	},4000);
	
}

function hide_error(){
	if(error_shown == false) return;
	$("#error_message").stop().animate({
		top: -50
	},300);
}

$("document").ready(function(){
	$(".placeholder").placeholder();
	$(".contactwidget").contactwidget();
	$('textarea').css("resize","none").attr("noresize","noresize");
	$(".check_block").check_block();
	$(".check_pupup").check_popup();
	$("#search_field").inputvalue();

});

