window.addEvent('domready', function() {

	$$('div#lang a img').addEvents({
		'mouseover': function() {
			this.src = 'assets/templates/wecycle/images/en_on.gif';
		},
		'mouseout': function() {
			this.src = 'assets/templates/wecycle/images/en_off.gif';
		}
	});

	/* Bakkie form - ID: 533 */
	if ($chk($('form-533'))) {
		new FormCheck('form-533', {
			display: {
				scrollToFirst: false,
				errorsLocation: 0,
				indicateErrors: 2,
				showErrors: 1,
				addClassErrorToField : 1
			}
		});
		setdefault();
	}

	/* Jekko form - ID: 201 */
	if ($chk($('form-201'))) {
		new FormCheck('form-201');
	}

	/* Jekko form - ID: 125 */
	if ($chk($('form-125'))) {
		new FormCheck('form-125');
	}

	/* Aanmeld form - ID: 124 */
	if ($chk($('form-124'))) {
		new FormCheck('form-124');
	}

	/* Aanmeld form - ID: 122 */
	if ($chk($('form-122'))) {
		new FormCheck('form-122');
		var myAccordion = new Accordion($('ul-form-122'), 'img.extra-info', 'div.element', {
			opacity: false,
			alwaysHide: true,
			display: -1
		});
	}

	/* Aanmeld form - ID: 51 */
	if ($chk($('form-51'))) {
		new FormCheck('form-51');
		if($chk($('form-51'))) {
		if ($('d9').checked == true) {
			$('anders').setStyle('display', 'block');
			}
			$$('input.actviteit').addEvent('change', function() {
				if (this.value == 'Anders') {
					$('anders').setStyle('display', 'block');
				} else {
					$('actviteit2').set('value', '');
					$('anders').setStyle('display', 'none');
				}
			});
		}
	}

	/* Webshop */
	if (Cookie.read('shoppingcart') == null) {
		Cookie.write('shoppingcart', -1, {path: "/"});
	}
	if ($chk($$('a.bestel'))) {
		$$('a.bestel').addEvent('click', function() {
			var current = Cookie.read('shoppingcart');
			var prod_id = this.get('id').split('_');
			prod_id = prod_id[1];

			var new_current = '';
			if (current != -1 && current.contains(prod_id)) {
				var arr_cart = current.split("|");
				for (var i = 0; i < arr_cart.length; i++) {
					var item = arr_cart[i].split("*");
					if (item[0] > 0) {
						if (item[0] == prod_id) {
							item[1]++;
						}
						new_current = new_current + '|' + item[0] + '*' + item[1];
					}
				}
			} else {
				if (current != -1) {
					new_current = current + '|' + prod_id + '*1';
				} else {
					new_current = '|' + prod_id + '*1';
				}
			}
			Cookie.write('shoppingcart', new_current, {path: "/"});
		});
	}

	if ($chk($$('input.item'))) {
		$$('input.item').addEvent('keyup', function() {
			var current = Cookie.read('shoppingcart');
			var prod_id = this.get('id').split('_');
			prod_id = prod_id[1];
			if (this.value > 0) {
				if (current.contains(prod_id)) {
					var arr_cart = current.split("|");
					current = '';
					for (var i = 0; i < arr_cart.length; i++) {
						var item = arr_cart[i].split("*");
						if (item[0] > 0) {
							if (item[0] == prod_id)
								item[1] = this.value;
							current = current + '|' + item[0] + '*' + item[1];
						}
					}
					Cookie.write('shoppingcart', current, {path: "/"});
				}
			}
		});
	}

	if ($chk($$('li.cart-product-remove'))) {
		$$('li.cart-product-remove').addEvent('click', function() {
			var current = Cookie.read('shoppingcart');
			var prod_id = this.get('id').split('_');
			prod_id = prod_id[1];
			if (current.contains(prod_id)) {
				var arr_cart = current.split("|");
				current = '';
				for (var i = 0; i < arr_cart.length; i++) {
					if (arr_cart[i].contains('*')) {
						var item = arr_cart[i].split("*");
						if (item[0] != prod_id)
							current = current + '|' + item[0] + '*' + item[1];
					}
				}
				$('pc_'+prod_id).dispose();
				Cookie.write('shoppingcart', current, {path: "/"});
			}
		});
	}

	if ($chk($('afronden'))) {
		$('afronden').addEvent('click', function() {
			$('cart-naw').setStyle('display', 'block');
		});
	}

	/* Homepage - news items */
	var homepageItems = $$('div.homepage-list-item');
	if (homepageItems.length > 3) {
		for(i = 4; i < homepageItems.length; i++) {
			homepageItems[i].setStyle('display', 'none');
		}
	}
	$$('div.homepage-list-item').addEvent('click', function() {
		document.location.href=this.get('url');
	});
	$$('div.homepage-list-item').addEvent('mouseover', function() {
		this.setStyle('background-color', '#EFEFEF');
		if ($chk($('header-homepage-news'))) {
			$('header-homepage-news').setStyle('background-image', 'url(\''+$$('img#gfx-'+this.get('id')).get('src')+'\')');
		}
	});
	$$('div.homepage-list-item').addEvent('mouseout', function() {
		this.setStyle('background-color', '#FFFFFF');
	});

	/* Accordion overzicht */
	if ($chk($('accordion-gfx-date'))) {
		$$('div.intro').addEvents({
			'mouseover': function() {
				this.setStyle('background-color', '#EFEFEF');
			},
			'mouseout': function() {
				if (this.getNext('div.element').getStyle('height') == '0px') {
					this.setStyle('background-color', '#FFFFFF');
				}
			}
		});
		var myAccordion = new Accordion($('accordion-gfx-date'), 'div.intro', 'div.element', {
			opacity: false,
			alwaysHide: true,
			display: -1,
			onActive: function(toggler, element){
				toggler.setStyle('background-color', '#EFEFEF');
				element.setStyles({'margin-bottom': '20px', 'padding-bottom': '20px','border-bottom': '1px dotted #414770' });
			},
			onBackground: function(toggler, element){
				toggler.setStyle('background-color', '#FFFFFF');
				element.setStyles({'margin-bottom': '0', 'padding-bottom': '0', 'border-bottom': '0' });
			}
		});
	}
	if ($chk($('accordion'))) {
		var myAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.element', {
			opacity: false,
			alwaysHide: true,
			display: -1,
			onActive: function(toggler, element){
				toggler.setStyles({'color': '#414770', 'background': 'url(assets/templates/wecycle/images/ico-accordeon-min.gif) left 3px no-repeat'});
				element.setStyles({'padding-bottom': '20px', 'border-bottom': '1px dotted #414770' });
			},
			onBackground: function(toggler, element){
				toggler.setStyles({'color': '#414770', 'background': 'url(assets/templates/wecycle/images/ico-accordeon-plus.gif) left 3px no-repeat'});
				element.setStyles({'padding-bottom': '0', 'border-bottom': '0'  });
			}
		});
	}

	/* Hoofdmenu - open / close tabs */
	var crd_wrp = $('header').getCoordinates();

	/*
	$$('div#header-menu ul li.level1').each(function(el) {
		var level1_coords = el.getCoordinates();
		var submenu_container = el.getChildren('ul');
		var submenu_width = Number.from(submenu_container.getStyle('width'));
		var posx = 0;
		if (level1_coords.left + submenu_width > crd_wrp.right) {
			posx = level1_coords.right - submenu_width;
			if (submenu_container.hasClass('radius-tr-bl-15')) {
				submenu_container.removeClass('radius-tr-bl-15');
				submenu_container.addClass('radius-bl-15');
			}
		} else {
			posx = level1_coords.left;
		}
		if (el.getChildren('div.eraser').length == 0) {
			var eraser = new Element('div', { 'class': 'eraser' });
			eraser.inject(el);
		}
		el.getChildren('div.eraser').setStyles({
			'display' : 'inline',
			'width' : level1_coords.width,
			'left': level1_coords.left + 'px',
			'top': (level1_coords.bottom - 10) + 'px'
		});
	});
	*/
	$$('div#header-menu ul li.level1').addEvents({
		'mouseover': function() {
			if (this.getChildren('ul').length > 0) {
				//this.addClass('radius-tr-15 shaduw open');
				showSubmenu(this, crd_wrp);
			}
		},
		'mouseout': function() {
			if (this.getChildren('ul').length > 0) {
				//this.removeClass('radius-tr-15 shaduw open');
				hideSubmenu(this);
			}
		}
	});

	/* Hoofdmenu - Tab items clickable */
	$$('li.level2 div').addEvent('click', function() {
		document.location.href = this.getChildren('a').get('href');
	});

	/* Footer - insert "line break after every 4th block */
	var blockCounter = 1;
	$$('div.footer-block').each(function(el) {
		var check = blockCounter / 4;
		if (check.round() == check) {
			var spacer = new Element('br', { 'class': 'spacer' });
			spacer.inject(el, 'after');
		}
		blockCounter++;
	});
});

