	function checkISBN(f) {
	f=f.elements
	var y = f.q.value.split(" ")
	var q_extra=""
	for(var i=0;i<y.length;i++){
			if(y[i].length==10 && is_num(y[i])){
				q_extra=q_extra+" "+y[i]+" OR "+till13(y[i])
			}else if(y[i].length==13 && is_num(y[i])){
				q_extra=q_extra+" "+y[i]+" OR "+till10(y[i])
			}else{
				q_extra=q_extra+" "+y[i]
			}
	}
	f.extraISBN.value = q_extra
	
	}
	function is_num(x){
		var is_ok=true
		if(x/1!=x){is_ok=false}
		return is_ok
	}
	function till10(f){
		var x=f.split("")
		var x2=""
		for(var i=0;i<x.length;i++){if(x[i]/1==x[i] || x[i]=="x" || x[i]=="X"){x2+=x[i]}}
		var i10=x2.substring(3)
		var i102=i10.substring(0,i10.length-1)
		i102+=GetCheck(i10)
		return(i102)
	}
	function till13(f){
		var x=f.split("")
		var x2=""
		for(var i=0;i<x.length;i++){if(x[i]/1==x[i] || x[i]=="x" || x[i]=="X"){x2+=x[i]}}
		return(GetEAN(x2))
	}
	// ETT PAR ISBN-BERÄKNINGSFUNKTIONER
	function GetCheck(mNmbr) {
	// generate check digit for ISBN 10;
	var mSum = 0;
	var mWeight=10;
	for (var i=0;i<9;i++) {
			m1 = mNmbr.charAt(i);
			mSum = (mSum + (m1 * mWeight));
			mWeight = mWeight - 1;
	}
	ret = 11 - (mSum % 11);
	if ( ret == 10 ) {
		 ret = "X" ;
	} else {
			if (ret == 11) ret = 0;
	}
	return ret;
	}
	function GetEAN(mNmbr) {
	// get EAN from complete ISBN or ISBN without Check digit;
	// remove hyphens if any;
	mNmbr = "978" + mNmbr.replace(/-/g, "");
	mNmbr = mNmbr.substring(0, 12);
	// The array of weights to multiply with;
	aWeight = new Array(1,3,1,3,1,3,1,3,1,3,1,3)
	var mSum = 0;
	var mWeight=10;
	for (var i=0;i<12;i++) {
			m1 = mNmbr.charAt(i);
			mSum += m1 * aWeight[i];
	}
	mRemainder = (mSum % 10);
	ret = 10 - mRemainder;
	if (ret == 10) { ret = 0 }
	return mNmbr.toString() + ret.toString();
	}

