// powered by ajax.js

// ad hoc
function callCheckNickname(obj) { 
	//NOOP!
	if ( obj.value == null || obj.value.length < 4) {
		return;
	}
	document.getElementById('simpleCheckNickname').elements["nickname"].value=obj.value;
	execute(document.getElementById('simpleCheckNickname'), onCheckNickname, {name: 'onCheckEmail', target:"nickname", message: "El nickname ya se encuentra registra, elegi otro."});
}
// ad hoc
function callCheckEmail(obj) { 
	document.getElementById('simpleCheckEmail').elements["email"].value=obj.value;
	execute(document.getElementById('simpleCheckEmail'), onCheckEmail, {name:'onCheckEmail', hiddenResetPassword:'hiddenResetPassword', target:"email", message:"El email ya se encuentra registrado, usa otro, o clickea en cambiar password."});
}
// ad hoc
function onCheckNickname(response, params ) { 
	var e = eval(response);
	if ( e ) { 
		displayError(params);
		visible(params.hiddenResetPassword);
	} else {
		removeError(params)
	}
}

function onCheckEmail( response, params){
	var e = eval(response);
	if ( e ) { 
		displayError(params);
		visible(params.hiddenResetPassword);
	} else {
		removeError(params)
	}
}

function displayError(params) { 
	var parent = document.getElementById('ajaxErrors-ul');

	var liName = params.target + '-li';

	var child = document.getElementById(liName);
	
	visible(params.target + '-image-error');

	if ( child == null ) {
		child = buildLI(liName);
		child.appendChild(buildText(params.message))
		parent.appendChild(child);
	}
	classError(params.target + '-label');
}

function removeError(params) {
	var parent = document.getElementById('ajaxErrors-ul');
	var liName = params.target + '-li';
	var child = document.getElementById(liName);
	if ( child ) {
		parent.removeChild(child);
	}
	hide(params.target + '-image-error');
	classOk(params.target + '-label');
}


function buildLI(id){
	var li  =document.createElement("LI")
	li.id=id;
	return li;
}

function buildText(text){
	return document.createTextNode(text);
}

function execute( target, callback, params) {
	var event = {};
	if ( params == null) {
		params = {};
	}
	params.originalCallback = callback;
	hide(params.target + '-image-error');
	hide(params.target + '-java-error')
	visible(params.target + '-image-loading');
	submitAndExecute(target,event, registrationDefaultCallback, params)
}

function classError(name) { 
	var obj = document.getElementById(name);
	obj.className = 'rojo';
}

function classOk(name) { 
	var obj = document.getElementById(name);
	obj.className = obj.className.replace(/rojo/,'');
}

function visible(name){
	var obj = document.getElementById(name);
	obj.className = obj.className.replace(/hide/,'');
}

function hide(name){
	var obj = document.getElementById(name);
	if ( obj )
		obj.className = 'hide';
}

function registrationDefaultCallback(response, params) {
	hide(params.target + '-image-loading');
	params.originalCallback(response, params);
}

function showImage(name, params) { 
//	params.image = document.createElement("img");
//	params.image.src = 'http://static.paragastar.com/images/ajax-loader.gif'; //configuracion dura!
//	document.getElementById(params.name).innerHTML="";
//	document.getElementById(name).appendChild(params.image);
	
}

function dropImage(name, params) {
	$(name).removeChild(params.image);
}

