/*
	Esta función relanza la página pasándole un parámetro HTTP llamado "porden" 
	al valor del parámetro "orderBy" de la función.
	
	Ejemplos de llamada: 
		cambiaOrden("ASC");
		cambiaOrden("1");
*/

function cambiaOrden(orderBy) {
	urlActual = document.location.href;
	urlFinal = "";
	
	// Separamos el JSP y los parámetros por ?
	aURL = urlActual.split("#");
	aURL = aURL[0].split("?");
	urlFinal+=aURL[0]+"?";
	
	meterOrderBy = true;
	algunParametro = false;
	if (aURL.length > 1) {
		// Separamos los parámetros por &
		aParametros = aURL[1].split("&");
		for (i = 0; i < aParametros.length; i++) {
			// Separamos el par nombre / valor por =
			aPar = aParametros[i].split("=");
			// SI el parámetro es porden lo cambiamos
			if (aPar[0] == "porden") {
				urlFinal+="porden="+orderBy;
				meterOrderBy = false;
			} else {
				algunParametro = true;
				urlFinal+=aParametros[i];
			}
			if (i < aParametros.length - 1) {
				urlFinal+="&";
			}
		}
	}
	if (meterOrderBy) {
		if (algunParametro) {
			urlFinal+="&porden="+orderBy;
		} else {
			urlFinal+="porden="+orderBy;
		}
	}
	document.location.href=urlFinal;
}

/*
	Esta función relanza la página pasándole un parámetro HTTP que está metido 
	en "campo" al valor del parámetro "orderBy" de la función.
	
	Ejemplos de llamada: 
		cambiaOrdenPorCampo("porden", "ASC");
		cambiaOrdenPorCampo("ordenarpor", "1");
*/

function cambiaOrdenPorCampo(campo, orderBy) {
	urlActual = document.location.href;
	urlFinal = "";
	
	// Separamos el JSP y los parámetros por ?
	aURL = urlActual.split("#");
	aURL = aURL[0].split("?");
	urlFinal+=aURL[0]+"?";
	
	meterOrderBy = true;
	algunParametro = false;
	if (aURL.length > 1) {
		// Separamos los parámetros por &
		aParametros = aURL[1].split("&");
		for (i = 0; i < aParametros.length; i++) {
			// Separamos el par nombre / valor por =
			aPar = aParametros[i].split("=");
			// SI el parámetro es porden lo cambiamos
			if (aPar[0] == campo) {
				urlFinal+=campo+"="+orderBy;
				meterOrderBy = false;
			} else {
				algunParametro = true;
				urlFinal+=aParametros[i];
			}
			if (i < aParametros.length - 1) {
				urlFinal+="&";
			}
		}
	}
	if (meterOrderBy) {
		if (algunParametro) {
			urlFinal+="&"+campo+"="+orderBy;
		} else {
			urlFinal+=campo+"="+orderBy;
		}
	}

	document.location.href=urlFinal;
}

// Función para la paginación de lista de proveedores/comercializadores en el ad web
function cambiaOrdenPorCampoListadoAdWeb(campo, orderBy) {
	urlActual = document.location.href;
	urlFinal = "";
	
	// Separamos el JSP y los parámetros por ?
	aURL = urlActual.split("#");
	aURL = aURL[0].split("?");
	urlFinal+=aURL[0]+"?";
	
	meterOrderBy = true;
	algunParametro = false;
	if (aURL.length > 1) {
		// Separamos los parámetros por &
		aParametros = aURL[1].split("&");
		for (i = 0; i < aParametros.length; i++) {
			// Separamos el par nombre / valor por =
			aPar = aParametros[i].split("=");
			// SI el parámetro es porden lo cambiamos
			if (aPar[0] == campo) {
				urlFinal+=campo+"="+orderBy;
				meterOrderBy = false;
			} else {
				if ((aPar[0] == 'ordenar') || (aPar[0] == 'idusuario')){
					urlFinal+=aPar[0]+"=";
				}else{
					algunParametro = true;
					urlFinal+=aParametros[i];
				}
			}
			if (i < aParametros.length - 1) {
				urlFinal+="&";
			}
		}
	}
	if (meterOrderBy) {
		if (algunParametro) {
			urlFinal+="&"+campo+"="+orderBy;
		} else {
			urlFinal+=campo+"="+orderBy;
		}
	}
	document.location.href=urlFinal;
}



