var ytlFormatFlag=1;

function Err(){
	this.clear=function (){
		this.source=new Object;
		this.type=new Object;
		this.format=new String;
	}

	this.add=function (oSource,vType,sFormat){
		this.source=oSource;
		this.type=vType;
		this.format=sFormat;
	}

	this.raise=function (){
		var oElement=this.source;
		var sMsg=(typeof this.type=="string")?this.type:oElement.getAttribute("MSG");
		if (oElement.type == "text") oElement.paint();
		if(oElement.select) oElement.select();
		if(sMsg) alert(sMsg);
		else alert(_validation.messages[sLang][this.type]);
		if(oElement.onvalidatefocus) oElement.onvalidatefocus();
		oElement.focus();
		this.clear();
	}
	this.clear();
}

var shortname =new RegExp("^[^']*$");
var shortname2 =new RegExp("^[^\"]*$");
var shortname3 =new RegExp("^[^\#é€{}<>+;%()/\\\\]*$");

function shname_onkeypr(event){
    // ADDED By UMUT
var txtTmp = event.srcElement;
var tmpChar = txtTmp.value.substr(txtTmp.value.length-1);
if (tmpChar == ".") {
if (event.keyCode == 46) {
return false;
} 
}
    
var tmpChar21 = txtTmp.value.substr(txtTmp.value.length-1);
var tmpChar22 = txtTmp.value.substr(txtTmp.value.length-2);
if ((tmpChar21 == "0") &&  (tmpChar22 == "%0") ){
if (event.keyCode == 48) {
return false;
} 
}

    // END ADDED By UMUT

var sKey=String.fromCharCode(event.keyCode);
if ((!shortname.test(sKey))||(!shortname2.test(sKey))|| (!shortname3.test(sKey))) {
        ///if ((!ANUMERIC_WITH_DOT_SPACE.test(sKey))) {
event.returnValue=false;
return false;
}
return true;
}

