var Employer = {
	d : document,
	init : function() {
		window.onload = function() {
			Employer.showFieldSelect(Employer._getEl('field_field_ID').value);
		};
	},
	showFieldSelect : function(val) {
		this._getEl('row_employer_field_other').style.display = val ? 'none' : '';
	},
	fillInvoiceAddress : function(bool) {
		if(bool) {
			var fieldPrefix = 'employer'; 
			var fieldNames = ['street','housenr','zipcode','city','region_region_ID'];
			for(var i=0;i<fieldNames.length;i++) {
				this._getEl(fieldPrefix + '_invoice_' + fieldNames[i]).value = this._getEl(((fieldNames[i] != 'region_region_ID') ? fieldPrefix+'_' : '') + fieldNames[i]).value;
			}
		}
	},
	_getEl : function(el) {
		return document.getElementById(el);
	}
}

var Cal = {
	calendarEls : [],
	calendarSettings : {
		classes: ['dashboard'],
		direction: 1,
		draggable: false,
		months: ['Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'],
		days: ['Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'],
		tweak: {x: 3, y: -3}
	},	
	init : function(els) {
		this.calendarEls = els;
		window.addEvent('domready', function() {
			Cal.calendarEls.each(function(el) {
				var obj = {};
				obj[el] = 'd-m-Y';
				new Calendar(obj, Cal.calendarSettings);
			});
		});
	}
}

var Ticker = new Class({
	setOptions: function(options) {
		this.options = Object.extend({
			speed: 1500,
			delay: 5000,
			direction: 'vertical',
			onComplete: Class.empty,
			onStart: Class.empty
		}, options || {});
	},
	initialize: function(el,options){
		this.setOptions(options);
		this.el = $(el);
		this.items = this.el.getElements('li');
		var w = 0;
		var h = 0;
		if(this.options.direction.toLowerCase()=='horizontal') {
			h = this.el.getSize().y;
			this.items.each(function(li,index) {
				w += li.getSize().x;
			});
		} else {
			w = this.el.getSize().x;
			this.items.each(function(li,index) {
				h += li.getSize().y;
			});
		}
		this.el.setStyles({
			position: 'absolute',
			top: 0,
			left: 0,
			width: '100%',
			height: h
		});
		this.fx = new Fx.Morph(this.el,{duration:this.options.speed,onComplete:function() {
			var i = (this.current==0)?this.items.length:this.current;
			this.items[i-1].injectInside(this.el);
			this.el.setStyles({
				left:0,
				top:0
			});
		}.bind(this)});
		this.current = 0;
		this.next();
	},
	next: function() {
		this.current++;
		if (this.current >= this.items.length) this.current = 0;
		var pos = this.items[this.current];
		this.fx.start({
			top: -pos.offsetTop,
			left: -pos.offsetLeft
		});
		this.next.bind(this).delay(this.options.delay+this.options.speed);
	}
});

