var lmode;
var cmode;
var fname;
var insubmit=0;
var fullsubmit=0;

function createQuery(field) {
	var reamp=new RegExp('&','ig')
    var uf=document.forms[fname]
	var qstr=''
	for(var i=0;i<uf.elements.length;i++) {
	    if(document.getElementById(uf.elements[i].name+'_status')) {
	    	if((fullsubmit==1)||(field.name==uf.elements[i].name)) {
	    		document.getElementById(uf.elements[i].name+'_status').innerHTML=udf_errors['checking'];
	    		document.getElementById(uf.elements[i].name+'_status').className='checkform';
	    		if(field.name==uf.elements[i].name) {
	    			cmode=i
	    		}
		    }
	    	ertek=uf.elements[i].value
	    	ertek=ertek.replace(reamp,escape('&'))
	    	qstr+='&'+uf.elements[i].name+'='+ertek
		}
	}
	return qstr
}

function udf_success(result) {
	window.location='index.php?pg=register_success'
}
	
function checkForm(formname,field,success,result) {
    if(success!='') {
	    ezeket=document.forms[fname].elements
	    var elsorossz=0
	    for(var i=0;i<ezeket.length;i++) {
	    	if(ezeket[i].name == 'hozzajarul') {
	    		if(!document.getElementById('hozzajarul').checked) {
//	    			alert(document.getElementById('hozzajarul').checked);
	    			elsorossz=i;
	    			success=0;
	    			if(fullsubmit==1) {
	    				document.getElementById('hozzajarul_div').style.border='1px #FF0000 solid';
	    				document.getElementById('hozzajarul_stat').style.display='block';
	    			}
	    		}
	    		else {
	    			if(fullsubmit==1) {
	    				document.getElementById('hozzajarul_div').style.border='0px';
	    				document.getElementById('hozzajarul_stat').style.display='none';
	    			}
	    		}
    		}
	    	s_ez=getCheckStatus(result,ezeket[i].name)
	    	if((s_ez!==false)&&(document.getElementById(ezeket[i].name+'_status'))) {
	    		if(ezeket[i].type=='password') {
	    			if((ezeket[i].name=='p2')&&(s_ez==1)) {
	    				ezt='conf'
	    			}
	    			else {
	    				ezt='pass'
	    			}
	    		}
	    		else {
	    			ezt=ezeket[i].name;
	    		}
	    	    if(s_ez<1) {
	    	    	document.getElementById(ezeket[i].name+'_status').className='error'
	    	    	elsorossz=elsorossz==0?i:elsorossz
	    	    }
	    	    else {
	    	    	document.getElementById(ezeket[i].name+'_status').className='checkform'
	    	    }
	    	    if((fullsubmit==1)||((ezeket[cmode].type=='password')&&(ezeket[i].type=='password'))||(i==cmode)) {
	    	    	document.getElementById(ezeket[i].name+'_status').innerHTML=udf_errors[ezt+'_'+s_ez]
	    	    }
		    }
		}
	    document.getElementById('udf_checking').style.display='none'
	    if((success=='1')&&(fullsubmit==1)) {
//	    	alert('Saving...');
	    	document.getElementById('udf_saving').style.display='inline'
	    	fullsubmit=0
	    	callback='udf_success'
	    	qstr='mode=saveform&form_action='+document.forms[fname].form_action.value+createQuery('');
	    	var raj=new _neoAjax(callback);
	    	raj.postXML('user_includes/ajax/_ajax.php?module=auth',qstr);
	    	document.forms['userdataform'].submit()
		}
	    else {
	    	insubmit=0
	    	document.getElementById('udf_submit').style.display='inline'
	    	if(fullsubmit==1) {
	    		document.forms[fname].elements[elsorossz].focus()
	    		document.forms[fname].elements[elsorossz].select()
	    		fullsubmit=0
		    }
//		return false;
		}
    }
    else if(insubmit==0) {
	    document.getElementById('udf_submit').style.display='none'
	    document.getElementById('udf_checking').style.display='inline'
	    insubmit=1
	    cmode=0
	    fname=formname
	    callback='checkformcallback'
	    var qstr;
	    qstr='mode=checkform&form_action='+document.forms[fname].form_action.value+createQuery(field);
        var raj=new _neoAjax(callback);
	    raj.postXML('user_includes/ajax/_ajax.php?module=auth',qstr);
    }
}
	
function getquery(mode,success) {
    if(success!='') {
	    document.getElementById(lmode+'progress').style.display='none';
	    if(success=='0') {
	    	if(lmode=='login') {
	    		document.forms['loginform'].password.value=''
		    }
	    	document.forms[lmode+'form'].username.select();
	    	document.forms[lmode+'form'].username.focus();
	    	document.getElementById(lmode+'error').style.display='inline';
	    	setTimeout('end_loginerror()',2500);
		}
	    else {
	    	document.getElementById(lmode+'error').style.display='none';
	    	document.getElementById(lmode+'success').style.display='inline';
	    	if(lmode=='login') {
	    		setTimeout('window.location.href=window.location.href',500)
//		    alert('He');
		    }
	    	else {
	    		setTimeout('clearforgot()',5000)
		    }
		}
    }
    else {
		lmode=mode
		document.getElementById(mode+'button').style.display='none';
		document.getElementById(mode+'progress').style.display='inline';
		callback='logincallback'
		var un=document.forms[mode+'form'].username.value
		var reamp=new RegExp('&','ig')
		un=un.replace(reamp,escape('&'))
		var qstr;
		qstr='mode='+mode+'&nick='+un+'&';
		if(mode=='login') {
		    qstr+='passwd='+document.forms['loginform'].password.value.replace(reamp,escape('&'));
		}
		else if(mode=='forgot') {
		    qstr+='email='+document.forms['forgotform'].email.value.replace(reamp,escape('&'));
		}
		var laj=new _neoAjax(callback);
        laj.postXML('user_includes/ajax/_ajax.php?module=auth',qstr);
    }
}
    
function logincallback(result) {
	var success;
	if(result.getElementsByTagName('success')[0]) {
    	success=result.getElementsByTagName('success')[0].firstChild.data;
	}
    getquery('',success)
}

function checkformcallback(result) {
	var success;
	if(result.getElementsByTagName('success')[0]) {
    	success=result.getElementsByTagName('success')[0].firstChild.data;
	}
    checkForm('','',success,result);
}

function clearforgot() {
	var ff=document.forms['forgotform']
	ff.username.value=''
	ff.email.value=''
	document.getElementById('forgotcont').style.display='none'
	document.getElementById(lmode+'success').style.display='none';
	document.getElementById(lmode+'button').style.display='inline';
}
	
function end_loginerror() {
	document.getElementById(lmode+'error').style.display='none';
	document.getElementById(lmode+'button').style.display='inline';
}
    
function getCheckStatus(doc,tn) {
	if(doc.getElementsByTagName(tn)[0]) {
	    return doc.getElementsByTagName(tn)[0].firstChild.data;
    }
	else {
	    return false;
	}
}
