function trim(s) {

    if((s==null)||(typeof(s)!='string')||!s.length) {
        return '';
    }
    return s.replace(/^\s+/,'').replace(/\s+$/,'');

}

function check_blank(field) {

    if (field == '') {
        return false;
    }
    if (trim(field) == '') {
        return false;
    }
    return true;
}

function isDigit(num) {
    
    if (num.length>1) { 
        return false;
    }
    var string="1234567890";
    if (string.indexOf(num)!=-1) { 
        return true;
    }
    return false;
}

function isInteger(val){
    
    for(var i=0;i<val.length;i++) {
	if(!isDigit(val.charAt(i))) {
	    return false;
	}
    }
    return true;
}

function validate_area(area) {

    if ((area.length == 3) && (isInteger(area))) {
	return true;
    }
    else {
	return false;
    }
}

function validate_phone(phone) {

    var regex  = /^\d{3}\-\d{4}$/;

    return regex.test(phone);
}

function echeck(str) {

      var at="@";
      var dot=".";
      var lat=str.indexOf(at);
      var lstr=str.length;
      var ldot=str.indexOf(dot);

      if (str.indexOf(at)==-1){
	   return false;
      }

      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
          return false;
      }

      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
 	  return false;
      }

      if (str.indexOf(at,(lat+1))!=-1){
	  return false;
      }

      if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	  return false;
      }

      if (str.indexOf(dot,(lat+2))==-1){
          return false;
      }
		
      if (str.indexOf(" ")!=-1){
	  return false;
      }

      return true;					
}

function validate_date(dateValue) {
    
    var regex = /^(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20)[0-9]{2}$/;
    return regex.test(dateValue);
}

function validate_postal(postal) {

    var regex = /^\D{1}\d{1}\D{1}\ \d{1}\D{1}\d{1}$/;
    return regex.test(postal);
}

function validate_login() {
    
    var userName = document.form1.userName.value;
    var password = document.form1.password.value;

    if (!check_blank(userName)) {
	alert("User Name cannot be blank.");
	return false;
    }

    if (!check_blank(password)) {
	alert("Password cannot be blank.");
	return false;
    }

    return true;
}

function validate_home() {
    
    var tlEditor = FCKeditorAPI.GetInstance('tlContent');
    var tlDOM = tlEditor.EditorDocument;
    var trEditor = FCKeditorAPI.GetInstance('trContent');
    var trDOM = trEditor.EditorDocument;
    var blEditor = FCKeditorAPI.GetInstance('blContent');
    var blDOM = blEditor.EditorDocument;
    var tlContent = '';
    var trContent = '';
    var blContent = '';
    var tlTitle = document.form1.tlTitle.value;
    var tlLink = document.form1.tlLink.value
    var tmTitle = document.form1.tmTitle.value
    var trTitle = document.form1.trTitle.value
    var trLink = document.form1.trLink.value
    var blTitle = document.form1.blTitle.value
    var blLink = document.form1.blLink.value
    var bmTitle = document.form1.bmTitle.value
    var brTitle = document.form1.brTitle.value

    if (document.all) {
        tlContent = tlDOM.body.innerText;
	trContent = trDOM.body.innerText;
	blContent = blDOM.body.innerText;
    }
    else {
        var tl = tlDOM.createRange();
        tl.selectNodeContents(tlDOM.body);
        tlContent = tl.toString();
	var tr = trDOM.createRange();
        tr.selectNodeContents(trDOM.body);
        trContent = tr.toString();
	var bl = blDOM.createRange();
        bl.selectNodeContents(blDOM.body);
        blContent = bl.toString();
    }

    if (!check_blank(tlTitle)) {
	alert('Top Left Title cannot be blank.');
	return false;
    }

    if (!check_blank(tlContent)) {
	alert('Top Left Content cannot be blank.');
	return false;
    }

    if (!check_blank(tlLink)) {
	alert('Top Left Link cannot be blank.');
	return false;
    }

    if (!check_blank(tmTitle)) {
	alert('Top Middle Title cannot be blank');
	return false;
    }

    if (!check_blank(trTitle)) {
	alert('Top Right Title cannot be blank.');
	return false;
    }

    if (!check_blank(trContent)) {
	alert('Top Right Content cannot be blank.');
	return false;
    }

    if (!check_blank(trLink)) {
	alert('Top Right Link cannot be blank.');
	return false;
    }

    if (!check_blank(blTitle)) {
	alert('Bottom Left Title cannot be blank.');
	return false;
    }

    if (!check_blank(blContent)) {
	alert('Bottom Left Content cannot be blank.');
	return false;
    }

    if (!check_blank(blLink)) {
	alert('Bottom Left Link cannot be blank.');
	return false;
    }

    if (!check_blank(bmTitle)) {
	alert('Bottom Middle Title cannot be blank.');
	return false;
    }

    if (!check_blank(brTitle)) {
	alert('Bottom Right Title cannot be blank.');
	return false;
    }

    return true;
}

