//************************************************************************************************************************************************************************
//**																																				**
//**													AJAX FUNCTIONS																				**
//**																																				**
//*************************************************************************************************************************************************************************
function loadingAjax(div) 	//Funcion que muestra un gif de carga en un div en particular (PRIVATE )
{	
	document.getElementById(div).innerHTML = "<img alt='Loading' border='0' src='../images/loading.gif' />";
}
//************************************************************************************
//************************************************************************************
function completeAjax(div)	//Funcion que quita un gif de carga en un div en particular (PRIVATE )
{
	document.getElementById(div).innerHTML = "";
}		
//************************************************************************************
//************************************************************************************
function doTheAjaxLoad(url, param, fn , loadDiv)	//Funcion que realiza el llamado a Ajax y ejecyta la funcion cunado termina (PRIVATE )
{
	var retorno = "Error";
	if (loadDiv != "" )
	{
		loadingAjax(loadDiv);
	}
	$.ajax({
				type: "POST",
				url: url,
				data: param,
				async : false,
				complete: function(datos)
				{
					if (loadDiv != "" )
					{
						completeAjax(loadDiv);
					}
					retorno = datos.responseText;
					fn(retorno);
				}
			});
			
	return retorno;			
}
//************************************************************************************
//************************************************************************************
function ajaxQueryLoading(div, url, elem, loadDiv)	//Funcion que realiza el llamado a Ajax y muetra un Div de Carga (PUBLIC)
{	
	elem = document.getElementById(elem).value;
	param = "id="+elem;
	doTheAjaxLoad(url, param, function(retorno){
											document.getElementById(div).innerHTML = retorno;
											}, loadDiv);		
} 				
//************************************************************************************
//************************************************************************************
function ajaxQuery(div, url, elem)	//Funcion que realiza el llamado a Ajax (PUBLIC )
{	
	elem = document.getElementById(elem).value;
	param = "id="+elem;
	doTheAjaxLoad(url, param, function(retorno){
											document.getElementById(div).innerHTML = retorno;
											},"");		
} 				
//*************************************************************************************************************************************************************************
//*************************************************************************************************************************************************************************






//************************************************************************************************************************************************************************
//**																																				**
//**													SHOW ELEMENTS FUNCTIONS																		**
//**																																				**
//*************************************************************************************************************************************************************************
function checkForView(imageInput, fileInput, checkInput)	//Funcion que realiza toogle entre los primeros 2 parametros si el checkbox se tilda (PUBLIC)
{
	var check = document.getElementById(checkInput);


	if(check.checked == true )
	{
		toggleShow(fileInput, imageInput);
	}
	else
	{	
		toggleShow(imageInput, fileInput);
	}

}
//************************************************************************************
//************************************************************************************
function toggleShowElement(element)		//Funcion que muestra es oculta de  acuerdo al estado del elemento (PUBLIC)
{
		element = $("#"+element);
		if(element.get(0).style.display == "block")
		{
			element.hide(1000);
		}
		else
		{
			element.show(1000);
		}
}
//************************************************************************************
//************************************************************************************
function toggleShow(show, hide)		//Funcion que muestra y oculta los elementos 1 muestra, 2 oculta(PUBLIC)
{
		showElement(show);
		hideElement(hide);
}
//************************************************************************************
//************************************************************************************
function showElement(show)		//Funcion que muestra un elemento(PUBLIC)
{
	var element = document.getElementById(show);
	element.style.display = 'block';
}
//************************************************************************************
//************************************************************************************
function hideElement(hide)		//Funcion que oculta un elemento(PUBLIC)
{
	var element = document.getElementById(hide);
	element.style.display = 'none';
}
//*************************************************************************************************************************************************************************
//*************************************************************************************************************************************************************************










//************************************************************************************************************************************************************************
//**																																				**
//**													REDIRECT ELEMENTS FUNCTIONS																		**
//**																																				**
//*************************************************************************************************************************************************************************
function redirect(url)		//Funcion que pregunta para dirigirse  a una url
{
		window.location = url;
}
//************************************************************************************
//************************************************************************************
function redirectWithMsj(url, question)		//Funcion que pregunta para dirigirse  a una url
{
 if (confirm (question))
	{
		redirect(url);
	}
}
//*************************************************************************************************************************************************************************
//*************************************************************************************************************************************************************************










