function activateMenu(idMenu) {
	//Cambio el color de fondo
	$("div.header_menu#" + idMenu).addClass("selected_header_menu");

	// Muestro el contenido
	$("#"+$("div.header_menu#" + idMenu).attr("ref")).show();

	// Muestro la imagen
	$("div.header_menu#" + idMenu).children("img").css('visibility', 'visible');
}

function activateMenuMedio(idMenuMedio) {
	//cambio color de letra y ancho de letras
	//$("#" + idMenuMedio).removeClass("header_submenu");
	$("#" + idMenuMedio).addClass("selected_header_submenu header_submenu");		
	//$("#" + idMenuMedio).children("a").addClass("selected_header_submenu");
}

function activateSubMenu(idSubMenu) {
	$("#" + idSubMenu).addClass("selected_linkitem_sub_menu");
	$("#" + idSubMenu).parents("div.item_submenu").show(); //addClass("selected_item_sub_menu");
	$("#" + idSubMenu).parents("div.item_submenu").prev("div.header_submenu").addClass("selected_header_submenu");
				
}

function getURLParam( nombreParametro ) {
	nombreParametro = nombreParametro.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+nombreParametro+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null ) {
		return "";
	} else {
		return results[1];
	}
}

function camposNumericos() {
	$("input.campoNumerico").blur(
		function(){
			if(/^-?[0-9]*[\.,]{0,1}[0-9]*$/.test($(this).val())) {
				$(this).val($(this).val().replace(".",",")); 
			}				
		}
	);
}

function displayTextHint(id) {

	var el = $('input[Title]');

	// show the display text
	$(id).each(function() {
	    $(this).attr('value', $(this).attr('title'));
	    $(this).addClass('textoHintInput');
	});
	
	// hook up the blur & focus
	el.focus(function() {
	    if ($(this).attr('value') == $(this).attr('title')) {
	        $(this).attr('value', '');
	    }
	    $(this).removeClass('textoHintInput');
	}).blur(function() {
	    if ($(this).attr('value') == '') {
	        $(this).attr('value', $(this).attr('title'));
	        $(this).addClass('textoHintInput');
	    }
	});
}

/*
 * Valida que un rango dado sea valido.
 */
function validarRango(fechaDesde, fechaHasta) {
	var desde = $("#" + fechaDesde).attr("value");
	if(desde == null || desde  == '') {
		alert('La fecha desde no puede ser vacía o nula.');
		return false;
	}
	var hasta = $("#" + fechaHasta).attr("value");
	if(hasta == null) {
		return true;
	} else {
		
		var fechaHasta = new Date();
		var fechaDesde = new Date();
		try {
			var dmaDesde = desde.split("-");
			fechaDesde.setFullYear(parseInt(dmaDesde[2],10), (parseInt(dmaDesde[1],10)-1), parseInt(dmaDesde[0],10));
			fechaDesde.setHours(0, 0, 0, 0);
			
		} catch (e) {
			alert('La fecha desde no es válida');
			return false;
		}
		try {
			var dmaHasta = hasta.split("-");
			fechaHasta.setFullYear(parseInt(dmaHasta[2],10), (parseInt(dmaHasta[1],10)-1), parseInt(dmaHasta[0],10));
			fechaHasta.setHours(0, 0, 0, 0);
		} catch (e) {
			alert('La fecha hasta no es válida');
			return false;
		}
						
		if(fechaDesde>fechaHasta) {
			alert('La Fecha Desde ingresada, debe ser mayor a la Fecha Hasta');
			return false;
		}
		else{
			//alert("las fechas son corectas");
			return true;
		}
		
	}
}
/**
 * La funcion es llamada desde todo los layOut pasandole la url del action de la consola
 * y la variable po (del request).
 * @param url
 * @param po 
 * */
 
function getPlataformaDeOperaciones( url,po ) {	

	if( po != 'null' ) {
		urlParams = window.location.href.slice(window.location.href.indexOf('?'));
		urlFinal =url+urlParams;
		
		$("#po").load(urlFinal);
		$("#po").css('display','block');
	}
}

/**
 * 	Abre la consola de operaciones ingresando los valores enviados por referencia
 * 	NOTA:si se le envia como parametro una URL abrira la consola por ajax pero sin
 * 		enviar ningun otro parametro.
 * 	
 * 	ej: abrirPlataformaDeOperaciones({ tab: "hola" } ); 
 * 
 * @param:url
 * @param:tab
 * @param:idInstrumento
 * @param:futuroRofex
 * @param:esCompra
 * @param:valor
 * @param:esMonto
 * @param:tipoDeOpcion
 * @param:precioEjercicio
 * @param:vencimiento
 * 
 * 
 * */

