if (typeof(nl) == "undefined") {
	var nl = {}
}
if (typeof(nl.reiswerk) == "undefined") {
	nl.reiswerk = {}
}






nl.reiswerk.FixMenu = (function() {
	/* Start public */
	return {
		Run: function(selector) {
			var div = ""
			if (selector == "#Menu4") {
				div = "<div class='bottom'></div>";
				
				if (jQuery(selector + " > div > ul").size() > 0) {
					jQuery(selector + " > div > ul").after(div)
				} else {
					jQuery(selector + " > span > div > ul").after(div)
				}
				if (jQuery(selector + " > *").size() == 0) {
					jQuery(selector).addClass("menu4Empty")
				}
			}

			if (selector == "#Menu2") {
				div += "<div class='dropmenu'>"
				div +=		"<div class='top'></div>"
				div +=		"<div class='bottom'></div>"
				div += "</div>"

				jQuery(selector + " > div > ul > li").each( function() {
					var subMenu = jQuery(this).find("> ul")
					if (jQuery(subMenu).size() > 0) {
						jQuery(this).append(div)
						var divtop = jQuery(this).find(" div.dropmenu > div.top")
						jQuery(this).find(" > ul").remove().appendTo(divtop)
					}
				})
			}
		}
	}
	/* End public */
})();





nl.reiswerk.FixBreadcrumb = (function() {
    /* Start public */
    return {
        Run: function() {
            var innerHtml = jQuery("div.breadcrumb_middle").text().replace(/&amp;nbsp;/gi, " ");
            jQuery("div.breadcrumb_middle").html(innerHtml);
        }
    }
})();






nl.reiswerk.FixAutoForm = (function() {
	/* Start public */
	return {
		Run: function(selector) {
			jQuery(selector).find("textarea").each( function() {
				jQuery(this).parent().addClass("textarea")
			})
		}
	}
	/* End public */
})();






nl.reiswerk.CSSTools = (function() {
	config = {
		appendString: "..."
	}
	
	/* Start public */
	return {
		ManualTextOverflow: function(arrSelectors) {
			for (var i = 0; i < arrSelectors.length; i++) {
				var selector = arrSelectors[i][0]
				var maxStringSize = arrSelectors[i][1]
				jQuery(selector).each( function() {
					var stringLength = jQuery(this).html().length
					if (stringLength > maxStringSize) {
						jQuery(this).html(jQuery(this).html().substr(0, maxStringSize) + "...")
					}
				})
			}
		},

		BackgroundToggle: function(selector) {
			var showBackgroundText = "| Laat achtergrond foto zien"
			var showSiteText = "| Terug naar website"
			
			jQuery(selector).text(showBackgroundText)
			jQuery(selector).css("cursor", "pointer")
			
			jQuery(selector).toggle(
				function() {
					jQuery("form > div > div.header").slideUp()
					jQuery("form > div > div.content").slideUp()
					jQuery(this).text(showSiteText)
					jQuery(this).css("font-weight", "bold")
					jQuery(this).css("font-size", "1.3em")
				},
				function() {
					jQuery("form > div > div.header").slideDown()
					jQuery("form > div > div.content").slideDown()
					jQuery(this).text(showBackgroundText)
					jQuery(this).css("font-weight", "normal")
					jQuery(this).css("font-size", "1em")
				}
			)
		}
	}
	/* End public */
})();






nl.reiswerk.Addthis = (function() {
	/* Start public */
	return {
		AddLink: function(url, cssClass, title) {
			jQuery("#SocialBookmarks div.addthis_toolbox").prepend("<a href='" + url + "' class='" + cssClass + "' title='" + title + "'></a>")
		}
	}
	/* End public */
})();






nl.reiswerk.ResetEvent = function() { };






nl.reiswerk.EventsForm = (function() {
    /* Start public */
    return {
        Hide: function(selector) {
            if (jQuery(selector)) {
                jQuery(selector).hide();
            }
        }
    }
    /* End public */
})();






nl.reiswerk.QuizRibbon = (function() {
    config = {
        active: false,
        open: false
    }

    function slideUp(animate) {
        if (animate) {
            jQuery("div.ribbonContainer").animate({
                marginTop: "-205px"
            }, 500, function() {
                jQuery("a.toggle").removeAttr("id");
                config.open = false
            });
        } else {
            jQuery("div.ribbonContainer").css("marginTop", "-205px");
            jQuery("a.toggle").removeAttr("id");
            config.open = false
        }
    }

    function slideDown(animate) {
        if (animate) {
            jQuery("div.ribbonContainer").animate({
                marginTop: "0px"
            }, 500, function() {
                jQuery("a.toggle").attr("id", "open");
                config.open = true;
            });
        } else {
            jQuery("div.ribbonContainer").css("margin-top", "0px");
            jQuery("a.toggle").attr("id", "open");
            config.open = true;
        }
    }

    /* Start public */
    return {
        Init: function() {
            // Set active in config to false to deactivate ribbon
            if (config.active) {
                jQuery("div.ribbonBadge").show();
                jQuery("div.ribbonContainer").show();
            }
        },

        Toggle: function(animate) {
            if (config.open) {
                slideUp(animate);
            } else {
                slideDown(animate);
            }
        }
    }
    /* End public */
})();





