// require ajax.js
// input form check section
/**
 * Determines whether a string contains a
 * valid Email address.
 *
 * @tparam  String str Email address to be tested for validity.
 *
 * @treturn Boolean true if the string contains a valid e-mail address; false, otherwise.
 *
 * @remarks Returns true when the Email address
 *          is a string plus an '@' character followed by 
 *          another string containing at least one '.' and ending 
 *          in either two or three letters.
 *
 * PLATFORMS:  Netscape Navigator 4.5 (tested),
 *             Microsoft Internet Explorer 4.0 (tested),
 */
function validateEmail( str ) {
        // Return immediately if an invalid value was passed in
        if (str+"" == "undefined" || str+"" == "null" || str+"" == "")
            return false;
//        var regEmailFormat = /^.+\@(\[?)[a-zA-Z0-9\-\.\\']+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/
        var regEmailFormat = /^(\S+)@(\S+)$/
		return regEmailFormat.test(str);
}

function trimAllWhitespace( strValue ) {
    strValue = trimRightWhitespace(strValue);    
    strValue = trimLeftWhitespace(strValue);    
    return strValue;
}
/**
* Trims trailing whitespace chars.
*
* @tparam  String strValue String to be trimmed.
*
* @treturn String Source string with right whitespaces removed.
*/
function trimRightWhitespace( strValue ) {
    var objRegExp = /^(.*\S)?\s*$/;

    if(objRegExp.test(strValue)) {
        strValue = strValue.replace(objRegExp, '$1');
    }

    return strValue;
}

/**
* Trims leading whitespace chars.
*
* @tparam  String strValue String to be trimmed
*
* @treturn String Source string with left whitespaces removed.
*/
function trimLeftWhitespace( strValue ) {
    var objRegExp = /^\s*(\S.*)?$/;

    if(objRegExp.test(strValue)) {
        strValue = strValue.replace(objRegExp, '$1');
    }
    
    return strValue;
}

function checkContactEmail(frm)
{
	if((frm.cont_email.value.length!=0)&&(frm.cont_email.value.indexOf("@")<1))
	{
		frm.cont_email.focus();
		return false;
	}
}