//Funcion para la paginación del xml de la confección del producto
function cambiaOrdenPorCampoXml(campo, orderBy,idproveedor,idtipocontenido) {
	urlActual = document.location.href;
	urlFinal = "";
	
	// Separamos el JSP y los parámetros por ?
	aURL = urlActual.split("#");
	aURL = aURL[0].split("?");     
	urlFinal+=aURL[0]+"?";
	
	meterOrderBy = true;          
	algunParametro = false;  
	if (aURL.length > 1) {
		// Separamos los parámetros por &
		aParametros = aURL[1].split("&");
		for (i = 0; i < aParametros.length; i++) {
			// Separamos el par nombre / valor por =
			aPar = aParametros[i].split("=");
			// SI el parámetro es porden lo cambiamos
			if (aPar[0] == campo) {
				urlFinal+=campo+"="+orderBy;  
				meterOrderBy = false;
			} else {
				algunParametro = true;
				if(aPar[0]!="idproveedor" && aPar[0]!="idtipocontenidos" && aPar[0]!="onlyorden"){
					urlFinal+=aParametros[i];
				}
			}
			if (i < aParametros.length - 1) {
				urlFinal+="&";
			}
		}
	}
	if (meterOrderBy) {
		if (algunParametro) {
			urlFinal+="&"+campo+"="+orderBy;
		} else {
			urlFinal+=campo+"="+orderBy;
		}
	}
	document.location.href=urlFinal + "&idproveedor=" + idproveedor + "&idtipocontenidos=" + idtipocontenido + "&onlyorden=1";
}



/*
	Esta función relanza la página pasándole un parámetro HTTP que está metido 
	en "campo" al valor del parámetro "orderBy" de la función. También cambia el
	parámetro "columna" por el valor de "columnaOrden"
	
	Ejemplos de llamada: 
		cambiaOrdenPorCampo("porden", "columnaorden", "ASC", "2");
		cambiaOrdenPorCampo("porden", "columnaorden", "1", "1");
*/

function cambiaOrdenPorCampoYColumna(campo, columna, orderBy, columnaOrden) {
	urlActual = document.location.href;
	urlFinal = "";
	
	// Separamos el JSP y los parámetros por ?
	aURL = urlActual.split("#");
	aURL = aURL[0].split("?");
	urlFinal+=aURL[0]+"?";
	
	meterOrderBy = true;
	meterColumnaOrden = true;
	algunParametro = false;
	if (aURL.length > 1) {
		// Separamos los parámetros por &
		aParametros = aURL[1].split("&");
		for (i = 0; i < aParametros.length; i++) {
			// Separamos el par nombre / valor por =
			aPar = aParametros[i].split("=");
			// SI el parámetro es porden lo cambiamos
			if (aPar[0] == campo) {
				urlFinal+=campo+"="+orderBy;
				meterOrderBy = false;
			} else {
				if (aPar[0] == columna) {
					urlFinal+=columna+"="+columnaOrden;
					meterColumnaOrden = false;
				} else {
					algunParametro = true;
					urlFinal+=aParametros[i];
				}
			}
			if (i < aParametros.length - 1) {
				urlFinal+="&";
			}
		}
	}
	if (meterOrderBy) {
		if (algunParametro) {
			urlFinal+="&"+campo+"="+orderBy;
		} else {
			urlFinal+=campo+"="+orderBy;
		}
		algunParametro=true;
	}
	if (meterColumnaOrden) {
		if (urlFinal.substring(urlFinal.length-1) == "&") {
			urlFinal+=columna+"="+columnaOrden;
		} else {
			urlFinal+="&"+columna+"="+columnaOrden;
		}
	}
	document.location.href=urlFinal;
}
