/*============================================================================*/
/*       Copyright (c) 2002-2007 Church of Scientology International          */
/*                         All rights reserved.                               */
/*============================================================================*/
function stripSpaces(x) {
   x = x.replace(/^ */, "");
   x = x.replace(/ +$/, "");
   return x;
}

function isEmpty(x) {
   x = stripSpaces (x.value);
   if (x.length > 0) {
      return false;
   }
   else {
     return true;
   }
}

function isValidAddress (s) {
   if (s.value.search (/^[-\,\/()%#&'".\ A-Za-z0-9]+$/) == -1) {
      return false;
   }
   return true;
}

function isValidEmail(s) {
   var myString      = s.value;
   var myLength      = myString.length;
   var myAt          = "@";
   var myAtIndex     = myString.indexOf (myAt);
   var myPeriod      = ".";
   var myPeriodindex = myString.indexOf (myPeriod);

   if ((myAtIndex == -1) || (myAtIndex == 0) || (myAtIndex >= (myLength - 1))) {
      return false;
   }
   if ((myPeriodindex == -1) || (myPeriodindex == 0) || (myPeriodindex == myLength)) {
      return false;
   }
   if (myString.indexOf (myAt, (myAtIndex + 1)) != -1) {
       return false;
   }
   if ((myString.substring ((myAtIndex - 1), myAtIndex)       == myPeriod) ||
       (myString.substring ((myAtIndex + 1), (myAtIndex + 2)) == myPeriod))  {
      return false;
   }
   if (myString.indexOf (myPeriod, (myAtIndex + 2)) == -1){
      return false;
   }
   if (myString.indexOf (" ") != -1) {
      return false;
   }
   return true;                                 
}

function isValidLength (s, length) {
   return (s.value.length == length);
}

function isLengthBetween (s, length1, length2) {
   return ((s.value.length >= length1) && (s.value.length <= length2));
}

function isValidName (s) {
   if (s.value.search (/^[-,' &A-Za-z]+$/) == -1) {
      return false;
   }
   return true;
}

function isValidNumeric (s) {
   if (s.value.search (/^[0-9]+$/) == -1) {
      return false;
   }
   return true;
}

function isValidPin (s) {
   if (s.value.search (/^[A-Za-z0-9]+$/) == -1) {
      return false;
   }
   return (isValidLength (s, 8));
}

function isValidUserId (s) {
   return (isLengthBetween (s, 1, 100));
}

function isValidPassword (s) {
   return (isLengthBetween (s, 6, 30));
}

/*=========================================*/
/*   This the function for the dictionary word select   */
/*========================================*/

function getSelected () {
   selected="";
   if (document.selection) {
      selected=document.selection.createRange().text;
   }
   else {
      if (document.getSelection) {
         selected=document.getSelection();
      }
   }
   return selected;
}

function launch_quickLookup (myPopUpUrl) {
   var mySelectedText=getSelected();
   if (mySelectedText) {
      var myValidText=mySelectedText.toString();
      var myLookupText =(myValidText.replace(/^\W+/,'')).replace(/\W+$/,'');
      showDictionary (myPopUpUrl + '?query=' + myLookupText );
   }
}

/*======================================================*/
/*   This the functions for the windows to open - dico and materials   */
/*======================================================*/

function showDictionary (aUrl) {
   window.open (aUrl,'dictionary','directories=no,menubar=no,location=no,status=no,scrollbars=yes,resizable=yes,top=10,left=0,width=490,height=580').focus();
}

function showSourceMaterial (aUrl) {
   window.open (aUrl + '#marker','sourcematerial','directories=no,menubar=no,location=no,status=no,scrollbars=yes,resizable=yes,top=10,left=0,width=700,height=580').focus();
}

function showHelp (aUrl) {
   window.open (aUrl,'helppage','directories=no,menubar=no,location=no,status=no,scrollbars=yes,resizable=yes,top=10,left=0,width=490,height=580').focus();
}