function Validation(){
	this.REQUIRED =0;
	this.INTEGER =1;
	this.FLOAT =2;
	this.DATE =3;
	this.AMOUNT =4;
	this.MASK =5;
	this.CCNUMBER =6;
	this.TURKCELLNO =7;
	this.DGTURKNO =8;
	this.SHORTNAME =9;
	this.DATEPASSWORD =10;
	this.NONTURKISHCAPSLOCK=11;
	this.USERID =11;
	this.ANUMERICNONTURKISH=12;
	this.EMAIL =13;
	this.MAXIMUMLENGTH	= 14;
	this.messages=new Array;
	Array.prototype.MM=new String;
	Array.prototype.DD=new String;
	Array.prototype.YYYY=new String;
	this.messages["tr"]=new Array(
	"L\u00FCtfen bir de\u011Fer giriniz",
"L\u00FCtfen ge\u00E7erli bir tamsay\u0131 giriniz",
"L\u00FCtfen ge\u00E7erli bir kayan noktal\u0131 say\u0131 giriniz",
"L\u00FCtfen ge\u00E7erli bir tarih giriniz",
"L\u00FCtfen ge\u00E7erli bir parasal tutar giriniz.",
"L\u00FCtfen yandaki formatta bir de\u011Fer giriniz",
"L\u00FCtfen 16 rakaml\u0131 kredi kart\u0131 numaran\u0131z\u0131 giriniz",
"L\u00FCtfen 7 rakaml\u0131 turkcell numaran\u0131z\u0131 giriniz",
"L\u00FCtfen 10 rakaml\u0131 digiturk abone numaran\u0131z\u0131 giriniz",
"L\u00FCtfen \",', €, é ve # karakterlerini i\u00E7ermeyen k\u0131sa ad girin",
"L\u00FCtfen ge\u00E7erli bir tarih giriniz",
"L\u00FCtfen T\u00FCrk\u00E7e karakter i\u00E7ermeyen b\u00FCy\u00FCk harf giriniz",
"L\u00FCtfen T\u00FCrk\u00E7e karakter i\u00E7ermeyen harf veya rakam giriniz",
"L\u00FCtfen T\u00FCrk\u00E7e karakter i\u00E7ermeyen harf veya rakam giriniz",
"Girdi\u011Finiz karakter say\u0131s\u0131 limiti a\u015Fm\u0131\u015Ft\u0131r");
this.messages["en"]=new Array(
"Please enter a value",
"Please enter an integer",
"Please enter a floting point number",
"Please enter a valid date",
"Please enter a valid monetary amount",
"Please enter a value in the following format",
"Please enter your 16 digit credit card number",
"Please enter your 7 digit Turkcell number",
"Please enter your 10 digit Digiturk subscription number",
"Please enter a short name without special characters: \",', €, é and # ",
"Please enter a valid date",
"Please enter caps lock non-Turkish characters",
"Please enter numbers or non-Turkish characters",
"Please enter numbers or non-Turkish characters",
"Data length exceeds the limit");
this.setDefault=function (v, d){
	return (v)?v:d;
}
function isNumber(v){
	return ((v >= 48) && (v <= 57));
}
function isControlCode(v){
	return ((v == 8) || (v == 37) || (v == 39));
}
var digit =new RegExp("[0-9]");
var digit_nozero =new RegExp("^[1-9]\\d*$");
var ANUMERIC_WITH_DOT_SPACE = new RegExp("^[A-Za-z0-9\u00C7\u00E7\u011E\u011F\u0130\u0131\u00D6\u00F6\u015E\u015F\u00DC\u00FC .]*$");

var DOTS = new RegExp("^[.][.]+$");


var reg_amount =new RegExp("^[^']*$");
var reg_amount_trl =new RegExp("[0-9]");
var reg_amount_fx =new RegExp("[0-9,]");
var reg_nonturkish_capslock=new RegExp("^[a-zA-Z]*$");
var reg_userid =new RegExp("^[0-9a-zA-Z]*$");
var reg_anumericnonturkish =new RegExp("^[0-9a-zA-Z]*$");
var reg_email = new RegExp("^[A-Za-z0-9_\-]+([.][A-Za-z0-9_\-]+)*[@][A-Za-z0-9_\-][A-Za-z0-9_\-]+([.][A-Za-z0-9_\-][A-Za-z0-9_\-]+)+$");
var reg_plaque =new RegExp("^[a-zA-Z]*$");
var reg_plaque2 =new RegExp("^[^qwxQWX]*$");
var reg_turkish_capslock =new RegExp("^[0-9a-zA-Z\u00E7\u0131i\u011F\u00F6\u015F\u00FC\u00C7I\u0130\u011E\u00D6\u015E\u00DC_.,*()&\-: :]*$");
var reg_credit_name		 =new RegExp("^[ABC\u00C7DEFG\u011EHI\u0130JKLMNO\u00D6PQRS\u015ETU\u00DCVWXYZabc\u00E7defg\u011Fh\u0131ijklmno\u00F6pqrs\u015Ftu\u00FCvwxyz0123456789 ;:.,!'^*+%&/()=?@<>£#$½{}\\\\\\\\[\\]]*$");
var reg_eft_accountno		= new RegExp("^[a-zA-Z0-9\-]*$") ;

this.setup=function (){
	var i,iForms=document.forms.length;
	for(i=0; i<iForms; i++){
		var oForm=document.forms[i];
		var oBody=document.body;	
		if(!oForm.bProcessed){
		oForm.markREQUIRED=function (){
			var i, iElements=this.elements.length;
			var sMarkHTML, sMarkWhere;
			for(i=0; i<iElements; i++){
				var oElement=this.elements[i];
				if(oElement.onmark && oElement.onmark()==false)
					continue;
				if(oElement.getAttribute("REQUIRED")!=null){
					sMarkHTML=this.getAttribute("insert");
					sMarkWhere=this.getAttribute("mark");
					if(sMarkHTML){
						switch(sMarkWhere.toLowerCase()){
						case "before" :
							sMarkWhere="beforeBegin";
							break;
						default :
							sMarkWhere="afterEnd";
						}
						oElement.insertAdjacentHTML(sMarkWhere,sMarkHTML);
					}else{
						var sClassName=oElement.className;
						if(sClassName!="REQUIRED"){
							oElement.setAttribute("nonreqClass",oElement.className);
							oElement.className="REQUIRED";
						}else{
							oElement.className=_validation.setDefault(oElement.getAttribute("nonreqClass"),oElement.className);
							oElement.removeAttribute("nonreqClass");
						}
					}
				}
			}
		}
		var svalidateWhen=oForm.getAttribute("validate");
		var svaliadateBody=oBody.getAttribute("validate");
		if (svalidateWhen!=null || svaliadateBody!=null){
			oForm.fReset=oForm.onreset;
			oForm.submitFormVal=function (){
				var i, oElement, iElements=this.elements.length;
				for (i=0; i<iElements; i++){
					if(this.elements[i].type != "hidden"){
						this.elements[i].restore();
					}
				}
				for(i=0;i<iElements;i++){
					oElement=this.elements[i];
					if(oElement.type != "hidden"){
						if (!oElement.valid()){
							_err.raise();
							event.returnValue=false;
							return false;
						}
					}
				}
				var vDefault;
				for(i=0;i<iElements;i++){
					oElement=this.elements[i];
					vDefault=oElement.getAttribute("default");
					if(vDefault && !oElement.value)
						oElement.value=vDefault;
				}
				for(i=0;i<iElements;i++){
					oElement=this.elements[i];
					if( (	(oElement.getAttribute("AMOUNTCC")!= null && oElement.getAttribute("AMOUNTCC") == true) 			||
						(oElement.getAttribute("AMOUNTFX")!= null && oElement.getAttribute("AMOUNTFX") == true) 			||
						(oElement.getAttribute("AMOUNT3FX")!= null && oElement.getAttribute("AMOUNT3FX") == true) 			||
						(oElement.getAttribute("AMOUNTTRL")!= null && oElement.getAttribute("AMOUNTTRL") == true) 			||
						(oElement.getAttribute("AMOUNTTRL_WITHOUT_BLUR")!= null && oElement.getAttribute("AMOUNTTRL_WITHOUT_BLUR") == true) 			||
						(oElement.getAttribute("AMOUNTTRL_OLD")!= null && oElement.getAttribute("AMOUNTTRL_OLD") == true)
						) &&
						(oElement.getAttribute("CHECKZEROAMOUNT")== null ||
						(oElement.getAttribute("CHECKZEROAMOUNT")!= null && oElement.getAttribute("CHECKZEROAMOUNT") == true) )&&
						(oElement.getAttribute("disabled")== null ||
						(oElement.getAttribute("disabled")!= null && oElement.getAttribute("disabled") == false) )
					){
						var num=oElement.value;
						num=num.replace(/\,/g,'.');
						num=num.replace(/\./g,'');
						if ((num.length != 0) && (num != ""))	{
							if( num <= 0 ){
								oElement.value="";
								oElement.focus();
								return false;
							}
						}
					}
				}
			}
			
			oForm.onreset=function (){
				var i, iElements=this.elements.length;
				for (i=0; i<iElements; i++)
					this.elements[i].restore();
				if (this.fReset && this.fReset()==false)
					event.returnValue=false;
			}
		}
		oForm.bProcessed=true;
	}
	var j, iElements=oForm.elements.length;
	for(j=0; j<iElements; j++){
		var oElement=oForm.elements[j];
		if ((oElement.getAttribute("static")!=null) && (oElement.getAttribute("static") == true)) {
			oElement.onfocus=function() {
				this.blur();
			}
		}
		if(!oElement.bProcessed) {
			var vonvalidate=oElement.getAttribute("onvalidate");
			if(vonvalidate){
				if(typeof vonvalidate!="function")
					oElement.onvalidate=new Function(vonvalidate);
				else
					oElement.onvalidate=vonvalidate;
			}
			var vonvalidateFocus=oElement.getAttribute("onvalidatefocus");
			if(vonvalidateFocus){
				if(typeof vonvalidateFocus!="function")
					oElement.onvalidatefocus=new Function(vonvalidateFocus);
				else
					oElement.onvalidatefocus=vonvalidateFocus;
			}
			var vOnMark=oElement.getAttribute("onmark");
			if(vOnMark){
				if(typeof vOnMark!="function")
					oElement.onmark=new Function(vOnMark);
				else
					oElement.onmark=vOnMark;
			}
			if (oElement.getAttribute("AMOUNTFX")!=null && oElement.getAttribute("AMOUNTFX")){
				oElement.onkeyup=function(){
					this.restore();
					this.value=formatCurrencyFx(this.value);
				}
				oElement.onkeypress=function(){
					var sKey=String.fromCharCode(event.keyCode);
					var INTEGER;
					var decimal=this.value.indexOf(",");
					if (decimal==-1)
						INTEGER=this.value;
					else
						INTEGER=this.value.substring(1,decimal);
					if (((!(reg_amount_fx.test(sKey) && reg_amount.test(sKey)) || isControlCode(event.keyCode))) || (INTEGER.length>19))
					{
						event.returnValue=false;
						return false;
					}	
					this.onkeyup();
				}
				oElement.onblur=function(){
					var str=this.value;
					if (str.substring(str.length-1,str.length)==',') this.value=str.substring(0,str.length-1);
					this.value=formatCurrencyFx(this.value);
				}
			}
			if (oElement.getAttribute("AMOUNT3FX")!=null && oElement.getAttribute("AMOUNT3FX")){
				oElement.onkeyup=function(){
					this.restore();
					this.value=format3CurrencyFx(this.value);
				}
				oElement.onkeypress=function(){
					var sKey=String.fromCharCode(event.keyCode);
					var INTEGER;
					var decimal=this.value.indexOf(",");
					if (decimal==-1)
						INTEGER=this.value;
					else
						INTEGER=this.value.substring(1,decimal);
					if (((!(reg_amount_fx.test(sKey) && reg_amount.test(sKey)) || isControlCode(event.keyCode))) || (INTEGER.length>19))
					{
						event.returnValue=false;
						return false;
					}	
					this.onkeyup();
				}
				oElement.onblur=function(){
					var str=this.value;
					if (str.substring(str.length-1,str.length)==',') this.value=str.substring(0,str.length-1);
					this.value=format3CurrencyFx(this.value);
				}
			}
			if (oElement.getAttribute("AMOUNTCC")!=null && oElement.getAttribute("AMOUNTCC")){
				if (ytlFormatFlag == 1){
					oElement.onkeyup=function(){
						this.restore();
						this.value=formatCurrencyFx(this.value);
					}
					oElement.onkeypress=function(){
						var sKey=String.fromCharCode(event.keyCode);
						var INTEGER;
						var decimal=this.value.indexOf(",");
						if (decimal==-1){
							INTEGER=this.value;
						}
						else
							INTEGER=this.value.substring(1,decimal);
						if( sKey == ',' ){
							if (((!(reg_amount_fx.test(sKey) && reg_amount.test(sKey)) || isControlCode(event.keyCode))) ){
								if( (this.value.length - decimal) != 1 && (this.value.length - decimal) != 2 && (this.value.length - decimal != 3) ){
									event.returnValue=false;
									return false;
								}
							}
						}else{
							if (((!(reg_amount_fx.test(sKey) && reg_amount.test(sKey)) || isControlCode(event.keyCode))) || (INTEGER.length>6)){
								event.returnValue=false;
								return false;
							}
						}
						this.onkeyup();
					}
oElement.onblur=function(){
var str=this.value;
if (str.substring(str.length-1,str.length)==',') this.value=str.substring(0,str.length-1);
this.value=formatCurrencyFx(this.value);
}
}else{
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyTrl(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!(reg_amount_trl.test(sKey) || isControlCode(event.keyCode))) || (this.value.length>19)){
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.fblur=oElement.onblur;
oElement.onblur=function(){
this.value=formatCurrencyTrl(this.value);
if(this.fblur && this.fblur()==false){
event.returnValue=false;
}
}
}
}
if (oElement.getAttribute("AMOUNTFXZERO")!=null && oElement.getAttribute("AMOUNTFXZERO")){
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyFxZero(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
var INTEGER;
var decimal=this.value.indexOf(",");
if (decimal==-1)
INTEGER=this.value;
else
INTEGER=this.value.substring(1,decimal);
if (((!(reg_amount_fx.test(sKey) && reg_amount.test(sKey)) || isControlCode(event.keyCode))) || (INTEGER.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.onblur=function(){
var str=this.value;
if (str.substring(str.length-1,str.length)==',') this.value=str.substring(0,str.length-1);
this.value=formatCurrencyFxZero(this.value);
}
}
if (oElement.getAttribute("AMOUNTTRL_WITHOUT_BLUR")!=null && oElement.getAttribute("AMOUNTTRL_WITHOUT_BLUR")){
if (ytlFormatFlag == 1){
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyFx(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
var INTEGER;
var decimal=this.value.indexOf(",");
if (decimal==-1)
INTEGER=this.value;
else
INTEGER=this.value.substring(1,decimal);
if ((!(reg_amount_fx.test(sKey) || isControlCode(event.keyCode))) || (INTEGER.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
} else {
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyTrl(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!(reg_amount_trl.test(sKey) || isControlCode(event.keyCode))) || (this.value.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
}
}

if (oElement.getAttribute("AMOUNTTRL")!=null && oElement.getAttribute("AMOUNTTRL")){
    if (ytlFormatFlag == 1){
        oElement.onkeyup=function(){
            this.restore();
            this.value=formatCurrencyFx(this.value);
        }
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
var INTEGER;
var decimal=this.value.indexOf(",");
if (decimal==-1)
INTEGER=this.value;
else
INTEGER=this.value.substring(1,decimal);
if ((!(reg_amount_fx.test(sKey) || isControlCode(event.keyCode))) || (INTEGER.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.onblur=function(){
var str=this.value;
if (str.substring(str.length-1,str.length)==',') this.value=str.substring(0,str.length-1);
this.value=formatCurrencyFx(this.value);
}
} else {
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyTrl(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!(reg_amount_trl.test(sKey) || isControlCode(event.keyCode))) || (this.value.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.fblur=oElement.onblur;
oElement.onblur=function(){
this.value=formatCurrencyTrl(this.value);
if(this.fblur && this.fblur()==false){
event.returnValue=false;
}
}
}
}
if (oElement.getAttribute("AMOUNTTRL_OLD")!=null && oElement.getAttribute("AMOUNTTRL_OLD")){
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyTrl(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!(reg_amount_trl.test(sKey) || isControlCode(event.keyCode))) || (this.value.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.fblur=oElement.onblur;
oElement.onblur=function(){
this.value=formatCurrencyTrl(this.value);
if(this.fblur && this.fblur()==false){
event.returnValue=false;
}
}
}
if (oElement.getAttribute("AMOUNTTRLZERO")!=null && oElement.getAttribute("AMOUNTTRLZERO")){
oElement.onkeyup=function(){
this.restore();
this.value=formatCurrencyTrlZero(this.value);
}
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!(reg_amount_trl.test(sKey) || isControlCode(event.keyCode))) || (this.value.length>19))
{
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.fblur=oElement.onblur;
oElement.onblur=function(){
this.value=formatCurrencyTrlZero(this.value);
if(this.fblur && this.fblur()==false){
event.returnValue=false;
}
}
}
if (oElement.getAttribute("CCNUMBER")!=null && oElement.getAttribute("CCNUMBER")){
oElement.onkeypress=function(){
var amex=this.getAttribute("AMEX");
var sKey=String.fromCharCode(event.keyCode);
var maxLength=19;
if (amex == true) maxLength=17;
if ((!digit.test(sKey))||(this.value.length==maxLength)) {
event.returnValue=false;
return false;
}
this.onkeyup();
}
oElement.onkeyup=function(){
this.restore();
var amex=this.getAttribute("AMEX");
if (amex == true)
this.value=formatAmexCCNumber(this.value);
else
this.value=formatCCNumber(this.value);
}
}
if (oElement.getAttribute("TURKCELLNO")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!digit.test(sKey))||(this.value.length==7))
event.returnValue=false;
this.restore();
}
}
if (oElement.getAttribute("DGTURKNO")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!digit.test(sKey))||(this.value.length==10))
event.returnValue=false;
this.restore();
}
}
if (oElement.getAttribute("SHORTNAME")!=null) {
oElement.onkeypress=function(){shname_onkeypr(event)};
}
if (oElement.getAttribute("NONTURKISHCAPSLOCK")!=null) {
oElement.onkeypress=function(){
if (oElement.getAttribute("SHORTNAME")!=null){
if (!shname_onkeypr(event)) return false;
if (event.returnValue != undefined && !event.returnValue) return false;
}
var sKey=String.fromCharCode(event.keyCode);
if (!reg_nonturkish_capslock.test(sKey)) event.returnValue=false;
this.value=this.value.toUpperCase();
}
oElement.onkeyup=function(){
this.restore();
this.value=this.value.toUpperCase();
}
oElement.onblur=function(){
this.value=this.value.toUpperCase();
}
}
if (oElement.getAttribute("USERID")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_userid.test(sKey)) event.returnValue=false;
this.value=this.value.toUpperCase();
}
oElement.onkeyup=function(){
this.restore();
this.value=this.value.toUpperCase();
}
oElement.onkeydown=function(){
if(event.shiftKey) event.returnValue=false;
if(event.ctrlKey) event.returnValue=false;
}
oElement.onblur=function(){
this.value=this.value.toUpperCase();
}
oElement.oncontextmenu=function(){
return false;
}
}
if (oElement.getAttribute("INTEGER")!=null && oElement.getAttribute("INTEGER")){
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((digit_nozero.test(this.value + sKey)) && ((this.maxLength == null) || (parseInt(this.maxLength) > this.value.length))) {
this.value=this.value + sKey;
}
event.returnValue=false;
return false;
}
oElement.onkeyup=function(){
this.restore();
}
}
if (oElement.getAttribute("ZEROINTEGER")!=null && oElement.getAttribute("ZEROINTEGER")){
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!digit.test(sKey)) {
event.returnValue=false;
return false;
}
}
oElement.onkeyup=function(){
this.restore();
}
}
if (oElement.getAttribute("ANUMERICNONTURKISH")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_anumericnonturkish.test(sKey))
event.returnValue=false;
}
}
if (oElement.getAttribute("EMAIL")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_email.test(sKey))
event.returnValue=false;
}
}
if (oElement.getAttribute("PLAQUE")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if ((!reg_plaque.test(sKey))||(!reg_plaque2.test(sKey))) event.returnValue=false;
this.value=this.value.toUpperCase();
}
oElement.onkeyup=function(){
this.restore();
this.value=this.value.toUpperCase();
}
oElement.onblur=function(){
this.value=this.value.toUpperCase();
}
}
if (oElement.getAttribute("EFTACCOUNTNO")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_eft_accountno.test(sKey)) event.returnValue=false;
this.value=this.value.toUpperCase();
}
oElement.onkeyup=function(){
this.restore();
this.value=this.value.toUpperCase();
}
oElement.onblur=function(){
this.value=this.value.toUpperCase();
}
}
if (oElement.getAttribute("MAXIMUMLENGTH")!=null) {
oElement.onkeypress=function(){
var sAmtDelimiter=this.getAttribute("MAXIMUMLENGTH");
if(sAmtDelimiter!=null && sAmtDelimiter && !isNaN(sAmtDelimiter)){
if(this.value.length > parseInt(sAmtDelimiter)){
event.returnValue=false;
return false;
}
}
else{
return true;
}
}
}
if (oElement.getAttribute("TURKISHCAPSLOCK")!=null) {
oElement.onkeypress=function(){
if (oElement.getAttribute("SHORTNAME")!=null){
if (!shname_onkeypr(event)) return false;
if (event.returnValue != undefined && !event.returnValue) return false;
}
var sKey=String.fromCharCode(event.keyCode);
while(this.value != this.value.replace('i','\u0130')){
this.value=this.value.replace('i','\u0130');
}
sKey=sKey.replace('i','\u0130');
this.value=this.value.toUpperCase();
if (!reg_turkish_capslock.test(sKey)){
event.returnValue=false;
}
}
oElement.onkeyup=function(){
this.onkeypress();
}
oElement.onblur=function(){
this.onkeypress();
}
}
if (oElement.getAttribute("CREDITNAME")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_credit_name.test(sKey)){
event.returnValue=false;
return false;
}
}
}
if (oElement.getAttribute("ACCOUNTNOALFA3")!=null) {
oElement.onkeypress=function(){
var sKey=String.fromCharCode(event.keyCode);
if (!reg_accountno_alfa.test(sKey)){
event.returnValue=false;
return false;
}
}
}
if (oElement.getAttribute("VIRTUALPASSWORD")!=null) {
oElement.onkeypress=function(){
if(event.keyCode==13) return true;
else return false;
}
oElement.onkeydown=function(){
if(event.keyCode==13) return true;
else return false;
}
oElement.oncontextmenu=function(){
return false;
}
}
oElement.paint=function(){
var sColor="#FFFFC0";
if (!sColor){
this.setAttribute("oldClass", this.className);
this.className="invalid";
}else{
this.setAttribute("bg", this.style.backgroundColor);
this.style.backgroundColor=sColor;
}
}
oElement.restore=function () {
var sBG=this.getAttribute("bg");
if (sBG!=null) {
this.style.backgroundColor=sBG;
this.removeAttribute("bg");
}else{
var sOldClass=this.getAttribute("oldClass");
if (sOldClass!=null){
this.className=sOldClass;
this.removeAttribute("oldClass");
}
}
}
oElement.valid=function (){
var sType=this.type;
if(sType=="text" || sType=="textarea" || sType=="file"){
if(this.form.getAttribute("notrim")==null)
this.value=this.value.trim();
if(this.form.getAttribute("ssi")==null){
while (this.value.search("<!-"+"-#") > -1)
this.value=this.value.replace("<"+"!--#", "<"+"!--");
}
}
if(this.getAttribute("REQUIRED")!=null && this.getAttribute("REQUIRED") && !this.value){
_err.add(this, _validation.REQUIRED, null);
return false;
}
var sFloatDelimiter=this.getAttribute("float");
var bSigned=this.getAttribute("signed")!=null;
if (sFloatDelimiter!=null && this.value){
sFloatDelimiter=(sFloatDelimiter==",")?",":"\\.";
var re=new RegExp("^("+((bSigned)?"[\\-\\+]?":"")+"(\\d*"+sFloatDelimiter+"?\\d+)|(\\d+"+sFloatDelimiter+"?\\d*))$");
if (!re.test(this.value)){
_err.add(this, _validation.FLOAT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("amount");
if (sAmtDelimiter!=null && this.value){
sAmtDelimiter=(sAmtDelimiter==",")?",":"\\.";
var re=new RegExp("^"+((bSigned)?"[\\-\\+]?":"")+"\\d+("+sAmtDelimiter+"\\d{2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("CCNUMBER");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{4}(-\\d{4})*$");
var reamex=new RegExp("^\\d{4}-\\d{6}-\\d{5}$");
var isAmex=(this.getAttribute("AMEX") == true);
if (this.disabled == false)
{
if((isAmex&&(!reamex.test(this.value))) || (!isAmex&&(!re.test(this.value))))
{
_err.add(this, _validation.CCNUMBER, null);
return false;
}
if ((isAmex&&(this.value.length!=17))||(!isAmex&&(this.value.length!=19)))
{
_err.add(this, _validation.CCNUMBER, null);
return false;
}
}
}
var sAmtDelimiter=this.getAttribute("TURKCELLNO");
if (sAmtDelimiter!=null && this.value){
if (this.disabled == false)
{
if (this.value.length!=7)
{
_err.add(this, _validation.TURKCELLNO, null);
return false;
}
}
else
{
return true;
}
}
var sAmtDelimiter=this.getAttribute("MAXIMUMLENGTH");
if(sAmtDelimiter!=null && sAmtDelimiter && !isNaN(sAmtDelimiter)){
if(this.value.length > parseInt(sAmtDelimiter)){
_err.add(this, _validation.MAXIMUMLENGTH, null);
return false;
}
}
else{
return true;
}
var sAmtDelimiter=this.getAttribute("DGTURKNO");
if (sAmtDelimiter!=null && this.value){
if (this.value.length!=10)
{
_err.add(this, _validation.DGTURKNO, null);
return false;
}
else
{
return true;
}
}
var sAmtDelimiter=this.getAttribute("SHORTNAME");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
if( (!shortname.test(this.value)) || (!shortname2.test(this.value)) || (!shortname3.test(this.value)) ){
_err.add(this, _validation.SHORTNAME, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("NONTURKISHCAPSLOCK");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
var regexp=new RegExp("[A-Z]*$");
this.value=this.value.toUpperCase();
if( !regexp.test(this.value)){
_err.add(this, _validation.NONTURKISHCAPSLOCK, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("USERID");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
var regexp=new RegExp("[0-9a-zA-Z]*$");
this.value=this.value.toUpperCase();
if( !regexp.test(this.value)){
_err.add(this, _validation.USERID, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTTRL_WITHOUT_BLUR");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTTRL");
if (ytlFormatFlag == 1){
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
} else {
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTTRLZERO");
if (ytlFormatFlag ==1 ){
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
} else {
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTFXZERO");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTFX");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("AMOUNT3FX");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})*(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("AMOUNTCC");
if (sAmtDelimiter!=null && this.value){
var re=new RegExp("^\\d{1,3}(.\\d{3})(,\\d{0,2})?$");
if(!re.test(this.value)){
_err.add(this, _validation.AMOUNT, null);
return false;
}
}
if (this.getAttribute("INTEGER")!=null && this.value){
var re=new RegExp("^[12346789]\\d*$");
if (!re.test(this.value)){
_err.add(this, _validation.INTEGER, null);
return false;
}
}
if (this.getAttribute("ZEROINTEGER")!=null && this.value){
var re=new RegExp("^\\d\\d*$");
if (!re.test(this.value)){
_err.add(this, _validation.INTEGER, null);
return false;
}
}
var sFormat=this.getAttribute("DATE");
if (sFormat!=null && this.value) {
var DATEday=this.value - 0;
var DATEmonth=this.name;
DATEmonth=DATEmonth.substring(0,DATEmonth.length-3) + "Month";
DATEmonth=eval('document.forms[0].'+ DATEmonth + ".value");
DATEmonth=DATEmonth - 0;
var DATEyear=this.name;
DATEyear=DATEyear.substring(0,DATEyear.length-3) + "Year";
DATEyear=eval('document.forms[0].'+ DATEyear + ".value");
DATEyear=DATEyear - 0;
if ((DATEday==31)&&((DATEmonth==4)||(DATEmonth==6)||(DATEmonth==9)||(DATEmonth==11)))
{
_err.add(this, _validation.DATE, null);
return false;
}
if ((DATEday>28)&&(DATEmonth==2) && ((DATEyear%4)!=0) )
{
_err.add(this, _validation.DATE, null);
return false;
}
}
var sFormat=this.getAttribute("DATEPASSWORD");
if (sFormat!=null && this.value) {
var DATEday=this.value - 0;
var DATEmonth=this.name;
DATEmonth=DATEmonth.substring(0,DATEmonth.length-3) + "Month";
DATEmonth=eval('document.forms[0].'+ DATEmonth + ".value");
DATEmonth=DATEmonth - 0;
if ((DATEday==31)&&((DATEmonth==4)||(DATEmonth==6)||(DATEmonth==9)||(DATEmonth==11)))
{
_err.add(this, _validation.DATE, null);
return false;
}
}
var sMask=this.getAttribute("mask");
if(sMask && this.value){
var sPattern=sMask.replace(
/(\$|\^|\*|\(|\)|\+|\.|\?|\\|\{|\}|\||\[|\])/g,"\\$1");
sPattern=sPattern.replace(/9/g ,"\\d");
sPattern=sPattern.replace(/x/ig,".");
sPattern=sPattern.replace(/z/ig,"\\d?");
sPattern=sPattern.replace(/a/ig,"[A-Za-z]");
var re=new RegExp("^"+sPattern+"$");
if(!re.test(this.value)){
_err.add(this, _validation.MASK, sMask);
return false;
}
}
var sAmtDelimiter=this.getAttribute("ANUMERICNONTURKISH");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
if( !reg_anumericnonturkish.test(this.value)){
_err.add(this, _validation.ANUMERICNONTURKISH, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("EMAIL");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
if( !reg_email.test(this.value)){
_err.add(this, _validation.EMAIL, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("PLAQUE");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
var regexp=new RegExp("[a-zA-Z]*$");
this.value=this.value.toUpperCase();
if( !reg_plaque.test(this.value)){
_err.add(this, _validation.PLAQUE, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("EFTACCOUNTNO");
if (sAmtDelimiter!=null && this.value && this.value!="" ){
var regexp=new RegExp("^[a-zA-Z0-9\-]*$");
this.value=this.value.toUpperCase();
if( !reg_eft_accountno.test(this.value)){
_err.add(this, _validation.EFTACCOUNTNO, null);
return false;
}
}
var sAmtDelimiter=this.getAttribute("TURKISHCAPSLOCK");
if (sAmtDelimiter!=null ){
if (this.value && this.value!="" ){
var regexp=new RegExp("[A-Z\u00C7\u0130\u011E\u00D6\u015E\u00DC]*$");
this.value=this.value.toUpperCase();
if(!regexp.test(this.value)){
_err.add(this, _validation.TURKISHCAPSLOCK, null);
return false;
}
} else {
_err.add(this, _validation.TURKISHCAPSLOCK, null);
return false;
}
}
var sRegexp=this.getAttribute("REGEXP");
if(sRegexp && this.value){
var re=new RegExp(sRegexp);
if(!re.test(this.value)){
_err.add(this, _validation.MASK, sRegexp);
return false;
}
}
var sAnd=this.getAttribute("and");
if(sAnd && this.value){
var aAnd=sAnd.split(/,/);
var i, iFields=aAnd.length;
for(i=0; i<iFields; i++){
var oNewElement=this.form.elements[aAnd[i]];
if(oNewElement && oNewElement.value.trim()==""){
_err.add(oNewElement, _validation.REQUIRED, null);
return false;
}
}
}
var sOr=this.getAttribute("or");
if(sOr && this.value==""){
var aOr=sOr.split(/,/);
var i, iFields=aOr.length;
var oNewElement, bAccum=false;
for(i=0; i<iFields; i++){
oNewElement=this.form.elements[aOr[i]];
if(oNewElement)
bAccum |= !!oNewElement.value.trim();
}
if(!bAccum){
_err.add(this, _validation.REQUIRED, null);
return false;
}
}
if(this.onvalidate && this.onvalidate()==false)
return false;
return true;
}
oElement.bProcessed=true;
}
}
}
}
if("".replace && document.body && document.body.getAttribute){
String.prototype.trim=function (){
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.reformat=function (sLANG,iType){
var sString=this.valueOf();
if (iType==_validation.DATE && _validation.messages[sLANG]) {
sString=sString.replace(/MM/,_validation.messages[sLANG].MM);
sString=sString.replace(/DD/,_validation.messages[sLANG].DD);
sString=sString.replace(/YYYY/,_validation.messages[sLANG].YYYY);
}
return sString;
}
if(document.forms){
this.setup();
var i, iForms=document.forms.length;
for(i=0; i<iForms; i++){
var oForm=document.forms[i];
if(oForm.getAttribute("mark")!=null)
oForm.markREQUIRED();
}
}
}
}
_validation=new Validation;
_err=new Err;