nl.reiswerk.CAO_Boek = (function() {
    /* Start public */
    return {
        Init: function(container) {
            var flashvars = {};
            flashvars.xmlPath = "/Estate/XML/setup.xml";
            flashvars.preloaderMessage = "De XML file wordt geladen"
            flashvars.title = "Reiswerk CAO 1 april 2009 - 1 april 2011";

            var params = {};
            params.wmode = "transparent";

            var attributes = {};
            attributes.id = "flipbook";
            attributes.name = "flipbook";

            swfobject.embedSWF("/Estate/Flash/preview.swf?random=" + Math.random(), container, "900", "700", "9.0.0", "/Estate/Flash/expressInstall.swf", flashvars, params, attributes);
        }
    }
    /* End public */
})();

nl.reiswerk.Arbeidsmarktmonitor = (function() {
    /* Start public */
    return {
        Init: function(container) {
            var flashvars = {};
            flashvars.xmlPath = "/Estate/XML/setup_arbeidsmarktmonitor.xml";
            flashvars.preloaderMessage = "De XML file wordt geladen"
            flashvars.title = "Reiswerk Arbeidsmarktmonitor Reisbrance 2009";

            var params = {};
            params.wmode = "transparent";

            var attributes = {};
            attributes.id = "flipbook";
            attributes.name = "flipbook";

            swfobject.embedSWF("/Estate/Flash/preview.swf?random=" + Math.random(), container, "900", "700", "9.0.0", "/Estate/Flash/expressInstall.swf", flashvars, params, attributes);
        }
    }
    /* End public */
})();

nl.reiswerk.Arbeidsmarktstrategie = (function() {
    /* Start public */
    return {
        Init: function(container) {
            var flashvars = {};
            flashvars.xmlPath = "/Estate/XML/setup_arbeidsmarktstrategie.xml";
            flashvars.preloaderMessage = "De XML file wordt geladen"
            flashvars.title = "Reiswerk Arbeidsmarktstrategie 2011 - 2015";

            var params = {};
            params.wmode = "transparent";

            var attributes = {};
            attributes.id = "flipbook";
            attributes.name = "flipbook";

            swfobject.embedSWF("/Estate/Flash/preview.swf?random=" + Math.random(), container, "900", "700", "9.0.0", "/Estate/Flash/expressInstall.swf", flashvars, params, attributes);
        }
    }
    /* End public */
})();

nl.reiswerk.Reisbrancheimago = (function() {
    /* Start public */
    return {
        Init: function(container) {
            var flashvars = {};
            flashvars.xmlPath = "/Estate/XML/setup_reisbrancheimago.xml";
            flashvars.preloaderMessage = "De XML file wordt geladen"
            flashvars.title = "Werken in de Reisbranche imago onderzoek";

            var params = {};
            params.wmode = "transparent";

            var attributes = {};
            attributes.id = "flipbook";
            attributes.name = "flipbook";

            swfobject.embedSWF("/Estate/Flash/preview.swf?random=" + Math.random(), container, "900", "700", "9.0.0", "/Estate/Flash/expressInstall.swf", flashvars, params, attributes);
        }
    }
    /* End public */
})();



nl.reiswerk.SubscriptionForm = (function() {
    var config = {
        introText: "Ik wil me aanmelden voor de gratis digitale nieuwsbrief.",
        watermark: "e-mailadres",
        defaultInputValue: "Subscriber"
    }

    function insertIntroText(subscriptionForm) {
        subscriptionForm.prepend("<span class=\"sf_newsletterSubscriptionIntro arrowLeft\">" + config.introText + "</span>");
		subscriptionForm.prepend("<h2 class='localHeading'>Nieuwsbrief</h2>");
    }

    function hideFields(ul) {
        ul.find("li").each(function(i) {
            var input = jQuery(this).find("input");
            if ((input.attr("name") != "email") && (input.attr("type") != "submit") && (jQuery(this).attr("class") != "sf_emailValidation")) {
                input.val(config.defaultInputValue);
                jQuery(this).hide();
            } else {
                jQuery(this).css({
//                    position: "absolute",
//                    top: "0px",
//                    left: "0px"
                });

                //setClassAndWaterMark(input, i);
            }

            if (input.attr("type") == "submit") {
                jQuery(this).css({
//                    position: "absolute",
//                    top: "0px",
//                    right: "0px",
//                    left: "auto",
//                    width: "72px"
                });

                input.attr("class", "sf_subscribeBtn");

                input.click(function() {
					var newHeight = (3 + jQuery("span.sf_newsletterSubscriptionIntro.arrowLeft").height() + jQuery(this).height());
					ul.height(newHeight);
					ul.find("input.sf_subscribeTxt.formInputField").focus();
                });
            }

            if (jQuery(this).attr("class") == "sf_emailValidation") {
                jQuery(this).css({
					position: "absolute"
//                  top: "22px",
//                  left: "0px"
                });
            }
        });
    }

    function setClassAndWaterMark(input, i) {
        if (i == 0) {
            var labelText = input.parent().find("label").text();

            if (labelText != "") {
                config.watermark = labelText.replace(":", "").toLowerCase();
            }

            input.addClass("formInputField");

            input.focus(function() {
                focus(jQuery(this));
            });

            input.blur(function() {
                blur(jQuery(this));
            });

            input.val(config.watermark);
        }
    }

    function focus(el) {
        if (el.val() == config.watermark) el.val("");
    }

    function blur(el) {
        if (el.val() == "") el.val(config.watermark);
    }

    /* Start public */
    return {
        /**
        * nl.reiswerk.Spotlight.Init()
        **/
        Init: function() {
            var subscriptionForm = jQuery("span.sf_newsletterSubscriptionForm fieldset");
            var ul = subscriptionForm.find("ul");

            insertIntroText(subscriptionForm);

            hideFields(ul);
        }
    }
    /* End public */
})();


