/*Function.prototype.executePeriodically = function() {
	
	var s = this;
	
	if(typeof arguments[0].callee != 'undefined') {
		var arguments = arguments[0];
	} else {
		var arguments = arguments;
	}
	
	var delay = arguments[0];
	var timeToExecute = arguments[1];
	this.__INTERVAL__ = null;
	
	var args = [];
	for(var i = 2; i<arguments.length; i++) { args.push(arguments[i]); }
	
	s.apply(this,args);
	
	if(this.__INTERVAL__)
		clearTimeout(this.__INTERVAL__);
	
	if(--timeToExecute > 0) {
		this.__INTERVAL__ = setTimeout(function() {
			arguments[1] = timeToExecute;
			s.executePeriodically(arguments);
		},delay);
	}
	
	return s;
	
}
*/

function toggleRealTaskOptions() {
	
	if($('durationDiv').style.display == 'block' || $('durationDiv').style.display == '') {
		
		$('durationDiv').style.display = "none";
		Effect.Appear($('provinceDiv'));
		
	} else {

		$('provinceDiv').style.display = "none";
		Effect.Appear($('durationDiv'));
		
	}
	
	return true;
	
}

function toggleExtendedTask(taskid) {

	Effect.toggle($('taskinfo-' + taskid), 'blind', {duration: .5});

	if($('task-' + taskid).hasClassName('hidden')) {

		$('expand-icon-' + taskid).src = '/images/icons/control_eject_blue.png';
		$('expand-icon-' + taskid).title = 'Ocultar información';
		$('task-' + taskid).removeClassName('hidden');
		
	} else {
		
		$('expand-icon-' + taskid).src = '/images/icons/control_eject_blue_down.png';
		$('expand-icon-' + taskid).title = 'Mostrar información';
		$('task-' + taskid).addClassName('hidden');
		
	}

	return false;
	
}

function clearSelectElement(elem) {

	while(elem.hasChildNodes()) {
	  elem.removeChild(elem.firstChild);
	}

}

function updateSelectElement(json,elem) {
	
  for(var i=0;i<json.length;i++) {
    var opt = document.createElement('OPTION');
    var text = document.createTextNode(json[i].name);
    opt.setAttribute('value',json[i].id);
    opt.appendChild(text);
    elem.appendChild(opt);
  }

}

function resetSelectElement(elem) {
	
	
}

function showMessage(msg,type,delay) {

	if($('flash')) {
		
		$('flash').innerHTML = "";
		switch(type) {
		
			case "error":
				var header = "<span style='padding-bottom: 4px; font-size: 12px'><img src='/images/icons/error.png' class='icon'>&nbsp;Atención</span><hr width=100% noshade size=1 color='#FFF' />";
				break;
			case "info":
				var header = "<span style='padding-bottom: 4px; font-size: 12px'><img src='/images/icons/information.png' class='icon'>&nbsp;Info</span><hr width=100% noshade size=1 color='#FFF' />";
				break;
			case "ok":
				var header = "<span style='padding-bottom: 4px; font-size: 12px'><img src='/images/icons/accept.png' class='icon'>&nbsp;Correcto</span><hr width=100% noshade size=1 color='#FFF' />";
				break;
			case "ko":
				var header = "<span style='padding-bottom: 4px; font-size: 12px'><img src='/images/icons/delete.png' class='icon'>&nbsp;Error</span><hr width=100% noshade size=1 color='#FFF' />";
				break;
				
		}
		
		var g = new k.Growler();
		g.growl(msg,{header: header,sticky: false, speedin: 0.5});
		/*
		$('flash').innerHTML = content;
		Effect.Appear('flash',{duration: 1.5});
		setTimeout("Effect.Fade('flash',{duration: 1.5})",delay*5);
		*/
		
	}
	
	return false;
	
	
}

function checkUserAuth() {
	
	if(!$('sessioncheck')) {
		new Ajax.Request('/ajax/checkUserAuth',
				{
					method: 'post',
					onSuccess: function(transport) {
						var json = transport.responseText.evalJSON(true);
						if(json["status"] == "KO") {
							showMessage('Tu sesión ha caducado.',5000);
							window.location.replace("/voluntario/index");
						} else {
							timerId = setTimeout('checkUserAuth()',300000);
						}
							
					},
					onFailure: function() {
						showMessage('Error conectando con el servidor.');
					}
				});
	}
	
}


