/*****************************************************************************
	Copyright © 2009 nhc All rights reserved.

	20091214	Frank Heijkamp
	20091224	Frank Heijkamp
*****************************************************************************/


// Start extending JavaScript

if (typeof Array.indexOf != 'function') {
	Array.prototype.indexOf = function(f, s) {
	if (typeof s == 'undefined') s = 0;
		for (var i = s; i < this.length; i++) {
			if (f === this[i]) return i;
		}
		return -1;
	}
}

// End of JavaScript extensions




// Start jQuery

$(document).ready(function(){
//	alert('Start of jQuery');


	// huo
	animateMainNav();
	anchorsExternBlank();
	handle_contact_form();
//	handle_excel_table();


	// Animate the main navigation
	function animateMainNav() {
	//	$('ul.nav li').click(function() {
		//	alert('klik');
	//		$(this).find("a").each(function (i) {
	//			this.trigger('click');
	//		});
	//	});
/*
		$('ul.nav li.item a').hover(function() {
			// hover in
			$(this).parent().addClass('hover');
		}, function() {
			// hover out
			$(this).parent().removeClass('hover');
		});
*/
		$('ul.nav li.item').hover(function() {
			// hover in
			$(this).addClass('hover');
		}, function() {
			// hover out
			$(this).removeClass('hover');
		});
	}


	// Convert anchors linking to external sites into target blank
	function anchorsExternBlank() {
		$('.form_blank form').attr('target','_blank');

		var sDomains = 'hollandseherder.nl,www.hollandseherder.nl';
		sDomains = sDomains.toLowerCase();
		var aDomains = sDomains.split(',');

		$('a').attr('target', function() {
			if (aDomains.indexOf(this.hostname.toLowerCase())==-1)
				return '_blank';
			if (this.target)
				return this.target;
			if (this.href.toLowerCase().indexOf(".doc") != -1)
				return '_blank';
			if (this.href.toLowerCase().indexOf(".jpg") != -1)
				return '_blank';
			if (this.href.toLowerCase().indexOf(".pdf") != -1)
				return '_blank';
			return '';
		});
	}


	// Handle contact_form, validate and send
	function handle_contact_form() {
		$("#contact_form").submit(function() {
		//	alert('Yo 1');

			var aValidate = new Array();
			var aMandatory = $("#validate").val().split(',');
			var aFields = $("#fields").val().split(',');
			var sPrevName = '';
			var sData = '';

			$("#contact_form [name='message']").attr("value", "");
			$("#contact_form input, #contact_form select").each(function() {
				$("#contact_form label[for='"+$(this).attr("name")+"']").css('color','');
			});

			$("#contact_form input, #contact_form select").each(function() {
			//	alert('a1 '+$(this).get(0).tagName);
			//	alert('a4 ['+$(this).attr("name")+']');

				if (sPrevName==$(this).attr("name"))
					return; // naam al gehad
				sPrevName = $(this).attr("name");

				if (aFields.indexOf($(this).attr("name"))!=-1) {
					if ($("#contact_form [name='"+$(this).attr("name")+"']").attr("type")=="radio")
						sData = $("#contact_form [name='"+$(this).attr("name")+"']:checked").val();
					else
						sData = $("#contact_form [name='"+$(this).attr("name")+"']").val();
					$("#contact_form [name='message']").val( $("#contact_form [name='message']").val() + $(this).attr("name") + ":\n"+ sData +"\n\n" );
				}

				if (aMandatory.indexOf($(this).attr("name"))==-1)
					return; // niet valideren

			//	alert('a3 '+$(this).attr("name"));

				if ($("#contact_form [name='"+$(this).attr("name")+"']").attr("type")=="radio") {
					if ($("#contact_form [name='"+$(this).attr("name")+"']:checked").val()==undefined) {
					//	alert('radio="undefined"');
						aValidate[aValidate.length] = $(this).attr("name");
						$("#contact_form label[for='"+$(this).attr("name")+"']").css('color','red');
					}
				} else if ($("#contact_form [name='"+$(this).attr("name")+"']").val()=="") {
				//	alert('empty');
					aValidate[aValidate.length] = $(this).attr("name");
					$("#contact_form label[for='"+$(this).attr("name")+"']").css('color','red');
				} else {
					// ok
				}

			});

		//	alert( "message="+ $("#contact_form [name='message']").val() );

			if (aValidate.length>0) {
				alert("Vul de verplichte velden in"); //"aValidate "+aValidate.join(' '));
				return false;
			}

			return true;
		});
	}


	// Handle excel table, render cells
	function handle_excel_table() {
		$("div.excel").each(function(i) {
			var sData = $(this).html();
			var rTab = /\t/ig;
			sData = sData.replace(rTab,"</td><td>");
			var rNew = /\n/ig;
			sData = sData.replace(rNew,"</td></tr><tr><td>");
			$(this).html("<table>\n<tr>\n\t<td>"+ sData +"</td>\n</tr>\n</table>");
		//	$(this).html('jaja5');
		});
	}


//	alert('End of jQuery');
});

// End of jQuery
