/************************************/
/* Form Background Default Prompter */

/*
	set the id of the field element to the fieldname 
	passed in here. If you have multiple instances 
	(ex, a set of address fields for each product)
	then set id="fieldname_identifier"; we will split 
	on '_' and grok the first piece as fieldname

*/

function background_prompter(fields,defaults,delimiter) {

	this.fields = fields;
	this.defaults = new Object;
	this.identifiers = new Array;

	if (delimiter) { this.delimiter = delimiter; }
	else           { this.delimiter = "_"; }

	for (var i=0; i < fields.length; i++) {
		this.defaults[fields[i]] = defaults[i];
	}
	return this;
}

background_prompter.prototype.grok_fieldname = function(which) {

	var whichid   = which.id;
	var elements  = whichid.split(this.delimiter);
	var fieldname = elements[0];
	return fieldname;
}

background_prompter.prototype.show_default = function(which) {

	var fn = this.grok_fieldname(which);
	if (which.value == this.defaults[fn]) {

		which.style.color = 'gray';
		which.style.textAlign = 'center';
	}
	else if (which.value == "") {
	
		which.style.color = 'gray';
		which.style.textAlign = 'center';
		which.value = this.defaults[fn];
	}
	return true;
}
background_prompter.prototype.clear_default = function(which) {

	var fn = this.grok_fieldname(which);

	which.style.color = 'black';
	which.style.textAlign = 'left';

	if (which.value == this.defaults[fn]) {
	   	which.value = "";
	}
	return true;
}
background_prompter.prototype.show_all_defaults = function(identifier) {

	if (identifier) {
		this.identifiers[this.identifiers.length] = identifier;
	}

	for (var i=0; i < this.fields.length; i++) {

	   var fn = this.fields[i];
	   if (identifier) {
	   	fn = fn+this.delimiter+identifier;
	   }
	   this.show_default(document.getElementById(fn));
	}
	return true;
}
background_prompter.prototype.clear_all_defaults = function(identifier) {

	for (i=0; i < this.fields.length; i++) {

	   var fn = this.fields[i];
	   if (identifier) {
	   	fn = fn+this.delimiter+identifier;
	   }
	   this.clear_default(document.getElementById(fn));
	}
	return true;
}
background_prompter.prototype.clear_page_defaults = function() {

	var total = this.identifiers.length;
	for (var i=0; i < total; i++) {
		prompter.clear_all_defaults(this.identifiers[i]);
	}
	return true;
}

