// -----------------------------------------------------------------------------------
// JQUERY VALIDATION -  GENERAL USE
// -----------------------------------------------------------------------------------
jQuery.extend(jQuery.validator.messages, {
        required: "required",
        remote: "&nbsp;",
        email: "invalid",
        url: "invalid",
        date: "invalid",
        dateISO: "invalid",
        number: "invalid",
        digits: "invalid",
        creditcard: "invalid",
        equalTo: "not_equal",
        accept: "check",
        maxlength: jQuery.validator.format("too long"),
        minlength: jQuery.validator.format("too short"),
        rangelength: jQuery.validator.format("invalid"),
        range: jQuery.validator.format("invalid"),
        max: jQuery.validator.format("invalid"),
        min: jQuery.validator.format("invalid")
});

/*
 * Localized default methods for the jQuery validation plugin.
 * Locale: NL
 */
jQuery.extend(jQuery.validator.methods, {
	date: function(value, element) {
		return this.optional(element) || /^\d\d?[\.\/-]\d\d?[\.\/-]\d\d\d?\d?$/.test(value);
	},
	number: function(value, element) {
		return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
	}
});

/* Localize datepicker for NL/DE/EN */
jQuery(function($){
	 $.datepicker.regional['nl'] = {
			 closeText: 'Sluiten',
			 prevText: 'vorige',
			 nextText: 'volgende',
			 currentText: 'Vandaag',
			 monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
			 monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
			 dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
			 dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
			 dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
			 weekHeader: 'Wk',
			 dateFormat: 'dd-mm-yy',
			 firstDay: 1,
			 isRTL: false,
			 };

		$.datepicker.regional['de'] = {
			closeText: 'schließen',
			prevText: '&#x3c;zurück',
			nextText: 'Vor&#x3e;',
			currentText: 'heute',
			monthNames: ['Januar','Februar','März','April','Mai','Juni',
			'Juli','August','September','Oktober','November','Dezember'],
			monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
			'Jul','Aug','Sep','Okt','Nov','Dez'],
			dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
			dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
			dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
			weekHeader: 'Wo',
			dateFormat: 'dd.mm.yy',
			 firstDay: 1,
			 isRTL: false,
			};

		$.datepicker.regional['en'] = {
			closeText: 'Done',
			prevText: 'Prev',
			nextText: 'Next',
			currentText: 'Today',
			monthNames: ['January','February','March','April','May','June',
			'July','August','September','October','November','December'],
			monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
			'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
			dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
			dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
			dayNamesMin: ['Su','Mo','Tu','We','Th','Fr','Sa'],
			weekHeader: 'Wk',
			dateFormat: 'dd/mm/yy',
			 firstDay: 1,
			 isRTL: false,
			 };

});
// -----------------------------------------------------------------------------------


// -----------------------------------------------------------------------------------
// UNIVERSAL CHECK IF OBJECT EXISTS
// -----------------------------------------------------------------------------------
function checkObject(jID) { 
	try { var o = document.getElementById(jID); if (o) { return true } else { return false }
	} catch (excp) { return false }
}


