var defaultEmptyOK = false
var whitespace = " \t\n\r";
var decimalPointDelimiter = "."

var isNetscape = false;
var isIE = false;
var isWhoKnows = false;
	
//This determines which browser the user is using
if (parseInt(navigator.appVersion) >= 4) 
{
  if(navigator.appName == "Netscape") 
  {
    isNetscape = true;
  }
  else if (navigator.appName == "Microsoft Internet Explorer")
  {
    isIE = true;
  }
  else 
  {
    isWhoKnows = true;
  }
}


//e.g. AddNameValueToQueryString("a", "s", "a=1&b=2&c=3") returns "a=s&b=2&c=3" 
//e.g. AddNameValueToQueryString("a", "s", "b=2&c=3") returns "b=2&c=3&a=s" 
function AddNameValueToQueryString(name, value, str)
{
  var pos, str_left, str_right;
  
  regexp = new RegExp('(^|&)' + name + '=[^&]*', 'g');
  pos = str.search(regexp);
    
  if(pos != -1)
  {
    str_left = str.substr(0, pos + 1);
    
    if(str_left.substr(str_left.length - 1 == "&"))
      str_left = str.substr(0, str_left.length - 1);
      
    str_right = str.substr(pos + 1 + RegExp["$&"].length);
    
    str = AddToQueryString('', str_left);
    str = AddToQueryString(str, str_right);
    str = AddToQueryString(str, name + '=' + value);
  }
  else
    str = AddToQueryString(str, name + '=' + value);

    
  return str;
}



function AddOption(select, field_name)
{
  if(!OptionExists(select, field_name))
  {
    select.options[select.options.length] = new Option(field_name, field_name);
  }
}


function AddToQueryString(query_string, str)
{
  if(query_string.length > 0)
  {
    if(str.length > 0)
      query_string += '&' + str;
  }
  else
    query_string += str;
    
  return query_string;
}


function CloseMixedContent()
{
  window.opener.document.edit.action = "edit.asp"
  window.opener.document.edit.submit_action.value = "refresh"
  window.opener.document.edit.submit();
}


function DaysInMonth(month, year)
{
  var date, i;

  date = new Date(year, month - 1, 28);
  i = 28;
  
  while(date.getDate() == i)
  {
    i++;
    date.setDate(i);
  }

  return i - 1;
}


function ElementComplete(element, print_error)
{
  var complete;

  complete = true;
  
  
  switch(element.element_type)
  {
  
    case 'checkbox': complete = ElementCompleteCheckbox(element, print_error, element.mandatory); break
    case 'checkboxcontent': complete = ElementCompleteCheckbox(element, print_error, element.mandatory); break
    case 'content':  complete = ElementCompleteSelect(element, print_error, element.mandatory); break
    case 'country':  complete = ElementCompleteSelect(element, print_error, element.mandatory); break
    case 'custom':   complete = true; break
    case 'date':     break;
    case 'digit':    complete = ElementCompleteDigit(element, print_error, element.mandatory); break
    case 'email':    complete = ElementCompleteEmail(element, print_error, element.mandatory); break
    case 'file':     complete = ElementCompleteFile(element, print_error, element.mandatory); break
    case 'float':    complete = ElementCompleteFloat(element, print_error, element.mandatory); break
    case 'htmlarea': complete = ElementCompleteHTMLArea(element, print_error, element.mandatory); break
    case 'image':    complete = ElementCompleteFile(element, print_error, element.mandatory); break
    case 'imperial': break;
    case 'integer':  complete = ElementCompleteInteger(element, print_error, element.mandatory); break
    case 'page_hider': complete = ElementCompletePageHider(element, print_error, element.mandatory); break
    case 'parent':   
    case 'phone':    complete = ElementCompletePhone(element, print_error, element.mandatory); break
    case 'radio':    complete = ElementCompleteRadio(element, print_error, element.mandatory); break
    case 'select':   complete = ElementCompleteSelect(element, print_error, element.mandatory); break
    case 'state':    complete = ElementCompleteSelect(element, print_error, element.mandatory); break
    case 'text':     complete = ElementCompleteText(element, print_error, element.mandatory); break
    case 'textarea': complete = ElementCompleteTextArea(element, print_error, element.mandatory); break
    case 'url':      complete = ElementCompleteText(element, print_error, element.mandatory); break

    default:
      alert('Error ElementComplete ' + element.element_type + ' ' + element.name);
      complete = false;
  }
  
  return complete;
}


function ElementCompleteContent(content, print_error)
{
  var complete;

  if(content.selectedIndex == 0)
  {
    if(print_error)
    {
      content.focus();
      alert('You must enter a value for the \'' + RemoveFormatting(content.element_name) + '\'!');
    }

    complete = false;
  }
  else
    complete = true;
  
  return complete;
}


function ElementCompleteCheckbox(element, print_error, mandatory)
{
  var checkbox, complete, i;
  
  complete = true;
  checkbox = element.checkbox;
  
  if(mandatory)
  {
    complete = false;
    
    if(element.checkbox.length)
    {
      for(i = 0; i < checkbox.length; i++)
      {
        if(checkbox[i].checked == true)
        {
          complete = true;
          break;
        }
      }
    }
    else
    //if there is only one checkbox it will not have an array
    {
      if(checkbox.checked)
        complete = true;
    }
    
    if(!complete && print_error)
    {
      alert('You must enter a value for the \'' + RemoveFormatting(element.element_name) + '\'!');
      complete = false;
    } 
  }
  
    
  
  return complete;
}


