/**
*		mothers-talk js library using mootools
*		moo4motalk.js
*		2009 markus gottschau / info@crossundlecker.de
**/

/**
*	domreadys
**/


// 
window.addEvent('domready', function(){
	

});





/**
*		motherstalk mt_bubbleFx
**/

var mt_throwErrors = function (errorContent) {
	alert (errorContent);
}

function chkValue (d,i) {
	var retVal
	i == '' || i == d ? retVal = d : retVal = i;
	return retVal;
}

function mt_searchFaq(sq) {
	
	var myRequest = new Request({
		method: 'post',
		url: 'lib/widgets/mt_getFaqs/mt_getFaqs.php',
		data: 'q='+sq,
		onSuccess: function (txt,xml){
			//$('resultList').hide();
			$('resultList').set('html',txt);
			$$('.faqPaginate').hide();
		},
		onFailure: function (txt){
			alert (txt);
		}
	}).send();
}

function init_widget_mt_bubbleFx (fromwhere) {
	var blendBubbles = new mt_bubbleFx({'id':'mt_contentWrapper'  ,'content':'aktuell', 'offsetLeft': 120, 'offsetTop': -10, addParam: ''+fromwhere+''  });
}

var mt_bubbleFx = new Class({
    Implements: Options,
    options: {
		// just needed for default settings
        id: 'any_default_id',
		offsetTop : 0,
		offsetLeft : 0,
        size: {
            width: 100,
            height: 100
        }
    },
    initialize: function(options){
        this.setOptions(options);
		var me = this;
		var count = 0;
		$$('#'+this.options.id).each(function(el){
			me.createBubble(el,count);
			count++;
		});
    },	
	createBubble: function (el,count) {
		
		/***
		
		dom manipulation. idee: einen wrapper um das element mit position: relative, 
		um danach ans element einen absolute-positioniertes div einzubinden (bubble).
		dies kann nur bei elementen von statten gehen, die nicht schon absolute positioniert
		sind. dafür muss noch eine lösung her ;)

		letztendliche umsetzung: den relative positionierten wrapper sollte es im template schon geben.
		nur so kann sichergestellt sein, dass z-index: 99 wirklich funzt. es ist also bestandteil der
		dom-design-arbeit. die klasse generiert dann "nur" die bubble welche dann vom angegebenen
		element (option: id) adoptiert wird.
		
		**/
		
		var wrapEl2 = new Element('div', {id: 'mt_blendBubble_'+this.options.content+'_content_'+count});
		$$('#'+this.options.id).adopt(wrapEl2);
		var wrappedEl2 = $$('#mt_blendBubble_'+this.options.content+'_content_'+count);
		wrappedEl2.setStyle('position', 'absolute');
		wrappedEl2.setStyle('top', this.options.offsetTop+'px');
		wrappedEl2.setStyle('left', this.options.offsetLeft+'px');
		wrappedEl2.setStyle('z-index','999');
		wrappedEl2.setStyle('overflow','visible');
		wrappedEl2.setStyle('color','#ccc');
		wrappedEl2.set('load',{method: 'get'});
		var salt = $time();
		
		var myRequest = new Request({
		method: 'get',
		url: '/lib/widgets/mt_bubbles/mt_bubbles.php?salt='+salt+'&content='+this.options.content+'&addParam='+this.options.addParam+'&closeID=mt_blendBubble_'+this.options.content+'_content_'+count,
		onSuccess: function (txt,xml){
			wrappedEl2.set('html',txt);
			
		},
		onFailure: function (txt){
			alert (txt);
		},
		onComplete: function () {
			//alert ('scan');
			//Mediabox.scanPage(); DON#T work :(
		}
		}).send();
		
		
		var mt_Effect = new Fx.Morph(wrappedEl2[0], {duration: 'long', transition: Fx.Transitions.Sine.easeOut});
		mt_Effect.start({
			'opacity': [0, 1]
		});
		


	}
	
});
// MAILER
function chkExp(fromX) {
	//store=='' ? store = $('expInnerMsg').get('html') : store;
	var errors = '';
	$('addy').get('value')=='' ? errors+="Bitte geben Sie Ihre E-Mail-Adresse an.<br />" : errors;
	validateEmail($('addy').get('value'))!=true ? errors+="Die E-Mail-Adresse hat ein ungültiges Format.<br />" : errors;
	$('msg').get('value')=='' || $('msg').get('value')==$('msg').get('title') ? errors+="Bitte geben Sie eine Frage ein.<br />" : errors;
	//$('#confAdd').attr('checked');
	var noteX;
	fromX=='exp' ? noteX = $('confAdd').get('checked') : noteX = fromX;
	
	var subj = '';
	
	if (fromX=='kontakt') {
		if ($('subject').get('value')) {
			subj = $('subject').get('value');
		}
	}
	
	
	$('expMsg').setStyle('height',$('formContent').getStyle('height'));
	
	
	if (errors!='') {		
		$('expPutContainer').set('html',errors);
		$('expMsg').setStyle('border','1px solid #cc0099');
		$('expOK').setStyle('background-color','#cc0099');
		$('expAbbr').setStyle('display','none');
		$('expOK').removeEvents('click');
		$('expOK').addEvent('click', function(event){
			$('expMsg').hide();
		});
		
	} else {
		confirm = 'Damit wir Ihre Frage beantworten können, überprüfen Sie bitte Ihre E-Mail-Adresse:<br /><br />';
		confirm+=  '<span style="font-size:18px; font-weight: bold; color: #cc0099">'+$('addy').get('value')+'</span>';
		$('expPutContainer').set('html',confirm);
		
		$('expMsg').setStyle('border','1px solid #5fc422');
		$('expOK').setStyle('background-color','#5fc422');
		$('expAbbr').setStyle('display','inline');
		//onclick="$('expMsg').hide();"
		
		var mailout = function(event){
			$('expOK').setStyle('display','none');
			$('expAbbr').setStyle('display','none');
			$('expPutContainer').set('html','Bitte warten, Ihre Anfrage wird versendet');
			var myRequest = new Request({
				method: 'post',
				url: 'inc/inc.sndOut.php',
				data: 'addy='+$('addy').get('value')+'&msg='+$('msg').get('value')+'&addToFaq='+noteX+'&subject='+subj,
				onSuccess: function (txt,xml){
							$('expPutContainer').set('html','Vielen Dank, Ihre Anfrage wird schnellstmöglich bearbeitet.'+txt);
							$('expMsg').setStyle('border','1px solid #5fc422');
							$('expOK').setStyle('background-color','#5fc422');
							$('expAbbr').setStyle('display','none');
							$('expOK').removeEvent('click', mailout);
							$('expOK').addEvent('click', function(event){
								$('expMsg').hide();
							});
							
							
							
							$('expOK').setStyle('display','inline');
				},
				onFailure: function (txt){
					alert (txt);
				}
			}).send();
		}
		$('expOK').removeEvents('click');
		$('expOK').addEvent('click', mailout);
		$('expAbbr').addEvent('click', function(event){
			$('expOK').removeEvents('click');
		});

		
		
	}
	
	/*
	if (errors!='') {		
		$('expPutContainer').set('html',errors);
		$('expMsg').setStyle('border','1px solid #cc0099');
		$('expOK').setStyle('background-color','#cc0099');
	} else {
		var myRequest = new Request({
			method: 'post',
			url: 'inc/inc.sndOut.php',
			data: 'addy='+$('addy').get('value')+'&msg='+$('msg').get('value')+'&addToFaq='+noteX+'&subject='+subj,
			onSuccess: function (txt,xml){
						$('expPutContainer').set('html','Vielen Dank, Ihre Anfrage wird schnellstmöglich bearbeitet.'+txt);
						$('expMsg').setStyle('border','1px solid #5fc422');
						$('expOK').setStyle('background-color','#5fc422');
			},
			onFailure: function (txt){
				alert (txt);
			}
		}).send();
	}
	*/
	
	$('expMsg').setStyle('opacity','0');
	$('expMsg').setStyle('display','block');
	var expEffect = new Fx.Morph('expMsg', {duration: 300, transition: Fx.Transitions.Sine.easeOut});
	expEffect.start({
		'opacity': [0.1, 0.9]
	});
	
	
}

