function FormCheckInit(form){
	setTimeout('FormCheckInitWork(\''+form+'\')',100);
}

function FormCheckInitWork(form){
	if (isString(form))
		form=getId(form);
	var a=form.getElementsByTagName('INPUT');
	for(var i=0; i<a.length; i++)
		if ((a[i].type=='text')||(a[i].type=='password')){
		    /*a[i].onkeyup=new Function("e","FormCheckInput(this)");*/
			FormCheckInput(a[i]);
		}else if ((a[i].type=='checkbox')){
		    /*a[i].onclick=new Function("e","FormCheckInput(this)");*/
			FormCheckInput(a[i]);
		}
}

function FormCheckTest(form){
	if (isString(form))
		form=getId(form);
	var a=getElementsByClassName(form,'*','errorwin');
	for(var i=0; i<a.length; i++)
		if (!parseClassesContain(a[i].className,'hide'))
			return false;
	return true;
}

function FormCheckInput(obj,objcol){
    if (isString(objcol))
		objcol=getId(objcol);
		
	var errors=new Array();
	
	if (parseClassesContain(obj.className,'cc_atleast4')){
		if (obj.value.length<4) 
			if ((!objcol)||(objcol.value.length<4)) 
				errors.push('err_short');
	}
	if (parseClassesContain(obj.className,'cc_atleast1')){
		if (obj.value.length<1){
			errors.push('err_short');
			errors.push('err_empty');
		}
	}
	if (parseClassesContain(obj.className,'cc_pass')){
		if (!objcol)
			obj.value='';
		else
			if (obj.value!=objcol.value) errors.push('err_notsame');
	}
	if (parseClassesContain(obj.className,'cc_email')){
		r=new RegExp('^\\w(\\w|-|\\.)*@(\\w|-|\\.)+\\.\\w+$');
		if (obj.value.match(r)==null) errors.push('err_notemail');
	}
	if (parseClassesContain(obj.className,'cc_phone')){
		r=new RegExp('^((\\+|00){0,1}\\d{3} {0,1}){0,1}\\d{3} {0,1}\\d{3} {0,1}\\d{3}$');
		if (obj.value.match(r)==null) errors.push('err_notphone');
	}
	if (parseClassesContain(obj.className,'cc_postal')){
		r=new RegExp('^\\d{3} {0,1}\\d{2,3}$');
		if (obj.value.match(r)==null) errors.push('err_notpostal');
	}
	if (parseClassesContain(obj.className,'cc_login')){
		r=new RegExp('^\\w*$');
		if (obj.value.match(r)==null) errors.push('err_notvalid');
	}
	if (parseClassesContain(obj.className,'cc_rc')){
		r=new RegExp('^\\d\\d\\d\\d\\d\\d\\d*$');
		if (obj.value.match(r)==null) errors.push('err_notvalid');
	}
	if (parseClassesContain(obj.className,'cc_checked')){		
		if (!obj.checked) errors.push('err_notchecked');
	}
		
	var index=MyOrderNum(obj);
	var parent=obj.parentNode;
	for(var i=index+1; i<parent.childNodes.length; i++){
		t=parent.childNodes[i];
		if (isUndefined(t.className)) continue;
		if (parseClassesContain(t.className,'errorwin'))
		{
			showwin=false;
			for(var j=0; j<t.childNodes.length; j++){
				s=t.childNodes[j];
				if (isUndefined(s.className)) continue;
				show=false;
				for(var k=0; k<errors.length; k++)
					if (parseClassesContain(s.className,errors[k])){
						show=true;
						showwin=true;
						break;
					}
				SetDisplaying(s, show );
			}
			SetClass(t, showwin ? 'errorwin' : 'errorwin hide');
			return showwin;
		}
	}
	return true;
}
