// chk_fields.js   Alex Vader  Version 1.2

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document;
    if((p=n.indexOf("?"))>0 && parent.frames.length) {
     d=parent.frames[n.substring(p+1)].document;
     n=n.substring(0,p);
    }
  if(!(x=d[n]) && d.all) x=d.all[n];
    for (i=0;!x && i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function   _getRegEx(element) {
   regex = MM_findObj(element).getAttribute('re')
   if (regex == null) {
                regex = MM_findObj(element).getAttribute('nre')
                if (regex == null) {
                        return null;
                        }
   }
   retype = typeof(regex);
   if (retype.toUpperCase() == "FUNCTION")
       return regex;
   else if (retype.toUpperCase() == "STRING") {

         switch (regex){
                case "email":
                return  new RegExp(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/);

                case "tel":
                return new RegExp(/^1?[\- ]?\(?\d{3}\)?[\- ]?\d{3}[\- ]?\d{4}$/);

                case "date":
                return new RegExp(/^(0?[0-9]|1[0-2])\D(0?[0-9]|1[0-9]|2[0-9]|3[0-1])\D(\d{4})$/);


                        case "perc":
                                return new RegExp(/^(\d{1,3})$/);

                case "text":

                return new RegExp(/^([a-z]|[A-Z]|-|,|\.|\s|\d|_|&|')+$/);

                case "money":
                return new RegExp(/^\d+([\.]\d\d)?$/);

                  case "postalzip":
                    if(MM_findObj(element).value.length == 6 || MM_findObj(element).value.length == 7) {

                      return new RegExp(/^[a-zA-Z]\d[a-zA-Z] ?\d[a-zA-Z]\d$/);
                    } else if(MM_findObj(element).value.length == 5 || MM_findObj(element).value.length == 10) {
                      //return(/^\d{5}(\-\d{4})?$/);
                      return new RegExp(/^\d{5}(\-\d{4})?$/);
                    } else {
                        return new RegExp(/^\d{5}(\-\d{4})?$/);
                    }
                    break;


                default:
       nBegin = 0; nEnd = regex.length-1;
       if (regex.charAt(0) == "/") nBegin=1;
       if (regex.charAt(regex.length-1) == "/") nEnd=regex.length-1;
       return new RegExp(regex.slice(nBegin, nEnd));

    }

   }
}

function check_Form() {
var iError;

        iError=0;

        if (document.forms.length > 0) {
        var field = document.forms[0];
        for (i = 0; i < field.length; i++) {
        if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {

                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re')
                                   if (this.rf == null) {
                                                this.rf = MM_findObj(field.elements[i].name).getAttribute('nre')
                                                if (this.rf == null) {
                                        //iError=iError+1;
                                                        //MM_findObj(field.elements[i].name).className="input_warning";
                                                }
                                   } else {
                                         //MM_findObj(field.elements[i].name).className="input_need";
                                           //this.regexp2 = this.rf;
                                           this.regexp2 = this._getRegEx(field.elements[i].name);
                                         //if (regexp2.test(field.elements[i].name).value)==true) {
                                                 if (regexp2.test(MM_findObj(field.elements[i].name).value)==true) {
                                                MM_findObj(field.elements[i].name).className="input_correct";

                                         } else {
                                      iError=iError+1;
                                                MM_findObj(field.elements[i].name).className="input_warning";
                                         }
                                   }


         }
      }
  }


        if (iError==0) {
                MM_findObj("MyForm").submit();
        } else {
        alert('Invalid Value in the some fields. Please correct it.');
        return false;
        }
}

function check_Form2() {
        var iError;
        iError=0;

        if (document.forms.length > 1) {
                var field = document.forms['MyForm2_2'];
                for (i = 0; i < field.length; i++) {
                        if ((field.elements[i].type == "text") || (field.elements[i].type == "password")
                        || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
                                this.rf = MM_findObj(field.elements[i].name).getAttribute('re')
                                if (this.rf == null) {
                                        this.rf = MM_findObj(field.elements[i].name).getAttribute('nre')
                                        if (this.rf == null) {
                                        //iError=iError+1;
                                                //MM_findObj(field.elements[i].name).className="input_warning";
                                        }
                                } else {
                                        //MM_findObj(field.elements[i].name).className="input_need";
                                        //this.regexp2 = this.rf;
                                        this.regexp2 = this._getRegEx(field.elements[i].name);
                                        //if (regexp2.test(field.elements[i].name).value)==true) {
                                        if (regexp2.test(MM_findObj(field.elements[i].name).value)==true) {
                                                MM_findObj(field.elements[i].name).className="input_correct";
                                        } else {
                                        iError=iError+1;
                                                MM_findObj(field.elements[i].name).className="input_warning";
                                        }
                                }
                }
        }
        }

        if (iError==0) {
                MM_findObj("MyForm2_2").submit();
        } else {
                alert('Invalid Value in the some fields. Please correct it.');
        }
}

function check_Form_new(IDFORM) {
        var iError;
        iError=0;
        if (document.forms.length > 1) {
                var field = document.forms[IDFORM];
                for (i = 0; i < field.elements.length; i++) {
                        if ((field.elements[i].type == "text") || (field.elements[i].type == "password"))
                        {
                                this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                if (this.rf == null) {
                                        this.rf = MM_findObj(field.elements[i].name).getAttribute('nre');
                                        if (this.rf == null) {
                                        }
                                } else {
                                        this.regexp2 = this._getRegEx(field.elements[i].name);
                                        if (regexp2.test(MM_findObj(field.elements[i].name).value)==true) {
                                                MM_findObj(field.elements[i].name).className="input_correct";
                                        } else {
                                        iError=iError+1;
                                                MM_findObj(field.elements[i].name).className="input_warning";
                                        }
                                }
                 }
        }
        }
        if (iError==0) {
                document.forms[IDFORM].submit();
        } else {
                alert('Invalid Value in the some fields. Please correct it.');
        }
}

function check_Field(FieldName) {
  this.regexp = this._getRegEx(FieldName);//alert(FieldName);

  if (regexp.test(MM_findObj(FieldName).value)==true) {

                MM_findObj(FieldName).className="input_correct";
                        return true;
  } else {
        if (MM_findObj(FieldName).getAttribute('nre') == null) {
//                        alert('Invalid Value. Please correct it.');
                MM_findObj(FieldName).className="input_warning";
                return false;
        } else {
        MM_findObj(FieldName).className="input_correct";
        return true;
       }

  }

}

function check_Field2(FieldName, pattern, dpattern) 
{
	if (pattern != "")
	{
		this.regexp = new RegExp(pattern);
		if(regexp.test(MM_findObj(FieldName).value)==true) 
		{
			MM_findObj(FieldName).className="input_correct";
		} 
		else 
		{
			if (MM_findObj(FieldName).getAttribute('nre') == null) 
			{
				MM_findObj(FieldName).className="input_warning";
				return false;
			} 
			else 
			{
				MM_findObj(FieldName).className="input_correct";
		   }
		}
	}
	
	if (dpattern !="")
	{
		this.regexpd = new RegExp(dpattern);
		if(regexpd.test(MM_findObj(FieldName).value)==true) 
		{
			MM_findObj(FieldName).className="input_warning";
			return true;
		} 
	}
}


function markNeedCaller(caller) {
//stop;
//if (document.forms.length > 0) {
//var field = caller.form;
var field = document.forms[caller];
for (i = 0; i < field.length; i++) {
//if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") ) {
                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                   if (this.rf == null) {

                                   } else {
                                         MM_findObj(field.elements[i].name).className="input_need";
                                   }
         }
      }
//   }
}

function markNeed() {
//stop;
if (document.forms.length > 0) {
var field = document.forms[0];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {

                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                   if (this.rf == null) {

                                   } else {
                                         MM_findObj(field.elements[i].name).className="input_need";
                                   }
         }
      }
   }
}

function markNeed0() {
if (document.forms.length > 0) {
var field = document.forms[1];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {

                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                   if (this.rf == null) {

                                   } else {
                                         MM_findObj(field.elements[i].name).className="input_need";
                                   }
         }
      }
   }
}

function markNeed1() {
if (document.forms.length > 0) {
var field = document.forms[2];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {

                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                   if (this.rf == null) {

                                   } else {
                                         MM_findObj(field.elements[i].name).className="input_need";
                                   }
         }
      }
   }
}

function markNeed2() {
if (document.forms.length > 0) {
var field = document.forms[3];
for (i = 0; i < field.length; i++) {
if ((field.elements[i].type == "text") || (field.elements[i].type == "password") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {

                                   this.rf = MM_findObj(field.elements[i].name).getAttribute('re');
                                   if (this.rf == null) {

                                   } else {
                                         MM_findObj(field.elements[i].name).className="input_need";
                                   }
         }
      }
   }
}



