function validateName(this_field){
    var err = "";
    if ((this_field.value.length == 0)||(this_field.value=='event name')) {
        this_field.style.borderColor = '#900';
        this_field.style.background = '#fdd';
        err = "Event name field cannot be left blank.<br/>";
    }return err;
}
function validateDates(this_startDate,this_endDate){
    var err = "";
    var today = new Date();
    if(!validDate(this_startDate)){
        this_startDate.style.borderColor = '#900';
        this_startDate.style.background = '#fdd';
        err += "Invalid date format. Please use mm/dd/yyyy.<br/>";
    }
    if(today.getTime() > getDateObj(this_startDate).getTime()){
        this_startDate.style.borderColor = '#900';
        this_startDate.style.background = '#fdd';
        err += "Invalid date. The Date cannot be in the past.<br/>";
    }
    if(this_endDate.value.length!=0){
        if(!validDate(this_endDate)){
            this_endDate.style.borderColor = '#900';
            this_endDate.style.background = '#fdd';
            err += "Invalid date format. Please use mm/dd/yyyy.<br/>";
        }else{
            if(!validateDateSeq(this_startDate,this_endDate)){
                this_startDate.style.borderColor = '#900';
                this_startDate.style.background = '#fdd';
                this_endDate.style.borderColor = '#900';
                this_endDate.style.background = '#fdd';
                err += "Invalid date order. Starting date must be before ending date and after now.<br/>";
            }
        }
    }else{
        this_endDate.value=this_startDate.value;
    }
    return err;
}
function validDate(this_date){
    var Day=this_date.value.split("/")[1];
    var Mn=this_date.value.split("/")[0];
    var Yr=this_date.value.split("/")[2];
    var DateVal = Mn + "/" + Day + "/" + Yr;
    var dt = new Date(DateVal);
    //if(dt.getDay()!=Day){
    //    alert(dt.getDay.toString());
    //    return false;
    //}
    if(dt.getMonth()!=Mn-1){
        //alert(dt.getMonth);
        return false;
    }
    if(dt.getFullYear()!=Yr){
        //alert(dt.getFullYear);
        return false;
    }
    return true;
}
function validateDateSeq(this_startDate,this_endDate){
    var now=new Date();
    var startDate = getDateObj(this_startDate);
    var endDate = getDateObj(this_endDate);
    if(startDate>endDate){
        return false;
    }else if(startDate<Date()){
        return false;
    }
    return true;
}
function getDateObj(this_date){
    var day=this_date.value.split("/")[1];
    var month=this_date.value.split("/")[0];
    var year=this_date.value.split("/")[2];
    return new Date(year,month,day);
}
function validateTimes(this_startTime,this_endTime){
    var err=""
    if(this_startTime.value==""&&this_endTime.value==""){
        return err;
    }
    if((this_startTime.value==""&&this_endTime.value!="")||(this_startTime.value!=""&&this_endTime.value=="")){
        err+="Invalid times. You must set either no times or both a start and end time.<br/>";
    }
    var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;
    var matchArray_start = this_startTime.value.match(timePat);
    if (matchArray_start == null){
        err+="Invalid start time. Use hh:mm AM/PM.<br/>"
        return err;
    }
    hour_start = matchArray_start[1];
    minute_start = matchArray_start[2];
    ampm_start = matchArray_start[6];
    if ((hour_start<0||hour_start>12)||(minute_start<0||minute_start>59)||(ampm_start==null)){
        this_startTime.style.borderColor = '#900';
        this_startTime.style.background = '#fdd';
        err += "Invalid start time format. Use hh:mm AM/PM.<br/>";
    }
    var matchArray_end = this_endTime.value.match(timePat);
    if (matchArray_end == null){
        err+="Invalid end time. Use hh:mm AM/PM.<br/>"
        return err;
    }
    hour_end = matchArray_end[1];
    minute_end = matchArray_end[2];
    ampm_end = matchArray_end[6];
    if ((hour_end<0||hour_end>12)||(minute_end<0||minute_end>59)||(ampm_end==null)){
        this_endTime.style.borderColor = '#900';
        this_endTime.style.background = '#fdd';
        err += "Invalid end time format. Use hh:mm AM/PM.<br/>";
    }
    if(err==""){
        if((ampm_start=="pm"||ampm_start=="PM")&&(ampm_end=="am"||ampm_end=="AM")){
            err="Invalid times. Start time must be before end time.<br/>";
        }else{
            if((parseInt(hour_start)>parseInt(hour_end))&&(hour_start!="12")&&(ampm_start==ampm_end)){
                err="Invalid times. Start time must be before end time.<br/>";
            }else{
                if((parseInt(minute_start)>parseInt(minute_end))&&(ampm_start==ampm_end)&&(hour_start==hour_end)){
                    err="Invalid times. Start time must be before end time.<br/>";
                }
            }
        }
        if(err!=""){
            this_startTime.style.borderColor = '#900';
            this_startTime.style.background = '#fdd';
            this_endTime.style.borderColor = '#900';
            this_endTime.style.background = '#fdd';
        }
    }
    return err;
}