window.addEvent('resize', function() {
	$$('div#header-menu ul li.level1 ul').setStyle('display', 'none');
});

var $chk = function(obj){
	return !!(obj || obj === 0);
};

function showSubmenu(el, crd_wrp) {
	var level1_coords = el.getCoordinates();
	var submenu_container = el.getChildren('ul');
	var submenu_width = Number.from(submenu_container.getStyle('width'));
	var posx = 0;
	
	var extra1 = 5;
	var extra2 = 5;
	if (BrowserDetect.browser == 'Firefox') {
		extra1 = 6;
		extra2 = 4;
	}
	
	if (level1_coords.left + submenu_width > crd_wrp.right) {
		posx = level1_coords.right - submenu_width - extra2;
		if (submenu_container.hasClass('radius-tr-bl-15')) {
			submenu_container.removeClass('radius-tr-bl-15');
			submenu_container.addClass('radius-bl-15');
		}
	} else {
		posx = level1_coords.left + extra1;
	}
	if (el.getChildren('div.eraser').length == 0) {
		var eraser = new Element('div', { 'class': 'eraser' });
		eraser.inject(el);
	}
	el.getChildren('div.eraser').setStyles({
		'display' : 'inline',
		'left': (level1_coords.left + extra1) + 'px',
		'top': (level1_coords.bottom - 10) + 'px'
	});
	submenu_container.setStyles({
		'left': posx + 'px',
		'top': (level1_coords.bottom - 1 ) + 'px'
	});
	submenu_container.setStyle('display', 'inline');
}