var abrirPlataformaDeOperaciones = function(){

    var opciones = arguments[0] || {};
	
	
	var url = opciones.url || null ;
	
	// toma la url de donde se llamo la funcion 
	// y la prepara para pasarle los parametros de la consola
	var urlNueva = getUrlToOpenConsola();
	var params = "";
	
	var idTab = opciones.idTab || null ;
	var idInstrumento = opciones.idInstrumento || null ;
	var futuroRofex = opciones.futuroRofex|| null ;
    var esCompra = opciones.esCompra ;
    var valor = opciones.valor || null ;
	var esMonto = opciones.esMonto  ;
    var tipoDeOpcion = opciones.tipoDeOpcion || null ;	
	var precioEjercicio = opciones.precioEjercicio || null ;	
	var vencimiento = opciones.vencimiento || null ;	
 
 	
	if(idInstrumento != null && idInstrumento != "" ){
		params += '&idInstrumento='+idInstrumento;
	}
		
	if(futuroRofex != null && futuroRofex !=""){
		params += '&futurosRofex='+futuroRofex;	
		params += '&idInstrumento=FUTURO_';	
	}
	
	// Se tomara como boolean la opcion compra venta
	var compraVenta= null;
	if(esCompra != null){
		if(esCompra){
			compraVenta='C';
		}else{
			compraVenta='V';
		}
	}
	if(compraVenta != null && compraVenta != "" ){
		params += '&selectCompraVenta='+compraVenta;
	}
	
	// se tomara como booleano si la operacion sera
	// por medio de un monto de dinero o de una cantidad de instrumentos
	var montoCantidad = null;
	if(esMonto != null){
		if(esMonto){
			montoCantidad = "M";
			// si se elije por monto se mostrara el precio limite
			params += "&tipoOrden=L";
		}else{	
			montoCantidad = "C";
		}
	}
	if(montoCantidad != null){
		params += '&selectCantidadMonto='+montoCantidad;
	}
	
	if(valor != null && valor != "" ){
		params += '&valor='+valor;
	}
	if(tipoDeOpcion != null && tipoDeOpcion != "" ){
		params += '&selectCallPut='+tipoDeOpcion.charAt(0);
	}
	if(precioEjercicio != null && precioEjercicio != "" ){
		params += '&ejercicio='+precioEjercicio;
	}
	if(vencimiento != null && vencimiento != "" ){
		var fecha = vencimiento.substr(3,5);
		var afecha = fecha.split("/");
		
		params += '&vencimiento='+afecha.pop()+afecha.pop();
	}
	
	var tab=["tab-acciones","tab-accionese","tab-bonos","tab-etfs","tab-futuros","tab-opciones","tab-cauciones","tab-cheques","tab-cheques","tab-fideicomisos"];
	if(idTab != null && idTab != "" ){
		if( idTab == 1 ) {
			params += "&exterior=true";
		}
		params += '&tabId='+tab[idTab];
		params += '#'+tab[idTab];
	}
	//Si tiene el parametro URL
	if (url != null){
		var random = '&r=' + Math.random();
		var urlFinal =url+'?po=ok'+random+params;
		$("#po").load(urlFinal);
		$("#po").css('display','block');
		return;
	}
	
	window.location.assign(urlNueva+params);
		
};



function getUrlToOpenConsola(){
	// gurada la url de donde se llamo a la funcion
 	var urlNueva = window.location.href;
 	var random = '&r=' + Math.random();
 	
 	if(urlNueva.indexOf('#') != -1){
 		urlNueva = urlNueva.substring(0, urlNueva.indexOf('#'));
 	}
 	
//	urlNueva = urlNueva.replace(/n#/g,"n");
//	urlNueva = urlNueva.replace(/#/g,"%26");
//	urlNueva = urlNueva.replace("+","%2B");
	// arma la url donde se enviaran los parametros
	// si en la URL ya estan los parametros de la plataforma hay que eliminar los parametros viejos
	if(urlNueva.indexOf('po=ok') != -1){
		urlNueva = urlNueva.substring(0, urlNueva.indexOf('po=ok')+5);
	}else{
		// si no tiene parametros se concatenaran al final
		if(urlNueva.indexOf('?') == -1){
			urlNueva = urlNueva + "?po=ok"+random;
		}else{
		// sino se dejan los parametros anteriores y se agregan los de la plataforma
			urlNueva = urlNueva + "&po=ok"+random;
		}	
	}
	return urlNueva;
}


function verifcarUrls(urlDestino,idTab,nombreTabs){
	
	var urlActual = window.location.href;
	//saco parametros de ambas url
	if(urlActual.indexOf("?", 0)!= -1){
		urlActual = urlActual.substring(0, urlActual.indexOf("?", 0));
	}
	if(urlActual.indexOf("#tab", 0)!= -1){
		urlActual = urlActual.substring(0, urlActual.indexOf("#tab", 0));
	}
	if(urlDestino.indexOf("?", 0)!= -1){
		urlDestino = urlDestino.substring(0, urlDestino.indexOf("?", 0));
	}
	if(urlDestino.indexOf("#tab", 0)!= -1){
		urlDestino = urlDestino.substring(0, urlDestino.indexOf("#tab", 0));
	}
	//busco si la urlDestio esta contenida en la urlActual
	if(urlActual.indexOf(urlDestino, 0)!= -1){
		var $tabs = $('#'+nombreTabs).tabs();
		$tabs.tabs('select', idTab);
	}
	
}
 
