/* DOMReady */
$(function () {
    var $curpage = $("body").attr("id").split("page_")[1];

    /*** Site Navigation ***/
    $("#nav li a img").hover(
        function () {
            $(this).attr("src", $(this).attr("src").replace("_off", "_on"));
        },
        function () {
            if ($(this).attr("src").indexOf($curpage) == -1) {
                $(this).attr("src", $(this).attr("src").replace("_on", "_off"));
            }
        }
    );

    $("#nav li a img").each(function () { $(this).attr("src", $(this).attr("src").replace("_on", "_off")); });
    if ($curpage != "indeed") {
        var navimg = $("#nav li.nav_" + $curpage + " a img");
        navimg.attr("src", navimg.attr("src").replace("_off", "_on"));
    }
    /*** END: Site Navigation ***/

    /*** FLASH ***/
    var params = {
        scale: 'noScale',
        menu: 'false',
        allowFullScreen: 'true',
        allowScriptAccess: 'always',
        wmode: 'transparent',
        salign: 't'
    };

    var flashwidthMin = 958;
    var flashheightMin = 184;
    var flashvars = { xmlFile: 'http://www.threepillarsrecruiting.net/lib/animation.php' }
    swfobject.embedSWF("animation2.swf", "flashreplace", flashwidthMin, flashheightMin, "9.0.0", "expressInstall.swf", flashvars, params);

    /*** Jobs ***/
    var joblist_li = $("#joblist_body li");
    $("#joblist_body li:odd").css("background-color", "#eee");
    if (joblist_li.length > 9) {
        joblist_li.width(942);
    }
    /*
    $("#joblist_body li").hover(
    function () {
    },
    function () {
    }
    );*/

    $("#joblist_body li").click(function () {
        var id = $(this).attr("id");
        var seotitle = $(this).attr("seotitle").replace("/", "-").replace("%2F", "-");
        var url = window.location.href;
        if (url.substr(url.length - 1, 1) == "/") { url = url.substr(0, url.length - 1); }
        if (url.indexOf("searchjobs.php") > 0) { url = url.replace("searchjobs.php", "search-jobs"); }
        url += "/job/" + id + "_" + seotitle;
        window.location = url;
    });

    $("#pos_catfilter select").change(function () {
        var cat = "cat_" + seoify($("#pos_catfilter select option:selected").val());
        if (cat == "cat_All_Categories") {
            $("#joblist_body li.joblisting").show();
        } else {
            $("#joblist_body li.joblisting").hide();
            $("#joblist_body li." + cat).show();
        }
    });

    /*** Resume Uploader ***/
    $("#rue_close").click(function () { $("#ru_errorbox").hide(); });

    $("#resumename").blur(function () {
        if ($(this).val().length < 2) {
            $("#ru_namebox h5").addClass("errortext").html("Name - Please correct.");
        } else {
            $("#ru_namebox h5").removeClass("errortext").html("Name");
        }
    });

    $("#resumeemail").blur(function () {
        if (!mvalidate("email", $(this).val(), true)) {
            $("#ru_emailbox h5").addClass("errortext").html("Email - Please correct.");
        } else {
            $("#ru_emailbox h5").removeClass("errortext").html("Email");
        }
    });

});

function seoify($instr) {
    var $outstr = $.trim($instr);
    $outstr = encodeURIComponent($outstr.replace(" ", "_").replace(",", "").replace(",", "").replace(",", "").replace("/", "_").replace("/", "_").replace("/", "_").replace("/", "_"));
    return $outstr;
}



function mvalidate(ftype, val, req) {
    if ((ftype == null) || (ftype == "")) { return false; }
    switch (ftype) {
        case "text":
            var re = /[^a-zA-Z\-]/g;
            if ((req) && (val == "")) {
                return false;
            } else if (re.test(val)) {
                return false;
            } else {
                return true;
            }
            break;
        case "int":
            var re = /[\D]/g;
            if (re.test(val)) { return false; } else { return true; }
            break;
        case "email":
            var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
            return re.test(val);
            break;
        case "alpha":
            var re = /[^a-zA-Z]/g;
            if (re.test(val)) { return false; } else { return true; }
            break;
        case "phone":
            var re = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/;
            return re.test(val);
            break;
        case "date":
            var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/;
            if (!re.test(val)) return false;
            var result = val.match(re);
            var m = parseInt(result[1]);
            var d = parseInt(result[2]);
            var y = parseInt(result[3]);
            if (m < 1 || m > 12 || y < 1900 || y > 2100) return false;
            if (m == 2) {
                var days = ((y % 4) == 0) ? 29 : 28;
            } else if (m == 4 || m == 6 || m == 9 || m == 11) {
                var days = 30;
            } else {
                var days = 31;
            }
            return (d >= 1 && d <= days);
            break;
        case "pass":
            return true;
            break;
        default:
            return false;
    }
}