//************************************************************************************************************************************************************************
//**																																				**
//**													ORDER LIST ON FLY																				**
//**																																				**
//*************************************************************************************************************************************************************************
function switchClasses(aNode, otherNode) 	//Funcion que intercambia las clases de un elemento (PRIVATE )
{
		css_class = aNode.className;
		aNode.className = otherNode.className;
		otherNode.className = css_class;
}
//************************************************************************************
//************************************************************************************
function isFirstLi(li)//Funcion que devuelve si es el primero de la lista(PRIVATE)
{
	ul = li.parentNode;
	ulItems = ul.getElementsByTagName('li');
	
	return (ulItems[0] == li);
}
//************************************************************************************
//************************************************************************************
function isLastLi(li)//Funcion que devuelve si es el ultimo de la lista(PRIVATE)
{
	ul = li.parentNode;
	ulItems = ul.getElementsByTagName('li');
	return (ulItems[ulItems.length-1] == li);
}
//************************************************************************************
//************************************************************************************
function moveUp(li_id)	//Funcion que mueve arriba un elemento de la lista (PUBLIC )
{
	li = document.getElementById(li_id);
	ul = document.getElementById('elem-list');
	ulItems = ul.getElementsByTagName('li');

	if (! (isFirstLi(li))){
		i=0;
		leftSibling = ulItems[i];
		while (i< ulItems.length && ulItems[i] != li)
		{
			leftSibling = ulItems[i];
			i = i+1;
		}
		switchClasses(li, leftSibling);
		ul.removeChild(li);
		ul.insertBefore(li, leftSibling);
		
	}
}
//************************************************************************************
//************************************************************************************
function moveDown(li_id)	//Funcion que mueve abajo un elemento de la lista (PUBLIC )
{
	li = document.getElementById(li_id);
	ul = document.getElementById('elem-list');
	var ulItems = ul.getElementsByTagName('li');

	if (!isLastLi(li)){
		i=1;
		rightSibling = ulItems[i];
		while (i< ulItems.length && ulItems[i-1] != li)
		{
			rightSibling = ulItems[i+1];
			i = i+1;
		}
		switchClasses(li, rightSibling);
		ul.removeChild(rightSibling);
		ul.insertBefore(rightSibling, li);
		
	}
}
//************************************************************************************
//************************************************************************************
function saveOrder(lenghtOfString,url)	//Funcion que envia la informacion para guardar(PUBLIC )
{//El lenghtofstring es el tamaņo del nombre del li, es decir el ID del "li" va a ser photo_x , donde x es el numero de ID, entonces "photo_" son 6 caracteres, 
lenghtOfString=0;
	ul = document.getElementById('elem-list');
	ulItems = ul.getElementsByTagName('li');
	nProjects = (ulItems.length) / 1;

	oProjects = '';
	j=0;
	for (i=0; i<nProjects; i++){
		var photo_id = ulItems[j].id.substr(lenghtOfString);;
		oProjects += '&'+photo_id+'='+(i+1);
		j=j+1;
	}
	
	oProjects = oProjects.substr(1);

	var url = "save.php?cant="+nProjects+"&elems="+oProjects;
	window.location = url;
//************************************EL ARCHIVO PHP QUE RECIBE ES ASI******************************
/*
require_once 'controlaUser.php';
require_once '../connect.php';
require_once '../functions.php';

$cant =  $_POST['cant'];
$array = explode("&", $_POST['elems']);

$parsed = array();

for ($i = 0 ; $i < $cant ; $i++){
	$elem = explode("=",$array[$i]);
	$parsed[$elem[1]] = $elem[0]; //pos  -   id
}

$position = 1;
for ($i = 0 ; $i <= $cant ; $i++)
{
	$sql_q = "UPDATE tabla SET position = '".$i."' WHERE id ='".$parsed[$i]."'";
	mysql_query($sql_q) or die($error = mysql_error());
	$position++;
}


echo "<script>alert(\"Se cambio el orden correctamente\");</script>";
direction("sitio.php");	
*/
}
//*************************************************************************************************************************************************************************
//*************************************************************************************************************************************************************************
