/**
 * Script für verschiedene Funktionen des MEVACO-Shop-Projekts
 */

function addHover(obj, strSuffix)	{
	if(null==strSuffix) strSuffix = '_hover';

	//obj.src=obj.src.replace(new RegExp("("+strSuffix+")*.(\w+)$"), strSuffix+'.$2');
	var rExp = new RegExp('('+strSuffix+')*.(\\w+)$');
	obj.src = obj.src.replace(rExp, strSuffix+'.$2');
}

function remHover(obj, strSuffix)	{
	if(null==strSuffix) strSuffix = '_hover';

	var rExp = new RegExp('('+strSuffix+')*.(\\w+)$');
	obj.src=obj.src.replace(rExp, '.$2');
}

function Tip(){return;}
function UnTip(){return;}


/**
 * Funktionalität, um Textfeldern, die die Klasse "blurText" haben,
 * den Title-Tag als Value zu geben und umgekehrt (für eine Art "Tooltip-Funktion")
 */
window.addEvent('domready', function() {
	$$('input.blurText').each(function(elem, key) {
		if(!elem.get('value')) {	// wenn der value leer ist...
			elem.set('value', elem.get('title'));
		}

			// ...beim Begehen des Elements...
		elem.addEvent('focus', function(){
			if(elem.get('value')==elem.get('title')) {
					// ...wenn momentan der Standardtext verwendet wird, dann Feld leeren...
				elem.set('value', '');
					// ...und eine Info-Klasse hinzufügen
				elem.addClass('blurText-typing');
			}
		});

		elem.addEvent('blur', function(){
			if(!elem.get('value')) {
				elem.removeClass('blurText-typing');
				elem.set('value', elem.get('title'));
			}
		});
	});
});



/**
 * Artikellisten-Sortierfunktion
 * @TODO mootools
var tx_mevshop_sortableFunctionInitiated = false;
Event.observe(document, 'dom:loaded', function() {
	return; // bis auf weiteres inakivieren wg. Update
	if(!tx_mevshop_sortableFunctionInitiated) {

		if($$('table.articlelist').first()) {
			TableSortObserver.bindEventsToTableRow($$('table.articlelist').first());
		}
		return;


			// Parameterstring in ein Objekt (Hash) fassen
		var objLocHash = $H(window.location.hash.substr(1).toQueryParams());
		//console.log(objLocHash);

			// falls eine Sortierung aktiv ist, diese setzen:
		if (actField=objLocHash.get('tx_mevshop[sortBy]')) {
			var actElem = $$('table.articlelist thead th.sortable[rel='+actField+']').first();
			actElem.addClassName('sort-act');
			actElem.addClassName('desc'==objLocHash.get('tx_mevshop[sortOrder]') ? 'sort-act-desc' : 'sort-act-asc');
		}

			// sortables mit einem Klick-Event versehen
		$$('table.articlelist thead th.sortable').invoke('observe', 'click', function(evt) {
			this.siblings().invoke('removeClassName', 'sort-act');
			this.siblings().invoke('removeClassName', 'sort-asc');
			this.siblings().invoke('removeClassName', 'sort-desc');

			var newSortOrder = (this.hasClassName('sort-act-asc') ? 'desc' : 'asc');
			objLocHash.set('tx_mevshop[sortBy]', this.readAttribute('rel'));
			objLocHash.set('tx_mevshop[sortOrder]', newSortOrder);

			this.addClassName('sort-act');
			this.addClassName('sort-act-'+newSortOrder);

			window.location.hash = objLocHash.toQueryString();
		});

		tx_mevshop_sortableFunctionInitiated = true;
	}
});
*/


/**
 * Erstellt bzw. entfernt, falls vorhanden, einen Klassenamen von einem Element
 * @param el	Das entsprechende Element, wird übl. mit this übergeben
 * @param cN	Klassenname
 * @return void(0);
 */
function toggle_class(el, cN)	{
	//prüfen ob Klassenname vorhanden:
	var theRegex = new RegExp('\\b'+cN+'\\b','g');
	//console.log(theRegex.test(el.className));
	if(theRegex.test(el.className))	{
		//Klassenname wurde gefunden, also entfernen:
		el.className = el.className.replace(theRegex,'');
	} else {
		//nicht gefunden, hinzufügen:
		el.className+=' '+cN;
	}
}