function deleteMessage(messageId) {
	
	$('delete-icon-' + messageId).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/deleteMessage',
			{
				method: 'post',
				parameters: {
					messageid: messageId
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se borro el mensaje correctamente.','ok',5000);
						Effect.Fade($('message-' + messageId));
					} else {
						showMessage(json['errorMsg'],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function deleteAttachment(attachmentId) {
	
	$('delete-icon-' + attachmentId).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/deleteAttachment',
			{
				method: 'post',
				parameters: {
					attachmentid: attachmentId
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se borro el adjunto correctamente.','ok',5000);
						Effect.Fade($('attachment-' + attachmentId));
						Effect.Appear($('attachment-field-' + attachmentId));
						$('noattachment').value = 1;
					} else {
						showMessage(json['errorMsg'],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function deleteDomain(domainId) {
	
	$('emaildomain-icon-' + domainId).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/deleteDomain',
			{
				method: 'post',
				parameters: {
					domainid: domainId
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se borro el dominio correctamente.','ok',5000);
						Effect.Fade($('emaildomain-' + domainId));
					} else {
						showMessage(json['errorMsg'],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function setRead(messageId) {
	
	$('unread-icon-' + messageId).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/changeMessageStatus',
			{
				method: 'post',
				parameters: {
					messageid: messageId,
					statusid: 16,
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se cambio el estado correctamente.','ok',5000);
						$('unread-link-' + messageId).href='javascript:setUnread(' + messageId + ');';
						$('unread-text-' + messageId).innerHTML = 'Marcar como nuevo';
						$('subject-' + messageId).removeClassName('unreadsubject');
						$('unread-icon-' + messageId).src = "/images/icons/email.png";
					} else {
						showMessage(json['errorMsg'],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function setUnread(messageId) {

	$('unread-icon-' + messageId).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/changeMessageStatus',
			{
				method: 'post',
				parameters: {
					messageid: messageId,
					statusid: 15,
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se cambio el estado correctamente.','ok',5000);
						$('unread-link-' + messageId).href='javascript:setRead(' + messageId + ');';
						$('unread-text-' + messageId).innerHTML = 'Marcar como leido';
						$('subject-' + messageId).addClassName('unreadsubject');
						$('unread-icon-' + messageId).src = "/images/icons/email_open.png";
					} else {
						showMessage(json['errorMsg'],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function subscribeTask(userId,taskId) {
	
	$('link-icon').src = '/images/ajax-loader.gif';

	new Ajax.Request('/ajax/subscribeTask',
	{
		method: 'post',
		parameters: {
			user: userId,
			task: taskId
		},
		onSuccess: function(transport) {
			var json = transport.responseText.evalJSON(true);
			if(json["status"] == "OK") {
				showMessage('Te incribiste en la tarea correctamente.','ok',5000);
				$('subscriptionLink').href='javascript:unsubscribeTask(' + userId + ',' + taskId + ');';
				$('subscriptionLink').innerHTML = 'borrarme de esta tarea';
				$('link-icon').src = "/images/icons/delete.png";
				$('commentslink').style.display="inline";
			} else {
				showMessage(json['errorMsg'],'ko',5000);
			}
				
		},
		onFailure: function() {
			showMessage('Error conectando con el servidor.','error',5000);
		}
	});
	
}

function unsubscribeTask(userId,taskId) {
	
	$('link-icon').src = '/images/ajax-loader.gif';

	new Ajax.Request('/ajax/unsubscribeTask',
			{
				method: 'post',
				parameters: {
					user: userId,
					task: taskId
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Te borraste de la tarea correctamente.','ok',5000);
						$('subscriptionLink').href='javascript:subscribeTask(' + userId + ',' + taskId + ');';
						$('subscriptionLink').innerHTML = 'inscribirme en esta tarea';
						$('link-icon').src = "/images/icons/add.png";
						$('commentslink').style.display="none";

						Effect.Fade($('taskactivity'));
						Effect.Fade($('taskusers'))
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function addBlock(ongid,userid) {
	
	$('block-icon-' + userid).src = '/images/ajax-loader.gif';
	$('block-text-' + userid).innerHTML = 'Bloqueando...';

	new Ajax.Request('/ajax/addBlock',
			{
				method: 'post',
				parameters: {
					ongid: ongid,
					userid: userid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Se bloqueo el usuario correctamente.','ok',5000);
						$('taskuser-' + userid).removeClassName('taskuser');
						$('taskuser-' + userid).addClassName('blockeduser');
						$('blocked-text-' + userid).innerHTML = ' (Bloqueado) ';
						$('block-text-' + userid).innerHTML = 'Desbloquear';
						$('block-link-' + userid).href = 'javascript:removeBlock(' + json["blockid"] + ',' + userid + ')';
						$('block-icon-' + userid).src ='/images/icons/accept.png';
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function removeBlock(blockid,userid) {
	
	$('block-icon-' + userid).src = '/images/ajax-loader.gif';
	$('block-text-' + userid).innerHTML = 'Desbloqueando...';

	new Ajax.Request('/ajax/removeBlock',
			{
				method: 'post',
				parameters: {
					blockId: blockid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se elimino el bloqueo correctamente.','ok',5000);
						if($('taskuser-' + json["userid"])) {
							$('taskuser-' + json["userid"]).removeClassName('blockeduser');
							$('taskuser-' + json["userid"]).addClassName('taskuser');
							$('blocked-text-' + json["userid"]).innerHTML = '';
							$('block-text-' + json["userid"]).innerHTML = 'Bloquear';
							$('block-link-' + json["userid"]).href = 'javascript:addBlock(' + json["ongid"] + ',' + json["userid"] + ')';
							$('block-icon-' + json["userid"]).src ='/images/icons/exclamation.png';
						} else {
							Effect.Fade($('block-' + blockid));
						}
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function rateUser(userid,rating,taskid) {
	
	$('rate-icon-' + userid).src = '/images/ajax-loader.gif';
	$('rate-text-' + userid).innerHTML = 'Valorando...';
	
	new Ajax.Request('/ajax/rateUser',
			{
				method: 'post',
				parameters: {
					userid: userid,
					rating: rating,
					taskid: taskid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Has valorado al usuario ' + json['nickname'] + ' con ' + rating + ' puntos karma','ok',5000);
						$('rated-text-' + userid).innerHTML = " (Valorado: " + rating + " puntos karma) ";
						$('karma-' + userid).innerHTML = json["karma"];
						$('rate-icon-' + userid).src = '/images/icons/award_star_add_off.png';
						$('rate-text-' + userid).innerHTML = 'Valorar';
//						$('rate-link-' + userid).href = "";
//						$('rate-link-' + userid).onclick = function(){return false;};
						$('ratingtool_' + userid).remove();
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function linkUser(id) {

	new Ajax.Request('/ajax/linkUser',
			{
				method: 'post',
				parameters: {
					id: id
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se vinculo el usuario correctamente.','ok',5000);
						Effect.Fade($('pending-' + id));
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function rejectUser(id) {

	new Ajax.Request('/ajax/rejectUser',
			{
				method: 'post',
				parameters: {
					id: id
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se rechazo el usuario correctamente.','ok',5000);
						Effect.Fade($('pending-' + id));
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function suspendUser(userid) {
	
	$('suspend-icon-' + userid).src = '/images/ajax-loader.gif';
	$('suspend-text-' + userid).innerHTML = 'Suspendiendo...';
	
	new Ajax.Request('/ajax/suspendUser',
			{
				method: 'post',
				parameters: {
					userId: userid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se suspendio el usuario correctamente.','ok',5000);
						$('suspend-icon-' + userid).src = '/images/icons/accept.png';
						$('suspend-text-' + userid).innerHTML = 'Activar';
						$('suspend-link-' + userid).href='javascript:activateUser(' + userid + ')';
						$('user-' + userid).removeClassName('filter');
						$('user-' + userid).addClassName('blockeduser');
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function activateUser(userid) {
	
	$('suspend-icon-' + userid).src = '/images/ajax-loader.gif';
	$('suspend-text-' + userid).innerHTML = 'Activando...';
	
	new Ajax.Request('/ajax/activateUser',
			{
				method: 'post',
				parameters: {
					userId: userid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se activo el usuario correctamente.','ok',5000);
						$('suspend-icon-' + userid).src = '/images/icons/error.png';
						$('suspend-text-' + userid).innerHTML = 'Suspender';
						$('suspend-link-' + userid).href='javascript:suspendUser(' + userid + ')';
						$('user-' + userid).removeClassName('blockeduser');
						$('user-' + userid).addClassName('filter');
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function deleteUser(userid) {
	
	$('delete-icon-' + userid).src = '/images/ajax-loader.gif';
	$('delete-text-' + userid).innerHTML = 'Borrando...';
	
	new Ajax.Request('/ajax/deleteUser',
			{
				method: 'post',
				parameters: {
					userId: userid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						showMessage('Se borro el usuario correctamente.','ok',5000);
						$('user-' + userid).fade();
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function closeTask(taskid) {
	
	if($('close-icon')) {
		var suffix = '';
	} else {
		var suffix = '-' + taskid;
	}

	$('close-icon' + suffix).src = '/images/ajax-loader.gif';
	$('close-text' + suffix).innerHTML = 'Cerrando...';
	
	new Ajax.Request('/ajax/closeTask',
			{
				method: 'post',
				parameters: {
					taskid: taskid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Has cerrado la tarea correctamente.','ok',5000);
						if($('taskoptions-' + taskid)) {
							
							Effect.Fade($('taskoptions-' + taskid));
						
						} else {

							$('close-icon').src = '/images/icons/table_key_off.png';
							$('close-link').href = "javascript:return false;";
							$('edit-icon').src = '/images/icons/table_edit_off.png';
							$('edit-link').href = "javascript:return false;";						
							$('cancel-icon').src = '/images/icons/table_error_off.png';
							$('cancel-link').href = "javascript:return false;";						
							$('status-icon').src = '/images/icons/key.png';
							$('close-text').innerHTML = "Cerrar";
							$('status-text').innerHTML = 'Cerrada';
							
						}
						
					} else {
						$('close-icon' + suffix).src = '/images/icons/table_key.png';
						$('close-text' + suffix).innerHTML = 'Cerrar';
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error','ok',5000);
				}
			});
	
}

function cancelTask(taskid) {
	
	if($('cancel-icon')) {
		var suffix = '';
	} else {
		var suffix = '-' + taskid;
	}

	$('cancel-icon' + suffix).src = '/images/ajax-loader.gif';
	$('cancel-text' + suffix).innerHTML = 'Cancelando...';
	
	new Ajax.Request('/ajax/cancelTask',
			{
				method: 'post',
				parameters: {
					taskid: taskid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Has cancelado la tarea correctamente.','ok',5000);
						if($('taskoptions-' + taskid)) {
							
							Effect.Fade($('taskoptions-' + taskid));
						
						} else {
						
							$('close-icon').src = '/images/icons/table_key_off.png';
							$('close-link').href = "javascript:return false;";
							$('edit-icon').src = '/images/icons/table_edit_off.png';
							$('edit-link').href = "javascript:return false;";						
							$('cancel-icon').src = '/images/icons/table_error_off.png';
							$('cancel-link').href = "javascript:return false;";						
							$('status-icon').src = '/images/icons/error.png';
							$('cancel-text').innerHTML = "Cancelar";
							$('status-text').innerHTML = 'Cancelada';
						
						}
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
						$('cancel-icon' + suffix).src = '/images/icons/table_error.png';
						$('cancel-text' + suffix).innerHTML = 'Cancelar';
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function deleteTask(taskid) {
	
	if($('delete-icon')) {
		var suffix = '';
	} else {
		var suffix = '-' + taskid;
	}

	$('delete-icon' + suffix).src = '/images/ajax-loader.gif';
	$('delete-text' + suffix).innerHTML = 'Borrando...';
	
	new Ajax.Request('/ajax/deleteTask',
			{
				method: 'post',
				parameters: {
					taskid: taskid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Has borrado la tarea correctamente.','ok',5000);
						if($('task-' + taskid)) {
							
							Effect.Fade($('task-' + taskid));
						
						} else {
						
							document.location = '/ong/index';
						
						}
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
						$('delete-icon' + suffix).src = '/images/icons/table_delete.png';
						$('delete-text' + suffix).innerHTML = 'Borrar';
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function removeOngFilter(filterid) {
	
	$('ongfilter-icon-' + filterid).src = '/images/ajax-loader.gif';
	$('ongfilter-text-' + filterid).innerHTML = 'Eliminando...';

	new Ajax.Request('/ajax/removeOngFilter',
			{
				method: 'post',
				parameters: {
					filterId: filterid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Se elimino el filtro de ong correctamente.','ok',5000);
						Effect.Fade($('ongfilter-' + filterid));
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function removeSectorFilter(filterid) {
	
	$('sectorfilter-icon-' + filterid).src = '/images/ajax-loader.gif';
	$('sectorfilter-text-' + filterid).innerHTML = 'Eliminando...';

	new Ajax.Request('/ajax/removeSectorFilter',
			{
				method: 'post',
				parameters: {
					filterId: filterid
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Se elimino el filtro de sector correctamente.','ok',5000);
						Effect.Fade($('sectorfilter-' + filterid));
						
					} else {
						showMessage(json["errorMsg"],'ko',5000);
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function saveUserData(userid) {
	
	$('edit-icon-' + userid).src = '/images/ajax-loader.gif';
	$('edit-text-' + userid).innerHTML = 'Guardando...';
	
	new Ajax.Request('/ajax/saveUserData',
			{
				method: 'post',
				parameters: {
					userId: userid,
					nickname: $('user-' + userid + '-nickname').value,
					email: $('user-' + userid + '-email').value,
					hierarchy: $('user-' + userid + '-hierarchy').value
//					assigned: $('user-' + userid + '-assigned').value,
//					completed: $('user-' + userid + '-completed').value
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Se modificaron los datos del usuario correctamente.','ok',5000);
						disableForm(userid);
						
					} else {
						
						showMessage(json["errorMsg"],'ko',5000);
						
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function enableForm(userid) {
	
	$('user-form-' + userid).removeClassName("readonly");
	$('user-form-' + userid).addClassName("editable");

	$('user-' + userid + '-hierarchytext').hide();
	$('user-' + userid + '-hierarchyspan').show();

	$('user-' + userid + '-nickname').disabled = false;
	$('user-' + userid + '-email').disabled = false;
//	$('user-' + userid + '-assigned').disabled = false;
//	$('user-' + userid + '-completed').disabled = false;
	
	$('cancel-' + userid).appear();
	
	$('edit-icon-' + userid).src='/images/icons/disk.png';
	$('edit-text-' + userid).innerHTML ='Guardar';
	$('edit-link-' + userid).href ='javascript:saveUserData(' + userid + ')';
	
	
}

function disableForm(userid) {

	$('cancel-' + userid).hide();
	
	$('user-form-' + userid).removeClassName("editable");
	$('user-form-' + userid).addClassName("readonly");

	$('user-' + userid + '-hierarchytext').innerHTML = $('user-' + userid + '-hierarchy').options[$('user-' + userid + '-hierarchy').selectedIndex].text.replace(/^\s+|\s+$/g,"");
	$('user-' + userid + '-hierarchyspan').hide();
	$('user-' + userid + '-hierarchytext').show();

	$('user-' + userid + '-nickname').disabled = true;
	$('user-' + userid + '-email').disabled = true;
	//$('user-' + userid + '-assigned').disabled = true;
	//$('user-' + userid + '-completed').disabled = true;
	
	$('edit-icon-' + userid).src='/images/icons/user_edit.png';
	$('edit-text-' + userid).innerHTML ='Editar';
	$('edit-link-' + userid).href ='javascript:enableForm(' + userid + ')';
	
}

function checkPasswd(id) {

	$('checkpasswd-icon-' + id).show();
	
	if($('passwd-' + id).value == $('passwdc-' + id).value) {

		if($('passwd-' + id).value.length >= 6) {

			$('checkpasswd-icon-' + id).src = '/images/icons/accept.png';
			$('changepasswd-' + id).appear();
			
		} else {
			
			$('checkpasswd-icon-' + id).src = '/images/icons/delete.png';
			
		}
		
	} else {
		
		$('checkpasswd-icon-' + id).src = '/images/icons/delete.png';
	
	}
	
}

function changeUserPassword(userid) {
	
	$('change-icon-' + userid).src = '/images/ajax-loader.gif';
	
	new Ajax.Request('/ajax/changeUserPassword',
			{
				method: 'post',
				parameters: {
					userId: userid,
					passwd: $('passwd-' + userid).value
				},
				onSuccess: function(transport) {
					var json = transport.responseText.evalJSON(true);
					if(json["status"] == "OK") {
						
						showMessage('Se cambio la contraseña correctamente.','ok',5000);
						$('change-icon-' + userid).src = '/images/icons/tag_blue_edit.png';
						$('change-text-' + userid).innerHTML = 'Cambiar contraseña';
						
						
					} else {
						
						showMessage(json["errorMsg"],'ko',5000);
						
					}
						
				},
				onFailure: function() {
					showMessage('Error conectando con el servidor.','error',5000);
				}
			});
	
}

function getChildNodes(e,from,value) {
	
	if(value != 0) {
		
		new Ajax.Request('/ajax/get' + from + 'Children',
		{
			method: 'post',
			parameters: {
				value: value
			},
			onSuccess: function(transport) {
				var json = transport.responseText.evalJSON(true);
				clearSelectElement(e);
				updateSelectElement(json,e);
				e.disabled = false;
				var name = substr(e.id,0,strlen(e.id)-1);
				var i = substr(e.id,strlen(e.id)-1,strlen(e.id));
				var next = name + String(Number(i)+1);
				if($(next))
					getChildNodes($(next),from,e.options[e.selectedIndex].value);
			},
			onFailure: function() {
				alert('KO');
			}
		});
		
	} else {
		
	}
}

