﻿Casade = (function() {
	/* START PRIVATE */
	function startGoogleMaps() {
		oMap = new Estate.GoogleMaps(mapConfig, "oMap")
		oMap.Init()

		jQuery("#TabbedContent span.options input:radio").each(function(index) {
			var zoomLevel = new Array()
			zoomLevel[0] = 16
			zoomLevel[1] = 14
			zoomLevel[2] = 12
			jQuery(this).click(function() {
				oMap.SetSimpleZoom(zoomLevel[index])
			})
		})
	}

	var currentQuestion
	function openCustomTooltip(element) {
		if (jQuery(currentQuestion).attr("href") != jQuery(element).attr("href")) {
			jQuery("#CustomToolTip").remove()
			jQuery("body").append("<div class='customToolTip' id='CustomToolTip'></div>")
			jQuery("#CustomToolTip").hide()
			jQuery("#CustomToolTip").fadeIn("fast")
			var left = jQuery(element).offset().left + jQuery(element).width() + 2
			var right = jQuery(element).offset().top + jQuery(element).height() + 2
			jQuery("#CustomToolTip").load(jQuery(element).attr("href") + " #data", "", displayCustomTooltipInfo);

			jQuery("#CustomToolTip").css("left", left + "px")
			jQuery("#CustomToolTip").css("top", right + "px")
			jQuery("#CustomToolTip").click(function() {
				jQuery(this).fadeOut("fast", removeCustomTooltip)
			})
			currentQuestion = element
		} else {
			jQuery("#CustomToolTip").fadeOut("fast", removeCustomTooltip)
			currentQuestion = ""
		}
	}

	function displayCustomTooltipInfo() {
		jQuery("#data").css("display", "block");
	}

	function removeCustomTooltip(element) {
		jQuery("#CustomToolTip").remove()
	}

	function doIncomeMath() {
		var income = new Array()
		var totalIncome = 0
		var isNumeric
		jQuery("#Totaal").text("€ " + totalIncome.toFixed(2))

		for (var i = 0; i < 2; i++) {
			if (jQuery("input.tag_income" + (i + 1)).length > 0) {
				income[i] = jQuery("input.tag_income" + (i + 1)).val()
				income[i] = income[i].replace(",", ".")
				isNumeric = (income[i] == parseFloat(income[i]))
				if (isNumeric == true) {
					income[i] = parseInt(income[i])
				} else {
					income[i] = 0
				}
				jQuery("input.tag_income" + (i + 1)).val(income[i])
				totalIncome += income[i]
			}
		}

		jQuery("#Totaal").text("€ " + totalIncome)
	}
	/* END PRIVATE */

	/* START PUBLIC */
	return {
		SetQuickLinks: function() {
			var spaceLeft = jQuery("ul.visualHeader").height() - jQuery("ul#contentMenu1").height() - 30
			if (spaceLeft > 0) {
				jQuery("ul#contentMenu1").append("<li></li>")
				jQuery("ul#contentMenu1 li:last").height(spaceLeft - 1)
			}
		},

		HideButtonText: function() {
			jQuery("input.tag_hideText, div.scfForm input.scfSubmitButton, div.scfSubmitButtonBorder  input, input.searchButton").attr("value", "")
		},

		SetTabs: function() {
			jQuery("#TabbedContent div.contents div").hide()
			jQuery("#TabbedContent div.contents div:first").fadeIn()
			jQuery("#TabbedContent div.tabs a:first").addClass("active")
			jQuery("#TabbedContent div.tabs a").each(function(index) {
				jQuery(this).click(function() {
					jQuery("#TabbedContent div.contents > div").hide()
					jQuery("#TabbedContent div.contents > div:eq(" + index + ")").fadeIn(250, function() { 
						if (index == 2) {
							startGoogleMaps();
							loadLegenda();
						}
					})
					jQuery("#TabbedContent div.tabs a").removeClass("active")
					jQuery("#TabbedContent div.tabs a:eq(" + index + ")").addClass("active")
				})
			})
		},

		SetGallery: function() {
			jQuery("#Images a").each(function(index) {
				jQuery(this).click(function() {
					jQuery("#imageDetail").attr("src", jQuery(this).attr("href"));
					jQuery("#imageDetail").fadeIn()
					return false;
				})
			})
		},


		SetDynamicH3Header: function() {
			jQuery(".dynamicheading3").each(function(index) {
				jQuery(this).css("background", "url('/estate/dynamicheader/Header.ashx?imageText=" + jQuery(this).html().toUpperCase() + "&amp;fontdescription=sidebar') no-repeat")
			})
		},

		SetQuestions: function() {
			jQuery("a.question").click(function() {
				openCustomTooltip(this)
				return false;
			})
		},

		StartGoogleMaps: function() {
			startGoogleMaps()
		},

		SetToewijzingen: function(showToggleText) {
			jQuery("table.dataTable tr.rest").hide()
			jQuery("table.dataTable tr.winner:odd").addClass("alt")
			jQuery("table.dataTable tr.winner").addClass("winnerDynamic")
			if (showToggleText == true) {
				jQuery("table.dataTable tr.winner td.toggle").html("<a href='javascript:void(0)'>meer</a>")
			} else {
				jQuery("table.dataTable tr.winner td.toggle").html("<a href='javascript:void(0)'>&nbsp;</a>")
			}
			jQuery("table.dataTable tr.winner").click(function() {
				var isOpened = jQuery(this).next("tr.rest").is(":visible")

				if (showToggleText == true) {
					jQuery("table.dataTable td.toggle a").text("meer")
				}
				jQuery("table.dataTable tr.rest").hide()
				jQuery("table.dataTable td.toggle").removeClass("toggleLess")
				if (isOpened == true && showToggleText == true) {
					jQuery(this).find("td.toggle a").text("meer")
				} else {
					jQuery(this).next("tr.rest").fadeIn()
					jQuery(this).find("td.toggle").addClass("toggleLess")
					if (showToggleText == true) {
						jQuery(this).find("td.toggle a").text("minder")
					}
				}
			})
		},

		SetWijkpunten: function() {
			jQuery("table.dataTable tr.rest").hide()
			jQuery("table.dataTable tr.winner").addClass("winnerDynamic")
			jQuery("table.dataTable tr.winner td.toggle").html("<a href='javascript:void(0)'>&nbsp;</a>")
			jQuery("table.dataTable tr.winner").click(function() {
				jQuery("table.dataTable tr.rest").hide()
				jQuery("table.dataTable td.toggle").removeClass("toggleLess")
				jQuery(this).next("tr.rest").fadeIn()
				jQuery(this).next().next("tr.rest").fadeIn()
				jQuery(this).find("td.toggle").addClass("toggleLess")
			})
		},

		SetFaq: function() {
			jQuery("#FaqList").addClass("faqListDynamic")
			jQuery("#FaqList dd").hide()
			jQuery("#FaqList dt:odd").addClass("alt")
			jQuery("#FaqList dt").each(function() {
				jQuery(this).html("<span></span>" + jQuery(this).html())
			})
			jQuery("#FaqList dt").click(function() {
				var isOpened = jQuery(this).next("dd").is(":visible")
				jQuery("#FaqList dd").hide()
				jQuery("#FaqList dt").removeClass("selected")
				if (isOpened == true) {
					jQuery(this).next("dd").hide()
				} else {
					jQuery(this).addClass("selected")
					jQuery(this).next("dd").fadeIn()
				}
			})
		},

		SetIncomeMath: function() {
			jQuery("input.tag_income1, input.tag_income2").change(function() {
				doIncomeMath()
			})
			jQuery("#Bereken").click(function() {
				doIncomeMath()
			})
		},

		CheckPayType: function(source, args) {
			var isValid = false

			if (jQuery('[id$="BetalenIncasso"]:checked').size() > 0 || jQuery('[id$="BetalenAcceptgiro"]:checked').size() > 0 || jQuery('[id$="BetalenIdeal"]:checked').size() > 0) {
				isValid = true
			}

			if (jQuery('input[id$="BetalenIncasso"]:checked').size() > 0 && jQuery('input[id$="Bankrekeningnummer"]').val() == "") {
				isValid = false
			}

			args.IsValid = isValid
		},

		SetZebraTable: function(selector) {
			jQuery(selector + " tr:nth-child(odd)").addClass("alt");
		},

		CheckBanknummer: function(source, args) {
			var isValid = false
			var banknummer = jQuery('[id$="Bankrekeningnummer"]').val()

			if (jQuery('[id$="BetalenIncasso"]:checked').size() > 0 && banknummer.length > 0) {
				isValid = true
			}
			if (jQuery('[id$="BetalenIncasso"]:checked').size() == 0) {
				isValid = true
			}

			args.IsValid = isValid
		}
	}
	/* END PUBLIC */
})();
