<!--
function browser () {
	this.m=((navigator.userAgent.indexOf('MSIE')>=0)&&(document.all));
	this.n4=((!this.m)&&(document.layers));
}
var Brows = new browser;

NS=Brows.n4;
IE=Brows.m;

function getValue(fldObj) {
var ret;
  if (fldObj.value==null) {
	ret=fldObj.options[fldObj.selectedIndex].value;
  } else {
	ret=fldObj.value;
  }
  return ret;
}

function setValue(fldObj, vValue) {
  if (fldObj.options!=null) {
	if(fldObj.selectedIndex!=-1) fldObj.options[fldObj.selectedIndex].value=vValue;
  } 
  else {
	fldObj.value=vValue;
  }
  return;
}

function checkRequired(formName) {
var ret, frm, fld, i, curfld, fuckfld;

  ret=true;
  frm=document.forms[formName];
  for (i=1; i<arguments.length && ret; i++) {
  	curfld=frm.elements[arguments[i]];
	if (getValue(curfld)=="") {
		fld=curfld; 
		ret=false;
	}
  }
  if (!ret) {
	alert("Required fields are empty. Please, fill in the fields marked '*'");
	fld.focus(); 
  }
  return ret;
}

function checkRequiredBox(formName) {
var ret, frm, fld, i, curfld, fuckfld;

  ret=true;
  frm=document.forms[formName];
  for (i=1; i<arguments.length && ret; i++) {
  	curfld=frm.elements[arguments[i]];
	if (!curfld.checked) {
		fld=curfld; 
		ret=false;
	}
  }
  if (!ret) {
	alert("If You don't agree to the RULES & REGULATIONS, then You can't send the mail!");
	fld.focus(); 
  }
  return ret;
}

function FieldNaN(formName) {
var ret, frm, fld, i, curfld;

  ret=true;
  frm=document.forms[formName];
  for (i=1; i<arguments.length && ret; i++) {
  	curfld=frm.elements[arguments[i]];
	if (isNaN(getValue(curfld))) {
		fld=curfld; 
		ret=false;
	}
  }
  if (!ret) {
	alert("Required fields are not numeric. Please, fill in the fields right!");
	fld.focus(); 
  }
  return ret;
}

function setQuote(formName) {
var ret, frm, i, curfld, sValue, j, sTmp;
  ret=true;
  frm=document.forms[formName];
  for (i=1; i<arguments.length && ret; i++) {
  	curfld=frm.elements[arguments[i]];
	sValue = getValue(curfld)
	if(sValue!="") {
	  sTmp="";
	  for (j=0; j<sValue.length;j++) {
	  	if (sValue.charAt(j)!="'" || j==0 || j==sValue.length-1) sTmp=sTmp+sValue.charAt(j);
	  	else sTmp=sTmp+"''";
	  }
	  if(sTmp!="") {
	    sValue=sTmp;
	    if(sTmp.charAt(0)!="'") sValue="'" + sValue;
	    if(sValue.charAt(sValue.length-1)!="'") sValue=sValue + "'";
	  }
	  setValue(curfld, sValue); 
//	  alert(curfld.options[curfld.selectedIndex].value);
	}
  }
  return ret;
}

function checkStrLen(formName, fieldName, fieldTitle, maxLen) {
var ret, fld, l;
  fld=document.forms[formName].elements[fieldName];
  l=fld.value.length;
  if (l<=maxLen) {
	ret=true;
  } else {
	ret=false;
	alert('Field "'+fieldTitle+ '" has '+l+' characters (must have not more than '+maxLen+')');
	fld.focus(); 
  }
  return ret;
}

