/**
* Javascript
* standard-funktionen
*
* @author heiko pfefferkorn
* @copyright 2007 i-fabrik gmbh
* @version $Id: core.js,v 1.3 2007/12/17 13:48:43 nico Exp $
*
*/

	var Core = {
		start: function(){

			Core.tTip();

			if ($$('pre')) Core.setPreTagPosition();

			$$('input, select, textarea').each(function(elm){
				elm.addEvent('focus', function(){
					this.addClass('focus');
				}).addEvent('blur', function(){
					this.removeClass('focus');
				});
			});

			Lightbox.init();
		},

		tTip: function() {
			if ($$('.tooltip')) {

				var ttip = new Tips($$('.tooltip'), {
					onShow: function(toolTip) {
						toolTip.setOpacity(0.8);
					},
					maxTitleChars: 50,
					offsets      : {x:12,y:14},
					className    : 'standard'
				});
			}

			if ($$('.tooltip_special')) {
				var ttip_special = new Tips($$('.tooltip_special'), {
					maxTitleChars: 50,
					offsets      : {x:12,y:14},
					className    : 'special'
				});
			}
		},
		setPreTagPosition: function() {
			var pos = 0;

			$$("pre").each(function(pre) {
				var pre_fx   = new Fx.Styles(pre, {duration:400, wait:false});
				var pre_drag = new Drag.Move($(pre), {
					'onStart'    : function(elm) {elm.setOpacity(0.2);},
					'onComplete': function(elm) {
						var f_color = '#33ff66';
						var b_color = '#000000';

						elm.setStyles({'background-color':f_color,'color':b_color});
						elm.setOpacity(1);
						pre_fx.start({
							'background-color': b_color,
							'color'           : f_color
						});
					},
					'limit'     : {x:[0,0], y:[0,getScrollHeight()]}
				});
				pre.setStyle("top", pos);
				var pre_size = pre.getSize();
				pos+= pre_size.size.y+5;
			});
		}
	};
	
		var WIDGETS = {
			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;
					}
				window.open(url,wn,ft+((ft!='')?',':'')+'width='+ww+',height='+wh);
			}
		};
		



/*
	var WIDGETS = {
		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;
				}
			window.open(url,wn,ft+((ft!='')?',':'')+'width='+ww+',height='+wh);
		},

		validateEmail: function(s){
			var rx1  = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
			var rx2  = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
			var flag = !rx1.test(s) && rx2.test(s);

			return flag;
		},

		setMouseOverClass: function(o,c){
			if(!o) return;

			o.each(function(elm){
				o.addEvent('mouseover', function(){ this.addClass(c); });
				o.addEvent('mouseout', function(){ this.removeClass(c); });
			});
		},

		checkDate: function(o){
			var v_parse = parseDate(o.getValue, "d.M.y");

			if( v_parse==null ){
				var prompt_date = new MooPrompt("", "Bitte korrigieren Sie Ihre Datumeingabe!", {
					width       : 260,
					height      : 55,
					buttons     : 1,
					button1     : 'OK',
					buttonClass1: 'input_button',
					onButton1   : function(){
						$(o.id).focus();
						$(o.id).select();
					}
				});
			}
		},

		setPreTagPosition: function() {
			var pos = 0;

			$$("pre").each(function(pre) {
				var pre_fx   = new Fx.Styles(pre, {duration:400, wait:false});
				var pre_drag = new Drag.Move($(pre), {
					'onStart'    : function(elm) {elm.setOpacity(0.2);},
					'onComplete': function(elm) {
						var f_color = '#33ff66';
						var b_color = '#000000';

						elm.setStyles({'background-color':f_color,'color':b_color});
						elm.setOpacity(1);
						pre_fx.start({
							'background-color': b_color,
							'color'           : f_color
						});
					},
					'limit'     : {x:[0,0], y:[0,getScrollHeight()]}
				});
				pre.setStyle("top", pos);
				var pre_size = pre.getSize();
				pos+= pre_size.size.y+5;
			});
		}
	};
*/

	window.addEvent('domready', Core.start);