function validate_edit_chapter(numPages) {
    
    var pageContent = '';
    var mEditor = '';
    var mDom = '';
    var m = '';
    var pageNum = 1;
    var title = document.form1.title.value;
    var menuTitle = document.form1.menuTitle.value;
    var hpSummary = document.form1.hpSummary.value;
    var startYear = document.form1.startYear.value;
    var endYear = document.form1.endYear.value;

    if (!check_blank(title)) {
	alert('Title cannot be blank.');
	return false;
    }

    if (!check_blank(menuTitle)) {
	alert('Menu Title cannot be blank.');
	return false;
    }

    if (!check_blank(hpSummary)) {
	alert('Home Page Summary cannot be blank.');
	return false;
    }

    if (check_blank(startYear) && !isInteger(startYear)) {
	alert('If included, Start Year must be an integer.');
	return false;
    }

    if (check_blank(endYear) && !isInteger(endYear)) {
	alert('If included, End Year must be an integer.');
	return false;
    }

    while (pageNum <= numPages) {
	mEditor = FCKeditorAPI.GetInstance('page'+pageNum);
        mDOM = mEditor.EditorDocument;
        pageContent = '';
        if (document.all) {
            pageContent = mDOM.body.innerText;
        }
        else {
            m = mDOM.createRange();
            m.selectNodeContents(mDOM.body);
            pageContent = m.toString();
        }
	if (!check_blank(pageContent)) {
	    alert('Page ' + pageNum + ' cannot be blank.');
	    return false;
	}
	pageNum++;
    }
    return true;
}

function validate_add_chapter() {
    
    var pageContent = '';
    var mEditor = '';
    var mDom = '';
    var m = '';
    var title = document.form1.title.value;
    var menuTitle = document.form1.menuTitle.value;
    var hpSummary = document.form1.hpSummary.value;
    var startYear = document.form1.startYear.value;
    var endYear = document.form1.endYear.value;

    if (!check_blank(title)) {
	alert('Title cannot be blank.');
	return false;
    }

    if (!check_blank(menuTitle)) {
	alert('Menu Title cannot be blank.');
	return false;
    }

    if (!check_blank(hpSummary)) {
	alert('Home Page Summary cannot be blank.');
	return false;
    }

    if (check_blank(startYear) && !isInteger(startYear)) {
	alert('If included, Start Year must be an integer.');
	return false;
    }

    if (check_blank(endYear) && !isInteger(endYear)) {
	alert('If included, End Year must be an integer.');
	return false;
    }

	mEditor = FCKeditorAPI.GetInstance('page1');
        mDOM = mEditor.EditorDocument;
        pageContent = '';
        if (document.all) {
            pageContent = mDOM.body.innerText;
        }
        else {
            m = mDOM.createRange();
            m.selectNodeContents(mDOM.body);
            pageContent = m.toString();
        }
	if (!check_blank(pageContent)) {
	    alert('Page 1 cannot be blank.');
	    return false;
	}

    return true;
}

function validate_edit_content() {
    
    var title = document.form1.title.value;
    var menuTitle = document.form1.menuTitle.value;

    if (!check_blank(title)) {
	alert('Title cannot be blank.');
	return false;
    }

    if (!check_blank(menuTitle)) {
	alert('Menu Title cannot be blank.');
	return false;
    }

    var mEditor = FCKeditorAPI.GetInstance('content');
    var mDOM = mEditor.EditorDocument;
    var content = '';
    if (document.all) {
        content = mDOM.body.innerText;
    }
    else {
        var m = mDOM.createRange();
        m.selectNodeContents(mDOM.body);
        content = m.toString();
    }
    if (!check_blank(content)) {
	alert('Content cannot be blank.');
	return false;
    }
 
    return true;
}

