base.validate=function()
{
	this.inputs = new Array();
	return this.addControls();
};

market=function(obj,val){
	if(!val) obj.style.borderColor = base.validate.prototype.errColor; else obj.style.borderColor = "";
};

max=function(obj,val){
	var r = val.split(':');
	if(obj.value.length > r[1]) return false; else return true;
};

max=function(obj,val){
	var r = val.split(':');
	if(obj.value.length > r[1]) return false; else return true;
};

min=function(obj,val){
	var r = val.split(':');
	if(obj.value.length < r[1]) return false; else return true;
};

req=function(obj){
	if(obj.value.length == 0) return false; else return true;
};

mail=function(obj){
	var r = /^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/;
	if(!obj.value.match(r)) return false; else return true;
};

tel=function(obj){
	var r = /[-\( \/]*(0{1})?[-\)\( \/]*([\d]{3})[-\) \/]*([1-9]{1})([\d]{2})[- \/]*([\d]{2})[- \/]*([\d]{2})+$/;
	if(!obj.value.match(r)) return false; else return true;
};

money=function(obj){
	var r = /^(\d|-)?(\d|,)*\.?\d*$/;
	if(!obj.value.match(r)) return false; else return true;
};

moneyc=function(obj){
	var r = /^(\d{1,3}(\.\d{2})?,)*(\d{1,3}(\.\d{2})?)$/;
	if(!obj.value.match(r)) return false; else return true;
};

colorhc=function(obj){
	var r = /^-$|^(#+[A-Za-z0-9]{6}|#[+A-Za-z0-9]{6},(?=#+[A-Za-z0-9]{6}))+$/;
	if(!obj.value.match(r)) return false; else return true;
};

sizec=function(obj){
	var r = /^-$|^([SXMLsxml0-9]{1,3}|[SXMLsxml0-9]{1,2},(?=[SXMLsxml1-9]{1,3}))+$/;
	if(!obj.value.match(r)) return false; else return true;
};

captcha=function(obj){
	var r = /[0-9A-F]{6}/;
	if(!obj.value.match(r)) return false; else return true;
};

number=function(obj){
	var r = /[0-9]/;
	if(!obj.value.match(r)) return false; else return true;
};

creditnum=function(obj){
	var r = /^((4\d{3})|(5[1-5]\d{2}))[ -]?(\d{4}[ -]?){3}$|^(3[4,7]\d{2})[ -]?\d{6}[ -]?\d{5}$/;
	if(!obj.value.match(r)) return false;
	ccnum = obj.value.split("-").join("");
	ccnum = ccnum.split(" ").join("");
	obj.value = ccnum;
	var checksum = 0;
	for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
	checksum += parseInt(ccnum.charAt(i-1));
	}
		for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
		var digit = parseInt(ccnum.charAt(i-1)) * 2;
		if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
	}
	if ((checksum % 10)==0) return true; else return false;
};

base.validate.prototype.kp=function(e){
	e=(e)?e:window.event;
	var k=e.keyCode?e.keyCode:e.which;
	if (e.which==0||k==8){return true;};
	var obj=(e.target)?e.target:e.srcElement;
	var s=obj.getAttribute("_limited");
	var r=eval("base.validate.prototype." + s);
	if (r)
	{
		if(!r.test(String.fromCharCode(k))){
			if(e.stopPropagation)e.stopPropagation();
			if(e.preventDefault)e.preventDefault();
			e.cancelBubble=true;
			e.returnValue=false;
			return false;
		}
	}
};

base.validate.prototype.foo=function(e){
	var obj=base.utils.getSrcElement(e);
	obj.style.backgroundColor="transparent";
};

base.validate.prototype.fi=function(e){
	var obj=base.utils.getSrcElement(e);
	obj.style.backgroundColor=base.validate.prototype.backColor;
};

chk=function(obj){
	var s=obj.getAttribute("_validate");
	if(!s){return true;}
	var r = s.split(';');
	for (i=0;i<r.length;i++){
		var f = r[i].substr(0,3);
		switch(f){
			case "max":obj.validate[i]=max(obj,r[i]);break;
			case "min":obj.validate[i]=min(obj,r[i]);break;
			default: obj.validate[i]=eval(r[i]+"(obj)");break;
		}
		if (!obj.validate[i]){return false;}
	}
	return true;
};

base.validate.prototype.fo=function(e){
	var obj=base.utils.getSrcElement(e);
	var sonuc = chk(obj);
	obj.style.backgroundColor='transparent';
	market(obj,sonuc);
};

base.validate.prototype.addControls=function(){
	var d=new Array("input","select","textarea");
	for(x=0;x<d.length;x++){
		da=document.getElementsByTagName(d[x]);
		for (i=0;i<da.length;i++){
			co=da[i];
			var v=co.getAttribute("_validate");
			if(v)
			{
				if (v=="non")
				{
					base.utils.addHandler(co,"blur",this.foo);
					base.utils.addHandler(co,"focus",this.fi);
				}
				else
				{
					var e=this.inputs.push(co.id);
					var r = v.split(';');
					co.validate = new Array(r.length);
					base.utils.addHandler(co,"blur",this.fo);
					base.utils.addHandler(co,"focus",this.fi);
				}
			}
			var l=co.getAttribute("_limited");
			if(l)
			{
				base.utils.addHandler(co,"keypress",this.kp);
			}
		}
	}
	return true;
};

base.validate.prototype.getControls=function(erbox){
	var focus = false;
	var erros = "";
	try
	{
		var d=new Array("input","select","textarea");
		for(x=0;x<d.length;x++){
			da=document.getElementsByTagName(d[x]);
			for (z=0;z<da.length;z++){
				r=da[z];
				if (!chk(r)){
					market(r,false); 
					var t=r.getAttribute("_errtext");
					if(t){ erros += "- " + t + "<br/>"; }
					if(!focus){r.focus(); if (r.select)r.select(); focus=true;}
				}
			}
		}
		var erbox = $(erbox);
		var conta = $("#container");
		if (conta)
		{
			conta.css("position", "absolute");
			conta.css("position", "relative");
		}
		if (erbox) { if (focus) erbox.html(erros); else erbox.html(""); }
	}
	catch(err) { return false; }
	return !focus;
	//alert(err.description);
};

base.validate.prototype.backColor="#313131";
base.validate.prototype.errColor="#FF4848";
base.validate.prototype.cm=/[a-zA-Z0-9-ýðüþçöÝÜÞÖÇÐ.,#]/;
base.validate.prototype.c=/[a-zA-Z0-9ýðüþçöÝÜÞÖÇÐ ]/;
base.validate.prototype.co=/[a-zA-ZýðüþçöÝÜÞÖÇÐ ]/;
base.validate.prototype.addr=/[a-zA-Z0-9-ýðüþçöÝÜÞÖÇÐ .,/():]/;
base.validate.prototype.no=/[0-9]/;
base.validate.prototype.now=/[0-9.,]/;
base.validate.prototype.tel=/[0-9 ()-]/;
base.validate.prototype.mail=/[a-zA-Z0-9-@._]/;
base.validate.prototype.url=/[a-zA-Z0-9-/._:]/;
base.validate.prototype.KurumSicilNo=/[0-9-]/;
base.validate.prototype.EmekliSicilNo=/[0-9.]/;
base.validate.prototype.TcNo=/([0-9]{11,11})/;
base.validate.prototype.captcha=/[0-9A-F]/;
base.validate.prototype.credit=/[0-9 -]/;