var DEBUG;(typeof(window.console) != "undefined")?DEBUG=1:DEBUG=0;//alert(DEBUG);

/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

function checkInput(what) {
	var error = "";
  	if ( ! isNaN(what) ) {
		// Wert ist eine Zahl
		if (what > 10) {
			error = "Für eine Bestellung von mehr als 10 Artikeln \n";
			error += "wenden Sie sich bitte direkt an uns: \n";
			error += " \n";
			error += "info@woodloops.de \n";
			error += "Fon +49(0) 69 48 00 46 48 \n";
			error += "Fax +49(0) 69 48 00 96 53 \n";
		} 
	} else {
		// Wert ist keine Zahl und letzte Eingabe war falsch
		error = "Bitte geben Sie eine gültige Anzahl ein! \n";
	}
	return error;
}

function validatelist(theForm) {
	var why = "";
	why += checkInput(theForm.elements[0].value);
	if (why != "") {
	   theForm.elements[0].value = 10;
	   alert(why);
	   return false;
	}
	else {
		theForm.submit();
		return true; 
	}
}


function validateform(theForm) {
	var why = "";

	if( window.getElementsByClassName("quant") != '' ) {
		var inputfields = window.getElementsByClassName("quant");
	}
	
	for( var i=0; i<inputfields.length; i++) {
		if (why != "")  {} else {
			why = checkInput(theForm.elements[i].value);
			if (why != "") theForm.elements[i].value = 10;
		}
	}
	if (why != "") {
	   alert(why);
	   return false;
	}
	else {
		theForm.submit();
		return true; 
	}
}

