function trim (myString) {
	return myString.replace(/^\s+/g,'').replace(/\s+$/g,'');
} 
	
function htmlspecialchars(ch) {
  	ch = ch.replace('&amp;', '&');
	ch = ch.replace('&quot;','\"');
	ch = ch.replace('&#039;', '\'');
	ch = ch.replace('&lt;', '<');
	ch = ch.replace('&gt;', '>');
	return ch;
}

function StrReplace(from, to, sText) {
	var str = sText;
	while(str.indexOf(from)>-1){str=str.replace(from,to)}
	return str;
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
  	var Char;
  	for (i = 0; i < sText.length && IsNumber == true; i++) 
      	{ 
      		Char = sText.charAt(i); 
      		if (ValidChars.indexOf(Char) == -1) {
         		IsNumber = false;
         	}
      	}
   	return IsNumber;
}
   				
function IsDL(DL) {
	var IsaDL = true;
	if(DL.length != 7) {
		IsaDL = false;
	} else {
		var m = DL.substr(0, 2);
		var y = DL.substr(3, 4);
		if (IsNumeric(m) && IsNumeric(y) ) {
			var mi = parseInt(m,10);
			var yi = parseInt(y,10);
			if (mi*10>=10 && mi*10<=120 && yi>1850 && yi<2100) {
				IsaDL = true;
			} else {
				IsaDL = false;
			}
		}
	}	
	return IsaDL;
}


	


function CalculEAN(sISBN) {
	if(IsISBN(sISBN)) {
		var sText = StrReplace('.', '', sISBN);
		sText = StrReplace('-', '', sISBN);
		sText = StrReplace(' ', '', sISBN);
		sText = StrReplace('/', '', sISBN);
		
		var temp = '978' + sText.substring(0, 9);
		
		var c0 = parseInt(temp.charAt(0),10); 
		var c1 = parseInt(temp.charAt(1),10)*3;
		var c2 = parseInt(temp.charAt(2),10);
		var c3 = parseInt(temp.charAt(3),10)*3;
		var c4 = parseInt(temp.charAt(4),10);
		var c5 = parseInt(temp.charAt(5),10)*3;
		var c6 = parseInt(temp.charAt(6),10);
		var c7 = parseInt(temp.charAt(7),10)*3;
		var c8 = parseInt(temp.charAt(8),10);
		var c9 = parseInt(temp.charAt(9),10)*3;
		var c10 = parseInt(temp.charAt(10),10);
		var c11 = parseInt(temp.charAt(11),10)*3;
		var total = c0+c1+c2+c3+c4+c5+c6+c7+c8+c9+c10+c11;
		if((total % 10) == 0) {
			var ean = '0';
		} else {
			var ean = 10 - (total % 10);
		}
		ean = '' + temp + ean;
		return ean;
	} else {
		return false;
	}
	
}		
		
function IsISBN(sISBN) {
	var i=0;
	var x=0;
	var str = '';
	var sText = '';
	var c = '';
	var IsaISBN = false;
	sText = sISBN;
	sText = StrReplace('.', '', sText);
	sText = StrReplace('-', '', sText);
	sText = StrReplace(' ', '', sText);
	sText = StrReplace('/', '', sText);
	for (i = 0; i < sText.length; i++) { 
      		c = sText.charAt(i); 
      		if( IsNumeric(c) || ((c == 'X') && (i == sText.length - 1)) ) {
      			str = str + '' + c;
      		}
      	}
	if(str.length != 10) {
		IsaISBN = false;
	} else {
		var tot = 0;
		for(i=0; i<10; i++) {
 	 		if(i == 9 && str.charAt(i) == "X") {
 	 			tot = tot + 10;
 	 		} else {
 	 			x = parseInt(str.charAt(i), 10);
 	 			tot = tot + (( 11 - i - 1) * x);
 	 		}
 	 	}
	 	if(tot % 11 == 0) {
	 		IsaISBN = true;
 		} else {
			IsaISBN = false;
		}
	}
	return IsaISBN;
		
}



function CalculISBN(ean) {
	var res;
	var str = '';
	var i=0;
	var tot = 0;
	var x;
	var temp = StrReplace('-', '', ean);
	temp = StrReplace('.', '', temp);
	temp = StrReplace('/', '', temp);
	temp = StrReplace(' ', '', temp);
	if (temp.length != 13) {
		res= false;
	} else {
		str = temp.substring(3, 12);
		for (i=0; i<9; i++) {
			x = parseInt(str.charAt(i), 10);
			tot = tot + ((11-i-1) * x);
		}
		var reste = tot % 11;
		var cle = '';
		if(reste==0) {
			cle = '0';
		} else if (reste==1) {
			cle = 'X';
		} else {
			cle = '' + (11 - reste);
		}
		res = '' + str + cle;
	}
	return res;
}

