/**
* Javascript
* JS: Base
*
* @author i-fabrik GmbH
* @copyright 2008 i-fabrik GmbH
* @version $Id: core.js,v 1.8 2010-01-26 11:19:08 heiko Exp $
*
*/

	var SITE = {
		start: function() {
			SITE.appendMenu();
			//SITE.appendQuickstart();
			SITE.appendTooltips();
			SITE.appendHighslide();
			SITE.appendFormElements();
		},

		appendMenu: function() {
			// Global menu
			// ---------
			var nav_elements = $splat($$('#GlobalMenu ul>li'));

			nav_elements.each(function(el, i) {

				el.addEvents({
					'mouseover': function(ev) {
						this.addClass('iehover');
					},
					'mouseout': function(ev) {
						this.removeClass('iehover');
					},
					'focus': function(ev) {
						this.fireEvent('mouseover');
					},
					'blur': function(ev) {
						this.fireEvent('mouseout');
					}
				});
			});

		},

		appendQuickstart: function() {
			if($('sel_quicklink')) {
				$('sel_quicklink').addEvent('change', function() {
					var v = this.options[this.selectedIndex].value;
					if(['-1','0'].contains(v))
						this.selectedIndex = 0;
					else
						document.location.href = this.options[this.selectedIndex].value;
				});
			}
		},

		appendTooltips: function() {
			var tt_options = {
				'offsets': {
					'x': 14,
					'y': 6
				},
				'onShow': function(tip) {
					tip.setStyle('opacity', .9);
				},
				'onHide': function(tip) {
					tip.setStyle('opacity', .0);
				}
			};

			SITE.tooltipsEnabled = new Tips([], $merge(tt_options, {
				'className': 'tooltipsEnabled'
			}));

			SITE.tooltipsDisabled = new Tips([], $merge(tt_options, {
				'className': 'tooltipsDisabled'
			}));

			$$('.tooltip').filter(function(el) {
				return (el.get('title').clean() != '');
			}).each(function(el) {
				var ti = '', tx = '', tmp = el.get('title').split('::').clean();

				if(tmp.length > 1) {
					ti = tmp[0].clean();
					tx = tmp[1].clean();
				} else
					tx = tmp[0].clean();

				el.store('tip:title', ti);
				el.store('tip:text', tx);

				if(el.getProperty('disabled') || el.hasClass('disabled'))
					SITE.tooltipsDisabled.attach(el);
				else
					SITE.tooltipsEnabled.attach(el);
			});
		},

		appendFormElements: function() {
			if($defined($$('input.mask-date'))) {
				$$('input.mask-date').each(function(el) {

					new meio.Mask(el, {
						'mask': '39.19.2999',
						'onInvalid': function(el, key) {
							el.setStyle('border-color', '#cc0000');
						},
						'onValid': function(el, key) {
							el.setStyle('border-color', '#a8c76a');
						}
					});
				});

			}
		},

		appendHighslide: function() {
		    if($$('span.iBlock').length>0) {
				$$('span.iBlock').each(function(el) {
					el.addEvents({
						'mouseenter': function(ev) {
							if(!this.hasClass('iBlock_over'))
								this.addClass('iBlock_over');
						},
						'mouseleave': function(ev) {
							this.removeClass('iBlock_over');
						},
						'focus': function(ev) {
							if(!this.hasClass('iBlock_over'))
								this.addClass('iBlock_over');
						},
						'blur': function(ev) {
							this.removeClass('iBlock_over');
						}
					});
				});

			  hs.graphicsDir     = 'resources/themes/standard/highslide/';
			  hs.showCredits     = false;
			  hs.outlineType     = null;
				hs.fullExpandTitle = 'Erweitern auf volle Größe';
				hs.restoreTitle    = 'Schließen per Klick, Ziehen per Drag/Drop, Blättern per Pfeiltasten';
				hs.loadingText     = 'Lade Bild ...';
				hs.loadingTitle    = 'Laden abbrechen';
				hs.loadingOpacity  = 0.85;
				hs.focusTitle      = 'In den Vordergrund per Klick';
		    }
		},

		openWindow: function(url,wn,ft,ww,wh,wc){
			if(window.screen)
				if(wc){
					var wl = (screen.width-ww)/2;
					var wt = (screen.height-wh)/2;
					ft+=(ft!='')?',':'';
					ft+=',left='+wl+',top='+wt;
				}
			var w = window.open(url,wn,ft+((ft!='')?',':'')+'width='+ww+',height='+wh);
			w.focus();
		}
	};

	window.addEvent('domready', SITE.start);