// function checkVATnumber( toCheck ) {}
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('t 20(a){j b=X Y();j c="y";b.m(/^(15)U(\\d{8})$/);b.m(/^(17)(\\d{9,10})$/);b.m(/^(18)(\\d{9,10})$/);b.m(/^(19)(\\d{8}[A-Z])$/);b.m(/^(1a)(\\d{8,10})(\\d{3})?$/);b.m(/^(1b)(\\d{9})$/);b.m(/^(1c)((\\d{8}))$/);b.m(/^(1d)(\\d{9})$/);b.m(/^(1e)(\\d{8,9})$/);b.m(/^(I)([A-Z]\\d{8})$/);b.m(/^(I)(\\d{8}[A-Z])$/);b.m(/^(I)([A-Z]\\d{7}[A-Z])$/);b.m(/^(1f)(\\d{9})$/);b.m(/^(1g)(\\d{8})$/);b.m(/^(D)(\\d{11})$/);b.m(/^(D)[(A-H)|(J-N)|(P-Z)]\\d{10}$/);b.m(/^(D)\\d[(A-H)|(J-N)|(P-Z)]\\d{9}$/);b.m(/^(D)[(A-H)|(J-N)|(P-Z)]{2}\\d{9}$/);b.m(/^(y)?(\\d{9})$/);b.m(/^(y)?(\\d{10})$/);b.m(/^(y)?(\\d{12})$/);b.m(/^(y)?(\\d{13})$/);b.m(/^(y)?(1h\\d{3})$/);b.m(/^(y)?(1i\\d{3})$/);b.m(/^(1j)(\\d{8,9})$/);b.m(/^(1k)(\\d{8})$/);b.m(/^(L)(\\d{7}[A-W])$/);b.m(/^(L)([7-9][A-Z\\*\\+)]\\d{5}[A-W])$/);b.m(/^(1l)(\\d{11})$/);b.m(/^(1m)(\\d{11})$/);b.m(/^(1n)(\\d{9}|\\d{12})$/);b.m(/^(1o)(\\d{8})$/);b.m(/^(1p)(\\d{8})$/);b.m(/^(1q)(\\d{9})B\\d{2}$/);b.m(/^(1r)(\\d{10})$/);b.m(/^(1s)(\\d{9})$/);b.m(/^(1t)(\\d{2,10})$/);b.m(/^(1u)(\\d{8})$/);b.m(/^(21)(\\d{9}|\\d{10})$/);b.m(/^(1v)(\\d{10}\\d[1-4])$/);j d=a.22();j e=[" ","-",",","."];v(j i=0;i<e.x;i++){1w(d.M(e[i])!=-1){d=d.p(0,d.M(e[i]))+d.p(d.M(e[i])+1)}}j f=q;v(i=0;i<b.x;i++){k(b[i].z(d)){j g=1x.$1;j h=1x.$2;k(g.x==0)g=c;1y(g){s"15":f=1z(h);r;s"17":f=1A(h);r;s"18":f=o;r;s"19":f=1B(h);r;s"1a":f=1C(h);r;s"1b":f=1D(h);r;s"1c":f=1E(h);r;s"1d":f=1F(h);r;s"1e":f=O(h);r;s"I":f=1G(h);r;s"1f":f=1H(h);r;s"1g":f=1I(h);r;s"D":f=1J(h);r;s"y":f=1K(h);r;s"1j":f=O(h);r;s"1k":f=1L(h);r;s"L":f=1M(h);r;s"1l":f=1N(h);r;s"1n":f=1O(h);r;s"1o":f=1P(h);r;s"1m":f=1Q(h);r;s"1p":f=1R(h);r;s"1q":f=1S(h);r;s"1r":f=1T(h);r;s"1s":f=1U(h);r;s"1t":f=1V(h);r;s"1v":f=1W(h);r;s"1u":f=1X(h);r;1Y:f=o}k(f)f=d;r}}l f}t 1z(a){j b=0;j c=[1,2,1,2,1,2,1];j d=0;v(j i=0;i<7;i++){d=u(a.w(i))*c[i];k(d>9){b=b+C.E(d/10)+d%10}n{b=b+d}}b=10-(b+4)%10;k(b==10)b=0;k(b==a.p(7,8)){l o}n{l q}}t 1A(a){k(a.x==10&&a.p(0,1)!="0")l q;k(a.x==9)a="0"+a;k(K-a.p(0,8)%K==a.p(8,10)){l o}n{l q}}t 1B(a){j b=0;v(j i=0;i<8;i++){j c=u(a.w(i));k(i%2==0){1y(c){s 0:c=1;r;s 1:c=0;r;s 2:c=5;r;s 3:c=7;r;s 4:c=9;r;1Y:c=c*2+3}}b=b+c}b=b%26;b=R.T(b+24);k(b==a.F(8,1)){l o}n{l q}}t 1C(a){j b=0;j c=[8,7,6,5,4,3,2];k(a.x!=8)l o;v(j i=0;i<7;i++)b=b+u(a.w(i))*c[i];b=11-b%11;k(b==10)b=0;k(b==11)b=1;k(b==a.p(7,8)){l o}n{l q}}t 1D(a){j b=10;j c=0;j d=0;v(j i=0;i<8;i++){c=(u(a.w(i))+b)%10;k(c==0){c=10};b=(2*c)%11}k(11-b==10){d=0}n{d=11-b};k(d==a.p(8,9)){l o}n{l q}}t 1E(a){j b=0;j c=[2,7,6,5,4,3,2,1];v(j i=0;i<8;i++)b=b+u(a.w(i))*c[i];b=b%11;k(b==0){l o}n{l q}}t 1F(a){j b=0;j c=[3,7,1,3,7,1,3,7];v(j i=0;i<8;i++)b=b+u(a.w(i))*c[i];b=10-b%10;k(b==10)b=0;k(b==a.p(8,9)){l o}n{l q}}t O(a){j b=0;j c=[25,27,V,28,16,8,4,2];k(a.x==8){a="0"+a};v(j i=0;i<8;i++)b=b+u(a.w(i))*c[i];b=b%11;k(b>9){b=0};k(b==a.p(8,9)){l o}n{l q}}t 1G(a){j b=0;j c=0;j d=[2,1,2,1,2,1,2];j e=X Y();e.m(/^[A-H]\\d{8}$/);e.m(/^[N|P|Q|S]\\d{7}[A-Z]$/);e.m(/^[0-9]{8}[A-Z]$/);j i=0;k(e[0].z(a)){v(i=0;i<7;i++){c=u(a.w(i+1))*d[i];k(c>9){b=b+C.E(c/10)+c%10}n{b=b+c}}b=10-b%10;k(b==10){b=0}k(b==a.p(8,9)){l o}n{l q}}n k(e[1].z(a)){v(i=0;i<7;i++){c=u(a.w(i+1))*d[i];k(c>9){b=b+C.E(c/10)+c%10}n{b=b+c}}b=10-b%10;b=R.T(b+V);k(b==a.p(8,9)){l o}n{l q}}n k(e[2].z(a)){l a.w(8)==\'29\'.w(u(a.G(0,8))%23)}n l o}t 1H(a){l o}t 1I(a){j b=0;j c=[7,9,10,5,8,4,2];v(j i=0;i<7;i++)b=b+u(a.w(i))*c[i];b=11-b%11;k(b>9){b=0};k(b==a.p(7,8)){l o}n{l q}}t 1J(a){k(!(/^\\d{11}$/).z(a))l o;j b=a.G(2);b=(b*2a+12)%K;k(b==a.p(0,2)){l o}n{l q}}t 1L(a){j b=0;j c=[9,7,3,1,9,7,3];v(j i=0;i<7;i++)b=b+u(a.w(i))*c[i];b=10-b%10;k(b==10)b=0;k(b==a.p(7,8)){l o}n{l q}}t 1M(a){j b=0;j c=[8,7,6,5,4,3,2];k(/^\\d[A-Z\\*\\+]/.z(a)){a="0"+a.G(2,7)+a.G(0,1)+a.G(7,8)}v(j i=0;i<7;i++)b=b+u(a.w(i))*c[i];b=b%23;k(b==0){b="W"}n{b=R.T(b+V)}k(b==a.p(7,8)){l o}n{l q}}t 1N(a){j b=0;j c=[1,2,1,2,1,2,1,2,1,2];j d;d=u(a.p(0,7));k(d==0)l q;d=u(a.p(7,10));k((d<1)||(d>2b))l q;v(j i=0;i<10;i++){d=u(a.w(i))*c[i];k(d>9){b=b+C.E(d/10)+d%10}n{b=b+d}}b=10-b%10;k(b>9){b=0};k(b==a.p(10,11)){l o}n{l q}}t 1O(a){k(a.x!=9)l o;j b=0;v(j i=0;i<8;i++)b=b+u(a.w(i))*(i+1);k(b%11==10){j c=[3,4,5,6,7,8,9,1];b=0;v(i=0;i<8;i++)b=b+u(a.w(i))*c[i]}b=b%11;k(b==10){b=0};k(b==a.p(8,9)){l o}n{l q}}t 1P(a){k(a.p(0,6)%2c==a.p(6,8)){l o}n{l q}}t 1Q(a){k((/^[0-3]/).z(a))l o;j b=0;j c=[9,1,4,8,3,10,2,5,7,6];v(j i=0;i<10;i++)b=b+u(a.w(i))*c[i];k(b%11==4&&a[0]==9)b=b-2d;k(b%11==4){b=4-b%11}n k(b%11>4){b=14-b%11}n k(b%11<4){b=3-b%11}k(b==a.p(10,11)){l o}n{l q}}t 1R(a){j b=0;j c=[3,4,6,7,8,9];v(j i=0;i<6;i++)b=b+u(a.w(i))*c[i];b=1Z-b%1Z;k(b==a.p(6,8)*1){l o}n{l q}}t 1S(a){j b=0;j c=[9,8,7,6,5,4,3,2];v(j i=0;i<8;i++)b=b+u(a.w(i))*c[i];b=b%11;k(b>9){b=0};k(b==a.p(8,9)){l o}n{l q}}t 1T(a){j b=0;j c=[6,5,7,2,3,4,5,6,7];v(j i=0;i<9;i++)b=b+u(a.w(i))*c[i];b=b%11;k(b>9){b=0};k(b==a.p(9,10)){l o}n{l q}}t 1U(a){j b=0;j c=[9,8,7,6,5,4,3,2];v(j i=0;i<8;i++)b=b+u(a.w(i))*c[i];b=11-b%11;k(b>9){b=0};k(b==a.p(8,9)){l o}n{l q}}t 1V(a){j b=[7,5,3,2,1,7,5,3,2,1];j c=a.x;b=b.p(10-c);j d=0;v(j i=0;i<a.x-1;i++){d=d+u(a.w(i))*b[i]}d=(10*d)%11;k(d==10)d=0;k(d==a.p(a.x-1,a.x)){l o}n{l q}}t 1W(a){j b=0;j c=[2,1,2,1,2,1,2,1,2];j d=0;v(j i=0;i<9;i++){d=u(a.w(i))*c[i];k(d>9){b=b+C.E(d/10)+d%10}n{b=b+d}}b=10-(b%10);k(b==10)b=0;k(b==a.p(9,10)){l o}n{l q}}t 2e(a){j b=0;j c=[8,7,6,5,4,3,2];v(j i=3;i<9;i++){b=b+u(a.w(i))*c[i-3]}b=11-b%11;k(b>9)b=b-10;k(b==a.p(9,10)){l o}n{l q}}t 1X(a){j b=0;j c=[8,7,6,5,4,3,2];v(j i=0;i<7;i++)b=b+u(a.w(i))*c[i];b=11-b%11;k(b>9){b=0};k(b==a.p(7,8)){l o}n{l q}}t 1K(a){j b=[8,7,6,5,4,3,2];k(a.F(0,2)==\'1h\'){k(a.F(2,3)<2f){l o}n{l q}}k(a.F(0,2)==\'1i\'){k(a.F(2,3)>2g){l o}n{l q}}k(a.x==9||a.x==10){j c=0;k(a.x==10&&a.p(9,10)!=\'3\')l q;v(j i=0;i<7;i++)c=c+u(a.w(i))*b[i];1w(c>0){c=c-K}c=C.2h(c);k(c==a.p(7,9)){l o}n{l q}}l o}',62,142,'|||||||||||||||||||var|if|return|push|else|true|slice|false|break|case|function|Number|for|charAt|length|GB|test|||Math|FR|floor|substr|substring||ES||97|IE|indexOf||ELVATCheckDigit|||String||fromCharCode||64||new|Array|||||||AT||BE|BG|CY|CZ|DE|DK|EE|EL|EU|FI|GD|HA|GR|HU|IT|LV|LT|LU|MT|NL|PL|PT|RO|SI|SE|while|RegExp|switch|ATVATCheckDigit|BEVATCheckDigit|CYVATCheckDigit|CZVATCheckDigit|DEVATCheckDigit|DKVATCheckDigit|EEVATCheckDigit|ESVATCheckDigit|EUVATCheckDigit|FIVATCheckDigit|FRVATCheckDigit|UKVATCheckDigit|HUVATCheckDigit|IEVATCheckDigit|ITVATCheckDigit|LTVATCheckDigit|LUVATCheckDigit|LVVATCheckDigit|MTVATCheckDigit|NLVATCheckDigit|PLVATCheckDigit|PTVATCheckDigit|ROVATCheckDigit|SEVATCheckDigit|SIVATCheckDigit|default|37|checkVATNumber|SK|toUpperCase||65|256||128|32|TRWAGMYFPDXBNJZSQVHLCKE|100|201|89|45|SKVATCheckDigit|500|499|abs'.split('|'),0,{}))