function ElementCompleteDigit(digit, print_error, mandatory)
{
  var complete;

  complete = true;
  
  
  if(mandatory && digit.value.length == 0)
  {
    if(print_error)
    {
      digit.focus();
      alert('You must enter a value for the \'' + RemoveFormatting(digit.element_name) + '\'!');
    }

    complete = false;
  }
  else if(digit.value.search(/[^\+\d\s]/) != -1)
  {
    digit.focus();
    alert('You must enter only digits or spaces for the \'' + RemoveFormatting(digit.element_name) + '\'!');
    complete = false;
  }
  
  
  return complete;
}


function ElementCompletePageHider(element, print_error, mandatory)
{
  var complete, i, radio;
  
  radio = element.radio;

  if(mandatory)
  {
    complete = false;
      
    for(i = 0; i < radio.length; i++)
    {
      if(radio[i].checked == true)
      {
        complete = true;
        break;
      }
    }
    
    if(!complete && print_error)
    {
      radio[0].focus();
      alert('You must enter a value for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }
  }
  else   
    complete = true;
  
  return complete;
}


function ElementCompletePhone(digit, print_error, mandatory)
{
  var complete, d1, d2;
  
  complete = true;
  
  if(digit.prefixes >= 1)
  {
    d1 = document.getElementById(digit.name + '_1');
    d1.element_name = "First prefix";
    complete = ElementCompleteDigit(d1, print_error, mandatory);
  }
    
  if(complete && digit.prefixes >= 2)
    complete = ElementCompleteDigit(document.getElementById(digit.name + '_2'), print_error, mandatory);

  if(complete)
    complete = ElementCompleteDigit(digit, print_error, mandatory);
  
  return complete;
}


function ElementCompleteEmail(email, print_error, mandatory)
{
  var complete;
  
  
  if(mandatory && !isEmail(email.value))
  {
    if(print_error)
    {
      email.focus();
      alert('You must enter a valid email address for the \'' + RemoveFormatting(email.element_name) + '\'!');
    }

    complete = false;
  }
  
  else if(!mandatory && email.value.length > 0 && !isEmail(email.value))
  {
    if(print_error)
    {
      email.focus();
      alert('You must enter a valid email address for the \'' + RemoveFormatting(email.element_name) + '\'!');
    }

    complete = false;
  }
  
  else
    complete = true;
  
  return complete;
}


function ElementCompleteFile(file, print_error, mandatory)
{
  var complete;
  
  if(mandatory)
    complete = ElementCompleteFileMandatory(file, print_error);
  else
    complete = ElementCompleteFileNotMandatory(file, print_error);
  
  return complete;
}



function ElementCompleteFileMandatory(file, print_error)
{
  var complete, file_type, pos, types;
  
  complete = true;
  
  
  if(file.value.length == 0)
  {
    if(!file.has_value)
    {
      complete = false;

      if(print_error)
      {
        file.focus();
        alert('You must enter a value for the \'' + RemoveFormatting(file.element_name) + '\'!');
      }
    }
  }
  else
  {
    file_type = FileType(file.value)
    complete = ElementCompleteFileType(file, file_type);
     
    if(!complete)
    {
      file.focus();
      types = ValidFileTypes(file);
      
      if(print_error)
        alert('You must enter a file type of: ' + types + '!');
    }
  }

  return complete;
}


function ElementCompleteFileNotMandatory(file, print_error)
{
  var complete;
  
  complete = true;
  
  if(file.value != null)
  {  
    if(file.value.length != 0)
    {
      file_type = FileType(file.value)
      complete = ElementCompleteFileType(file, file_type);
       
      if(!complete)
      {
        file.focus();
        types = ValidFileTypes(file);
        
        if(print_error)
          alert('You must enter a file type of: ' + types + '!');
      }
    }
  }
    
  return complete;
}


function ElementCompleteFileType(file, type)
{
  var valid;
  
  valid = false;
  
  if(file.file_types.length == 0)
    valid = true;
  else
  {
    for(i = 0; i < file.file_types.length; i++)
    {
      if(file.file_types[i].toLowerCase() == type.toLowerCase())
      {
        valid = true;
        break;
      }
    }
  }
  
  return valid;
}


function ElementCompleteFloat(element, print_error, mandatory)
{
  var complete;
  
  if(isFloat(element.value))
    complete = true;
  else
  {
    complete = false;
  
    if(print_error)
    {
      element.focus();
      alert('You must enter a number for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }
  }
  
  return complete;
}

function ElementCompleteHTMLArea(element, print_error, mandatory)
{
  var complete, is_TinyMCE;
  
  is_TinyMCE = document.getElementById(element.name).is_TinyMCE;
  
  if(is_TinyMCE)
    complete = ElementCompleteHTMLArea_tinyMCE(element, print_error, mandatory);
  else
    complete = ElementCompleteHTMLArea_IE(element, print_error, mandatory);
    
  return complete;
}


function ElementCompleteHTMLArea_tinyMCE(element, print_error, mandatory)
{
  var complete, dom_element, value;
  
  value = tinyMCE.getInstanceById(element.id).getBody().innerHTML;

  if(mandatory && value.length == 0)
  {
    if(print_error)
    {
      alert('You must enter a value for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }

    complete = false;
  }
  else if(value.length > element.length)
  {
    if(print_error)
    {
      alert('You can only enter ' + element.length + ' characters for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }

    complete = false;
  
  }
  else
    complete = true;
    
  
  return complete;
}


function ElementCompleteHTMLArea_IE(element, print_error, mandatory)
{
  var complete;
  
  //transfer the MSHTML elements HTML to the hidden variable
  element.value = document.all[element.name + '_htmlarea'].innerHTML;


  if(mandatory && element.value.length == 0)
  {
    if(print_error)
    {
      alert('You must enter a value for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }

    complete = false;
  }
  else if(element.value.length > element.length)
  {
    if(print_error)
    {
      alert('You can only enter ' + element.length + ' characters for the \'' + RemoveFormatting(element.element_name) + '\'!\nCurrently there are ' + element.value.length + ' characters.');
    }

    complete = false;
  
  }
  else
    complete = true;
    
  if(!complete)
    document.all[element.name + '_htmlarea'].focus();
  
  return complete;
}


function ElementCompleteInteger(element, print_error, mandatory)
{
  var complete;
  
  if(isInteger(element.value))
    complete = true;
  else
  {
    complete = false;
  
    if(print_error)
    {
      element.focus();
      alert('You must enter a whole number for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }
  }
  
  return complete;
}


function ElementCompleteRadio(element, print_error, mandatory)
{
  var complete, i, radio;
  
  radio = element.radio;

  if(mandatory)
  {
    complete = false;
      
    for(i = 0; i < radio.length; i++)
    {
      if(radio[i].checked == true)
      {
        complete = true;
        break;
      }
    }
    
    if(!complete && print_error)
    {
      radio[0].focus();
      alert('You must enter a value for the \'' + RemoveFormatting(element.element_name) + '\'!');
    }
  }
  else   
    complete = true;
  
  return complete;
}



function ElementCompleteSelect(select, print_error, mandatory)
{
  var complete;
  
  complete = true;
  
  if(select.options.length > 1)
  {
    if(mandatory && select.selectedIndex == 0)
    {
      if(print_error)
      {
        select.focus();
        alert('You must enter a value for the \'' + RemoveFormatting(select.element_name) + '\'!');
      }

      complete = false;
    }
  }
  
  return complete;
}


function ElementCompleteText(text, print_error, mandatory)
{
  var complete;

  if(mandatory && text.value.length == 0)
  {
    if(print_error)
    {
      text.focus();
      alert('You must enter a value for the \'' + RemoveFormatting(text.element_name) + '\'!');
    }

    complete = false;
  }
  else
    complete = true;
  
  return complete;
}



function ElementCompleteTextArea(textarea, print_error, mandatory)
{
  var complete;

  if(mandatory && textarea.value.length == 0)
  {
    if(print_error)
    {
      textarea.focus();
      alert('You must enter a value for the \'' + RemoveFormatting(textarea.element_name) + '\'!');
    }

    complete = false;
  }
  else if(textarea.value.length > textarea.length)
  {
    if(print_error)
    {
      textarea.focus();
      alert('You can only enter ' + textarea.length + ' characters for the \'' + RemoveFormatting(textarea.element_name) + '\'!\nCurrently there are ' + textarea.value.length + ' characters.');
    }

    complete = false;
  
  }
  else
    complete = true;
  
  return complete;
}



function FileType(filename)
{
  var pattern = /\./g;
  var pos, result, type;
  
  pos = -1;
  
  while((result = pattern.exec(filename)) != null)
  {
    pos = result.index;
  }
  
  if(pos != -1)
    type = filename.substr(pos + 1);
  else
    type = "";
    
  return type;
}


function InArray(str, arr)
{
  var in_array;
  
  in_array = false;

  for(var i = 0; i < arr.length; i++)
  {
    if(arr[i] == str)
    {
      in_array = true;
      break;
    }
  }
  
  return in_array;
}


function isDigit (c)
{   
  return ((c >= "0") && (c <= "9"))
}

function isEmail(s) {
  var rex = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
  return rex.test(s);
}

/*
function isEmail (s)
{   
  if (isEmpty(s)) 
    if (isEmail.arguments.length == 1) return defaultEmptyOK;
    else return (isEmail.arguments[1] == true);
   
    // is s whitespace?
    if (isWhitespace(s)) return false;
    
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { 
      i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
*/

function isEmpty(s)
{   
  return ((s == null) || (s.length == 0))
}


function isFloat (s)
{   
  var i;
  var seenDecimalPoint = false;

  if (isEmpty(s)) 
     if (isFloat.arguments.length == 1) return defaultEmptyOK;
     else return (isFloat.arguments[1] == true);

  if (s == decimalPointDelimiter) 
    return false;

  // Search through string's characters one by one
  // until we find a non-numeric character.
  // When we do, return false; if we don't, return true.

  for (i = 0; i < s.length; i++)
  {   
    // Check that current character is number.
    var c = s.charAt(i);

    if ((c == decimalPointDelimiter) && !seenDecimalPoint) 
      seenDecimalPoint = true;
    else if(i == 0 && c == '-')
      ;
    else if (!isDigit(c)) 
      return false;
  }

  // All characters are numbers.
  return true;
}


function isInteger (s)
{   
  var i;

  if (isEmpty(s)) 
     if (isInteger.arguments.length == 1) return defaultEmptyOK;
     else return (isInteger.arguments[1] == true);

  // Search through string's characters one by one
  // until we find a non-numeric character.
  // When we do, return false; if we don't, return true.

  for (i = 0; i < s.length; i++)
  {   
    // Check that current character is number.
    var c = s.charAt(i);

    if (!isDigit(c)) return false;
  }

  // All characters are numbers.
    return true;
}


function isWhitespace (s)
{   
  var i;

  // Is s empty?
  if (isEmpty(s)) return true;

  // Search through string's characters one by one
  // until we find a non-whitespace character.
  // When we do, return false; if we don't, return true.

  for (i = 0; i < s.length; i++)
  {   
      // Check that current character isn't whitespace.
      var c = s.charAt(i);

      if (whitespace.indexOf(c) == -1) return false;
  }

  // All characters are whitespace.
  return true;
}


function MessageLength(form)
{
  var length, text;
  
  if(isNetscape)
  {
    if(tinyMCE.getInstanceById('email_message'))
    {
      text = tinyMCE.getInstanceById('email_message').getBody().innerHTML;
      text = text.replace(/<br>/gi, '');
      length = text.length;
    }
  }
  else if(form.email_message)
  {
    length = form.email_message.value.length;
  }

  return length;
}


function OnAddFile(form, IDDefinitionContent, IDDataContent, column)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;
  window.open('edit_file.asp?IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent + '&column=' + column, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnAddImage(form, IDDefinitionContent, IDDataContent, column, IDDataContent_parent)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;
  window.open('edit_image.asp?IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent + '&column=' + column + '&IDDataContent_parent=' + IDDataContent_parent, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnAddImageGallery(form, IDDataContent, IDDefinitionContent, column)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;
  window.open('edit_gallery_image.asp?IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent + '&column=' + column, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnArchiveLog(name)
{
  if(confirm('Are you sure you want to archive the file?'))
  {
    name.form.submit_action.value = 'refresh';
    name.value = '1';
    name.form.submit();
  }
}


function OnCancelSelectOptions(form)
{
  if(confirm('Are you sure you want to close this window and loose all changes?'))
  {
    self.close();
  }
}


function OnChangeAssociations(IDDataContent, IDDefinitionContent, element_no)
{
  var left, top1;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('change_associations.asp?element_no=' + element_no + '&IDDataContent=' + IDDataContent + '&IDDefinitionContent=' + IDDefinitionContent, 'add_existing', 'width=750,height=500,alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnChangeOrder(IDDataContent, IDDefinitionContent, column)
{
  var width, left, top1;
  
  width = 300;  height = 100;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('move.asp?IDDataContent=' + IDDataContent + '&IDDefinitionContent=' + IDDefinitionContent + '&column=' + column, 'move', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnChangeOrderQuery(select, name)
{
  var div_ref = document.all(name);

  if(select.selectedIndex > 0)
    div_ref.style.visibility = "visible";
  else
    div_ref.style.visibility = "hidden";
}


function OnClearSearch(form)
{
  form.action = "menu.asp";
  form.misc.value = "clear";//for "clear"
  form.start.value = 1;
  form.submit();
}


function OnClickCover(form, IDDefinitionContent)
{

  form.action = 'menu.asp';
  form.IDDefinitionContent.value = IDDefinitionContent;
  form.start.value = 1;
  form.submit_action.value = 'menu';
  
  form.search_type.value='';
  
  form.submit();
}


function OnClickEditCheckbox(form, IDDefinitionContent, position_element, column)
{
  if(form.IDDataContent.value == '0')
    alert('You must save this item in order to edit checkboxes!');
  else
    OnClickEditSelect(form, IDDefinitionContent, position_element, column)
}


function OnClickEditSelect(form, IDDefinitionContent, position_element, column)
{
  var width, left, top1;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('edit_options.asp?IDDefinitionContent=' + IDDefinitionContent + '&position_element=' + position_element + '&column=' + column, 'edit_select', 'width=' + width + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnChangeDependency(form)
{
  form.submit_action.value = "edit";
  form.submit();
}


function OnCloseSelectOptions(form)
{
  form.form_action.value = "close";
  form.submit();
}


function OnContentHide(form, column)
{
  form.action = 'edit.asp?hide=' + column;
  form.submit_action.value = 'refresh';
  form.submit();
}


function OnContentMoveDown(form, column)
{
  form.action = 'edit.asp?move_down=' + column;
  form.submit_action.value = 'refresh';
  form.submit();
}


function OnContentMoveUp(form, column)
{
  form.action = 'edit.asp?move_up=' + column;
  form.submit_action.value = 'refresh';
  form.submit();
}


function OnCreateNew(form, IDDefinitionContent, argument)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('new_child.asp?IDDefinitionContent=' + IDDefinitionContent + '&' + argument + '&is_child=1&userID=' + form.userID.value, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnDelete(form, IDDataContent)
{
  if(confirm('Are you sure that you want to delete this item?'))
  {
    form.action = "menu.asp";
    form.IDDataContent.value = IDDataContent;
    form.submit_action.value = "del";
    form.submit();
  }
}


function OnDeleteContent(form, column, IDDefinitionContent, IDDataContent, IDDataContent_to_delete, IDDefinitionContent_to_delete, name)
{
  if(confirm('Are you sure you want to permanently delete this ' + name + '?'))
  {
    form.action = 'delete_content.asp?column=' + column + '&IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent + '&IDDataContent_to_delete=' + IDDataContent_to_delete + '&IDDefinitionContent_to_delete=' + IDDefinitionContent_to_delete;    
    //alert(form.action);
    form.submit();
  }
}


function OnDeleteLog(log_file)
{
  if(confirm('Are you sure you want to permanently delete this file?'))
  {
    log_file.form.submit_action.value = 'refresh';
    log_file.value = '1';
    log_file.form.submit();
  }
}


function CloseOnDelay()
{
  self.close();
}


function OnCloseImage(form, IDDataContent_parent)
{
  action = 'edit.asp';
  
  if(window.opener.document.edit.IDDataContent_parent)
  {
    if(window.opener.document.edit.IDDataContent_parent.value.length > 0)
      action = 'edit_child.asp';
  }
  
  window.opener.document.edit.action = action;
  window.opener.document.edit.submit_action.value = 'refresh';
  window.opener.document.edit.submit();

  self.close();
}


////
function OnDeleteAll(form)
{
  if(confirm('Are you sure that you want to delete all items?'))
  {
      if (confirm('Are you really sure, this action is permanent and will destroy all content?')) 
      {
          form.action = 'menu.asp';
          form.submit_action.value = 'delete_all';
          form.submit();
      } 
  }
}


////
function OnDeleteSelected(form) {


    if (confirm('Are you sure that you want to delete the selected items?')) 
    {
      form.action = 'menu.asp';
      form.submit_action.value = 'del_selected';
      form.submit();
    }
}

function OnDeleteChild(form, IDDataContent, IDDefinitionContent, column)
{

  if(confirm('Are you sure that you want to delete this item?'))
  {
    var miscellaneous;
    
    miscellaneous = window.opener.document.edit.miscellaneous.value;
    
    miscellaneous = AddNameValueToQueryString('IDDataContent_delete', IDDataContent, miscellaneous);
    miscellaneous = AddNameValueToQueryString('IDDefinitionContent_delete', IDDefinitionContent, miscellaneous);
    miscellaneous = AddNameValueToQueryString('column', column, miscellaneous);
    
    window.opener.document.edit.miscellaneous.value = miscellaneous;
    
    window.opener.document.edit.action = 'edit.asp';
    window.opener.document.edit.submit_action.value = 'save';
    window.opener.document.edit.submit();

    self.close();
  }
}


function OnDeleteEmbeddedContent(form, IDDataContent, IDDefinitionContent, column)
{
  if(confirm('Are you sure that you want to delete this item?'))
  {
      
    form.miscellaneous.value = AddNameValueToQueryString('IDDataContent_delete', IDDataContent.toString(), form.miscellaneous.value);
    form.miscellaneous.value = AddNameValueToQueryString('IDDefinitionContent_delete', IDDefinitionContent.toString(), form.miscellaneous.value);
    form.miscellaneous.value = AddNameValueToQueryString('column', column, form.miscellaneous.value);
    
    OnSave(form);
  }
}


function OnDeleteImageGallery1(form, IDDataImageGallery, column)
{
  var ok;
  
  if(confirm('Are you sure you want to delete this image?'))
  {
    form.action = 'edit.asp?delete_image_gallery=1&IDDataImageGallery=' + IDDataImageGallery + '&column=' + column;
    form.submit_action.value = 'refresh';
    form.submit();  
  }
}


function OnDeleteSelect(form, item)
{
  if(confirm('Are you sure you want to delete this item?'))
  {
    form.form_action.value = "del";
    form.item.value = item;
    form.submit();
    
    window.opener.document.edit.action = "edit.asp"
    window.opener.document.edit.submit_action.value = "refresh"
    window.opener.document.edit.submit();
  }
}


function OnEdit(form, IDDataContent)
{
  form.action = "edit.asp";
  form.IDDataContent.value = IDDataContent;
  form.submit_action.value = "edit";

  form.submit();
}


function OnEditCheckbox(form, pos_element, IDDataContent, value)
{
  var option = prompt('Enter the new value', value);
  
  if(option)
  {
    form.action = "edit.asp";
    form.IDDataContent.value = IDDataContent;
    form.submit_action.value = 'edit_checkbox';
    form.miscellaneous.value = 'pos_element=' + pos_element + '&old_value=' + value + '&new_value=' + option ;
    form.submit();
  }
}


function OnEditContent(form, IDDataContent, IDDefinitionContent, params)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;      window.open('edit_child.asp?is_child=1&IDDefinitionContent=' + IDDefinitionContent + '&userID=' + form.userID.value + '&IDDataContent=' + IDDataContent + params, 'edit', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnEditContentNextPrevious(form, IDDataContent)
{
  form.IDDataContent.value = IDDataContent;
  form.submit();
}


function OnEditDirect(form, IDDefinitionContent, IDDataContent)
{
  form.IDDefinitionContent.value = IDDefinitionContent;
  OnEdit(form, IDDataContent);
}


function OnEditMixed(form, IDDefinitionContent, IDDataContent)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;    window.open('edit_child.asp?is_child=1&is_mixed=1&IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=1,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnEditImageGallery(form, IDDataContent, IDDefinitionContent, column, IDDataImageGallery, allow_picture)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  
  window.open('edit_gallery_image.asp?IDDataImageGallery=' + IDDataImageGallery + '&IDDefinitionContent=' + IDDefinitionContent + '&IDDataContent=' + IDDataContent + '&column=' + column, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnEditSelect(form, no, value)
{
  var new_value;
  
  new_value = prompt('Enter the new value', value);
  new_value = new_value.replace(/&/gi, '\\&');
  
  if(new_value)
  {
    form.form_action.value = 'update';
    form.item.value = 'no=' + no + '&old_value=' + value + '&new_value=' + new_value;
    form.submit();
  }
}


function OnEmailBelow(form, IDDefinitionContent)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('email_all.asp?IDDefinitionContent=' + IDDefinitionContent + '&query=' + escape(form.query.value), 'email_all', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=0,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnEnterHit(form, event, function_to_call)
{
  if(isIE)
    OnEnterHitIE(form, event, function_to_call);
  else if(isNetscape)
    OnEnterHitNetscape(form, event, function_to_call);
}


function OnEnterHitIE(form, event, function_to_call)
{
  var keycode;
  
  if (window.event) 
  {
    keycode = window.event.keyCode;
  }
  else 
    return true;

  if(keycode == 13)
  {
    function_to_call(form);
    return false;
  }
  else
    return true;
}


function OnEnterHitNetscape(form, event, function_to_call)
{
  if(event.which == 13)
  {
    function_to_call(form);
    return false;
  }
  else
    return true;
}


function OnExclusiveCheckox(checkbox, checkboxes)
{
  var i;
  
  if(checkbox.checked)
  {
    for(i = 0; i < checkboxes.length; i++)
    {
      if(checkboxes[i].value != checkbox.value)
      {
        if(checkboxes[i].value != 'Bar Secrets' && checkbox.value != 'Bar Secrets') //ihub specific if
          checkboxes[i].checked = false;
      }
    }
  }
}


function OnExport(form, name)
{
  if(email = prompt('Enter the email address to send the ' + name, 'someone@somewhere.com.au'))
  {
    form.submit_action.value = "export";
    form.misc.value = email;
    form.submit();
  }
}


function OnFloat(ok, element, name)
{
  if(ok)
  {
    if(element.value.length == 0)
    {
      alert('You must select a value for the \'' + name + '\'');
      element.focus();
      ok = false;
    }
    else
    {
      if(!isFloat(element.value))
      {
        alert('You must enter a number for the \'' + name + '\'');
        element.focus();
        ok = false;
      }
    }
  }

  return ok;
}


function OnHTMLAreaHelp()
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('htmlareahelp.asp', 'htmlareahelp', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnLogin(form)
{
  var ok;
  
  ok = true;

  if(form.username.value.length == 0)
  {
    form.username.focus();
    alert('You must enter a value for the username');
    ok = false;
  }
  
  else if(form.password.value.length == 0)
  {
    form.password.focus();
    alert('You must enter a value for the password');
    ok = false;
  }
  
  
  if(ok)
  {
    form.submit();
  }
}

var OnLogin_pointer = OnLogin


function OnGoTo(form, start)
{
  form.submit_action.value = 'next';
  form.action = 'menu.asp';
  form.start.value = start;
  form.submit();
}


function OnMoveOK(IDDataContent, new_position, current_position, column)
{
  window.opener.document.menu.action = "menu.asp?IDDataContent=" + IDDataContent + "&new_position=" + new_position.options[new_position.selectedIndex].value + "&current_position=" + current_position + "&column=" + column;
  window.opener.document.menu.form_action = "reorder";
  window.opener.document.menu.submit();
  
  self.close();
}


function OnMovePage(form, page, page_hidden)
{
  page_hidden.value = page;
  form.submit_action.value = "refresh"
  form.submit();
}


function OnMoveSelect(form, current_item, select)
{
  form.item.value = current_item;
  form.move_position.value = parseInt(select.options[select.selectedIndex].value) - 1;
  form.form_action.value = 'move';
  form.submit();
}


function OnNext(form, display)
{
  form.submit_action.value = 'next';
  form.action = 'menu.asp';
  form.start.value = parseInt(form.start.value) + display;
  form.submit();
}


function OnNewMixed(form, IDDataContent_mixed, IDDefinitionContent_mixed, order)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;
  if(form.new_multi_type.selectedIndex == 0)
  {
    alert('You must select an element type!');
    form.new_multi_type.focus();
  }
  else
  {
    window.open('new_child.asp?is_child=1&order_mixed=' + order + '&IDDefinitionContent_mixed=' + IDDefinitionContent_mixed + '&IDDataContent_mixed=' + IDDataContent_mixed  + '&IDDefinitionContent=' + form.new_multi_type.options[form.new_multi_type.selectedIndex].value, 'new', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=1,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');  }
}


function OnReOrderMixed(form, current_order, ID_DataContentMixed , move_type, IDDataContent_mixed, IDDefinitionContent_mixed)
{
  var submit;
  
  submit = OnSaveCheck(form, true);
  
  if(submit)
  {
    form.action = 'edit.asp?current_order=' + current_order + '&ID_DataContentMixed=' + ID_DataContentMixed  + '&move_type=' + move_type + '&IDDataContent_mixed=' + IDDataContent_mixed + '&IDDefinitionContent_mixed=' + IDDefinitionContent_mixed;
    form.submit_action.value = "save";
    form.submit();
  }
}


function OnSaveImage(image)
{
  var complete, mandatory;
  
  if(image.has_value)
    mandatory = false;
  else
    mandatory = image.mandatory;
    
  complete = ElementCompleteFile(image, true, mandatory);
  
  image.form.submit_action.value = 'save';
  
  if(complete)
    image.form.submit();
}


function OnSend(form, content_name)
{
  var ok;
  
  ok = true;
  
  if(!isNetscape && form.email_message)
  {
    form.email_message.value = document.all['email_message_htmlarea'].innerHTML;
  }
  
  if(ok && !isEmail(form.from.value))
  {
    ok = false;
    alert('You must enter a valid From email address!');
    form.from.focus();
  }

  if(ok && form.subject.value.length == 0)
  {
    form.subject.focus();
    alert('You must enter a value for the email subject!');
    ok = false;
  }
    
  if(ok && MessageLength(form) == 0)
  {
    ok = false;
    alert('You must enter a value for the newsletter message!');
  }

  if(ok)
  {
    if(confirm('Are you sure you want to email all ' + content_name + '?'))
    {
      form.form_action.value = 'send';
      
      form.submit();
    }
  }
  
}


function OnSendPreview(form)
{
  var ok;
  
  ok = true;
  
  if(!isNetscape && form.email_message)
    form.email_message.value = document.all['email_message_htmlarea'].innerHTML;
  
  if(ok && !isEmail(form.from.value))
  {
    ok = false;
    alert('You must enter a valid From email address!');
    form.from.focus();
  }

  if(ok && form.subject.value.length == 0)
  {
    form.subject.focus();
    alert('You must enter a value for the Subject!');
    ok = false;
  }
    
  if(ok && MessageLength(form) == 0)
  {
    ok = false;
    alert('You must enter a value for the Message!');
  }

  if(ok && !isEmail(form.email_address_preview.value))
  {
    ok = false;
    alert('You must enter a valid email address for the Preview Email Address!');
    form.email_address_preview.focus();
  }

  if(ok)
  {
    form.form_action.value = 'send_preview';
    form.submit();
  }
  
}


function OnSMSBelow(form, IDDefinitionContent)
{
  var left, top1, height, width;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('sms_all.asp?IDDefinitionContent=' + IDDefinitionContent + '&query=' + form.query.value, 'sms_all', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnPrevious(form, start)
{
  form.submit_action.value = 'previous';
  form.action = 'menu.asp';
  form.start.value = start;
  form.submit();
}


function OnPowerSearch(form)
{
  form.action = "menu.asp";
  form.submit_action.value = "";
  form.search_type.value = "power";
  form.start.value = 1;
  form.submit();
}


function OnPrintPreview(form, IDDefinitionContent, IDDataContent)
{
  var left, top1;
  
  width = 750;  height = 500;  left = (screen.width - 0.85*screen.width)/2;  top1 = (screen.height - 0.85*screen.height)/4;  window.open('print_preview.asp?IDDefinitionContent=' + parseInt(IDDefinitionContent) + '&IDDataContent=' + parseInt(IDDataContent), 'print_preview', 'width=' + width + ',height=' + height + ',alwaysLowered=1,alwaysRaised=0,channelmode=0,dependent=0,directories=0,fullscreen=0,hotkeys=1,location=0,menubar=1,resizable=1,scrollbars=1,status=0,titlebar=0,toolbar=0,left=' + left + ',top=' + top1 + ',z-lock=0');}


function OnDeleteBetweenDates(form) {
  var submit;

  if (confirm('Are you sure you want to delete appointments between these two dates?')) {
    if (confirm('Are you really sure, deletion is permanent and deleted appointments cannot be recovered?')) {
      form.action = 'edit.asp';
      form.submit_action.value = "save";
      form.submit();
    }
  }
}


function OnSave(form)
{
  var submit;
  
  submit = OnSaveCheck(form, true);

  if (form.IDDefinitionContent.value == "402") {
     if (form.c402_c9.value == "Please Select") {
        alert("You must enter a value for the Industry Category");
        submit = false;
     }
     
  }
  
  if(submit)
  {
    form.action = 'edit.asp';
    form.submit_action.value = "save";
    form.submit();
  }
}


function OnSaveCheck(form, print_error)
{
  var complete, i;

  complete = true;

  for(i = 0; i < form.form_elements.length; i++)
  {
  
    if(!ElementComplete(form.form_elements[i], print_error))
    {
      complete = false;
      break;
    }
  }

  return complete;
}


function OnSaveChild(form)
{
  var submit;
  
  submit = OnSaveCheck(form, true);
  
  if(submit)
  {
    form.action = 'edit_child.asp';
    form.submit_action.value = "save";
    form.submit();
  }
}


function OnSaveContentLink(form, maximum_content, name)
{
  var i, ok, total_checked;
  
  ok = true;
  total_checked = 0;

  if(maximum_content != -1)
  {
    for(i = 0; i < form.elements.length; i++)
    {
      if(form.elements[i].type == 'checkbox')
      {
        if(form.elements[i].checked)
          total_checked++;
      }
    }
    
  
    if(total_checked > maximum_content)
    {
      ok = false;
      alert('You can only select ' + parseInt(maximum_content) + ' ' + name + '!\nPlease remove some selections.');
    }
  }
  

  if(ok)
  {
    form.form_action.value = 'save';
    form.submit();

    window.opener.document.edit.action = "edit.asp"
    window.opener.document.edit.submit_action.value = "refresh"
    window.opener.document.edit.submit();
  }
}


function OnSaveNew(form)
{
  var submit;
  
  submit = OnSaveCheck(form, true);
  
  if(submit)
  {
    form.action = 'edit.asp'
    form.submit_action.value = "add_new";
    form.submit();
  }
}


function OnSaveNewChild(form, IDDataContent_mixed, IDDefinitionContent_mixed)
{
  var submit;
  
  submit = OnSaveCheck(form, true);
  
  if(submit)
  {
    form.action = 'edit_child.asp';
    form.submit_action.value = "add_new";
    form.submit();
  }
}


function OnSaveSelectOptions(form)
{
  form.form_action.value = "save";
  form.submit();
  
  
  if(window.opener.document.edit.action.search(/child/) != -1)
    window.opener.document.edit.action = "edit_child.asp";
  else
    window.opener.document.edit.action = "edit.asp";
  
  window.opener.document.edit.submit_action.value = "refresh"
  window.opener.document.edit.submit();
}


function OnSearch(form)
{
  form.action = "menu.asp";
  form.submit_action.value = "search";
  form.start.value = 1;

  form.submit();
}

//adds an Option to a select if it doesn't already exist
function OptionExists(select, field_name)
{
  var exists;
  
  exists = false;
  
  for(i = 0; i < select.options.length; i++)
  {
    if(select.options[i].text == field_name)
    {
      exists = true;
    }
  }
  
  return exists;
}


//removes an option from a select
function RemoveOption(select, field_name)
{
  var exists;
  
  exists = false;
  
  
  for(i = 0; i < select.options.length; i++)
  {
    if(select.options[i].text == field_name)
    {
      RemoveOptionDirect(select, i);
      break;
    }
  }
}


function RemoveOptionDirect(select, i)
{
  for(j = i; j <= select.options.length - 2; j++)
  {
    select.options[j].text = select.options[j + 1].text;
    select.options[j].value = select.options[j + 1].value;
  }
  
  select.options.length--;
}


var OnSearch_pointer = OnSearch;

function SMS_OK(form)
{
  var ok;
  
  ok = true;
  
  if(ok && form.sms_message.value.length == 0)
  {
    ok = false;
    alert('You must add a value for the mobile message!');
    form.sms_message.focus();
  }
  /*
  else if(form.sms_subject.value.length == 0)
  {
    ok = false;
    alert('You must add a value for the message subject!');
    form.sms_subject.focus();
  }
  */
  else if(ok && form.sms_message.value.length > 160)
  {
    ok = false;
    alert('The message must be less than 160 characters!');
    form.sms_message.focus();
  }
  else if(form.sms_preview.value.length == 0)
  {
    ok = false;
    alert('You must add a value for the preview mobile number!');
    form.sms_preview.focus();
  }
  
  return ok;
}


function OnSendSMS(form)
{
  var ok;
  
  ok = true;

  if(ok && form.sms_message.value.length == 0)
  {
    ok = false;
    alert('You must add a value for the mobile message!');
    form.sms_message.focus();
  }
  
  if(ok)
  {
    form.form_action.value = "send";
    form.submit();
  }
}


function OnSendSMSPreview(form)
{
  var ok

  ok = SMS_OK(form)
  
  if(ok)
  {
    form.form_action.value = "send_preview";
    form.submit();
  }
}

function OnShowAll(form)
{
  form.action = "menu.asp";
  form.submit_action.value = "show_all";
  form.submit();
}


function OnShowGroups(form)
{
  form.action = "menu.asp";
  form.submit_action.value = "show_groups";
  form.submit();
}


function OnSimpleSearch(form)
{
  form.action = "menu.asp";
  form.submit_action.value = "";
  form.search_type.value = "simple";
  form.start.value = 1;
  form.submit();
}


function RemoveFormatting(text)
{
  text = text.replace(/<br>/i, '');
  text = text.replace(/&nbsp;/gi, ' ');
  
  return text;
}


//displays an error if any fields in the form are null
function ValidateDay(day_combo, month_combo, year_combo)
{
  var day, month, year;
  day = parseInt(day_combo.options[day_combo.selectedIndex].value);
  
  switch(month_combo.options[month_combo.selectedIndex].text)
  {
    case 'Jan': month = 1; break;
    case 'January': month = 1; break;
    case 'Feb': month = 2; break;
    case 'February': month = 2; break;
    case 'Mar': month = 3; break;
    case 'March': month = 3; break;
    case 'Apr': month = 4; break;
    case 'April': month = 4; break;
    case 'May': month = 5; break;
    case 'Jun': month = 6; break;
    case 'June': month = 6; break;
    case 'Jul': month = 7; break;
    case 'July': month = 7; break;
    case 'Aug': month = 8; break;
    case 'August': month = 8; break;
    case 'Sep': month = 9; break;
    case 'September': month = 9; break;
    case 'Oct': month = 10; break;
    case 'October': month = 10; break;
    case 'Nov': month = 11; break;
    case 'November': month = 11; break;
    case 'Dec': month = 12; break;
    case 'December': month = 12; break;
  }

  
  year = parseInt(year_combo.options[year_combo.selectedIndex].value);
  
  days = DaysInMonth(month, year);
  day_combo.length = days;
  
  if(day > days)
    day_combo.selectedIndex = days - 1;
  
  for(i = 28; i < days; i++)
  {
    day_combo.options[i].text = i + 1;
    day_combo.options[i].value = i + 1;
  }
}

// new version for frequent donor club
function ValidateDay12(day_combo, month_combo, year_combo) {
   var day, month, year;

   if (day_combo.selectedIndex != 0 && month_combo.selectedIndex != 0 && year_combo.selectedIndex != 0) {
      day = parseInt(day_combo.options[day_combo.selectedIndex].value);

      switch (month_combo.options[month_combo.selectedIndex].text) {
         case 'Jan': month = 1; break;
         case 'January': month = 1; break;
         case 'Feb': month = 2; break;
         case 'February': month = 2; break;
         case 'Mar': month = 3; break;
         case 'March': month = 3; break;
         case 'Apr': month = 4; break;
         case 'April': month = 4; break;
         case 'May': month = 5; break;
         case 'Jun': month = 6; break;
         case 'June': month = 6; break;
         case 'Jul': month = 7; break;
         case 'July': month = 7; break;
         case 'Aug': month = 8; break;
         case 'August': month = 8; break;
         case 'Sep': month = 9; break;
         case 'September': month = 9; break;
         case 'Oct': month = 10; break;
         case 'October': month = 10; break;
         case 'Nov': month = 11; break;
         case 'November': month = 11; break;
         case 'Dec': month = 12; break;
         case 'December': month = 12; break;
      }

      year = parseInt(year_combo.options[year_combo.selectedIndex].text);

      days = DaysInMonth(month, year);

      day_combo.length = days + 1;

      if (day > days)
         day_combo.selectedIndex = days;

      for (i = 29; i <= days; i++) {
         day_combo.options[i].text = i;
         day_combo.options[i].value = i;
      }
   }
}


function ValidFileTypes(file)
{
  var types;
  types = "";
  
  for(i = 0; i < file.file_types.length; i++)
  {
    if(i == 0)
      types += file.file_types[i];
    else
      types += ' or ' + file.file_types[i];
    
    if(i < file.file_types.length - 2)
      types += ', ';

  }
  
  return types;
}