$(document).ready(function(){
	var inputs = [];
	var valid = true;
	var blnUserInterference = false;

	// Start sIFR (replacing headings with flash)
	/* Diensten op homepage roteren
	if(typeof sIFR == "function"){
		$("h2#welkom").css({background : "none", textIndent : "0"});
   		sIFR.replaceElement("h2#welkom", named({sFlashSrc: "/assets/flash/coronet.swf", sColor: "#FF9900", sWmode: "transparent"}));
		sIFR.replaceElement("h2", named({sFlashSrc: "/assets/flash/h2.swf", sColor: "#607C92", sWmode: "transparent"}));
   		//sIFR.replaceElement("h4", named({sFlashSrc: "/assets/flash/h4.swf", sColor: "#3399FF", sWmode: "transparent"}));
   		sIFR.replaceElement("h5#content_blog_title", named({sFlashSrc: "/assets/flash/h5.swf", sColor: "#000", sWmode: "transparent"}));		
		sIFR.replaceElement("h5", named({sFlashSrc: "/assets/flash/h5.swf", sColor: "#ffffff", sWmode: "transparent"}));
		//sIFR.replaceElement("#welkom", named({sFlashSrc: "/assets/flash/coronet.swf", sColor: "#FF9900", sWmode: "transparent"}));
	}

	if($("div#diensten").length > 0){
		$("div#diensten dd").css({display: 'none'});
		
		iTmp = 0;
		i = 0;
		$("div#diensten dd").eq(i).slideDown();
		var mijnDiensten = setInterval(function(){
			iTmp = i;
			i == 3 ? i = 0 : i++;
			$("div#diensten dd").eq(iTmp).slideUp();								
			$("div#diensten dd").eq(i).slideDown();
			//console.log("i = " + i + "; iTmp = " + iTmp);
		}, 15000);
		
		$("div#diensten dt")
			.css({display: 'block', cursor: "pointer"})
			.click(function(){
				clearInterval(mijnDiensten);
				$("div#diensten dd:visible").slideUp();
				$(this).next().slideDown();
			})
		.end();
	}
	*/
	
	// Begin nieuwsarchief
	// Hieronder volgt de javascript code die het nieuwsarchief interactie geeft
	if($("form.form_archive").length > 0){
		$("p#query").css({display: "none"});
		$("p#sort").css({display: ""});
		$("input#news_show_all").click(
			function(){
				this.value == "" ? this.value = 1 : this.value = ""; 
				$("form.form_archive p#query").toggle();
				$("form.form_archive p#sort").toggle();
			}
		);
		
		$("form.form_archive").submit(
			function(){
				inputs.length = 0;
				
				$("#archive_results").innerHTML = "";
				
				$(':input', this).each(function() {
					inputs.push(this.name + '=' + escape(this.value));
				})
				
				// Formulier verzenden via ajax
				$.ajax({
					type: "POST",
					data: inputs.join('&'),
					dataType: "html",
					url: "/bb/newsarchive/getnewsitems.php?ajax=1",
					beforeSend: function(){
							$("#archive_results").empty();
							$("#archive_results").append('<div class="loading"><img src="/assets/images/loader.gif" alt="Bezig met versturen" /></div>');
						},
					success: function(d){
							// Remove loader
							$(".loading").remove();
							
							$("#archive_results").empty();
							$("#archive_results").append(d);
						},
					error: function(xml, strError){
							// Try sending the form via the normal way
							return true;
						}
				});
				
				return false;
			}
		);
	}
	// Einde nieuwsarchief
	
	// Begin Sitemap
	// Om en om andere kleuren op de Sitemap pagina
	if($("#sitemap").length > 0){
		$("#sitemap p:odd").css({backgroundColor: "#F4F4F4"})
	}
	// Einde Sitemap
	
	// E-mailadressen via javascript toevoegen aan de website zodat deze niet gecrawld kunnen worden
	// Wordt gebruik op de pagina Homepage >> Over Ons >> Contactpersonen
	if($(".e-mail").length > 0){
		$(".e-mail").each(function(v){
			switch(this.innerHTML){
				case "S.A. (Simon) van de Velde":
					$(this).before('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#118;&#97;&#110;&#100;&#101;&#118;&#101;&#108;&#100;&#101;&#64;&#100;&#101;&#114;&#105;&#106;&#107;&#101;&#45;&#112;&#97;&#114;&#116;&#110;&#101;&#114;&#115;&#46;&#110;&#108;" title="Stuur een e-mail naar S.A. (Simon) van de Velde">S.A. (Simon) van de Velde</a>');
					$(this).remove();
					break;
				case "E.T.M. (Gidy) Jansen":
					$(this).before('<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#097;&#110;&#115;&#101;&#110;&#064;&#100;&#101;&#114;&#105;&#106;&#107;&#101;&#045;&#112;&#097;&#114;&#116;&#110;&#101;&#114;&#115;&#046;&#110;&#108;" title="Stuur een e-mail naar E.T.M. (Gidy) Jansen">E.T.M. (Gidy) Jansen</a>');
					$(this).remove();
					break;
			}
		});
	}
	
	// Formulier "E-mail sturen" valideren en versturen mbv ajax 
	// Zie Homepage >> Over ons >> E-mail sturen 
	if($("form.email").length > 0){
		$("form.email").submit(function(){
			inputs.length = 0;
			
			// Set boolean valid to true
			valid = true;
										
			// First remove all errors from former submition
			$(".errors").remove();
			
			// Get validation script
			$.getScript("http://www.derijke-partners.nl/javascript/validate.js");
						
			setTimeout(function(){
										
				$(":input",document.getElementById("email")).each( function(){
											
					if (validateField(this))
						valid = false;
								
				});
											
				if (valid) {
					
					$(':input', this).each(function() {
						inputs.push(this.name + '=' + escape(this.value));
					});
					
					//Send form via ajax
					$.ajax({
						type: "POST",
						data: inputs.join('&'),
						dataType: "json",
						url: "/bb/mail/mail.php?ajax=1",
						beforeSend: function(){
								$("#wissen").after('<div class="loading"><img src="/assets/images/loader.gif" alt="Bezig met versturen" /></div>');
							},
						success: function(d){
								
								$(".loading").remove();
								
								var message = "";
								
								message = d.success ? '<div class="success">' : '<div class="error">';
								message += d.message;
								message += '</div>';
								
								$("#wissen").after(message)
							},
						error: function(xml, errormsg, exception){
							
								$(".loading").remove();
								
								message = '<div class="error">';
								message += errormsg + exception;
								message += '</div>';
								
								$("#wissen").after(message);
						}
					});
	
				}	
							
			},300);
						
			// If javascript is enabled then don't send form
			return false;
		
		});
		
		// Formulier wissen van alle meldingen en rode velden, verplicht, weghalen
		$("form.email").bind("reset", function(){
			$(".errors, .error, .loading, .success").remove();
			return true;							   
		});
	}
	// Einde van de code voor E-mail sturen 
	
	// Zoeken
	$('input#search')
		.click(function(){this.value="";})
		.blur(function(){
			if(this.value == '' || this.value == this.defaultValue) {
				this.value = this.defaultValue;
			} else {
				this.form.submit();	   
			}
		})
	.end();
	
	// Begin van de code voor de pagina Employee Benefits
	if($("div#employeebenefits").length > 0){
		
		$("dd").hide();
		
		var dts = document.getElementsByTagName("dt");
		
		for (var i = 0; i < dts.length; i++){
			$(dts[i].firstChild).wrap('<a href="#"></a>');
		}
		
		$("div#employeebenefits dt a").bind('click',
			function(){
				
				if(this.className == "open"){
					$("dt a").removeClass();
					$("dd:visible").slideUp("slow");
				} else {
					$("dt a").removeClass();
					$(this).addClass("open");
					$("dd:visible").slideUp("slow");
					$(getNextSibling(this.parentNode)).slideDown("slow");
				}
				
				return false;
			}
		)
	}
	// Einde van de code voor de pagina Employee Benefits
});