// -----------------------------------------------------------------------------------
// JQUERY INITS
// -----------------------------------------------------------------------------------
 $(document).ready(function(){ 


		// FAQ page, were using dummy classed for jquery
		$('#overview_faq li').click(function(){	
				// hide current showing
				$("#overview_faq li").removeClass('do_red');
				$("#overview_faq li div.showed").slideUp('fast',function(){ $(this).removeClass('showed');  });
				// mark selected with class
				$(this).addClass('do_red');
				$(this).removeClass('do_hover');
				$("div", this).addClass('tobeshowed');
				$("#overview_faq li div.tobeshowed").slideDown('fast',function(){ $(this).removeClass('tobeshowed'); $(this).addClass('showed'); });		
		});

		$("#overview_faq li").hover(
			function() { if ($(this).hasClass('do_red')!=true)	{ $(this).addClass('do_hover'); } },
			function() { $(this).removeClass('do_hover'); }
		);


		// SEARCH FIELD
		var jLabel_Search, jInput_Search, jLanguageCode = ''; 
		if (checkObject("lang")) {  jLanguageCode = $('#lang').val(); }
		if (jLanguageCode=='') { jLanguageCode = 'nl'; }


		// set language words
		switch(jLanguageCode)
		{
		case 'nl':
		  jInput_Search = 'Zoekterm';
		  break;
		case 'en':
		  jInput_Search = 'Search';
		  break;
		case 'de':
		  jInput_Search = 'Suche';
		  break;
		default:
		  jLabel_Search = '';
		}

		// handle search fields
		if (jInput_Search!='') {
			$('#search_form_label').html(jLabel_Search);

			$('#qID').val(jInput_Search);
			$('#qID').focus(function(){		if ($(this).val()==jInput_Search) { $(this).val(''); }  });
			$('#qID').blur(function(){		if ($(this).val()=='') { $(this).val(jInput_Search) }  	});
		
		} else { $('#header_search').fadeOut(); }


		// DATEPICKER LANGUAGE
		$.datepicker.setDefaults($.datepicker.regional[jLanguageCode]);
		$(".form_calendar").datepicker({
				minDate: '1', 
				maxDate: '+2Y',
				showMonthAfterYear: false,								   
				changeYear: true,
				changeMonth: true,
				numberOfMonths: 1,
				showOtherMonths: true,
				showButtonPanel: true,
				showAnim: 'fadeIn',
				duration: 'fast',
				showOn: 'both',
				buttonImage: '/images/base/icon_calendar.gif',
				buttonImageOnly: true,
				yearSuffix: ''
		});



	// PHOTO CARAOUSEL
	$("#photo_cnt").carousel( {
		autoSlide: true,
		autoSlideInterval: 6000,
		loop: true,
		animSpeed: 'slow',
		btnsPosition: 'inside',
		nextBtn: '',
		prevBtn: ''
	});

	// LOGO CARAOUSEL
	$("#logo_footer").carousel( {
		autoSlide: true,
		autoSlideInterval: 3000,
		loop: true,
		animSpeed: 'slow',
		effect: "fade" ,
		btnsPosition: 'inside',
		nextBtn: '',
		prevBtn: ''
	});

	// Twitter
	$("#link_twitter").toggle(
		function() { 
			$("#twitter_cnt").slideDown(); 
			
		    // Laatste tweet laden
		    
		    var url = "http://twitter.com/status/user_timeline/n200_com.json?count=1&callback=?";
		    
		    $.getJSON(url, function(data){
		        $.each(data, function(i, item){
		        
		            $("#twitter_status").empty();
		            $("#twitter_status").html(item.text);
		        });
		    });
			
		},
		function() { $("#twitter_cnt").slideUp(); }
	);






	// CONTACT FORM BOX
	$("#link_contact").toggle(
		function() { $("#contact_cnt").slideDown(); },
		function() { $("#contact_cnt").slideUp(); }
	);


	// CONTACT FORM
	$("#contact_form").validate({
		errorClass: "form_error",

		rules: {
			Naam: { required: true },
			Emailadres: { required: true, email: true  },
			Aanhef: { required: true },
			Bericht: { required: true  } 
		},

		messages: {
			Naam:		{ required: "Required" },
			Emailadres: { required: "Required", email: "Invalid emailaddress" },
			Aanhef:		{ required: "Required" },
			Bericht:	{ required: "Required" }
		},

		submitHandler: function(form){
			$(this).removeAttr('action');
			$('#form_submit').attr('disabled', 'disabled');
			$('#sendingformallowed').attr('value', '556d699968986a989a9869986e989a986c709d98989898989b996c986a9869');
			$('#contact_form').attr('action', '#');
			
			$('#contact_form').fadeOut('fast');

			var dataString = $('#contact_form').serialize();
			
			$.post('/uni-mailer/', dataString, function(data) {
				$('#contact_form_response').html(data);
			});
			
			return false;
			
		}
	});


	var pid = $('#ask_for_demo_id').val();
	var aid = $('#aid').val();
	var lang = $('#lang').val();
	
	
	/* FANCYBOX - ASK FOR DEMO / ORDER DEMO */
	$(".link_demo").fancybox({
		'width'				: 500,
		'height'			: 430,
		'autoScale'			: false,
		'autoDimensions'	: false,
		'centerOnScroll'	: true,
		'scrolling'			: 'no',
		'transitionIn'		: 'fade',
		'transitionOut'		: 'fade',
		'type'				: 'iframe',
		'href'				: '/popup_demo.php?pid=' + pid + '&aid=' + aid + '&lang=' + lang
	});


	/* FANCYBOX - ORDER */
	$(".link_order").fancybox({
		'width'				: 500,
		'height'			: 500,
		'autoScale'			: false,
		'autoDimensions'	: false,
		'centerOnScroll'	: true,
		'scrolling'			: 'no',
		'transitionIn'		: 'fade',
		'transitionOut'		: 'fade',
		'type'				: 'iframe',
		'href'				: '/popup_order.php'
	});

 });