function hideSubmenu(el) {
	var sub_men = el.getChildren('ul');
	sub_men.setStyle('display', 'none');
	el.getChildren('div.eraser').setStyle('display', 'none');
}

function nodefault(el) {
	if (el.get('value') == el.retrieve('org')) {
		if (el.retrieve('def') == el.retrieve('org')) {
			el.errors.push('Dit veld is verplicht.');
			return false;
		}
	}
	return true;
}

function setdefault() {
	$$('input').each(function(el) {
		if (el.get('default')) {
			el.store('org', el.get('value'));
			el.store('def', el.get('default'));
			if (el.get('default') != el.get('value')) {
				el.setStyle('color', '#000');
			}
		}
	});

	$$('textarea').each(function(el) {
		if (el.get('default')) {
			el.store('org', el.get('value'));
		}
	});

	$$('input').addEvents({
		'focus': function() {
			if (this.get('default')) {
				if (this.get('value') == this.retrieve('org')) {
					this.set('value', '');
					this.setStyle('color', '#000');
				}
			}
		},
		'blur': function() {
			if (this.get('default')) {
				if (this.get('value') == '') {
					if (this.retrieve('def') == this.retrieve('org')) {
						this.setStyle('color', '#919191');
					}
					this.set('value', this.retrieve('org'));
				}
			}
		}
	});

	$$('textarea').addEvents({
		'focus': function() {
			if (this.get('default')) {
				if (this.get('value') == this.retrieve('org')) {
					this.set('value', '');
					this.setStyle('color', '#000');
				}
			}
		},
		'blur': function() {
			if (this.get('default')) {
				if (this.get('value') == '') {
					this.setStyle('color', '#919191');
					this.set('value', this.retrieve('org'));
				}
			}
		}
	});
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera",
			versionSearch: "Version"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
