function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}


function HideContent(d) {
    if(d.length < 1) { return; }
    document.getElementById(d).style.display = "none";
}

function ShowContent(d) {
    if(d.length < 1) { return; }
    document.getElementById(d).style.display = "block";
}

function selectAll(button, form){
    var check = true;
    if(button.value == "Select All"){
        button.value = "Deselect All";
    }else{
        button.value = "Select All";
        check = false;
    }

    form = document.getElementById(form); 	
    var allItems;

    if(document.all)
        allItems = form.all;
    else
        allItems = form.getElementsByTagName('*');

    for(var i=0; i<allItems.length; i++){
	    var item = allItems[i];
	    if(item.type == "checkbox"){
		    item.checked = check;
	    }
    }
}

var nextButton = null;

function submitForm(e) {

    // Don't process keypress if there is no next-button on the page
    if(nextButton != null && e.keyCode == 13) {
        var targ;
        if(e.target) {
            targ = e.target;
        } else if (e.srcElement) {
            targ = e.srcElement;
        }

        if (targ.nodeType == 3) { // defeat Safari bug
            targ = targ.parentNode;
        }

        var tname;
        var tyname;

        objType = targ.type; 
        objTag = targ.tagName;

        // if the user pressed enter while focused on a textbox/textarea/checkbox
        if(objTag == "INPUT" && (objType == "text" || objType == "password" || objType == "checkbox")){
            e.returnValue = false;
            e.cancel = true;
            nextButton.click();
        } 
    }
}

function ParseForm(){
    var all;
    if(document.all) all = document.all;
    else all = document.getElementsByTagName("*");

    var FocusedElement = false;
    
    for(i=0; i<all.length; i++){
        // current element
        var obj = all[i];
        
        // if the form element is a submit button or normal button
        if(obj.tagName == "INPUT" && (obj.type == "submit" || obj.type == "button")){
        
            // if the button has the next class
            if(obj.className == "button largeNext" || obj.className == "button next"){
                AssignNext(obj.id);
                
            // else look for keywords
            }else{
                switch(obj.value){
                    case "Next":
                        AssignNext(obj.id);
                        break;
                    case "Finish":
                        AssignNext(obj.id);
                        break;
                    default:
                        break;
                }
            }
        }
            
        // if the form element is a form element/textarea and no element has been focused - put focus on that element
        if(!FocusedElement && ((obj.tagName == "INPUT" && obj.type != "hidden") || obj.tagName == "TEXTAREA" || obj.tagName == "SELECT") && obj.focus){
            try {
				obj.focus();
				FocusedElement = true;
			}catch(e){}
        }
    }
}

function AssignNext(next){
    next = document.getElementById(next);
    if(next != null){
        nextButton = next;
    }
}

addLoadEvent(ParseForm);
