/*
addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
*/
function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}




function openInNewWindow(e) {
	var event;
	if (!e) event = window.event;
	else event = e;
	if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
		return true;
	}
	else {
	    var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
			}
			return false;
		}
		return true;
	}
}

function getNewWindowLinks() {
	if (document.getElementById && document.createElement && document.appendChild) {
		var strNewWindowAlert = "";
		var links = document.getElementsByTagName('a');
		var objWarningText;
		var link;
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			if (/\bout\b/.test(link.className)) {
				objWarningText = document.createElement("span");
				objWarningText.appendChild(document.createTextNode(strNewWindowAlert));
				link.appendChild(objWarningText);
				link.onclick = openInNewWindow;
			}
		}
		objWarningText = null;
	}
}

addEvent(window, 'load', getNewWindowLinks);


/* behaviour */
var Behaviour = {
    register: function(rules){
      this.rules = rules;
      for(rule in this.rules){
        this.reload(rule);
      }
    },

    reload: function(rule){
      elements = $$(rule);
      for(y=0;y<elements.length;y++){
        this.rules[rule](elements[y]);
      }
    }

  }

myrules = { 
    'a.toggleBasket':function(elmt) {
        elmt.onclick = function() {
    		new Effect.toggle('basket','blind');
    		this.className = this.className == 'toggleBasket2' ? 'toggleBasket' : 'toggleBasket2';
    		return false;
    	}
    },
    '#basket a.continueShopping':function(elmt) {
        elmt.onclick = function() {
    		new Effect.toggle('basket','blind'); 
    		return false;
    	}
    },
    'li.toTop a':function(elmt) {
        elmt.onclick = function() {
        	new Effect.ScrollTo(this.hash.substr(1)); return false;
    	}
    },
    'div.fehler a':function(elmt) {
        elmt.onclick = function() {
        	new Effect.ScrollTo(this.hash.substr(1), {offset: -40}); return false;
    	}
    }
    // ,
    //     '#payCred':function(elmt) {
    //         elmt.onclick = function() {
    //          confirmPaySwitch();
    //      }
    //     }
};
window.onload = function(){ Behaviour.register(myrules);};

/* E-Mail Adressen codieren */
function setMailLink(An, Dn, En) {
  var LinkText = An + "@" + Dn + "." + En;
    document.open();
 	document.write("<a href=\"mailto:" + LinkText + "\">" + LinkText + "</a>");
    document.close();
}

// function confirmPaySwitch() {
//     if (confirm("Mit dieser Auswahl wird die Zahlungsart geändert.\nBisherige Eingaben betr. der Zahlungsart gehen verloren.\nWollen Sie wirklich fortfahren?")) {
//         $('bestellung').action+='&amp;save=1&amp;payment=';$('bestellung').submit();
//     }
// }