function checkAddEditDistrictForm(frm)
{
    if (!checkDistrictDirectorName(frm)) return false;
    if (!checkEmail(frm)) return false;
    if (!checkPhone(frm)) return false;
	return true;
}
function checkUsersAddForm(frm)
{
   strEmail = frm.e-mail.value;
	if (!checkFirstName(frm)) return false;
	if (!checkLastName(frm)) return false;
    if (!validateEmail(strEmail)) return false;
    if (!checkPassword(frm)) return false;
    if (!checkPasswordConfirm(frm)) return false;
	if (!checkBoxAccessLevel(frm)) return false;
	return true;
}
function checkUserDetailsForm(frm)
{
    strEmail = frm.e-mail.value;
	if (!checkFirstName(frm)) return false;
	if (!checkLastName(frm)) return false;
    if (!validateEmail(strEmail)) return false;
	if (frm.password.value.length>0)
	{
		if (!checkPassword(frm)) return false;
		if (!checkPasswordConfirm(frm)) return false;
	}
	if (!checkPrivilegesCategory(frm)) return false;
	return true;
}
function checkGroupAdd(frm)
{
	if (!checkRegionalGroupName(frm)) return false;
	if (!checkRegionalEmail(frm)) return false;
	if (!checkDistrict(frm)) return false;
	if (!checkRegionalDirector(frm)) return false;
	if (!checkDirectorEmail(frm)) return false;
	if (!checkMembershipChair(frm)) return false;
	if (!checkMembershipEmail(frm)) return false;
	if (!checkExecutiveIniFee(frm)) return false;
	if (!checkExecutiveAnnualFee(frm)) return false;
	if (!checkAssociateIniFee(frm)) return false;
	if (!checkAssociateAnnualFee(frm)) return false;
	if (!checkExecutivePDF(frm)) return false;
	if (!checkAssociatePDF(frm)) return false;
	return true;
}
function checkVenue(frm)
{
	if (!checkGroup(frm)) return false;
	if (!checkVenueName(frm)) return false;
	//LRV - comment out this validations. Only validate venue group and name to keep database structure
	/*if (!checkVenueAddress(frm)) return false;
	if (!checkVenueCountry(frm)) return false;
	if (!checkVenueCity(frm)) return false;*/

	return true;
}
function checkAsset(frm)
{
	if (!checkGroup(frm)) return false;
	if (!checkAssetFileName(frm)) return false;

	return true;
}
function checkAssetImages(frm)
{
	if (!checkGroup(frm)) return false;
	if ((!checkAssetFileNameByObject(frm.datafile1)) && (!checkAssetFileNameByObject(frm.datafile2))
	&& (!checkAssetFileNameByObject(frm.datafile3)) && (!checkAssetFileNameByObject(frm.datafile4))
	&& (!checkAssetFileNameByObject(frm.datafile5))) return false;
	return true;
}
function checkAssetGallery(frm)
{
	if (!checkAssetImages(frm)) return false;
	if (!checkGalleryName(frm)) return false;
	return true;
}
function checkGroupEdit(frm)
{
	if (!checkRegionalGroupName(frm)) return false;
	if (!checkRegionalEmail(frm)) return false;
	if (!checkDistrict(frm)) return false;
	if (!checkRegionalDirector(frm)) return false;
	if (!checkDirectorEmail(frm)) return false;
	if (!checkMembershipChair(frm)) return false;
	if (!checkMembershipEmail(frm)) return false;
	if (!checkExecutiveIniFee(frm)) return false;
	if (!checkExecutiveAnnualFee(frm)) return false;
	if (!checkAssociateIniFee(frm)) return false;
	if (!checkAssociateAnnualFee(frm)) return false;
	if (!checkExecutivePDF(frm)) return false;
	if (!checkAssociatePDF(frm)) return false;
	return true;
}
function checkCategoryAdd(frm)
{
	if (!checkSelectGroup(frm)) return false;
	if (!checkLevelcid(frm, frm.cid)) return false;
	return true;
}
function checkEditCategory(frm)
{
	if (!checkSelectGroup(frm)) return false;
//	if (!checkLevel(frm, frm.parent_cat)) return false;
	return true;
}
function checkArticleAdd(frm)
{
	//alert("test validation:"+checkSelectGroup(frm));
	if (!checkSelectGroup(frm)) return false;
	if (!checkSelectTemplate(frm)) return false;
	
	clear_message();
	
	sValidateCategory = trimAllWhitespace(frm.cid[frm.cid.selectedIndex].text);
    bWrongCategory    = 0;

	
	switch(sValidateCategory){
	  case "About FGI" :
	    bWrongCategory = 1;
		break;
	  case "Join FGI" :
        bWrongCategory = 1;
		break;		
	  case "Members" :
	    bWrongCategory = 1;
		break;
	  case "Events" :
	    bWrongCategory = 1;
		break;
	  case "-Calendar of Events" :
	    bWrongCategory = 1;
		break;
	  case "Calendar of Events" :
	    bWrongCategory = 1;
		break;
		
	}//sw
	
	if (bWrongCategory==1){
	
       message = "This category is reserved. Please select another.";
	   validate_message(message, frm.cid)
	   return false;

	}
	
	/*
	if (frm.cid.label < 1)
	{
		message = "You did not complete required fields: Category";
		validate_message(message, frm.cid)
		return false;
	}
	*/
	
	//if (!checkCategory(frm)) return false;
	////if (!checkTitleTagSE0(frm)) return false;
	
	if (!checkPageTitle(frm)) return false;
	
	var dateValid = 0;
	
	if (frm.date!=undefined){
	   dateValid = 1;
	   if(frm.date.value.length<=0){
	 
		  var message = "You did not complete required fields: Publishing Date";
		  validate_message(message, frm.date)
	      frm.date.focus();
		  return false;
		  
	   }
	}
    
    if (frm.event_date!=undefined && dateValid==0){	
	
	  if (frm.tbd!=undefined){
	
	     if (frm.event_date.value.length<=0 && frm.tbd.checked!=true){
	   
		    var message = "You did not complete required fields: Event Date";
		    validate_message(message, frm.event_date)
	        frm.event_date.focus();
		    return false;
	    }
		
	  }else{
	  
        if (frm.event_date.value.length<=0 && frm.no_expire.checked!=true && dateValid==0){
	
		    var message = "You did not complete required fields: Event Date";
		    validate_message(message, frm.event_date)
			alert("test abc");
	        frm.event_date.focus();
		    return false;
	    }	  
	  }
	}
	
	
	
	if (frm.expire_date!=undefined){
	
	   if (frm.expire_date.value.length<=0 && frm.no_expire.checked==false ){
	   
	      var message = "You did not complete required fields: Expire Date";
		  validate_message(message, frm.expire_date)
	      frm.expire_date.focus();
		  return false;
	   }
	}
	
	if (frm.event_end_date!=undefined ){
	
	   if (frm.tbd.checked==true){
	      frm.event_end_date.value = '';
		  frm.event_date.value     = '';
	   }
	   
	   	   if (frm.event_end_date.value!='' && frm.event_date.value!=''){
	      dtCh           = ' ';
		  dtStr          = frm.event_end_date.value;
		  dtStrStartDate = frm.event_date.value;
		  validDate      = validateDateBigger(dtStr,dtStrStartDate);
		  
          if (!validDate){
		  
		     var message = "Please Event End Date should be later or equal than Event Start Date.";
		     validate_message(message, frm.event_date);
			 return false;
		  }
		  
		  
	   }
	   
	}
	/*
	if (frm.event_end_date!=undefined && dateValid==0 && frm.tbd.checked!=true){
	
	   if(frm.event_end_date.value.length<=0){
	   
		  var message = "You did not complete required fields: Event End Date";
		  validate_message(message, frm.event_end_date)
	      frm.event_end_date.focus();
		  return false;
		  
	   }	
	}
	*/
	//alert(checkContactEmail(frm));
	return checkContactEmail(frm);
	return false;
}