function init_newsFlashInc() {
	//$('newsFlashInc').setStyle('display','block');
	var size = $('newsFlashInc').getSize();
	//alert (size.y);
	$('newsFlashInc').setStyle('opacity','0');
	$('newsFlashInc').setStyle('height','0px');
	$('newsFlashInc').setStyle('overflow','hidden');
	$('newsFlashInc').setStyle('display','block');
	var expEffect = new Fx.Morph('newsFlashInc', {duration: 1500, transition: Fx.Transitions.Sine.easeOut});
	expEffect.start({
		'opacity': [0.1, 1],
		'height': [0, 180]
	});
}
function toggleAllTeaser() {
	if ($('allTheTeaser').getStyle('display')=='block') {
		$('allTheTeaser').setStyle('display','none');
		$('newsFlashInc').setStyle('height','auto');
		$('newsFlashInc').setStyle('overflow','none');
		$('toggleMyTeaser').set('html','[ Infos einblenden ]');
		var r = 'none';
	} else {
		$('allTheTeaser').setStyle('display','block');
		$('toggleMyTeaser').set('html','[ Infos ausblenden ]');
		var r = 'block';		
	}
	var myRequest = new Request({
			method: 'post',
			url: 'inc/inc.ajaxStorage.php',
			data: 'r='+r+'&k=toggledTeaser'			
		}).send();
}

function validateEmail(elementValue){      
		   var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
		   return emailPattern.test(elementValue); 
}

/**
*		body mass index rechner
**/

function calcBMI () {
	var er = '';
	var result = '';
	$('bmicalc').getElements('input:checked').length > 0 ? er : er+='- Bitte Geschlecht angeben.<br />';
	$('alter').get('value')=='' ? er+='- Bitte Alter angeben.<br />' : er;
	$('gew').get('value')=='' ? er+='- Bitte Gewicht angeben.<br />' : er;
	$('gr').get('value')=='' ? er+='- Bitte Größe angeben.<br />' : er;
	
	if (er!='') {
		$('bmiResult').set('html',er);
	} else {
		
		// bmi:
		var gFak = $('gr').get('value')/100;
		var bmi = $('gew').get('value') / (gFak*gFak);
		bmi = Math.round(bmi * 100);
		bmi = bmi/100;
		alert (bmi);
		
		
		
	}
}


















