/*******************************************************
	PH @ 03/02/2005
	Updated alerting service validation function
*******************************************************/

var aReqFields=[];
 aReqFields[0]='form_field_email';
 aReqFields[1]='form_field_name';


// set language
var aErrMsg=[];
 aErrMsg['errors']='Your details were not submitted due to the following reasons\n__________________________________________________\n';
 aErrMsg['empty']='is empty';
 aErrMsg['valid']='is not valid';
 aErrMsg['delete']='Are you sure you want to delete your account?';

 aErrMsg['form_field_email']='Email address';
 aErrMsg['form_field_name']='Name';

function checkValue(_t,_v){
 var _rv=false;
 var _pattern='';
 var _patternIp=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
 switch(_t){
  case'address':
  case'name':
   _pattern='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-àÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖùÙúÚûÛüÜýÝÿß /()';
   _rv=runCompare(_v,_pattern);
   break;
  case'email':
_pattern=/(^[\w-_àÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖùÙúÚûÛüÜýÝÿß\.]*[\w-_àÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖùÙúÚûÛüÜýÝÿß\.])@(\[\d{1,3}(\.\d{1,3}){3}]|[\w-_\.]*[\w-_\.]+)$/;
   _rv=runRegEx(_v,_pattern);
   break;
  case'phone':
   _pattern=' 0123456789';
   _rv=runCompare(_v,_pattern);
   break;
 }
 return(_rv);
}

function runCompare(_v,_p){
 var _rv=true;
 for(var _i=0;_i<_v.length;_v++){
  if(_p.indexOf(_v.charAt(_i))==-1){_rv=false;break;};
 }
 return(_rv);
}

function runRegEx(_v,_p){
 var _rv=true;
 var _matchArray=_v.match(_p);
 _rv=(_matchArray==null)?false:true;
 return(_rv);
}

function verify(f){
 var _pattern='';
 var _rv=true;
 var _aMsg=new Array();
 var _aTmp=new Array(); 
 var _tmpEl='';
 var _tmpVal='';
 var _tmpType='';
 var _tmpBool=false;
 // run thru required list
 for(var _i=0;_i<aReqFields.length;_i++){
  var _tmp=aReqFields[_i];
   if(f.elements[_tmp]){
    _tmpType=_tmp.substr(_tmp.lastIndexOf('_')+1);
    _tmpEl=f.elements[_tmp];
    _tmpVal=_tmpEl.value;
    // blanks - note reverse true/false
    if(_tmpVal){ 
     if(runCompare(_tmpVal,'\n\t')==true){
      _rv=false; 
      _aMsg.push(aErrMsg[_tmpEl.name]+' '+aErrMsg['empty']);
     }else{
      if(checkValue(_tmpType,_tmpVal)==false){ 
       _rv=false;
       _aMsg.push(aErrMsg[_tmpEl.name]+' '+aErrMsg['valid']);
      }
     }
    }else{
     _rv=false;
     _aMsg.push(aErrMsg[_tmpEl.name]+' '+aErrMsg['empty']);
    }
   }
  }
 
 if(_rv==false){
  alert(aErrMsg['errors']+_aMsg.join('\n'));  
 }    
 return(_rv);
}

// old inherit
function todelete(){
 check=confirm(aErrMsg['delete']);
 if(check==true){document.deleteform.submit();}
}