function checkVATInput(what, COM, VAT) {
	var error = "";
//  	if ( (what != 'DEU') && ( VAT == '') ) {

  	if ( 
			( what!=('DEU') && what!=('CHE') ) && (VAT=='') && ( COM != '')
		) {

		if ( ( !checkVATNumber(VAT) ) && ( 
					what=='AUT' //** Austria
				||	what=='BEL' //** Belgium 
				||	what=='BGR' // Bulgaria 
				||	what=='CYP' //** Cyprus 
				||	what=='CZE' //** Czech Republic
				||	what=='DNK' //** Denmark 
				||	what=='EST' //** Estonia 
				||	what=='GRC' //** Greece 
				||	what=='ESP' //** Spain (1)
				||	what=='FIN' //** Finland 
				||	what=='FRA' //** France (1)
				||	what=='GBR' //** UK (standard)
				||	what=='HUN' //** Hungary 
				||	what=='IRL' //** Ireland (1)
				||	what=='ITA' //** Italy 
				||	what=='LVA' //** Latvia 
				||	what=='LTU' //** Lithunia
				||	what=='LUX' //** Luxembourg 
				||	what=='MLT' //** Malta
				||	what=='NLD' //** Netherlands
				||	what=='POL' //** Poland
				||	what=='PRT' //** Portugal
				||	what=='ROU' //** Romania
				||	what=='SVN' //** Slovenia
				||	what=='SVK' // Slovakia Republic
				||	what=='SWE' //** Sweden
			) 
		) {
			error = "Please enter a valid VAT number! \n";
		} else {
			error = "Please enter your VAT number \n";
		}
	} else {
		// Wert ist keine Zahl und letzte Eingabe war falsch
		error = "";
	}
	return error;
}

