var newwindow = null;

function openWindow(target_url, window_name, windowOptions, message) {
    if  (
            (newwindow == null) ||
            (newwindow.closed)
        )   {
        newwindow=window.open("",window_name, windowOptions);
        newwindow.document.close();
        newwindow.document.open();
        newwindow.document.writeln("<html><head><title>Please Wait</title></head><body bgcolor='white'><span style='font-size : small;font-style: italic;'>Loading ...</span></body></html>");
        newwindow.document.close();
        newwindow.location = target_url;
    }//if
    else    {
        alert(message);
        newwindow.focus();
    }//else
}

function openWindow(target_url, window_name, windowOptions) {
    if  (
            (newwindow == null) ||
            (newwindow.closed)
        )   {
        newwindow=window.open("",window_name, windowOptions);
        newwindow.document.close();
        newwindow.document.open();
        newwindow.document.writeln("<html><head><title>Please Wait</title></head><body bgcolor='white'><span style='font-size : small;font-style: italic;'>Loading ...</span></body></html>");
        newwindow.document.close();
        newwindow.location = target_url;
    }//if
    else    {
        alert("Please close current window before opening a new one");
        newwindow.focus();
    }//else
}

function openHiddenWindow(target_url, window_name, windowOptions)   {
    if  (
            (newwindow == null) ||
            (newwindow.closed)
        )   {
        newwindow=window.open("",window_name, windowOptions);
        newwindow.document.close();
        newwindow.document.open();
        newwindow.document.writeln("<html><head><title>Please Wait</title></head><body bgcolor='white'><span style='font-size : small;font-style: italic;'>Loading ...</span></body></html>");
        newwindow.document.close();
        newwindow.opener.focus();
        newwindow.blur();
        newwindow.location = target_url;
    }//if
    else    {
        alert("Please close current window before opening a new one");
        newwindow.focus();
    }//else
}

function submitInNewWindow(form, windowOptions) {
    if  (
            (newwindow == null) ||
            (newwindow.closed)
        )   {
        newwindow = window.open('','NewWindow',windowOptions);
        newwindow.document.writeln("<html>");
        newwindow.document.writeln("<head><title>Please Wait</title></head>");
        newwindow.document.writeln("<body bgcolor='white'>");
        newwindow.document.writeln("<span style='font-size : small;font-style: italic;'>Loading ...</span>");
        newwindow.document.writeln("<form name='" + form.name + "' method='" + form.method + "' action='" + form.action + "'>");
        for (var i = 0; i < form.elements.length;i++)   {
            var	formType = form.elements[i].type.substring(0,6).toLowerCase();
            if	(formType != "select")  {
                formType = form.elements[i].type.substring(0,8).toLowerCase();
            }//if
            switch (formType)   {
                case "select":
                        //select type
                        var firsttime   = true;
                        var fieldValue  = "";
                        for (var j = 0; j < form.elements[i].options.length; j++)   {
                            if (form.elements[i].options[j].selected)   {
                                if (!firsttime) {
                                    fieldValue += ",";
                                }//if
                                else    {
                                    firsttime = false;
                                }//else
                                fieldValue += form.elements[i].options[j].value;
                            }//if
                        }//for j
                        newwindow.document.writeln("<input type='hidden' name='" + form.elements[i].name + "' value='" + fieldValue + "'>");
                        break;
                case "radio":
                        if  (form.elements[i].checked)  {
                            newwindow.document.writeln("<input type='hidden' name='" + form.elements[i].name + "' value='" + form.elements[i].value + "'>");
                        }//if
                        break;
                case "checkbox":
                        var firstTime = true;
                        var fieldValue = "";
                        var j = i;
                        while   (
                                    (j < form.elements.length)                                          &&
                                    (form.elements[j].type.substring(0,8).toLowerCase() == 'checkbox')  &&
                                    (form.elements[j].name == form.elements[i].name)
                                )   {
                                if  (form.elements[j].checked)   {
                                    if  (firstTime) {
                                        fieldValue = form.elements[j].value;
                                        firstTime = false;
                                    }//if
                                    else    {
                                        fieldValue += "," + form.elements[j].value;
                                    }//else
                                }//if
                                j++;
                        }//while
                        newwindow.document.writeln("<input type='hidden' name='" + form.elements[i].name + "' value='" + fieldValue + "'>");
                        i = j-1;
                        break;
                default:
                        newwindow.document.writeln("<input type='hidden' name='" + form.elements[i].name + "' value='" + form.elements[i].value + "'>");
            }//switch
        }//for i
        newwindow.document.writeln("</form>");
        newwindow.document.writeln("</body>");
        newwindow.document.writeln("</html>");
        newwindow.document.forms[0].submit();
    }//if
    else    {
        alert("Please close current window before opening a new one");
    }//else
    newwindow.focus();
}

