/* HoverMorpher 0.2 by WebTek */

	// ------------------------------- layers morph -------------------------------
	//
	//		» html syntax:
	//
	//			<el class="hovermorpher_[variable]">
	//				<el class="layer_[variable_1] [transitiontype:transitionease in] [duration in] [transitiontype:transitionease out] [duration out]"></el>
	//				<el class="layer_[variable_2] [transitiontype:transitionease in] [duration in] [transitiontype:transitionease out] [duration out]"></el>
	//				<el class="layer_[variable_3] [transitiontype:transitionease in] [duration in] [transitiontype:transitionease out] [duration out]"></el>
	//				...
	//			</el>
	//
	//		» transitiontype: 'linear', 'Quad', 'Cubic', 'Quart', 'Quint', 'Sine', 'Expo', 'Circ', 'Bounce', 'Back', 'Elastic';
	//		» transitionease: 'in','out','in:out';
	//
	// 		» html sample:
	//
	//			<a href="#" class="hovermorpher_main_menu">
	//				<span class="layer_1 linear 100 Bounce:in:out 500">itemtext</span>
	//				<span class="layer_2 linear 100 Bounce:in:out 500">itemtext</span>
	//				<span class="layer_3 linear 100 Bounce:in:out 500">itemtext</span>
	//			</a>
	//
	// ----------------------------------------------------------------------------

	//	if (navigator.appName!="Microsoft Internet Explorer"){
	//	}

	function hovermorpher(){

		$$('[class*=hovermorpher]').each(function(layersmorph){

			layersmorph.addEvents({
				'mouseenter' : function(){
					hovermorpherclass = (layersmorph.get('class').split(" "));
					hovermorpherclass = hovermorpherclass[0];
					layers = layersmorph.getChildren();
					layers.each(function(layer){
						hovermorphervars = (layer.get('class').split(" "));
						if($chk(layer.get('class')))
						layer.set('morph', {duration: hovermorphervars[2], transition: hovermorphervars[1]});
						layer.morph('.'+hovermorpherclass+' .'+hovermorphervars[0]+' .hover');
					})
				},
				'mouseleave' : function(){
					hovermorpherclass = (layersmorph.get('class').split(" "));
					hovermorpherclass = hovermorpherclass[0];
					layers = layersmorph.getChildren();
					layers.each(function(layer){
						hovermorphervars = (layer.get('class').split(" "));
						if($chk(layer.get('class')))
						layer.set('morph', {duration: hovermorphervars[4], transition: hovermorphervars[3]});
						layer.morph('.'+hovermorpherclass+' .'+hovermorphervars[0]);
					})
				}
			});

		});


	// ------------------------------- link morph ---------------------------------

		$each($$('a[class*=hovermorpherlinks]'), function(linkmorph) {

			var fader = linkmorph.get('class');

			linkmorph.addEvents( {
				'mouseenter' : function() {
					this.set('morph', { duration: 250/*, link: 'chain'*/ } );
					this.morph('.'+fader+' .hover');
				 },
				'mouseleave' : function() {
					this.set('morph', { duration: 500/*, link: 'chain'*/ } );
					this.morph('.'+fader);
				}
			});
		});

	};
