/* =============================================================================Library:			JavaScriptCopyleft:			2003-2004 italmedia.netAuthor:				Luigi Cocconcelli <luigi@italmedia.net>Modified:			2004 nov 19Description:		Central place for all the client-side functions definition============================================================================= *///self.resizeTo(780,500);	//	absolute front window positioningvar CANCLICK = false,WSP = " \t\n\r",DGTS = "0123456789";function bwTest() {	var b = navigator.appName;	if (b == "Netscape") this.b = "ns";	else if (b =="Microsoft Internet Explorer") this.b = "ie";	else this.b = b;	this.v = parseInt(navigator.appVersion);	this.ns = ((this.b == "ns") && (this.v >= 4));	this.ns4 = ((this.b == "ns") && (this.v == 4));	this.ns5 = ((this.b == "ns") && (this.v == 5));	this.ie = ((this.b == "ie") && (this.v >= 4));	this.ie4 = (navigator.userAgent.indexOf('MSIE 4') > 0);	this.ie5 = (navigator.userAgent.indexOf('MSIE 5') > 0);	if (this.ie5) this.v = 5;	this.min = (this.ns || this.ie); }is = new bwTest();function canSubmit(F) {	// DON'T PUT F.submit() OR FORMS WENT SUBMITTED 2 TIMES	if (CANCLICK) { F.reset(); return false }	CANCLICK = true; return true }function selectFld(f) { f.select(); f.focus(); return true }function selectOpt(f,v) { if (isEmpty(v)) return true;	for (var i = 0; i < f.options.length; i++) { if (f.options[i].value == v) {	f.options[i].defaultSelected = 1; f.options[i].selected = 1; }}}function warn(s) { return alert(unescape(s)) }function isEmpty(v) { return ((v == null) || (v.length < 1)) }function isWrong(f,s) { f.select(); warn(s); f.focus(); return false }function isBlank(flv) {	var i,c; 	if (isEmpty(flv)) return true;	for (i = 0; i < flv.length; i++) {		c = flv.charAt(i); if (WSP.indexOf(c) == -1) return false }	return true }function isInteger(s) {	var i,c; 	if (isEmpty(s)) return (isInteger.arguments[1] == true);	for (i = 0; i < s.length; i++) {		c = s.charAt(i); if (DGTS.indexOf(c) < 0) return false }	return true }function isSelected(f,s,n) {	if (isEmpty(n)) n = 1;	var o = f.options.selectedIndex;	if (o < n) {		if (! isEmpty(f.options[o].value)) return true;		return isWrong(f,s) }	return true }function tString(f,s) {	if (isEmpty(f.value)) return isWrong(f,s);	if (isBlank(f.value)) return isWrong(f,s);	return true }function tEmail(fld,s1,s2) {	var flv = fld.value;	var lst = flv.length - 1,ati = flv.indexOf("@");	var atl = flv.lastIndexOf("@"),dot = flv.lastIndexOf(".");	for (i = 0; i < WSP.length; i++) {		var c = WSP.charAt(i);		if (flv.indexOf(c) > -1) return isWrong(fld,unescape(s2)) }	if ((ati < 1) || (ati != atl) || (dot - ati < 3) || (lst - dot>4) ||		(lst - dot < 2) || (lst < 6)) return isWrong(fld,unescape(s1));	return true }function tSCBox(f,s) { // test single CheckBox	if (f.checked) return true;	warn(s); return false }function tMCBox(f,s) { // test multi CheckBox	for (var i = 0; i < f.length; i++) {		if (f[i].checked == true) return true }	warn(s); return false }function sTxt(s) {	if (isEmpty(s)) self.status = "";	else self.status = unescape(s);	return true }function strReplace(s,f,t) {	for (var i = 0; i < s.length; i++) {		if (s.substring(i,(i + f.length)) == f) {			s = (s.substring(0,i) + t + s.substring(i + f.length,s.length)) }}	return s }function pathName() {		var l = location;	return (l.protocol + "\/\/" + l.host + l.pathname) }function baseHref() {	var o="",i=0,s=pathName().split("/");	while(i<(s.length-1)){o+=s[i]+"/";i++}return o }function goTo(u) { location.href = u }function goHash(n) { self.location.hash = n; return false }function skipRecs(fcn,arg,nsk) { /*	possible values for nsk (next skip value):		nsk = empty -> form submit		nsk = 1:    -> next		nsk = 0:    -> prev		*/	var cva = document.I.N.value;	fcn = (fcn < 1) ? 0 : fcn - 1;	cva = (cva < 1) ? 0 : ((cva > fcn) ? fcn : cva - 1);	nsk = (nsk == null) ? cva : ((nsk < 1) ? 0 : ((nsk > fcn) ? fcn : nsk));	nsk = (nsk > 0) ? ((arg == "") ? "?ks=" : arg + "&ks=") + nsk : arg;	goTo(pathName() + nsk);	return false }function addr_write(addr,turl,sdom) { var _e;	if (isEmpty(addr)) { addr = "info" }	_e = unescape(addr + "%40" + sdom);	if (isEmpty(turl)) {		document.write("<a href=\"ma"+"ilto:"+_e+"\">"+_e+"<\/a>") }	else document.write("<a href=\""+turl+"\">"+_e+"<\/a>") }function tOpener(ke) {	if (! window.opener) window.close();	if ((ke.length > 0) && (ke != 0)) {		window.opener.location.href = (baseHref() + "error.t?ke=" + ke);		window.close() }}function wFloat(u,w,h,d) {	var r = parseInt(Math.random()*1000000000);	window.open(baseHref() + u + "&x=" + r,'p' + r,		"location="+d+",width="+w+",height="+h+		",scrollbars=0,resizable=1,left=100,top=40").focus();	return false }function openStat(u,d) { window.open(baseHref() + u,"stat",	"height=500,width=620,scrollbars,resizable=0,"+	"location="+d+",left=100,top=20").focus();	return false }function tAddRel(u,w,h,d,s) {	if (confirm(s)) { return wFloat(u,w,h,d) }	else return false }function fSubmit(F,v) { F.ka.value = v; F.submit(); return true }function tSubmit(F,v,s) {	if (isEmpty(s)) return fSubmit(F,v);	if (confirm(s)) return fSubmit(F,v);	return false }function flipCase(obj,flag) {	if (flag) obj.value = obj.value.toUpperCase();	else obj.value = obj.value.toLowerCase();	return true }function setLang(obj) {	var o = obj.options,i;	if (o.selectedIndex > 1) {		for (var i = 2; i < obj.length; i++) {			if ( o[i].selected ) goTo(o[i].value) }}	return false }function findGroup(obj,idx) {	var o = obj.options,i;	if (isEmpty(idx)) { idx = 1 }	if (o.selectedIndex > idx) {		for (var i = (idx + 1); i < obj.length; i++) {			if ( o[i].selected ) obj.form.submit() }}	return false }function sCol(obj) {	var _i = "gif.welcome?t";	for (i = 1; i < obj.length; i++) {		if (obj.options[i].selected) _i = eval(obj.options[i].value + ".src") };	document["colore"].src = _i; return true }function tQty(F,q) {	var _q = parseInt(F.qty.value,10);	if (_q != q) {		if (isNaN(_q) || (_q < 1)) { F.qty.value = 0 }		return canSubmit(F) }	return false }//	must live after functions	defaultStatus = document.title;