function checkUETemplates(frm)
{

	alert("1");
	if(!checkUETevent_date(frm)) return false;
	if(!checkUETtime(frm)) return false;
	if(!checkUETloc(frm)) return false;
	if(!checkUETmapquest(frm)) return false;
	if(!checkUETmem_fee(frm)) return false;
	if(!checkUETnon_mem_fee(frm)) return false;
	if(!checkUETstudent_fee(frm)) return false;
	if(!checkUETtable_fee(frm)) return false;
	if(!checkUETadd_info(frm)) return false;
	if(!checkUETtel(frm)) return false;
	if(!checkUETe_mail(frm)) return false;
	return true;
}

function checkUETevent_date(frm)
{
	clear_message();
	if (frm.event_date.value.length==0)
	{
		message = "You did not enter the  Event Date.";
		dump_table(message);
		frm.event_date.focus();
		return false;
	}
  return true;
}

function checkUETtime(frm)
{
	clear_message();
	if (frm.time.value.length==0)
	{
		message = "You did not enter the  Event Time.";
		dump_table(message);
		frm.time.focus();
		return false;
	}
  return true;
}

function checkUETloc(frm)
{
	clear_message();
	if (frm.loc.value.length==0)
	{
		message = "You did not enter the  Location.";
		dump_table(message);
		frm.loc.focus();
		return false;
	}
  return true;
}

function checkUETmapquest(frm)
{
	clear_message();
	if (frm.mapquest.value.length==0)
	{
		message = "You did not enter the  Mapquest Field.";
		dump_table(message);
		frm.mapquest.focus();
		return false;
	}
  return true;
}

function checkUETmem_fee(frm)
{
	clear_message();
	if (frm.mem_fee.value.length==0)
	{
		message = "You did not enter the Member Fee.";
		dump_table(message);
		frm.mem_fee.focus();
		return false;
	}
  return true;
}

function checkUETnon_mem_fee(frm)
{
	clear_message();
	if (frm.non_mem_fee.value.length==0)
	{
		message = "You did not enter the  Non Member Fee.";
		dump_table(message);
		frm.non_mem_fee.focus();
		return false;
	}
  return true;
}