function checkBICNumber(BLZ) {
  	if ( ! isNaN(BLZ) ) {
		if ( BLZ.length == 8 ) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

function checkBICInput(KTO,BLZ) {
	var error = "";																								//if(DEBUG==1)console.log("         error:"+error);
  	if ( BLZ != '' && !checkBICNumber(BLZ) ) {
		error = "Bitte geben Sie eine gültige Bankleitzahl ein! \n";											//if(DEBUG==1)console.log("         error:"+error);
	} else {
		// Wert ist keine Zahl und letzte Eingabe war falsch
		error = "";																								//if(DEBUG==1)console.log("         error:"+error);
	}
	return error;
}

function checkVAT(theForm) {

	var ua = navigator.userAgent.toLowerCase();																	//if(DEBUG==1)console.log("         user agent:"+ua);
	var VATindex;
	var CCindex;	//CountryCode
	(ua.indexOf('webkit/') != -1) ? COMindex=  4 : COMindex=  5;
	(ua.indexOf('webkit/') != -1) ? CCindex =  8 : CCindex =  9;
	(ua.indexOf('webkit/') != -1) ? VATindex= 11 : VATindex= 12;

	var VATerror = "";
	var BLZerror = "";
	// alert(theForm.elements[CCindex].value);
	VATerror += checkVATInput(theForm.elements[CCindex].value, theForm.elements[COMindex].value, theForm.elements[VATindex].value);
																												//if(DEBUG==1)console.log("         VATerror:"+VATerror);
																												//if(DEBUG==1)console.log("         theForm.elements[CCindex].value:"+theForm.elements[CCindex].value);
																												//if(DEBUG==1)console.log("         theForm.elements[COMindex].value:"+theForm.elements[CCindex].value);
																												//if(DEBUG==1)console.log("         theForm.elements[VATindex].value:"+theForm.elements[VATindex].value);

	if ( document.getElementById('bill_account_bic') ) {

		var KTOindex;
		var BLZindex;

		(ua.indexOf('webkit/') != -1) ? KTOindex=13 : KTOindex=14;												//if(DEBUG==1)console.log("         KTOindex:"+KTOindex);
		(ua.indexOf('webkit/') != -1) ? BLZindex=14 : BLZindex=15;												//if(DEBUG==1)console.log("         BLZindex:"+BLZindex);

		// alert(theForm.elements[KTOindex].value);
		// alert(theForm.elements[BLZindex].value);
		
		BLZerror += checkBICInput(theForm.elements[KTOindex].value, theForm.elements[BLZindex].value );			//if(DEBUG==1)console.log("         BLZerror:"+BLZerror);
																												//if(DEBUG==1)console.log("         theForm.elements[KTOindex].value:"+theForm.elements[KTOindex].value);
																												//if(DEBUG==1)console.log("         theForm.elements[BLZindex].value:"+theForm.elements[BLZindex].value);
	}
		
	if (VATerror != "") {
	   // theForm.elements[VATindex].value = 'enter your VAT here!';
	   theForm.elements[VATindex].focus();
	   alert(VATerror);
	   return false;
	}
	if (BLZerror != "") {
	   theForm.elements[BLZindex].focus();
	   alert(BLZerror);
	   return false;
	}
	else {
		theForm.submit();
		return true; 
	}
}