<?php 
	/*
		maneja la asignacion masiva de usuarios a un rol seleccionado.
	*/
	$rbac = Yii::app()->user->rbac;
	$ui = Yii::app()->user->ui;
	Yii::app()->clientScript->registerCoreScript('jquery');
	$loaderSrc = Yii::app()->user->ui->getResource('loading.gif');
	$loaderImg = "<img src='{$loaderSrc}'>";

	$selectedUserGetter = 'userdescription';
?>
<div class='form'>
<div class='crugepanel user-assignments-role-list'>
	<h1><?php echo ucfirst(CrugeTranslator::t("Roles Disponibles"));?></h1>
	<p><?php echo ucfirst(CrugeTranslator::t("Haz click en un rol para ver los usuarios asignados a el"));?></p>
	<ul class='auth-item'>
	<?php 
		$loader = "<span class='loader'></span>";
		
		foreach($rbac->roles as $rol){
			echo "<li alt='".$rol->name."'>".$rol->name.$loader."</li>";
		}
	?>
	</ul>
</div>


<div class='crugepanel user-assignments-detail'>
	<h6><div id='mostrarSeleccion'></div></h6>
	
	<div id='lista1' class='lista'>
	<div id='revocarSeleccion' class='boton'>
		<?php echo CrugeTranslator::t("revocar seleccion") ?>
	</div>
	<?php 
		$this->widget(Yii::app()->user->ui->CGridViewClass, array(
			'id'=>'_lista1',
			'selectableRows'=>2,
			'dataProvider'=>$roleUsersDataProvider,
			'columns'=>array(
				array(
					'class'=>'CCheckBoxColumn'
				),
				$selectedUserGetter,
			),
		));
	?>	
	</div>
	<div id='lista2' class='lista'>
	<div id='asignarSeleccion' class='boton'>
		<?php echo CrugeTranslator::t("asignar seleccion");?></div>
	<?php 
		$this->widget(Yii::app()->user->ui->CGridViewClass, array(
			'id'=>'_lista2',
			'selectableRows'=>2,
			'dataProvider'=>$allUsersDataProvider,
			'columns'=>array(
				array(
					'class'=>'CCheckBoxColumn'
				),
				$selectedUserGetter,
			),
		));
	?>	
	</div>
</div>
</div>

<script>
	<?php /* a cada LI del div de roles le anexa un evento click y le pone un cursor */ ?>
	
	var _setSelectedItemName = function(valor){
		$('#mostrarSeleccion').html(valor);
		$('#mostrarSeleccion').data("itemName",valor);
	}
	var _getSelectedItemName = function(){
		return $('#mostrarSeleccion').data("itemName")+"";
	}
	var _isSelectedItemName = function(){
		return _getSelectedItemName() != 'undefined';
	}
	$('.user-assignments-role-list ul').find('li').each(function(){
		var li = $(this);
		li.css("cursor","pointer");
		li.click(function(){
			var itemName = $(this).attr('alt');
			_setSelectedItemName("");
			$('.user-assignments-role-list ul').find('li').each(function(){
				$(this).removeClass('selected');
			});
			$(this).addClass('selected');
			_setSelectedItemName(itemName);
			// actualiza la lista1, que contiene los usuarios que tienen la asignacion	
			$.fn.yiiGridView.update('_lista1',{ data : "itemName="+itemName+"&mode=select" });
		});
	});
	
	$('#asignarSeleccion').css("cursor","pointer");
	$('#asignarSeleccion').click(function(){
		if(!_isSelectedItemName())return;
		var itemName = _getSelectedItemName();
		var selectedUsers = $.fn.yiiGridView.getSelection('_lista2');
		if(((selectedUsers == 'undefined') || (selectedUsers==""))==false){
			$.fn.yiiGridView.update('_lista1',
				{ data : "itemName="+itemName+"&userid="+selectedUsers+"&mode=assign" });
		}
	});

	$('#revocarSeleccion').css("cursor","pointer");
	$('#revocarSeleccion').click(function(){
		if(!_isSelectedItemName())return;
		var itemName = _getSelectedItemName();
		var selectedUsers = $.fn.yiiGridView.getSelection('_lista1');
		if(((selectedUsers == 'undefined') || (selectedUsers==""))==false){
			$.fn.yiiGridView.update('_lista1',
				{ data : "itemName="+itemName+"&userid="+selectedUsers+"&mode=revoke" });
		}
	});
</script>