function checkUETstudent_fee(frm)
{
	clear_message();
	if (frm.student_fee.value.length==0)
	{
		message = "You did not enter the  Student Fee.";
		dump_table(message);
		frm.student_fee.focus();
		return false;
	}
  return true;
}

function checkUETtable_fee(frm)
{
	clear_message();
	if (frm.table_fee.value.length==0)
	{
		message = "You did not enter the  Table Fee.";
		dump_table(message);
		frm.table_fee.focus();
		return false;
	}
  return true;
}

function checkUETadd_info(frm)
{
	clear_message();
	if (frm.add_info.value.length==0)
	{
		message = "You did not enter the  Additional Info.";
		dump_table(message);
		frm.add_info.focus();
		return false;
	}
  return true;
}

function checkUETtel(frm)
{
	clear_message();
	if (frm.tel.value.length==0)
	{
		message = "You did not enter the  Contact Telephone.";
		dump_table(message);
		frm.tel.focus();
		return false;
	}
  return true;
}

function checkUETe_mail(frm)
{
	clear_message();
	if (frm.e_mail.value.length==0)
	{
		message = "You did not enter the  Contact Email.";
		dump_table(message);
		frm.checkUETe_mail.focus();
		return false;
	}
  return true;
}

//- check input field:
function checkPhone(frm){
   clear_message();
    if( isNaN( parseInt(frm.telephone.value))) {
         message = "Your telephone number is not in the correct format. ";
		dump_table(message);
		return false;
  }
  return true;
  }
function checkEmail(frm)
{
    clear_message();
    var mail=document.getElementById("e_mail");
    if (mail.value.length==0)
	{
		message = "You did not enter the district's email.";
		dump_table(message);
		mail.focus();
		return false;
	}
	if (mail.value.indexOf("@")<1 || mail.value.indexOf(".")<4)
	{
		message = "The district's email is not in the correct format.";
		dump_table(message);
		mail.focus();
		return false;
	}
	return true;
}

function checkDistrictDirectorName(frm){
	clear_message();
	if (frm.name.value.length==0)
	{
		message = "You did not enter the  District Name.";
		dump_table(message);
		frm.name.focus();
		return false;
	}
  return true;
}
function checkUsername(frm){
	clear_message();
	if (frm.name.value.length==0)
	{
		message = "You did not complete the District Director's Name.";
		dump_table(message);
		frm.name.focus();
		return false;
	}
  return true;
}
function checkFirstName(frm){
	clear_message();
	if (frm.first_name.value.length==0)
	{
		message = "You did not complete the First Name.";
		dump_table(message);
		frm.first_name.focus();
		return false;
	}
  return true;
}
function checkLastName(frm){
	clear_message();
	if (frm.last_name.value.length==0)
	{
		message = "You did not complete the Last Name.";
		dump_table(message);
		frm.last_name.focus();
		return false;
	}
  return true;
}
function checkPassword(frm)
{
    clear_message();
	if (frm.password.value.length==0)
	{
		message = "Please enter your password";
		dump_table(message);
		frm.password.focus();
		return false;
	}
	if (frm.password.value.length<8)
	{
		message = "The password must be 8 characters.";
		dump_table(message);
		frm.password.focus();
		return false;
	}
	return true;
}
function checkPasswordConfirm(frm){
    clear_message();
	checkPassword(frm);
	if (frm.password.value != frm.conf_pswd.value)
	{
		message = "Password does not match the original password.";
		dump_table(message);
		frm.password.focus();
		return false;
	}
    return true;
}
function checkBoxAccessLevel(frm) {
	clear_message();
	var chk = 0;
    for (i = 0; i < frm.level.length; i++) {
      if (frm.level[i].checked == true) chk++;
	}
	if (chk == 0)	{
		message = "You did not complete required fields: Access Level";
		dump_table(message);
		frm.level[0].focus();
		return false;
	}
	if (chk > 1)	{
		message = "Access Level : select only one choice ";
		dump_table(message);
		frm.level[0].focus();
		return false;
	}
	if (frm.level[0].checked == false && frm.category.value == 0) {
		message = "You did not complete required fields: Select Group";
		dump_table(message);
		frm.category.focus();
		return false;
	}
  return true;
}
function checkPrivilegesCategory(frm)
{
	 if (frm.type.value != 0 && frm.category.value == 0){
		message = "You did not complete required fields: Category";
		dump_table(message);
		frm.category.focus();
		return false;
	 }
	 return true;
}
function checkUsersAddLevel(frm, set_lvl)
{
  if (frm.level.length<5) set_lvl=set_lvl-2;

  for (i = 0; i < frm.level.length; i++)
   frm.level[i].checked = false;
   frm.level[set_lvl].checked = true;
}
//- group add template
function checkRegionalGroupName(frm){
	clear_message();
	if (frm.name.value.length==0)
	{
		message = "You did not complete required fields: Regional Group Name";
		dump_table(message);
		frm.name.focus();
		return false;
	}
  return true;
}
function checkVenueName(frm){
	clear_message();
	if (frm.name.value.length==0)
	{
		message = "You did not complete required fields: Venue Name";
		dump_table(message);
		frm.name.focus();
		return false;
	}
  return true;
}
function checkVenueAddress(frm){
	clear_message();
	if (frm.address.value.length==0)
	{
		message = "You did not complete required fields: Venue Address";
		dump_table(message);
		frm.address.focus();
		return false;
	}
  return true;
}

