/*
*************************************************

swfIR
JS Functions

Created by the ridiculous Dan Mall
http://www.danielmall.com

*************************************************
*/

function addLoadEvent(func){
    var oldonload = window.onload;
    if(typeof window.onload != 'function'){
        window.onload = func;
    }else{
        window.onload = function(){
            oldonload();
            func();
        }
    }
}

/*---- Grey Initial Values ------ */

function greyInitialValues(){
	var filled = getElementsByClassName("filled");
	
	if(filled.length > 0){
		for(var i = 0; i < filled.length; i++){
			filled[i].className = "empty";
			filled[i].initialValue = filled[i].value;
			
			filled[i].onclick = filled[i].onfocus = function(){
				this.className = "filled";
				if(this.value == this.initialValue){
					this.value= "";
				}
			}
			
			filled[i].onblur = function(){
				if(this.value == this.initialValue || this.value == ""){
					this.className = "empty";
					this.value = this.initialValue;
				}else{
					this.className = "filled";
				}
			}
		}
	}else{ 
		return; 
	}
}
addLoadEvent(greyInitialValues);

/*---- Grey Initial Values ------ */




/*---- form validation ------ */
function checkForm(emailID){
	if(!document.getElementById){ return; }

	var requiredFields;
	var submitForm = true;
	var emailTest = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
	
	if(document.getElementById('required')){
		requiredFields = document.getElementById('required').value.split(','); //creates an array based on the required fields specified in the "hidden" input value
	}

	//see if they have values
	for(i = 0; i<requiredFields.length; i++){
		if(document.getElementById(requiredFields[i]).value == ""){
			highlightField(requiredFields[i]);
			submitForm = false;
		}else{
			if(requiredFields[i] == emailID){
				if(!emailTest.test(document.getElementById(emailID).value)){
					submitForm = false;
					highlightField(requiredFields[i]);
				}else{
					document.getElementById(requiredFields[i]).className = "";
				}
			}else{
				document.getElementById(requiredFields[i]).className = "";	
			}
		}
	}
	
	if(!submitForm){ 
		alert("Please fill in all required fields.");
		return false; 
	}
	
	return true;
}


function highlightField(fieldID){ document.getElementById(fieldID).className = "stillempty"; }


function attachValidationHandler(formID, emailID){
	if(!document.getElementById) { return; }
	
	
	if(attachValidationHandler.arguments.length == 1){	
		document.getElementById(formID).onsubmit = function(){ 
			return checkForm(); 
		}
	}else{
		document.getElementById(formID).onsubmit = function(){ 
			return checkForm(emailID); 
		}
	}
}

/*---- end form validation ------ */




function getElementsByClassName(className,oParent) {
  var doc = (oParent||document);
  var matches = [];
  var nodes = doc.all||doc.getElementsByTagName('*');
  for (var i=0; i<nodes.length; i++) {
    if (nodes[i].className == className || nodes[i].className.indexOf(className)+1 || nodes[i].className.indexOf(className+' ')+1 || nodes[i].className.indexOf(' '+className)+1) {
      matches[matches.length] = nodes[i];
    }
  }
  return matches; // kids, don't play with fire. ;)
}



