/* misc javascript utils */

    var USA = "United States";
   
    function getNameVal(itemName) {
    alert("getting nameval for " + itemName);
       var e = document.getElementByName(itemName);
    alert("getting val for " + itemName);
       val = e.value;
    alert("got val");
       return val;
    }
    
    function getIdVal(itemId) {
       return document.getElementById(itemId).value;
    }
    
    function errorMsg(msg) {
        infoMsg(msg);
	document.getElementById("status-msg").style.color = "red";
        return false;
    }

    function infoMsg(msg) {
        document.getElementById("status-msg").innerHTML = msg;
        document.getElementById("status-msg").style.color = "darkBlue";
        return true;
    }

    function normalCaps(str) {
        var sa = str.split(" ");
        var res = "";

        for (var i = 0; i < sa.length; i++) {
            if (i > 0)
                res = res + " ";
            var chunk = sa[i];
            chunk = chunk.substring(0, 1).toUpperCase() + chunk.substring(1, chunk.length);
            res = res + chunk;
        }
   
        return res;
    }

    function fieldCaps(field) {
        var val = document.getElementById(field).value;
        document.getElementById(field).value = normalCaps(val);
    }

    function checkField2(field, field2, missingIsError) {
        var val = document.getElementById(field).value;
        if (val == null || val.length == 0) {
            if (missingIsError)
                errorMsg(field2 + " is required.");
            return true;
        }

        if (urlParams.length > 0)
            urlParams = urlParams + "&";
        urlParams = urlParams + field + "=" + encodeURIComponent(val);
        
        return false;
    }

    function checkField(field, field2) {
        return checkField2(field, field2, true);
    }

    function checkCityField(field, field2) {
        fieldCaps(field);

        if (checkField(field, field2, true))
            return true;

        var exp = /^[a-zA-Z]{1}[a-zA-Z. ]*$/

        if (document.getElementById(field).value.search(exp) == -1) {
            errorMsg("Invalid entry for " + field2);
            return true;
        }

        return false;
    }

    function checkCourseField(field, field2) {
        fieldCaps(field);

        if (checkField(field, field2, true))
            return true;

        var exp = /^[a-zA-Z]{1}[a-zA-Z0-9.(), ]*$/   // leave out # for now, causing grief
        if (document.getElementById(field).value.search(exp) == -1) {
            errorMsg("Invalid format for " + field2);
            return true;
        }

        return false;
    }

    function checkHide(id, hide) {
        var prop = "block";
        if (hide)
            prop = "none";
        document.getElementById(id).style.display = prop;
    }

    function iphoneBrowser() {
        if (navigator.appVersion.indexOf('iPhone') > 0)
            return true;
        return false;
    }