function getParameter(key)  {	
    var parameters = document.location.search.substring(1,document.location.search.length).split("&");
    for (var i=0;i < parameters.length; i++)    {
            var object = parameters[i].split("=");
            if (object[0] == key)   {
                if  (object.length != 1) {
                    return unescape(object[1]);
                }//if
                else    {
                    return "";
                }//else
            }//if
    }//for
    return "";	
}

function checkAllBlank(str) {
    blank=true;
    if ((str != null) && (str.length != 0)) {
        for(j=0;j<str.length;j++)   {
            blank   = blank && ((str.charAt(j)== " ") || (str.charAt(j)== "\n") || (str.charAt(j)== "\r") || (str.charAt(j) == "\t"));
        }//for
    }//if
    return blank;
}

function adjustSpace(str)   {
    var temp_str    = "";
    var cnt_space   = 0;
    for (var i= str.length-1; i>=0;i--) {
        var temp_chr    = str.charAt(i);
        if  (temp_chr == " ")    {
            cnt_space++;
        }//if
        else    {
            cnt_space = 0;
        }//else

        if (cnt_space >1)   {
            temp_chr = "&nbsp;";
        }//if
        temp_str = temp_chr + temp_str;
    }//for
    return temp_str;
}

function setCookie(key, value)  {
    clearCookie(key);
    while (getCookie(key) != value) {
        document.cookie = key + "=" + value;
    }//while
    //make sure that cookie is recorded.
}

function getCookie(key) {
    var temps1 = document.cookie.split("; ");
    for (var i=0;i<temps1.length;i++)   {
        var temps2 = temps1[i].split("=");
        if (temps2[0] == key)   {
            return temps2[1];
        }//if
    }//for
    return "NOT_FOUND";	
}

function clearCookie(key)   {
    var ThreeDays = 3 * 24 * 60 * 60 * 1000;
    var expDate = new Date();
    expDate.setTime(expDate.getTime() - ThreeDays);
    var temps1 = document.cookie.split("; ");
    for (var i=0;i<temps1.length;i++)   {
        var temps2 = temps1[i].split("=");
        if  (temps2[0] == key)   {
            while (getCookie(key) != 'NOT_FOUND')   {
                document.cookie = temps2[0] + "=; expires=" + expDate.toGMTString(); 
            }//while
            break;
        }//if
    }//for
}

function clearCookies() {
    var ThreeDays = 3 * 24 * 60 * 60 * 1000;
    var expDate = new Date();
    expDate.setTime(expDate.getTime() - ThreeDays);
    var temps1 = document.cookie.split("; ");
    for (var i=0;i<temps1.length;i++)   {
        var temps2 = temps1[i].split("=");
        if  (temps2[0] != 'expires')    {
            document.cookie = temps2[0] + "=; expires=" + expDate.toGMTString();
        }//if
    }//for
}

function switchPictureOnOff(img_obj)    {
    var full_pic_name   = eval(img_obj + ".src");
    var lastperiod  = full_pic_name.lastIndexOf(".");
    var file_ext    = full_pic_name.substring(lastperiod, full_pic_name.length);
    var pic_name    = full_pic_name.substring(0, lastperiod);

    var last_       = pic_name.lastIndexOf("_");
    var partial_pic_name = pic_name.substring(0, last_);
    var on_off      = pic_name.substring(last_, pic_name.length);
    eval(img_obj + ".src = '" + partial_pic_name + ((on_off == '_on')? "_off": "_on") + file_ext + "';");
}

function isValidEmail(email)    {
    var emailRegExp = /^\w+@{1}\w+\.{1}\w+$/;
    return emailRegExp.test(email);
}

//Yu

//var good;
function checkEmailAddress(field) {

// Note: The next expression must be all on one line...
//       allow no spaces, linefeeds, or carriage returns!
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);

if (goodEmail){
//   good = true
   return true
} else {
   alert('Please enter a valid e-mail address.')
   field.focus()
   field.select()
   return false
//   good = false
   }
}



