function addLoadEvent(func){
    var oldonload = window.onload;
    if(typeof window.onload != 'function'){
        window.onload = func;
    }else{
        window.onload = function(){
            oldonload();
            func();
        }
    }
}

/*---- External Links ------ */

function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
window.onload = externalLinks;




/*---- 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 ------ */


/*---- Add effects ------ */
function addEffects(){
	
	if(!document.getElementById || !document.createElement){ return; }
	
	if(document.getElementById('example')){
		var example = document.getElementById('example');
	}else{
		return;
	}
	
	var effects = document.createElement('div');
	effects.setAttribute('id', 'effects');
	
	example.appendChild(effects);
	
	var effects_so = new SWFObject("/swf/effects.swf", "effectsflash", "114", "266", "6", "#9dcee0");
	effects_so.write("effects");
}
addLoadEvent(addEffects);

/*---- changeEffect ------ */
function changeEffect(effect, toggle){
	
	document.getElementById("example").removeChild(document.getElementById("example").getElementsByTagName('span').item(0));
	
	var img = document.createElement("img");
		img.id = "photo";
		img.src = "photos/img.jpg";
		img.alt = "Photo example";
		img.width = "343";
		img.style.border = 'none';
		img.style.padding = '0';
		img.style.width = '343px';
	document.getElementById("example").insertBefore(img, document.getElementById("example").firstChild);
	
	sir.specify('overflow', 'expand-y');
	switch (effect) {
		
		case "shadow":
			if(toggle == "on"){
				sir.specify('shadow-blur', '15');
			}else{
				sir.specify('shadow-blur', '0');
			}			
			break;

		case "corners" :
			if(toggle == "on"){
				sir.specify('border-radius', '15');
			}else{
				sir.specify('border-radius', '0');
			}
			break;
		
		case "rotate":
			if(toggle == "on"){
				sir.specify('rotate', '-5');
			}else{
				sir.specify('rotate', '0');
			}
			break;
		
		case "border":
			if(toggle == "on"){
				sir.specify('border-width', '15');
				sir.specify('border-color', 'fff');
			}else{
				sir.specify('border-width', '0');
				sir.specify('border-color', '000');
			}
			break;

	}
	
	sir.swap("#example img");

}


/*---- 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 ------ */