//Function: getNextSibling 
//  Iterates through an elements siblings looking for the 
//  first element node type. Returns false if it's unable 
//  to find a valid element node type otherwise returns the 
//  first valid element node.. 
function getNextSibling(element){  
    if(element.nextSibling){ 
        sibling = element.nextSibling; 
        while(sibling.nodeType != 1){  
            sibling = sibling.nextSibling; 
            if(!sibling){ return false; } 
        } 
        return sibling; 
    }else{ 
        return false; 
    }    
}

function validateField(elem) {
    var errors = [];

    // Go through all the possible validation techniques
    for ( var name in errMsg ) {
        // See if the field has the class specified by the error type
        var re = new RegExp("(^|\\s)" + name + "(\\s|$)");

        // Check to see if  the element has the class and that it passes the
        // validatino test
        if ( re.test( elem.className ) && !errMsg[name].test( elem ) )
            // If it fails the validation, add the error message to list
            errors[errors.length] = errMsg[name].msg;
    }

    // Show the error messages, if they exist
    if ( errors.length )
        showErrors(elem, errors);

    // Return false if the field fails any of the validation routines
    return errors.length > 0;					
}

function showErrors(elem, errors){

	ul = document.createElement("ul");
	ul.className = "errors";
	
	for (var i = 0; i < errors.length; i++) {
		li = document.createElement("li");
		li.innerHTML = errors[i];
		ul.appendChild(li);
	}
	
	elem.parentNode.appendChild(ul);
	
	if (elem.type == "textarea"){
		$("li",ul).css({margin: "0px"});
	}
}
