
//////////////////////////////////////////////////////
// CheckNr()                                        //
// Disables any key that isn't a number, space or - //
//////////////////////////////////////////////////////

function checkNr(field,space) {
	if (field.keyCode < 48 || field.keyCode > 57) {
		if (space == 1) {
			if (field.keyCode == 32) field.returnValue = true;
			else if (field.keyCode == 45) field.returnValue = true;
			else field.returnValue = false;
		} else {
			field.returnValue = false;
		}	
	} else {
		field.returnValue = true;
	}
}

//////////////////////////////////////////////////////////////////////
// PrintField()                                                     //
// Prints forms and changes the fieldsize to Netscape if necessary. //
//////////////////////////////////////////////////////////////////////

function printField(type,name,colsize,maxlength,rowsize,value,extrafield) {
	// Default
	if (type == "") type = "text";
	if (name == "") name = "field";
	if (colsize == "") colsize = "20";	
	if (value == null) value = "";	
		
	// Prints right size depending if you have Netscape or not	
	function printValue(value,type) {
		if (navigator.appName == "Netscape") {
			if (navigator.appVersion.substring(0,3) < 5) {
				if (type != 0) return parseInt(value / 1.4); // column value for NS4.x
				else return parseInt(value / 1.8); // row value
			} else {
				if (type != 0) return parseInt(value / 1.8); // column value for NS5+
				else return parseInt(value / 1.8); // row value
			}
		} else {
			return value;
		}
	}
	
	columns = printValue(colsize,null);
	
	// Prints form field
	if (type == "textarea") {
		rows = printValue(rowsize,1);
		document.write('<textarea name="'+ name +'" cols="'+ columns +'" rows="'+ rows +'" maxlength="'+ maxlength +'"'+ extrafield +'>'+ value +'</textarea>');
	} else {
		document.write('<input type="'+ type +'" name="'+ name +'" size="'+ columns +'" maxlength="'+ maxlength +'" value="'+ value +'"'+ extrafield +'>');
	}
}

//////////////////////
// Common functions //
//////////////////////

function d(f) {
	return eval("document."+f);
}
function df(f) {
	return eval("document.forms[0]."+f);
}

////////////////////////////////////////////////////////////////
// MyRadio()                                                  //
// Prints image radiobuttons that are equal on all browsers   //
// Needs a <input type="hidden" name="same as field"> in form //
////////////////////////////////////////////////////////////////

if (document.images) {
	r1 = new Image;	r1.src = "pix/radio_selected.gif";		// Image source when selected 
	r0 = new Image;	r0.src = "pix/radio_unselected.gif";	// Image source when unselected
	rb = new Image;	rb.src = "pix/radio_blocked.gif";		// Image source when selected 
}

function radioValue(n,x,v,l) {
	r=d(x);
	fv=df(x);
	if(fv.value!="blocked") {
		fv.value=v;
		for (i=0;i<=r.length-1;i++) {
			if (n==i) r[i].src = r1.src;
			else r[i].src = r0.src;
		}
	}
}
function radioReset(x) {
	r=d(x);
	fv=df(x);
	fv.value="";
	for (i=0;i<=r.length-1;i++) {
		r[i].src=r0.src;
	}
}
function radioBlock(x,y) {
	r=d(x);
	fv=df(x);
	if (y==0) {
		pic=r0.src;
		fv.value="";
	} else {
		pic=rb.src;
		fv.value="blocked";
	}
	for (i=0;i<=r.length-1;i++) {
		r[i].src=pic;
	}
}

////////////////////////////////////////////////////////////////
// MyCheckbox()                                               //
// Prints image checkboxes that are equal on all browsers     //
// Needs a <input type="hidden" name="same as field"> in form //
////////////////////////////////////////////////////////////////

if (document.images) {
	c1 = new Image;	c1.src = "pix/checkbox_selected.gif";	// Image source when selected 
	c0 = new Image;	c0.src = "pix/checkbox_unselected.gif";	// Image source when unselected
	cb = new Image;	cb.src = "pix/checkbox_blocked.gif";	// Image source when unselected
}

function checkboxValue(x,v) {
	c=d(x);
	fv=df(x);
	if (fv.value!="blocked") {
		if (v==0) fv.value=1;
		if (v==1) fv.value=0;
		if (fv.value!=1) {
			fv.value=1;
			c.src=c1.src;
		} else {
			fv.value=0;
			c.src=c0.src;
		}
	}
}
function checkboxReset(x) {
	c=d(x);
	fv=df(x);
	fv.value=0;
	c.src=c0.src;
}
function checkboxBlock(x,y) {
	c=d(x);
	fv=df(x);
	if (y==0) {
		if (fv.value!=1) {
			c.src=c0.src;
			fv.value=0;
		}
	} else {
		c.src=cb.src;
		fv.value="blocked";
	}
}


///////////////////////
// formBlock()        //
// Locks form fields //
///////////////////////

function formBlock(x,y,z) {
	if (document.all || document.getElementById) {
		for (i=0; i<document.forms[0].length; i++) {
			tempobj = document.forms[0].elements[i];
			if (tempobj.name.toLowerCase() == x.toLowerCase()) {
				if (y==0) tempobj.disabled = false;
				else {
					tempobj.disabled = true;
					// Empties field so value don't slip through on non-compatible browsers
					// If page crashes, try to remove these lines
					if (z!=1) tempobj.value = "";
					if (z!=1) tempobj.selectedIndex = 0;
				}
			}		
		}
	}
	return;
}

/////////////////////////
// needField()         //
// Checks field value //
/////////////////////////
function needField(x,y,nofocus) {
	fv = df(x);
	if (fv.value==""||fv.value==0||fv.checked||fv.selectedIndex=="") {
		alert(y);
		if(nofocus!=1)fv.focus();
		return false;
	} else return true;
}