function checkVenueCity(frm){
	clear_message();
	if (frm.city.value.length==0)
	{
		message = "You did not complete required fields: Venue City";
		dump_table(message);
		frm.city.focus();
		return false;
	}
  return true;
}
function checkVenueCountry(frm){
	clear_message();
	if (frm.country.selectedIndex==0)
	{
		message = "You did not complete required fields: Venue Country";
		dump_table(message);
		frm.country.focus();
		return false;
	}
  return true;
}
function checkGroup(frm){
	clear_message();
	if (frm.group.options[frm.group.selectedIndex].value=='')
	{
		message = "You did not complete required fields: Group";
		dump_table(message);
		frm.group.focus();
		return false;
	}
  return true;
}
function checkAssetFileName(frm){
	clear_message();
	if (frm.datafile.value.length==0)
	{
		message = "You did not complete required fields: Filename";
		dump_table(message);
		frm.datafile.focus();
		return false;
	}
  return true;
}
function checkAssetFileNameByObject(object){
	clear_message();
	if (object.value.length==0)
	{
		message = "You did not complete required fields: Filename";
		dump_table(message);
		object.focus();
		return false;
	}
  return true;
}
function checkGalleryName(frm){
	clear_message();
	if (frm.gallery_name.value.length==0)
	{
		message = "You did not complete required fields: Gallery Name";
		dump_table(message);
		frm.gallery_name.focus();
		return false;
	}
  return true;
}
function checkRegionalEmail(frm){
	clear_message();
	if (frm.email.value.length==0)
	{
		message = "You did not complete required fields: Regional Email";
		dump_table(message);
		frm.email.focus();
		return false;
	}
	strEmail = frm.email.value;
	//if (frm.email.value.indexOf("@")<1 || frm.email.value.indexOf(".")<4)
	strEmail = frm.email.value;
	if(!validateEmail( strEmail ))
	{
		message = "You did not complete required fields: Regional Email is not valid";
		dump_table(message);
		frm.email.focus();
		return false;
	}
  return true;
}
function checkDistrict(frm) {
	clear_message();
	if (frm.district.value==-1)
	{
		message = "You did not complete required fields: District";
		dump_table(message);
		frm.district.focus();
		return false;
	}
  return true;
}
function checkRegionalDirector(frm) {
	clear_message();
	if (frm.reg_dir.value.length==0)
	{
		message = "You did not complete required fields: Regional Director";
		dump_table(message);
		frm.reg_dir.focus();
		return false;
	}
  return true;
}
function checkDirectorEmail(frm) {
	clear_message();
	if (frm.dir_email.value.length==0)
	{
		message = "You did not complete required fields: Director Email";
		dump_table(message);
		frm.dir_email.focus();
		return false;
	}
	
	//if (frm.dir_email.value.indexOf("@")<1 || frm.dir_email.value.indexOf(".")<4)
	strEmail = frm.dir_email.value;
	if(!validateEmail( strEmail ))
	{
		message = "You did not complete required fields: Director Email is not valid";
		dump_table(message);
		frm.dir_email.focus();
		return false;
	}
  return true;
}
function checkMembershipChair(frm) {
	clear_message();
	if (frm.mem_chair.value.length==0)
	{
		message = "You did not complete required fields: Membership Chair";
		dump_table(message);
		frm.mem_chair.focus();
		return false;
	}
  return true;
}
function checkMembershipEmail(frm) {
	clear_message();
	if (frm.mem_email.value.length==0)
	{
		message = "You did not complete required fields: Membership Email";
		dump_table(message);
		frm.mem_email.focus();
		return false;
	}
	
	//if (frm.mem_email.value.indexOf("@")<1 || frm.mem_email.value.indexOf(".")<4)
	strEmail = frm.mem_email.value;
	if(!validateEmail( strEmail ))
	{
		message = "You did not complete required fields: Membership Email is not valid";
		dump_table(message);
		frm.mem_email.focus();
		return false;
	}
  return true;
}
//remove checkINT from !checkINT(blah)
function checkExecutiveIniFee(frm) {
	clear_message();
	if( !(frm.ex_ini_fee.value)) {
		message = "You did not complete required fields: Executive Ini Fee - integer";
		dump_table(message);
		frm.ex_ini_fee.focus();
		return false;
	}
  return true;
}
//
function checkExecutiveAnnualFee(frm) {
	clear_message();
	if( !(frm.ex_annual_fee.value)) {
		message = "You did not complete required fields: Executive Annual Fee";
		dump_table(message);
		frm.ex_annual_fee.focus();
		return false;
	}
  return true;
}
function checkAssociateIniFee(frm) {
	clear_message();
	if( !(frm.as_ini_fee.value)) {
		message = "You did not complete required fields: Associate Ini Fee ";
		dump_table(message);
		frm.as_ini_fee.focus();
		return false;
	}
  return true;
}
function checkAssociateAnnualFee(frm) {
	clear_message();
	if( !(frm.as_annual_fee.value)) {
		message = "You did not complete required fields: Associate Annual Fee ";
		dump_table(message);
		frm.as_annual_fee.focus();
		return false;
	}
  return true;
}
function checkExecutivePDF(frm) {
	clear_message();
	if (frm.ex_pdf.value.length==0)	{
		message = "You did not complete required fields: Executive PDF";
		dump_table(message);
		frm.ex_pdf.focus();
		return false;
	}
  return true;
}
function checkAssociatePDF(frm) {
	clear_message();
	if (frm.as_pdf.value.length==0)	{
		message = "You did not complete required fields: Associate PDF";
		dump_table(message);
		frm.as_pdf.focus();
		return false;
	}
  return true;
}
//-
function checkSelectGroup(frm) {
	clear_message();
	if (frm.group.value==0)
	{
		message = "You did not complete required fields: Select Group";
		validate_message(message, frm.group)
		return false;
	}
  return true;
}
function checkLevel(frm, field) {
	clear_message();
	if (field.value < 1)
	{
		message = "You did not complete required fields: Level";
		validate_message(message, field)
		return false;
	}
  return true;
}
//-article
function checkSelectTemplate(frm) {
	clear_message();
	if (frm.template_select.value < 1)
	{
		message = "You did not complete required fields: Select Template";
		validate_message(message, frm.template_select)
		return false;
	}
  return true;
}
function checkCategory(frm) {
	clear_message();
	if (frm.cid.value < 1)
	{
		message = "You did not complete required fields: Category";
		validate_message(message, frm.cid)
		return false;
	}
  return true;
}
function checkTitleTagSE0(frm) {
	clear_message();
	if (frm.title_tag.value.length==0)
	{
		message = "You did not complete required fields: Title Tag SE0";
		validate_message(message, frm.title_tag)
		return false;
	}
  return true;
}
function checkPageTitle(frm) {
	clear_message();
	if (frm.title.value.length==0)
	{
		message = "You did not complete required fields: Page Title/Event Name";
		validate_message(message, frm.title)
		return false;
	}
  return true;
}


