function buildURL(mode, lang) {
    document.write("<a href=\"" + splitURLParams(mode, lang) + "\"/>");
}

function buildServletURL(mode, lang, loc) {
	var theURL = splitURLParams(mode, lang);
    var rexp   = /.+\?(.+)$/;
    rexp.compile;
    if (theURL.search(rexp) != -1)
    {
    	theURL = RegExp.$1;
    }
    document.write("<a href=\"/career/servlet/CareerDeadlineSearch?" + "loc=" + loc + "&" + theURL + "\"/>");
}

function splitURLParams(mode, lang)
{
	var rexp                = /\/career_finder\/([a-z]+)\//;
    var found               = -1;
    var rolesProgram         = "";
    // compile for efficiency
    rexp.compile;
    found = document.URL.search(rexp);
    if (found != -1) {
        rolesProgram = RegExp.$1;
    }

	var theURL = document.location.search;
	theURL = theURL.slice(1, theURL.length);

	var bgParam				= "";
	var locParam 			= "";
	var statusParam			= "";
	var roleParam			= "";
	var filenameParam 		= "";
	var returnLink 			= "?";

	a = theURL.split("&");

	for (i=0; i < a.length; i++) {
		b = a[i].split("=");
        var prelinkfudge = returnLink;
		if (i != 0 || i == a.length)  returnLink += ("&");
		switch (b[0]) {
			case "bg":
                if (bgParam == "") {
    				bgParam = b[1];
    				returnLink += "bg=" + bgParam;
                }
                else {
                    returnLink = prelinkfudge;
                }
				break;
			case "loc":
                if (locParam == "") {
    				locParam = b[1];
    				returnLink += "loc=" + locParam;
                }
                else {
                    returnLink = prelinkfudge;
                }
				break;
			case "status":
                if (statusParam == "") {
    				statusParam = b[1];
    				returnLink += "status=" + statusParam;
                }
                else {
                    returnLink = prelinkfudge;
                }
				break;
			case "role":
                if (roleParam == "") {
    				roleParam = b[1];
    				returnLink += "role=" + roleParam;
                }
                else {
                    returnLink = prelinkfudge;
                }
				break;
			case "filename":
                if (filenameParam == "") {
    				filenameParam = b[1];
                    returnLink += "filename=" + filenameParam;
                }
                else {
                    returnLink = prelinkfudge;
                }
				break;
			default:
				break;
		}
	}

    if (filenameParam == "")
    {
    	rexp                = /\/([a-zA-Z0-9_]+\.shtml)\?/;
        found               = -1;
        // compile
        rexp.compile;
        found = document.URL.search(rexp);
        if (found != -1) {
            filenameParam = RegExp.$1;
            returnLink += "&filename=" + filenameParam;
        }
    }

    var returnURL = "";
	switch (mode)
    {
        case "programs":
        	returnURL = "\/career\/" + statusParam + "\/career_finder\/" + mode + "\/" + lang + "\/" + bgParam + ".shtml" + returnLink;
            break;
        case "roles":
        	returnURL = "\/career\/" + statusParam + "\/career_finder\/" + mode + "\/" + lang + "\/" + filenameParam + returnLink;
            break;
        case "":
        default:
        	returnURL = "\/career\/" + statusParam + "\/career_finder\/" + rolesProgram + "\/" + lang + "\/" + filenameParam + returnLink;
            break;
    }
    return returnURL;
}

function buildBreadCrumb(linkurl, linkname) {
    return ("<a class=\"navpath\" href=\"" + linkurl + "\">" + linkname + "</a>");
}

function getParameter(param) {
	var setParam;
	var param_value = document.location.search;
	param_value = param_value.slice(1, param_value.length);

	a = param_value.split("&");
	for (i=0; i<a.length; i++) {
		b = a[i].split("=");

		if (b[0] == param) return (b[1].replace(/%20/i, " "));
	}


}
