function changeSubmit(text_field,submit_id,new_value,old_value){
	var text_field_array = text_field.split(",");
	var number_of_characters = 0;
	for(var i = 0;i < text_field_array.length;i++){
		number_of_characters = number_of_characters + $(text_field_array[i]).value.length;
	}
//	alert(number_of_characters);
	if(number_of_characters > 0){
		$(submit_id).value = new_value;
	} else {
		$(submit_id).value = old_value;
	}
}

var myrules = {
	'form.long input' : function(element) {
		element.onfocus = function() {
			var paragraphs = this.parentNode.getElementsByTagName('p');
			for (i = 0; i < paragraphs.length; i++) {
			  if (paragraphs[i].getAttribute('for') == this.getAttribute('id')) {
			    paragraphs[i].className += ' selected'
		    }
			}
		},
  	element.onblur = function() {
			var paragraphs = this.parentNode.getElementsByTagName('p');
			for (i = 0; i < paragraphs.length; i++) {
			  if (paragraphs[i].getAttribute('for') == this.getAttribute('id')) {
			    paragraphs[i].className = paragraphs[i].className.replace('selected', '').replace( /^\s+/g, "" ).replace( /\s+$/g, "" );
		    }
			}
  	}
	},
	
	'form.long' : function(element) {
    new SmartForm(element,
			function(elements) {
				var errorElements = document.getElementsByClassName('error');
				for (var i = 0; i < errorElements.length; i++) {
					if (window.Element.hasClassName(errorElements[i], 'field_message')) {
						errorElements[i].parentNode.removeChild(errorElements[i]);
					}
					if (window.Element.hasClassName(errorElements[i], 'requirments')) {
						window.Element.removeClassName(errorElements[i], 'requirments');
					}
					
				}
				
				for (var i = 0; i < errorElements.length; i++) {
					errorElements[i].className = errorElements[i].className.replace('error', '').replace( /^\s+/g, "" ).replace( /\s+$/g, "" );
				}

				for (var i = 0; i < elements.length; i++) {
					var newP = document.createElement('p');
					window.Element.addClassName(newP, 'field_message');
					window.Element.addClassName(newP, 'error');
					var forAttr = document.createAttribute('for');
					forAttr.nodeValue = element.getAttribute('id');
					newP.setAttributeNode(forAttr);
					var message;
					switch (elements[i].errorfailure) {
						case 'required':
							message = 'This is a required field and cannot be left blank.';
							break;
						case 'match':
							message = 'This field does not a match another field.'
							break;
						case 'validateEmail':
							message = 'This does not seem to be a valid email address.'
							break;
						case 'validateNoWhiteSpace':
							message = 'This cannot contain spaces, tabs or line-breaks.'
							break;
						case 'maxlength':
							message = 'This can not be more than ' + elements[i].getAttribute('maxlength') + ' characters long.'
							break;
						case 'minlength':
							message = 'This needs to be at least ' + elements[i].getAttribute('minlength') + ' characters long.'
							break;
						default:
							message = 'An unknown error has a occurred.'
							break;
					}
			    newP.appendChild(document.createTextNode(message));
			    elements[i].parentNode.insertBefore(newP, elements[i].nextSibling);
			
					var paragraphs = elements[i].parentNode.getElementsByTagName('p');
					for (var j = 0; j < paragraphs.length; j++) {
					  if (paragraphs[j].getAttribute('for') == elements[i].getAttribute('id')) {
							window.Element.addClassName(paragraphs[j], 'error');
				    }
					}
				}	
			});
  },

	'ul.page_options a.upload_resume' : function(element) {
		element.onclick = function() {
			if (Element.getHeight('create_resume')){
				Effect.SlideUp('create_resume', {
					duration: .5, 
					afterFinish: function() {
						Effect.SlideDown('upload_resume', {duration: .5});
					}
				});
			}
			return false;
		}
	},
	
	'ul.page_options a.create_resume' : function(element) {
		element.onclick = function() {
			if (Element.getHeight('upload_resume')){
				Effect.SlideUp('upload_resume', {
					duration: .5, 
					afterFinish: function() {
						Effect.SlideDown('create_resume', {duration: .5});
					}
				});
			}
			return false;
		}
	},
	
	'a.confirm.delete' : function(element) {
		element.onclick = function() {
			return confirm('Are you sure you want to delete this?');
		}
	}
};

Behaviour.register(myrules);

Behaviour.addLoadEvent(function() {
	if ($('upload_resume'))
		Element.hide('upload_resume');
		
	list = $('saved_searches_list')
	if (list)	{
    var newForm = document.createElement("form");
    var newSelect = document.createElement("select");
    // Transfer the ID of the list over to the form
    var formID = document.createAttribute("id");
    var listID = list.getAttribute("id");
    /*
    This is how it should work according to DOM specifications
    However, Safari doesn't want to coporate.  Luckly, other browsers
    still do it this way.

    formID.value = listID;
    newForm.setAttributeNode(formID);
    */

    newForm.id = listID;

		newSelect.appendChild(document.createElement("option"));

    var listItems = list.getElementsByTagName("li");
    // Iterate through the list items
    for (var j = 0; j < listItems.length; j++)
    {
      // Create an option tag
      var optionTag = document.createElement("option");
      // Create the text for the option tag
      var optionText = document.createTextNode(listItems[j].firstChild.firstChild.nodeValue);
      // Append the text
      optionTag.appendChild(optionText);
      // Append the option to the select tag
      newSelect.appendChild(optionTag);

      // Regular expression to test the class name
      var testExp = new RegExp('(^| )selected( |$)');
      if(testExp.test(listItems[j].className))
      {
        optionTag.selected = true;
      }

      // Get the address to go to
      var linkTo = listItems[j].firstChild.getAttribute("href");

      // For everyone but Safari
      optionTag.onclick = function()
      {
        window.location = listItems[j].firstChild.getAttribute("href");
      }
      // For Safari
      optionTag.value = listItems[j].firstChild.getAttribute("href");
    }
    newSelect.onchange = function()
    {
      window.location = newSelect.value;
    }
    // Append the select tag to the new form
    newForm.appendChild(newSelect);
    // Replace the List with the form
    list.parentNode.replaceChild(newForm, list);
	}
});