// Hinweis für Wunschliste-Button wenn User nicht eingeloggt ist
function confirmWishlist(){
	if(confirm('Die Merklistenfunktion kann nur durch angemeldete Online-Kunden genutzt werden.\nBitte loggen Sie sich ein, oder klicken Sie auf OK um sich neu zu registrieren.')==true){
		location.href='index.cfm?osiaction=login&subaction=register&ref=wishlist';
	}
}


// Auto-Complete für Bankleitzahl
function showResponse(originalRequest){
	var c = document.getElementById('cus_bank');
	
	while (c.length > 0) {
		c.remove(0);
	}
	
	var tagValue = originalRequest.responseXML.getElementsByTagName('bank');
	var tagId = originalRequest.responseXML.getElementsByTagName('id');
	
	for (var i = 0; i < tagValue.length; i++) {
		var opt = document.createElement("option");
		try {
			opt.text = tagValue[i].textContent;
			opt.value = tagId[i].textContent;
			c.add(opt, null);
		}
		// IE needs special handling
		catch(ex){
			opt.text = tagValue[i].text;
			opt.value = tagId[i].text;
			/*
			opt.text = tagValue[i].firstChild.nodeValue;
			opt.value = tagId[i].firstChild.nodeValue;
			*/
			c.add(opt);
		}
	}
}

function autocompleteBank(x) {
	if (x.value.length==8) { // BLZ Länge = 8
		//ajax call
		var url = '/webdb/index.cfm?osiaction=ajax&subaction=BLZ&blz='+x.value;
		new Ajax.Request(url, {
						 	method: 'get', 
						 	onComplete: showResponse
						 });
	}
}

/**
* Returns the value of the selected radio button in the radio group, null if
* none are selected, and false if the button group doesn't exist
*
* @param {radio Object} or {radio id} el
* OR
* @param {form Object} or {form id} el
* @param {radio group name} radioGroup
*/
function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }

    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}

// prüfung für order step1: bei paymode = 3 kein Gutschein
function checkVoucher() {
	var value = $RF('f_order', 'cus_paymode');
	if (value==3) {
		$('f_order').gutschein_nummer.setAttribute('disabled', 'disabled');
	} else {
		$('f_order').gutschein_nummer.removeAttribute('disabled');
	}
}


function toggle(id) {
	//Effect.toggle(id, 'slide', { delay: 0 });
	if($(id)){$(id).toggle();}
}

// fenster oeffnen
var id='';
function fenster(file,breite,hoehe){
	//window.resizeTo(breite,hoehe);
	url = file;
	if(id && !id.closed) {
		breite2=parseInt(breite)+20;
		hoehe2=parseInt(hoehe)+20;
		id.resizeTo(breite2,hoehe2);
		id.location.href = url;
		id.focus();
	} else {
		id=window.open (file,"","width="+breite+",height="+hoehe+",scrollbars=yes,resizable=yes");
		id.focus();
	}
}

// passwortfeld switchen in mini-login
function vippwdswitch(q){
  if (q){
	  document.getElementById('vippwdtext').style.display="none";
	  document.getElementById('vippwd').style.display="inline";
	  document.getElementById('vippwd').value='';
	  document.getElementById('vippwd').focus();
  } else {
	  document.getElementById('vippwd').style.display="none";
	  document.getElementById('vippwdtext').style.display="inline";
  }
}

// hoehe der randspalten anpassen
function adjustCSS(elementid) {
	var myElementId = elementid;
	var htmlheight = document.body.parentNode.scrollHeight;
	document.getElementById(myElementId).style.height = htmlheight+'px';
}

// email adresse validieren
function emailCheck (emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	
	if (matchArray==null) {
		alert("E-Mail Adresse ungueltig (bitte @ und . pruefen)");
		return false;
	}
	
	var user=matchArray[1];
	var domain=matchArray[2];

	if (user.match(userPat)==null) {
		alert("E-Mail Adresse ungueltig");
		return false;
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("E-Mail Adresse ungueltig");
				return false;
			}
		}
		return true;
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("E-Mail Adresse ungueltig");
		return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) {
		alert("Domainname der E-Mail Adresse ungueltig");
		return false;
	}

	if (len<2) {
		var errStr="E-Mail Adresse ungueltig";
		alert(errStr);
		return false;
	}

	return true;
}