//- end check input field

//-common
function checkINT(num) {
  if( isNaN( parseInt(num))) return false;
  if( parseInt(num) != num) return false;
  return true;
}

function validate_message(message, field){
	dump_table(message);
	field.focus();
}

function checkEdit(frm)
{
	
	//clear_message();
/*	if(frm.title_tag.value.length<=0)
	{
		var message = "You did not complete required fields: Title Tag SE0";
		validate_message(message, frm.title_tag)
	    frm.title_tag.focus();
		return false;
	}
	*/
	clear_message();
	
	sValidateCategory = trimAllWhitespace(frm.cid[frm.cid.selectedIndex].text);
    bWrongCategory    = 0;
	
	switch(sValidateCategory){
	  case "About FGI" :
	    bWrongCategory = 1;
		break;
	  case "Join FGI" :
        bWrongCategory = 1;
		break;
	  case "Members" :
	    bWrongCategory = 1;
		break;
	  case "Events" :
	    bWrongCategory = 1;
		break;
	  case "-Calendar of Events" :
	    bWrongCategory = 1;
		break;
	  case "Calendar of Events" :
	    bWrongCategory = 1;
		break;
	
		
	}//sw
	
	
	if (bWrongCategory==1){
	
       message = "This category is reserved. Please select another.";
	   validate_message(message, frm.cid)
	   return false;

	}

	if (frm.event_end_date!=undefined ){
	
	   if (frm.tbd.checked==true){
	      frm.event_end_date.value = '';
		  frm.event_date.value     = '';
		  
	   }
	   
	   if (frm.event_end_date.value!='' && frm.event_date.value!=''){
	      dtCh           = ' ';
		  dtStr          = frm.event_end_date.value;
		  dtStrStartDate = frm.event_date.value;
		  validDate      = validateDateBigger(dtStr,dtStrStartDate);
		  
          if (!validDate){
		  
		     var message = "Please Event End Date should be later or equal than Event Start Date.";
		     validate_message(message, frm.event_date);
			 return false;
		  }
		  
		  
	   }
	   
	}
	
    if(frm.date.value.length<=0)
	{
		var message = "You did not complete required fields: Publishing Date";
		validate_message(message, frm.date)
	    frm.date.focus();
		return false;
	}
	
	
	if(frm.expire_date.value.length<=0 && frm.no_expire.checked==false)
	{
	   
		var message = "You did not complete required fields: Expire Date";
		validate_message(message, frm.expire_date)
	    frm.expire_date.focus();
		return false;
	}
	
	
	if (parseInt(frm.group.value)<=0)
	{
		var message = "You did not complete required fields: Select Group";
		validate_message(message, frm.group)
		return false;
	}
	if(frm.title.value.length<=0)
	{
		var message = "You did not complete required fields: Page Title";
		validate_message(message, frm.title)
		return false;
	}
	if (parseInt(frm.template_select.value)<=0)
	{
		var message = "You did not complete required fields: Select Template";
		validate_message(message, frm.template_select)
		return false;
	}
	return true;
}