function validate_quote() {
    
    var author = document.form1.author.value;
    var day = document.form1.day.value;
    var month = document.form1.month.value;
    var year = document.form1.year.value;

    if (!check_blank(author)) {
	alert('Author cannot be blank.');
	return false;
    }

    if (check_blank(day) && !isInteger(day)) {
	alert('Day must be an integer.');
	return false;
    }

    if (!check_blank(month)) {
	alert('Month cannot be blank.');
	return false;
    }

    if (check_blank(year) && !isInteger(year)) {
  	alert('Year must be an integer if it is included.');
	return false;
    }

    var mEditor = FCKeditorAPI.GetInstance('quote');
    var mDOM = mEditor.EditorDocument;
    var quote = '';
    if (document.all) {
        quote = mDOM.body.innerText;
    }
    else {
        var m = mDOM.createRange();
        m.selectNodeContents(mDOM.body);
        quote = m.toString();
    }
    if (!check_blank(quote)) {
	alert('Quote cannot be blank.');
	return false;
    }
    
    return true;
}

function validate_event() {
    
    var day = document.form1.day.value;
    var month = document.form1.month.value;
    var year = document.form1.year.value;

    var mEditor = FCKeditorAPI.GetInstance('summary');
    var mDOM = mEditor.EditorDocument;
    var summary = '';
    if (document.all) {
        quote = mDOM.body.innerText;
    }
    else {
        var m = mDOM.createRange();
        m.selectNodeContents(mDOM.body);
        summary = m.toString();
    }
    if (!check_blank(summary)) {
	alert('Summary cannot be blank.');
	return false;
    }

    mEditor = FCKeditorAPI.GetInstance('description');
    mDOM = mEditor.EditorDocument;
    var description = '';
    if (document.all) {
        description = mDOM.body.innerText;
    }
    else {
        var m = mDOM.createRange();
        m.selectNodeContents(mDOM.body);
        description = m.toString();
    }
    if (!check_blank(description)) {
	alert('Description cannot be blank.');
	return false;
    }

    if (check_blank(day) && !isInteger(day)) {
	alert('Day must be an integer.');
	return false;
    }

    if (!check_blank(month)) {
	alert('Month cannot be blank.');
	return false;
    }

    if (!isInteger(month)) {
  	alert('Month must be an integer.');
	return false;
    }

    if (!check_blank(year)) {
	alert('Year cannot be blank.');
	return false;
    }

    if (!isInteger(year)) {
  	alert('Year must be an integer.');
	return false;
    }

    return true;
}

function validate_add_image() {
    
    var image = document.form1.image.value;

    if (!check_blank(image)) {
	alert('You must choose an image to upload.');
	return false;
    }

    return true;
}

function validate_user() {
   
    var userName = document.form1.userName.value;
    var password = document.form1.password.value;
    var name = document.form1.name.value;

    if (!check_blank(userName)) {
	alert('User Name cannot be blank.');
	return false;
    }

    if (!check_blank(password)) {
	alert('Password cannot be blank.');
	return false;
    }

    return true;
}

function validate_submission() {
    
    var type = document.form1.type.value;
    var image1 = document.form1.image1.value;
    var name = document.form1.name.value;
    var email = document.form1.email.value;

    var mEditor = FCKeditorAPI.GetInstance('content');
    var mDOM = mEditor.EditorDocument;
    var content = '';

    if (!check_blank(type)) {
	alert('You must specify the Type of submission.');
	return false;
    }

    if (document.all) {
        content = mDOM.body.innerText;
    }
    else {
        var m = mDOM.createRange();
        m.selectNodeContents(mDOM.body);
        content = m.toString();
    }
    if ((type != 'images') && !check_blank(content)) {
	alert('You must provide some content or a description of your submission.');
	return false;
    }

    if ((type == 'images') && !check_blank(image1)) {
	alert('You must choose at least one image if you have selected "Images" as your submission Type.');
	return false;
    }

    if (!check_blank(name)) {
	alert('Your Name cannot be blank.');
	return false;
    }

    if (!check_blank(email)) {
	alert('Your Email cannot be blank.');
	return false;
    }

    if (!echeck(email)) {
	alert('Your Email is invalid.');
	return false;
    }
 
    return true;
}

function validate_search() {
    
    var searchTerm = document.searchForm.searchTerm.value;

    if (!check_blank(searchTerm)) {
	alert('Search Term cannot be blank.');
	return false;
    }

    return true;
}

function clearSubmissionForm() {
    
    document.form1.email.value='';
    document.form1.gradYear.value='';
    document.form1.degree.value='';
    document.form1.name.value='';
    document.form1.paragraph.value='';
    document.form1.page.value='';
    document.form1.chapterID.selectedIndex=0;
    document.form1.imageComments.value='';
    FCKeditorAPI.GetInstance('content').SetData('');
    document.getElementById('contentDiv').style.display='';
    document.getElementById('chapterDiv').style.display = '';
    document.getElementById('imageDiv').style.display = 'none';
    document.form1.type.selectedIndex=0;

}
