if (/WebKit/i.test(navigator.userAgent)) { // sniff
  var _timer = setInterval(function() {
    if (/loaded|complete/.test(document.readyState)) {
      clearInterval(_timer);
      site.init(); // call the onload handler
    }
  }, 10);
} else {
	document.observe("dom:loaded", function() {
	  site.init();
	});
}

var site = {
	activescreen: "home",
	init: function() {
		$('mainleft').select('div.actualcontent').each(function(item){
			item.hide();
		});
		Effect.Appear('home');
		site.menuinit();
	},
	menuinit: function() {
	 	$('mainmenu').select('li').each(function(menuitem){
	 		Event.observe(menuitem, 'click', function(event) {
	 			var element = Event.element(event);
				$('mainmenu').select('li').each(function(item){
					if (item.hasClassName('active')) {
						item.removeClassName('active');
					}
				});
				element.addClassName('active'); // so it will show as active
				var menufunction = element.id.substring(5); // take off the "menu_" part
				$(site.activescreen).hide();
				pageTracker._trackPageview("/"+menufunction);
				Effect.Appear(menufunction);
				if ($(menufunction).hasClassName("feed")) {
					RSS_init($(menufunction).id, $(menufunction).getAttribute("site"), $(menufunction).getAttribute("feed"));
				}
				site.activescreen = $(menufunction).id;
	 		});
	 	});
	 	
	 	$('mainleft').select('a.internallink').each(function(menuitem){
	 		Event.observe(menuitem, 'click', function(event) {
	 			var element = Event.element(event);
				$('mainmenu').select('li').each(function(item){
					if (item.hasClassName('active')) {
						item.removeClassName('active');
					}
				});
				element.addClassName('active'); // so it will show as active
				var menufunction = element.id.substring(5); // take off the "menu_" part
				$(site.activescreen).hide();
				pageTracker._trackPageview("/"+menufunction);
				Effect.Appear(menufunction);
				site.activescreen = $(menufunction).id;
	 		});
	 	});
	 	// kijken of er iets speciaals gevraagd wordt ....
	 	var ls = location.search.substring(1);
	 	if (ls) {
			var namevalue = ls.split("&");
			var getdata = [];
			
			for (var i=0; i<namevalue.length; i++) {
				var data = namevalue[i].split("=");
				getdata[data[0]] = data[1];
			}
			if (getdata['special'])
			var specialpage = getdata['special'];
			site.special(specialpage);
		}
	},
	special: function(divtoshow) {
		if ($(divtoshow).hasClassName("feed")) {
			RSS_init($(divtoshow).id, $(divtoshow).getAttribute("site"), $(divtoshow).getAttribute("feed"));
		}
		$('mainleft').select('div.actualcontent').each(function(item){
			item.hide();
		});
		$('mainmenu').select('li').each(function(item){
			if (item.hasClassName('active')) {
				item.removeClassName('active');
			}
		});
		$(site.activescreen).hide();
		
		pageTracker._trackPageview("/"+divtoshow);
		Effect.Appear($(divtoshow));
		
		site.activescreen = $(divtoshow).id;
		setTimeout('$(\'home\').hide()',2000);
		return true;
	},
	CheckContact: function () {
		var errorcondition = false;
		var theFormFields = $('contactform').select('input');
		theFormFields.each(function(item) {
			if (item.hasClassName('required') && item.value == "") {
				alert(item.getAttribute('requiredstring'));
				item.focus();
				errorcondition = true;
				throw $break;
			}
			if (item.hasClassName('numerical') && item.value != "") {
				errorcondition = OnlyNumbers(item);
				if (errorcondition == true) {
					alert(item.getAttribute('errorstring'));
					item.focus();
					throw $break;
				}
			}
		});
		if (errorcondition == false) {
			var theFormFields = $('contactform').select('select');
			theFormFields.each(function(item) {
				if (item.hasClassName('required') && item.value == "") {
					alert(item.getAttribute('requiredstring'));
					item.focus();
					errorcondition = true;
					throw $break;
				}
			});
		}
		if (errorcondition == false) {
			// velden verzamelen
			var AllFields = $('contactform').serialize();
			new Ajax.Request('/mhandler.php',{ 
								asynchronous: false,
								method: 'post',
								parameters: AllFields,
								onComplete: function(transport) {
									$('contactform').hide();
									$('thankyou').show();
								}
							});
			
		}
	},
	CheckVriend: function () {
		var errorcondition = false;
		var theFormFields = $('vriendform').select('input');
		theFormFields.each(function(item) {
			if (item.hasClassName('required') && item.value == "") {
				alert(item.getAttribute('requiredstring'));
				item.focus();
				errorcondition = true;
				throw $break;
			}
			if (item.hasClassName('numerical') && item.value != "") {
				errorcondition = OnlyNumbers(item);
				if (errorcondition == true) {
					alert(item.getAttribute('errorstring'));
					item.focus();
					throw $break;
				}
			}
		});
		if (errorcondition == false) {
			var theFormFields = $('vriendform').select('select');
			theFormFields.each(function(item) {
				if (item.hasClassName('required') && item.value == "") {
					alert(item.getAttribute('requiredstring'));
					item.focus();
					errorcondition = true;
					throw $break;
				}
			});
		}
		if (errorcondition == false) {
			// velden verzamelen
			var AllFields = $('vriendform').serialize();
			new Ajax.Request('/mhandler.php',{ 
								asynchronous: false,
								method: 'post',
								parameters: AllFields,
								onComplete: function(transport) {
									$('vriendform').hide();
									$('thankyouvriend').show();
								}
							});
			
		}
	},
	ShowConditions: function() {
		var url = sitepath+'/conditions.html?refresh='+Math.random();
		pageTracker._trackPageview(url);
		Modalbox.show(url, {title: "Conditions",overlayClose:false, afterLoad: function(){
					Modalbox.resizeToContent();
				}
			}
		);
	},
	print: function(idOfdivForContent) {
		var content = $(idOfdivForContent).innerHTML;
		var newW = window.open('',"print","width=640,height=480,directories=no,menubar=no,toolbar=no");
		newW.document.write("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"nl\"><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" /><title>SMIC</title><link rel=\"stylesheet\" type=\"text/css\" href=\"/css/main.css\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"/css/interface.css\" /></head>");
		newW.document.write('<body>'+content+'</body>');					
		newW.print();
		return true;
	}
}

function OnlyNumbers(theField) {
	var mydata = theField.value;
	var error = false;
	for(var i=0;i < mydata.length;i++){
		var mydigit = mydata.charAt(i)
		if(mydigit < "0" || mydigit > "9"){
			error = true;
			throw $break;
		}
	}
	return error;
}