function validateDateBigger(dtStr,dtStrStartDate){

    dtCh = ' ';
	
   	   	  var pos1     = dtStr.indexOf(dtCh)
	      var pos2     = dtStr.indexOf(dtCh,pos1+1)
	      var strMonth = dtStr.substring(0,pos1)
	      var strDay   = dtStr.substring(pos1+1,pos2)
	      var strYear  = dtStr.substring(pos2+1)

   	   	  var pos1Start     = dtStrStartDate.indexOf(dtCh)
	      var pos2Start     = dtStrStartDate.indexOf(dtCh,pos1Start+1)
	      var strMonthStart = dtStrStartDate.substring(0,pos1Start)
	      var strDayStart   = dtStrStartDate.substring(pos1Start+1,pos2Start)
	      var strYearStart  = dtStrStartDate.substring(pos2Start+1)

		  
		  switch(strMonth){
		     case 'January' :
	    		 iMonth = 1;
    			 break;
		     case 'February' :
		    	 iMonth = 2;
			    break;
		     case 'March' :
		    	 iMonth = 3;
			    break;
		     case 'April' :
		    	 iMonth = 4;
			    break;
		     case 'May' :
	    		 iMonth = 5;
    			 break;
		     case 'June' :
		    	 iMonth = 6;
			    break;
		     case 'July' :
		    	 iMonth = 7;
			    break;
		     case 'August' :
		    	 iMonth = 8;
			    break;
		     case 'September' :
	    		 iMonth = 9;
    			 break;
		     case 'October' :
		    	 iMonth = 10;
			    break;
		     case 'November' :
		    	 iMonth = 11;
			    break;
		     case 'December' :
		    	 iMonth = 12;
			    break;

		 }//sw
		 
		 switch(strMonth){
			     case 'Jan' :
	    		 iMonth = 1;
    			 break;
		     case 'Feb' :
		    	 iMonth = 2;
			    break;
		     case 'Mar' :
		    	 iMonth = 3;
			    break;
		     case 'Apr' :
		    	 iMonth = 4;
			    break;
		     case 'May' :
	    		 iMonth = 5;
    			 break;
		     case 'Jun' :
		    	 iMonth = 6;
			    break;
		     case 'Jul' :
		    	 iMonth = 7;
			    break;
		     case 'Aug' :
		    	 iMonth = 8;
			    break;
		     case 'Sep' :
	    		 iMonth = 9;
    			 break;
		     case 'Oct' :
		    	 iMonth = 10;
			    break;
		     case 'Nov' :
		    	 iMonth = 11;
			    break;
		     case 'Dec' :
		    	 iMonth = 12;
			    break;
		 }
		/********************************************/ 
		
		  switch(strMonthStart){
		     case 'January' :
	    		 iMonthStart = 1;
    			 break;
		     case 'February' :
		    	 iMonthStart = 2;
			    break;
		     case 'March' :
		    	 iMonthStart = 3;
			    break;
		     case 'April' :
		    	 iMonthStart = 4;
			    break;
		     case 'May' :
	    		 iMonthStart = 5;
    			 break;
		     case 'June' :
		    	 iMonthStart = 6;
			    break;
		     case 'July' :
		    	 iMonthStart = 7;
			    break;
		     case 'August' :
		    	 iMonthStart = 8;
			    break;
		     case 'September' :
	    		 iMonthStart = 9;
    			 break;
		     case 'October' :
		    	 iMonthStart = 10;
			    break;
		     case 'November' :
		    	 iMonthStart = 11;
			    break;
		     case 'December' :
		    	 iMonthStart = 12;
			    break;

		 }//sw
		 
		 switch(strMonthStart){
			     case 'Jan' :
	    		 iMonthStart = 1;
    			 break;
		     case 'Feb' :
		    	 iMonthStart = 2;
			    break;
		     case 'Mar' :
		    	 iMonthStart = 3;
			    break;
		     case 'Apr' :
		    	 iMonthStart = 4;
			    break;
		     case 'May' :
	    		 iMonthStart = 5;
    			 break;
		     case 'Jun' :
		    	 iMonthStart = 6;
			    break;
		     case 'Jul' :
		    	 iMonthStart = 7;
			    break;
		     case 'Aug' :
		    	 iMonthStart = 8;
			    break;
		     case 'Sep' :
	    		 iMonthStart = 9;
    			 break;
		     case 'Oct' :
		    	 iMonthStart = 10;
			    break;
		     case 'Nov' :
		    	 iMonthStart = 11;
			    break;
		     case 'Dec' :
		    	 iMonthStart = 12;
			    break;
		 }

		  if (!(strYear>=strYearStart && iMonth>=iMonthStart && strDay>=strDayStart)){
		     return false;
		  }else{
		     return true;
		  }
		 

}

