/* Javascript file */

//	used to show/hide individual elements on the page

function toggle_visibility(display_block)
{
	if (document.getElementById(display_block).style.display == "block") {
		document.getElementById(display_block).style.display="none";
	}
	else {
		document.getElementById(display_block).style.display = "block";
	}
}


//	primaryNav dropdown menu for IE versions <IE7, not needed for other browsers
/*
  sfHover = function() {
  	var sfEls = document.getElementById("topNav").getElementsByTagName("LI");
  	for (var i=0; i<sfEls.length; i++) {
  		sfEls[i].onmouseover=function() {
  			this.className+=" sfhover";
  		}
  		sfEls[i].onmouseout=function() {
  			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
  		}
  	}
  }
  if (window.attachEvent) window.attachEvent("onload", sfHover);
*/

//	used to zebra stripe table rows

var stripe = function() {
    if (!document.getElementsByTagName || !document.createTextNode) return;
    var even = true;
    var trs = document.getElementsByTagName('tr');      
    for (var i = 0; i < trs.length; i++) {
        if (trs[i].parentNode.nodeName == 'TBODY') {
            trs[i].onmouseover = function(){
                this.className += (!this.className) ? 'ruled' : ' ruled';
            }
            trs[i].onmouseout = function(){
                this.className = this.className.replace(' ruled', '').replace('ruled', '');
            }        
            if(even)
            trs[i].className += (!trs[i].className) ? 'even' : ' even';        
            even = !even;
        }
    }
}
onload = stripe;


//	For general pop-up windows (be sure to pass the window width & height in onclick call)

function openWindow(url, name, width, height) {
	var str = "height=" + height + ",innerHeight=" + height;
       str += ",width=" + width + ",innerWidth=" + width;
            if (window.screen) {
                        var ah = screen.availHeight;
                        var aw = screen.availWidth;
                        var xc = (aw - width) / 2;
                        var yc = (ah - height) / 2;
                        str += ",left=" + xc + ",screenX=" + xc;
                        str += ",top=" + yc + ",screenY=" + yc;
            }
            window.open(url, name, str);
            window_handle = window.open(url, name);
            window_handle.focus();
}


// form validation

function checkForm(regForm) {
	
	var first_name = document.getElementById("first_name").value;
	var last_name = document.getElementById("last_name").value;
	var company = document.getElementById("company").value;
	var title = document.getElementById("title").value;
	var email = document.getElementById("email").value;
	var phone = document.getElementById("phone").value;
	var stripped = phone.replace(/[\(\)\.\-\ ]/g, '');
  
  	var result = false;
	
    if (first_name == "") {
        document.getElementById("first_nameError").style.display = "block";
        document.getElementById("first_name").select();
        document.getElementById("first_name").focus();       
		return false;
    } else {
		document.getElementById("first_nameError").style.display = "none";
	} 
  
    if (last_name == "") {
        document.getElementById("last_nameError").style.display = "block";
        document.getElementById("last_name").select();
        document.getElementById("last_name").focus();
		return false;
    } else {
		document.getElementById("last_nameError").style.display = "none";
	}
  
    if (title == "") {
        document.getElementById("titleError").style.display = "block";
        document.getElementById("title").select();
        document.getElementById("title").focus();
		return false;
    } else {
		document.getElementById("titleError").style.display = "none";
	}
  
    if (company == "") {
        document.getElementById("companyError").style.display = "block";
        document.getElementById("company").select();
        document.getElementById("company").focus();
		return false;
    } else {
		document.getElementById("companyError").style.display = "none";
	}
  
    if (email == "") {
        document.getElementById("emailError").style.display = "block";
        document.getElementById("email").select();
        document.getElementById("email").focus();
		return false;
		} else if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)){
		alert('Invalid E-mail Address! Please re-enter.');
		document.getElementById("emailError").style.display = "block";
        document.getElementById("email").select();
        document.getElementById("email").focus();
		return false;
    } else {
		document.getElementById("emailError").style.display = "none";
	}
  
    if (phone == "") {
        document.getElementById("phoneError").style.display = "block";
        document.getElementById("phone").select();
        document.getElementById("phone").focus();
		return false;
		} else if (isNaN(parseInt(stripped))) {
        alert('The phone number contains illegal characters.');
        document.getElementById("phoneError").style.display = "block";
        document.getElementById("phone").select();
        document.getElementById("phone").focus();
		return false;
    } else {
		document.getElementById("phoneError").style.display = "none";
	}

	// when every fields are filled
	if (firstName != "" && lastName != "" && title != "" && company != "" && email != "" && phone !="") {
    	result = true;
  	}
		  
	return result;
}

function cleanUp(obj) {
	
	newVal = obj.value.toLowerCase();
	newVal = newVal.substring(0,1).toUpperCase() + newVal.substring(1,newVal.length);
	obj.value = newVal;
}