function showReloading() {
	var overlay = $("<div class=\"reloading\"></div>");
	$(overlay).css({
		"opacity" : 0.8,
		"position" : "fixed",
		"z-index" : "9999",
		"top" : 0,
		"left" : 0,
		"width" : $(window).width(),
		"height" : $(document).height()
	});

	$("body").append(overlay);
}

function openDialog(text){
	var addtext = text
	$(".dialogsuccesfull").empty();
	$(".dialogsuccesfull").append('<br><br><p>' + addtext + '</p>');
	$( ".dialogsuccesfull" ).dialog({
		 title: 'Succes',
	});
}

function tagRequiredFields(formId, requiredFields) {
	if ($.isArray(requiredFields) && requiredFields.length > 0) {
		$("#" + formId + " fieldset *:input:enabled").each(function() {
			var indexArray = $.inArray($(this).attr("name"), requiredFields);
			if (indexArray >= 0) {
				var labelId = "#lbl"+ $(this).attr("id").substring(3, $(this).attr("id").length);
				if (labelId.indexOf('-') >= 0) {
					labelId = labelId.substring(0, labelId.indexOf('-'));
				}
				// var labelDOM = $(this).prev("label");
				var labelDOM = $(this).closest("form").find("label[for=\"" + $(this).attr("id") + "\"]");

				if ($(this).closest("form").find(labelId).length > 0) {
					var labelDOM = $(this).closest("form").find(labelId);
				}

				$(labelDOM).each(function() {
					if ($(this).find(".infoPopup").length) {
						$(this).find(".infoPopup").before("<span class=\"required\">*<\/span>");
					} else {
						$(this).append("<span class=\"required\">*<\/span>");
					}
				});
				requiredFields.splice(indexArray, 1);
			}
		});
	} else {
		$("#" + formId + " li.required").hide();
	}
}

function processJsonForm(form, options) {
	return true;
}

function processJsonFormData(formData, jqForm, options) {
	return true;
}

function processJsonFormResponse(responseJson, statusText, xmlHttpRequest, form) {
	if (responseJson != '') {
		if ("contents" in responseJson) {
			var contents = responseJson.contents;

			$.each(contents, function(element, content) {
				if ($(element).length > 0) {
					$(element).html(content);
				}
			});
		}
		if ("alerts" in responseJson) {
			var alerts = responseJson.alerts;

			if ("messages" in alerts) {
				var messages = alerts.messages;

				var text = "";
				$.each(messages, function(index, message) {
					text = text + message + "\n";
				});
				openDialog(text);
			}
			if ("errors" in alerts) {
				var errors = alerts.errors;

				var text = "";
				//$.each(errors, function(index, error) {
				//	text = text + error + "\n";

				openDialog(text);
			}
		}
	}
}

$(document).ready(function() {
	var jsonFormOptions = {
		// target : '#output1', // target element(s) to be updated with server
		// pre-submit callback
		beforeSerialize : processJsonForm,
		beforeSubmit : processJsonFormData,

		// other available options:
		// url: url, // override for form's 'action' attribute
		// type: type, // 'get' or 'post', override for form's 'method'
		// attribute
		dataType : "json", // 'xml', 'script', or 'json' (expected server type)
		// clearForm: true, // clear all form fields after successful submit
		// resetForm: true, // reset the form after successful submit

		// $.ajax options can be used here too, for example:
		// timeout: 3000,

		// post-submit callback
		success : processJsonFormResponse
	};

	$("form.json").ajaxForm(jsonFormOptions);

	$(".button.minus").click(function() {
		var inputDOM = $(this).next();
		if (parseInt(inputDOM.val()) > 1) {
			inputDOM.val(parseInt(inputDOM.val()) - 1);
		}
	});
	$(".button.plus").click(function() {
		var inputDOM = $(this).prev();
		inputDOM.val(parseInt(inputDOM.val()) + 1);
	});

	// li with fade class
	$("li.productListItem").mouseenter(function() {
		$(this).addClass("hover");
	});
	$("li.productListItem").mouseleave(function() {
		$(this).removeClass("hover");
	});

	/*
	 * $("a.color_image").click(function () { var colorThumb =
	 * $(this).attr('rel'); $(".galleria_wrapper").css("display", "none");
	 * $(".nav .left").css("display", "none"); $(".nav .right").css("display",
	 * "none");
	 *
	 * $(".show_galleria").css("display", "inline"); var _img = $('<img
	 * class="color_thumb" style="visibility: hidden;" src="'+colorThumb+'">');
	 * _img.hide(); console.debug(_img.height());
	 *
	 * $(".color_thumb").remove(); $(".galleria_container").append(_img);
	 * _img.show(function(){ var _height = _img.height()/2; var _width =
	 * _img.width()/2; var _marginleft = "-"+_width+ "px"; var _margintop =
	 * "-"+_height+ "px"; _img.hide(); _img.css({ "visibility": "visible",
	 * top:255+ "px", left:315+
	 * "px","margin-left":_marginleft,"margin-top":_margintop }); _img.fadeIn();
	 * });
	 *
	 * });
	 *
	 * $("span.show_galleria").click(function () {
	 * $(".galleria_wrapper").css("display", "block");
	 * $(".color_thumb").remove(); $(".nav .left").css("display", "block");
	 * $(".nav .right").css("display", "block"); $(this).css("display","none");
	 *
	 *
	 * });
	 */

	$("span.exit").click(function() {
		$(".toggled").toggle();
	});

	$("a.toggle").click(function() {
		$(".toggled").toggle();
	});
});