function checkEmail(formName, fieldName, fieldTitle) {
var ret, fld, s, i, c, fa, fp, fpa, fnb, fna, fapb, fapa, errMsg;
  ret=true;
  fld=document.forms[formName].elements[fieldName];
  s=fld.value;
  if (s=='') {
     return true;
	 exit;
  }
  for (i=0;i<s.length;i++){
    c=s.charAt(i);
	if (!(((c>='A')&&(c<='Z'))||((c>='a')&&(c<='z'))||((c>='0')&&(c<='9'))||(c=='-')||(c=='_')||(c=='@')||(c=='.'))) {
	  ret=false;
	  errMsg='contains incorrect symbol "'+c+'"';
	  break;
	} 
  }
  fa=false; fp=false; fpa=false; fnb=false; fna=false; fapb=false; fapa=false;
  if (ret){
    for (i=0;i<s.length;i++){
      c=s.charAt(i);
  	  if ((c=='.')&&(!fa)) fpa=true;
   	  if ((fa)&&(fp)) fapa=true;
	  if ((c=='.')&&(fa)) fp=true;
  	  if ((fa)&&(!fp)) fapb=true;
	  if (fa) fna=true;
	  if ((c=='@')&&(fa)) {
	    ret=false;
        errMsg='contains several symbols "@"';
		break;
	  }
  	  if ((c=='@')&&(!fa)) fa=true;
	  if (!fa) fnb=true;
    }
  }
  if ((ret)&&(!fa)) {
    ret=false;
    errMsg='doesn`t contain symbol "@"';
  }
  if ((ret)&&(!fnb)) {
    ret=false;
    errMsg='doesn`t contain symbols before "@"';
  }
  if ((ret)&&(!fna)) {
    ret=false;
    errMsg='doesn`t contain symbols after "@"';
  }
//  if ((ret)&&(fpa)) {
//    ret=false;
//    errMsg='contains incorrect symbol "." befor "@"';
//  }
  if ((ret)&&(!fp)) {
    ret=false;
    errMsg='doesn`t contain symbol "." after "@"';
  }
  if ((ret)&&(!fapb)) {
    ret=false;
    errMsg='doesn`t contain symbols befor "." after "@"';
  }
  if ((ret)&&(!fapa)) {
    ret=false;
    errMsg='doesn`t contain symbols after "." after "@"';
  }
  if (!ret) {
    alert('Field "'+fieldTitle+'" '+errMsg);
	fld.focus();
  }
  return ret;
}

function checkWWW(formName, fieldName, fieldTitle) {
var ret, fld, s, c;
  ret=true;
  fld=document.forms[formName].elements[fieldName];
  s=fld.value;
  for (i=0;i<s.length;i++){
    c=s.charAt(i);
	if (!(((c>='A')&&(c<='Z'))||((c>='a')&&(c<='z'))||((c>='0')&&(c<='9'))||
	   (c=='-')||(c=='_')||(c=='@')||(c=='.')||(c=='/')||(c==':')||(c=='+')||
	   (c==',')||(c=='*')||(c=='?')||(c=='#')||(c=='=')||(c=='%')||(c=='&'))) {
	  ret=false;
	  errMsg='contains incorrect symbol "'+c+'"';
	  break;
	} 
  }
  if (!ret) {
    alert('Field "'+fieldTitle+'" '+errMsg);
	fld.focus();
  }
  return ret;
}

function fullYear(Year) {
  if (Year<1900) return 1900+Year; else return Year;
}

function isValidDate(Day, Month, Year) {
var d, ret;
  d=new Date(Year, Month-1, Day);
  ret=fullYear(d.getYear())==Year && d.getMonth()==Month-1 && d.getDate()==Day;
  return ret;
}

function isEmptyDate(Day, Month, Year) {
  return (Day=="" && Month=="" && Year=="")
}

function checkValidDate (formName, fieldNameD, fieldNameM, fieldNameY, fieldTitle, checkCurrent) {
var frm, fld, d, m, y, bEmpty, dateCur, dateFld, ret;
  frm=document.forms[formName];
  m=getValue(frm.elements[fieldNameM]);
  y=getValue(frm.elements[fieldNameY]);
  if (fieldNameD=="") {
	d=1; 
	bEmpty=isEmptyDate("", m, y);
  	fld=frm.elements[fieldNameM];
  } else {
	d=getValue(frm.elements[fieldNameD]);
	bEmpty=isEmptyDate(d, m, y);
  	fld=frm.elements[fieldNameD];
  }
  ret=true;
  if (!bEmpty) {
	if (!isValidDate(d,m,y)) {
		alert('Field "'+fieldTitle+'" has invalid date');
		ret=false;	
	} 
	if (ret && checkCurrent) {
		dateCur=new Date();
		dateFld=new Date(y, m-1, d);
		if (dateFld.getTime()<dateCur.getTime()) {
			alert('Field "'+fieldTitle+'" has date past than current');
			ret=false;	
		}
	}
 	if (!ret) fld.focus();
  }
  return ret
}

//-->

