﻿var _successcallback = null;
var _failcallback = null;
var oTable = null;
/*ROGERTABLE*/
//var oTable2;
//$.getScript("<?=$this->baseUrl()?>/js/layout.js");
$(document).ready(function() 
{
	$("#searchField").clearField({
		blurClass: 'searchFieldBlurred',
		activeClass: 'searchFieldActive'
	});
	
	$('.submenu').css("display", "block");
	mainmenu();
	
	viewSummaryWishList();
	viewSummaryCartPurchases();

	//efectTable();
	
	var urlfree = $("#urlfreecube").val();		
	$("#freecubeinindex").load(urlfree);	

	// ocultar link descargar de premium
	$(".is_premium").hide();
	// activar efecto de scroll y redimensionizacion de tabla
	 viewtablesearch(1005,600);
});

// Insertar scroll a body de tabla de resultados y redimensiona tamaño de tabla 
function viewtablesearch(width, heigth)
{
	
	$('.fullScreenTable').css({'width': width+'px', 'height': heigth+'px'});
	/*
	$(window).resize(function() {
		var windowWidth = $(window).width() - 50;
		var windowHeight = $(window).height() -50;
	
		$('.fullScreenTable').css({'width': windowWidth+'px', 'height': windowHeight+'px'});
	});	*/
	
	$('.fullScreenTable').fixedHeaderTable({footer:true,cloneHeaderToFooter:false, autoResize:true, fixCol1:true});
	
}

function mainmenu(){
	var b = true;
	
	$(".nav ul ").css({display: "none"});
	$(".nav li").hover(function(){
		//$(this).find('ul:first:hidden').css({visibility: "visible",display: "none"}).slideDown(250);
		$(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
		},function(){
		//$(this).find('ul:first').slideUp(250);
		$(this).find('ul:first').css({visibility: "hidden"});
		});
	}
/*
	$(document).ready(function(){
		mainmenu();
	});*/

/**
 * Funcion que inicia el efecto de carga del wishlist, en su resumen o panel emergente
 **/
function startLoadingWishlist()
{
	var dirImageLoading = $("#dirButtons").val();
	
	if($("#containerWishlist").css("display")=="block")
	{
		var imageLoading = "<img id='imageLoadingWishlist' src='"+dirImageLoading+"loader/loaderList.gif' alt='cargando...'/>";
		$("#fundcontainerwishlist").append(imageLoading);
		var height = parseInt(parseInt($("#containerWishlist").height()) - parseInt("64")) / parseInt("2");
		var width = 93;
		$(".fundcontainerwishlist").css("height",$("#containerWishlist").height());
		$("#imageLoadingWishlist").css("margin-left",width);
		$("#imageLoadingWishlist").css("margin-top",height);
		$("#fundcontainerwishlist").show();
		
	}
	else{			
	    var imageLoading = "<img id='imageLoadingWishlistSummary' src='"+dirImageLoading+"loader/loaderSummary.gif' alt='cargando...'/>";
	    $("#sumarywishlist").empty().css("border","none");
		$("#sumarywishlist").append(imageLoading);
	}
	
}

function endLoadingWishlist()
{
	if($("#containerWishlist").css("display")=="block")
	{
		$("#imageLoadingWishlist").remove();
		$("#fundcontainerwishlist").hide();
	}
	else{
		$("#imageLoadingWishlistSummary").remove();	
    	$("#sumarywishlist").css("border-left","solid 1px").css("border-bottom","solid 1px").css("border-right","solid 1px").css("border-color","#666666");
	}		
}

/**
 * Funcion que inicia el efecto de carga del carrito de compras, en su resumen o panel emergente
 **/
function startLoadingCartPurchases()
{
	var dirImageLoading = $("#dirButtons").val();
	
	if($("#containerCartPurchases").css("display")=="block")
	{
		var imageLoading = "<img id='imageLoadingCartPurchases' src='"+dirImageLoading+"loader/loaderList.gif' alt='cargando...'/>";
		$("#fundcontainercartpurchases").append(imageLoading);	
		var height = parseInt(parseInt($("#containerCartPurchases").height()) - parseInt("64")) / parseInt("2");
		var width = 93;
		
		$(".fundcontainercartpurchases").css("height",$("#containerCartPurchases").height());
		$("#imageLoadingCartPurchases").css("margin-left",width);
		$("#imageLoadingCartPurchases").css("margin-top",height);
		$("#fundcontainercartpurchases").show();
		
	}
	else{			
	    var imageLoading = "<img id='imageLoadingCartPurchasesSummary' src='"+dirImageLoading+"loader/loaderSummary.gif' alt='cargando...'/>";
	    $("#sumarycartpurchases").empty().css("border","none");
		$("#sumarycartpurchases").append(imageLoading);
	}


}

/**
 * Funcion que finaliza el efecto de carga del carrito de compras
 **/
function endLoadingCartPurchases()
{
	if($("#containerCartPurchases").css("display")=="block")
	{
		$("#imageLoadingCartPurchases").remove();
		$("#fundcontainercartpurchases").hide();
	}
	else{
		$("#imageLoadingCartPurchasesSummary").remove();	
    	$("#sumarycartpurchases").css("border-left","solid 1px").css("border-bottom","solid 1px").css("border-right","solid 1px").css("border-color","#666666");
	}	
}

/**
 * Funcion que evalua la opcion de mostrar o en defecto ocultar el panel de wishlist
 **/
function viewWishlist()
{	
	var isWishlistDisplay = $("#containerWishlist").css("display");
	var isCartPurchasesDisplay = $("#containerCartPurchases").css("display");
	var dirButtons = $("#dirButtons").val();
	
	if(isWishlistDisplay=="none")
	{
		// ocultamos resumen
		hideSummaryWishList();
		$("#buttonWish").css("background","url("+dirButtons+"wishlist/buttonwishlist_on.gif) no-repeat");
		
		if(isCartPurchasesDisplay=="none")
		{
			$("#containerWishlist").css("margin-left","730px");
			var urlWishlist = $("#urlWishlist").val();			
			$("#containerWishlist").load(urlWishlist);				
			$("#containerWishlist").slideDown("slow",function(){
				//$("#containerWishlist").dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
			});			
			
		}
		else
		{
			
			
			$("#containerWishlist").css("margin-left","486px");	
			var urlWishlist = $("#urlWishlist").val();													
			$("#containerWishlist").load(urlWishlist, function(){
				$("#containerWishlist").slideDown("slow",function(){
					//$("#containerWishlist").dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
					levelSizeWC();
				});
			});
			
			
		}
	}
	else
	{
		// mostramos resumen
		showSummaryWishList();
		$("#buttonWish").css("background","url("+dirButtons+"wishlist/buttonwishlist_down.gif) no-repeat");
		
		if(isCartPurchasesDisplay=="none")
		{
			//$("#containerWishlist").removeShadow();
			$("#containerWishlist").slideUp("slow",function(){				
			});
		}
		else{
			//$("#containerWishlist").removeShadow();
			$("#containerWishlist").slideUp("slow");
		}
	}

}

/**
 * Funcion que evalua la opcion de mostrar o en defecto ocultar el panel de carrito de compras
 **/
function viewCartPurchases()
{	
	var isWishlistDisplay = $("#containerWishlist").css("display");
	var isCartPurchasesDisplay = $("#containerCartPurchases").css("display");
	var dirButtons = $("#dirButtons").val();
	
	if(isCartPurchasesDisplay=="none")
	{
		// ocultamos resumen
		hideSummaryCartPurchases();
		$("#buttonCart").css("background","url("+dirButtons+"cart/buttoncart_on.gif) no-repeat");
		
		if(isWishlistDisplay=="none")
		{			
			var urlCartPurchases = $("#urlCartPurchases").val();			
			$("#containerCartPurchases").load(urlCartPurchases);
			$("#containerCartPurchases").slideDown("slow",function(){
					//$("#containerCartPurchases").dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
			});	
		}
		else
		{
			$("#containerWishlist").animate({marginLeft:"486px"},730, function(){
				var urlCartPurchases = $("#urlCartPurchases").val();						
				$("#containerCartPurchases").load(urlCartPurchases, function(){
					$("#containerCartPurchases").slideDown("slow",function(){
						//$("#containerCartPurchases").dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
						levelSizeWC();
					});
				});
				
			});
			
										
		}
	}
	else
	{
		// mostramos resumen
		showSummaryCartPurchases();
		$("#buttonCart").css("background","url("+dirButtons+"cart/buttoncart_down.gif) no-repeat");
		
		if(isWishlistDisplay=="none")
		{
			//$("#containerCartPurchases").removeShadow(); 
			$("#containerCartPurchases").slideUp("slow",function(){
				
			});
		}
		else{
			//$("#containerCartPurchases").removeShadow(); 
			$("#containerCartPurchases").slideUp("slow",function(){
				$("#containerWishlist").animate({marginLeft:"730px"},730);
			});
			
		}
	}
}

function changeVisibleWishlistLink(idPackage, visible)
{
	if(visible)
	{
		$('.inwishlistlink[packageid="'+idPackage+'"]').css("display", "none");
		$('.addwishlistlink[packageid="'+idPackage+'"]').css("display", "inline");
		$('.imginwishlist[packageid="'+idPackage+'"]').css("display", "none");
	}
	else
	{
		$('.addwishlistlink[packageid="'+idPackage+'"]').css("display", "none");
		$('.inwishlistlink[packageid="'+idPackage+'"]').css("display", "inline");
		$('.imginwishlist[packageid="'+idPackage+'"]').css("display", "inline");
	}
}

function changeVisibleCartLink(idPackage, visible)
{
	if(visible)
	{
		$('.incartlink[packageid="'+idPackage+'"]').css("display", "none");
		$('.addcartlink[packageid="'+idPackage+'"]').css("display", "inline");
		$('.imgincart[packageid="'+idPackage+'"]').css("display", "none");
	}
	else
	{
		$('.addcartlink[packageid="'+idPackage+'"]').css("display", "none");
		$('.incartlink[packageid="'+idPackage+'"]').css("display", "inline");
		$('.imgincart[packageid="'+idPackage+'"]').css("display", "inline");
	}
}

/**
 * Funcion que se encarga de añadir un cubo al wishlist y actualizar su resumen o panel
 * emergente, contando con el efecto de loading respectivo
 **/
function addWishlist(idCube)
{
	animationAdd(idCube);
	
	$('.addwishlistlink[cubeid="'+idCube+'"]').toggle();
	$('.inwishlistlink[cubeid="'+idCube+'"]').toggle();
	$('.imginwishlist[cubeid="'+idCube+'"]').toggle();

	var urlAddItemToWishlist = $("#urlAddItemToWishlist").val();	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: urlAddItemToWishlist,  // URL del recurso que queremos acceder
        data: {idCube : idCube}, //valor que le pasamos al URL
        async : true,		
        beforeSend: function(message) {            
        	startLoadingWishlist();        	    	
        },        
        success: function(message) {        	
			
        	endLoadingWishlist();        	
        	
        	if($("#containerWishlist").css("display")=="block"){
        		var urlWishlist = $("#urlWishlist").val();			
        		//$("#containerWishlist").load(urlWishlist,function(){        		
        		$("#containerWishlist").load(urlWishlist,function(){
        			if($("#containerCartPurchases").css("display")=="block")
            			levelSizeWC();/*
        			else
        				$(this).fadeIn();*/
            	});
        			
        	}
        	else{        		
        		viewSummaryWishList();			
        	}
        	//keep disable link to add to wishlist
        },
        error: function(message) {
            
	        //enable the link and show error
        }
	});
	
}

/**
 * Funcion que se encarga de añadir un cubo al carrito de compras y actualizar su resumen o panel
 * emergente, contando con el efecto de loading respectivo
 **/
function addCartPurchases(idCube)
{
	animationAdd(idCube);
	
	$('.addcartlink[cubeid="'+idCube+'"]').toggle();
	$('.incartlink[cubeid="'+idCube+'"]').toggle();
	$('.imgincart[cubeid="'+idCube+'"]').toggle();

	var urlAddItemToCartPurchases = $("#urlAddItemToCartPurchases").val();
	//loadingSummaryCartPurchases();	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: urlAddItemToCartPurchases,  // URL del recurso que queremos acceder
        data: {idCube : idCube}, //valor que le pasamos al URL
        async: true,
        beforeSend: function(message) {
        	startLoadingCartPurchases();
        },        
        success: function(message) {

        	endLoadingCartPurchases();
        	if($("#containerCartPurchases").css("display")=="block"){ 
        		var urlCartPurchases = $("#urlCartPurchases").val();						
				$("#containerCartPurchases").load(urlCartPurchases,function(){
					if($("#containerWishlist").css("display")=="block")
						levelSizeWC();
				});				
        	}
        	else{ 
        		viewSummaryCartPurchases();			
        	}     
        },
        error: function(message) {
	        //enable the link
	        //show error message
        }
	});
}


//Metodo que carga la informacion de cuenta premiun
function loadpremiumaccountinformation()
{
	$("#fundWindow").slideDown("slow");
	var url = $("#urlpremiumaccountinformation").val();	
	$(".premium").load(url).slideDown("slow");		
}

function closetpremiumaccountinformation()
{
	$(".premium").slideUp("slow");	
	$("#fundWindow").slideUp("slow");
}

//Metodo que carga la ficha de cubo
function loadtabcube(valor)
{
	//alert(valor);		
	$("#fundWindow").slideDown("slow");
	var url = $("#urlcubetab").val();	
	$(".tabCubes").load(url,{id : valor}).slideDown("slow");
	//document.getElementById('tabCubes').style.top = document.body.scrollTop + 70;
	$('#tabCubes').css('top', ($(this).scrollTop()+100) + "px");//Para q en explorer no se tenga q ir hasta arriba para ver la ficha
	
	
	 
}
//Metodo que carga la ficha plana
function loadtabcubeplane(valor)
{
	//alert(valor);		
	//$("#fundWindow").slideDown("slow");	
	var url = $("#urlcubetabplane").val();	
	//alert("cacaca-"+url);
	location.href = url+"/base-datos-"+valor;
	//redirect(url);
	//$(".tabCubes").load(url,{id : valor});
}

function loadCatalog(cpage)
{
	var url = $("#urlcatalog").val();	
	//alert("cacaca-"+url);
	location.href = url+"/page/"+cpage;
	//redirect(url);
	//$(".tabCubes").load(url,{id : valor});
	
}

function closedtab()
{
	$(".tabCubes").slideUp("slow");	
	$("#fundWindow").slideUp("slow");
	
}

function converttabpdf()
{			
	var url = $("#urlcubetabpdf").val();
	
	window.open(url,"ventana1");
	closedtab();
}

/**
 * Funcion que se encarga de enviar un item (cubo) desde el panel de carrito de compras
 * al wishlist, actualizando los paneles visibles respectivos, carrito de compras y 
 * resumen/wishlist, ejecutando un efecto de carga de datos (loading) 
 **/
function sendItemToWishlist(idPackage)
{
	//2010-06-15	
	//Esta seccion se decidio comentarla hasta que se decida al respecto; esta es la seccion de los mensajes al ussuario 
	/* 
	var urlverify = $("#urlVerifyCubeWish").val();
	var verify="";

	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: urlverify,  // URL del recurso que queremos acceder
        data: {idItemMov : idPackage}, // valor que le pasamos al URL
        async : false,  
        beforeSend:function(message) {
        	//startLoadingCartPurchases();
        	//startLoadingWishlist();
        },  
	    error:function(message) {	        
        	alert("error:"+message+"Esto es el error");	        
        },    
        success: function(message) {
        	var result = message.toString();
			if(result == "TRUE")
			{
			 //$.notifyBar({ html: "La Base de Datos que se esta enviando enviada ya se encuentra en su Wish List; esta Base de datos ha sido removida de su Carrito sin que afecte a su Wish List", close: true, delay: 1000000 });
				//$.notifyBar({ cls: "success-dx", html: "La Base de Datos que se esta enviando enviada ya se encuentra en su Wish List; esta Base de datos ha sido removida de su Carrito sin que afecte a su Wish List" , close: true, delay: 1000000 });
				$.notifyBar({ cls: "infowishlist-dx", html: "La Base de Datos que se esta enviando ya se encuentra en su Wish List; esta Base de datos ha sido removida de su Carrito sin que afecte a su Wish List"});		 
    		}
        }
	});*/
	//Moises2010-06-15
	
	var url = $("#urlSendItemToWishlist").val();
	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {idItemMov : idPackage}, //valor que le pasamos al URL
        async : true,    
        beforeSend:function(message) {
        	startLoadingCartPurchases();
        	startLoadingWishlist();
        },    
        success: function(message) {
            //alert(message);
        	// Refrescamos lista de carrito de compras
        	var urlCartPurchases = $("#urlCartPurchases").val();
        	$("#containerCartPurchases").html(message);
			//$("#containerCartPurchases").load(urlCartPurchases, function(){
				endLoadingCartPurchases();        	
				// Verificamos si desplegamos wishlist
				if($("#containerWishlist").css("display")=="none")
				{	
					viewSummaryWishList();
					endLoadingWishlist();
				}
				else{
					//Refrescamos lista de wishlist
					var urlWishlist = $("#urlWishlist").val();
					$("#containerWishlist").load(urlWishlist, function(){
						endLoadingWishlist();
						levelSizeWC();
					});
				}
			//});				
			
        	changeVisibleCartLink(idPackage, true);
        	changeVisibleWishlistLink(idPackage, false);
        }
	});
}

/**
 * Funcion que se encarga de enviar un item (cubo) desde el panel de wishlist
 * al carrito de compras, actualizando los paneles visibles respectivos, wishlist y 
 * resumen/carrito de compras, ejecutando un efecto de carga de datos (loading) 
 **/
function sendItemToCartPurchases(idPackage)
{
	//2010-06-15
	//SECCION COMENTADA de mensajes al usuario hasta tomar una decision respecto a ellos
	/*
	var urlverify = $("#urlVerifyCubeCart").val();
	var verify="";

	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: urlverify,  // URL del recurso que queremos acceder
        data: {idItemMov : idPackage}, //valor que le pasamos al URL
        async : false,  
        beforeSend:function(message) {
        	//startLoadingCartPurchases();
        	//startLoadingWishlist();
        },  
	    error:function(message) {	        
        	alert("error");	        
        },    
        success: function(message) {

        	var result = message.toString();
			if(result == "TRUE")
			{
					//$.notifyBar({ cls: "infocart-dx", html: "La Base de Datos que se esta enviando ya se encuentra en su Carrito; esta Base de datos ha sido removida de su Wish List sin que afecte a su Carrito" , close: true, delay: 1000000 }); Con boton cerrar 
				   $.notifyBar({ cls: "infocart-dx", html: "La Base de Datos que se esta enviando ya se encuentra en su Carrito; esta Base de datos ha sido removida de su Wish List sin que afecte a su Carrito" });
			}
								
        }
	});
	*/
	//Moises2010-06-15



	
	////Despues
	var url = $("#urlSendItemToCartPurchases").val();	
	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {idItemMov : idPackage}, //valor que le pasamos al URL
        async : true,  
        beforeSend:function(message) {
        	startLoadingCartPurchases();
        	startLoadingWishlist();
        },      
        success: function(message) {
        	changeVisibleWishlistLink(idPackage, true);
        	changeVisibleCartLink(idPackage, false);
            // Refrescamos lista de wishlist
        	var urlWishlist = $("#urlWishlist").val();			
			$("#containerWishlist").load(urlWishlist, function(){
				endLoadingWishlist();
				// Verificamos si desplegamos carrito de compras
				if($("#containerCartPurchases").css("display")=="none")
				{					
					viewSummaryCartPurchases();
					endLoadingCartPurchases();					
				}
				else{
					// Refrescamos lista de carrito de compras
					var urlCartPurchases = $("#urlCartPurchases").val();			
					$("#containerCartPurchases").load(urlCartPurchases,function(){
						endLoadingCartPurchases();
						levelSizeWC();
					});
					
				}
			});
						
        }
	});
}

/**
 * Funcion que elimina un item del wishlist, realiza el efecto de re-carga de datos
 * del wishlist
 **/
function deleteItemWishlist(idPackage)
{
	var url = $("#urlSendItemToCartPurchases").val();	
	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {idItemDel : idPackage}, //valor que le pasamos al URL
        async : true,   
        beforeSend:function(message) {
        	startLoadingWishlist();
        },       
        success: function(message) {
        	changeVisibleWishlistLink(idPackage, true);
        	var urlWishlist = $("#urlWishlist").val();
			$("#containerWishlist").load(urlWishlist, function(){
				endLoadingWishlist();
				if( $("#containerCartPurchases").css("display")== "block" )
					levelSizeWC();
			});
			
        }
	});
}

function signacovenantbuy(val)//prueba()
{	
	var url = $("#urlsignacovenant").val();
	if(val!=null)
		$(".buyCubes").load(url,{account:'true'});
	else
		$(".buyCubes").load(url);
}

function registercreditcardinbuy()//prueba()
{
	var url = $("#urlRegisterCreditCard").val();
	$(".buyCubes").load(url);
}
function cancelregistercreditcard(){

	/*$("#fundWindow2").slideUp("slow");
	$(".registerCard").slideUp("slow");*/
	var url = $("#urlPayment").val();
	$(".buyCubes").load(url,{pay : 'Tarjeta de Credito'});
}

// Metodo de compra
function buy(value)
{			
	var url = $("#urlBuyCubes").val();
	//urlcongratulationspremiumaccount
	//var url = $("#urlcongratulationspremiumaccount").val();
	$("#fundWindow").slideDown("slow");
	$(".buyCubes").load(url,{typebuy:value}).slideDown("slow");	
	
}

//Metodo de compra
function selectpaymentmetthodregister()
{			
	var url = $("#urlselectpaymenthod").val();
	$("#fundWindow").slideDown("slow");
	$(".buyCubes").load(url).slideDown("slow");	
	
}
//Metodo que se invoca cuando el usuario quiere comprar cubos sin estar registrado o logueado
function logreguserbuy()
{	
		var url = $("#urlLogRegBuyCubes").val();
		$("#fundWindow").slideDown("slow");
		$(".buyCubes").load(url).slideDown("slow");
	
}

// Metodo que carga el tipo de pago
function loadPayment(valor)
{
	var url = $("#urlPayment").val();
	$(".buyCubes").load(url,{pay : valor});	
}

function loadPaymentPremiun(valor)
{
	//alert("eco");
	var url = $("#urlPayment").val();
	$(".buyCubes").load(url,{pay : valor});	
}

//urlregisterPayment

//Metodo que carga el tipo de pago
function payRegisterPayment(valor)
{
	//alert('aquiiiiiiiiiiii');
	var url = $("#urlregisterPayment").val();
	//alert('urlssssss'.url);
	$(".buyCubes").load(url,{pay : valor});	
}


function validateSms(value,typebuy, successcallback, failcallback)
{
	_successcallback = successcallback;
	_failcallback = failcallback;
	var url = $("#urlValidateSms").val();
	//var url = $("#urlPayment").val();
	var code = $("#code").val();
	//alert("URL = "+url+"\nCode = "+code);
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {code1 : code, ismypaymethod : value}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
            //alert("url y datos correctos!!!");
            switch(typebuy){
            	case'premium':
            		var urlD = $("#urlcongratulationspremiumaccount").val();
                	$(".buyCubes").load(urlD);
                	break;
            	case 'cart':
            		var urlD = $("#urlDownload").val();
                	$(".buyCubes").load(urlD);
                	viewCartPurchases();
                	break;
            }
			if (typeof(_successcallback) != 'undefined')
			{
				_successcallback();
				_successcallback = null;
				_failcallback = null;
			}
        },
        error:function(message) {	        
        	errorlayout2(message);	        
			if (typeof(_failcallback) != 'undefined')
			{
				_failcallback();
				_successcallback = null;
				_failcallback = null;
			}
        }
	});
}

function errorlayout2(val){
	var urlerror = $("#errorlayout2").val();
	$(".buyCubes").load(urlerror);
}

//Metodo de cerrar compra
function closedbuy(val)
{	
	if(val=='t'){
		$("#freecube").show();
		$("#fundWindow").slideUp("slow");
		$(".buyCubes").slideUp("slow");
	}
	else{
		$("#freecube").show();
		$("#fundWindow").slideUp("slow");
		$(".buyCubes").slideUp("slow");
		var url = $("#urlredirectsearch").val();
		window.location=url;
	}
	//window.location="/";
	
}

/**
 * Funcion para ejecutar la accion de enviar items a carrito de compras desde el panel
 * de wishlist, con los respectivos efectos de carga de datos (loading)
 */ 
function selectItemToCartPurchases()
{
	var indice = 0;
	var ids = new Array();
	$(".selection").each(function(i) {
		if(this.checked)
		{			
			ids[indice] = this.value;
			indice++;			
		}
	});

	if(indice==0)
		alert("No haz seleccionado nada");
	else{


		//AQUI PONER Moises 2010-06-22
		//urlAddItemToWishlist

		var url = $("#urlValidateItemToCartPurchases").val();	
		//alert("voy a enviar..."+ids);
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {comprar : 'Comprar', 'seleccion[]' : ids}, //valor que le pasamos al URL
	        async : false,    
	        beforeSend:function(message) {
	        	//startLoadingWishlist();
	        	//startLoadingCartPurchases();
	        },
	        success:function(message) {
	            
			
				var result = message.toString();
				//alert ("LO QUE LLEGA ES:"+ result);
				if(result == "TRUE")
				{
					$.notifyBar({ cls: "infowishlist-dx", html: "Una ó mas Bases de Datos ya estan en su Wish List; ha(n) sido removida de su Carrito(No existen duplicados en su Carrito)" });
				}
	        },
	        error: function(message) {
		        alert(message+"");
	        }
		});
		
		//FIN MOISES 2010-06-22

		
		//urlAddItemToWishlist
		var url = $("#urlSendItemToCartPurchases").val();	
		//alert("voy a enviar..."+ids);
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {comprar : 'Comprar', 'seleccion[]' : ids}, //valor que le pasamos al URL
	        async : true,    
	        beforeSend:function(message) {
	        	startLoadingWishlist();
	        	startLoadingCartPurchases();
	        },
	        success: function(message) {
	            // Refrescamos lista de wishlist
	        	var urlWishlist = $("#urlWishlist").val();
	        	$("#containerWishlist").html(message);
				if($("#containerCartPurchases").css("display")=="block")
				{
					var urlCartPurchases = $("#urlCartPurchases").val();			
					$("#containerCartPurchases").load(urlCartPurchases, function(){
						endLoadingCartPurchases();
						levelSizeWC();
					});						
				}
				else{					
					viewSummaryCartPurchases();
					endLoadingCartPurchases();
				}									
				/*$("#containerWishlist").load(urlWishlist, function(){
					endLoadingWishlist();	
					// Refrescamos lista de carrito de compras
					if($("#containerCartPurchases").css("display")=="block")
					{
						var urlCartPurchases = $("#urlCartPurchases").val();			
						$("#containerCartPurchases").load(urlCartPurchases, function(){
							endLoadingCartPurchases();
							levelSizeWC();
						});						
					}
					else{					
						viewSummaryCartPurchases();
						endLoadingCartPurchases();
					}									
				});	*/		

				for(i=0; i<ids.length; i++)
				{
					changeVisibleWishlistLink(ids[i], true);
					changeVisibleCartLink(ids[i], false);
				}
	        },
	        error: function(message) {
		        alert(message+"");
	        }
		});
	}
}

//Metodo para seleccionar y enviar items a carrito
function selectItemDelete()
{
	var indice = 0;
	var ids = new Array();
	$(".selection").each(function(i) {
		if(this.checked)
		{			
			ids[indice] = this.value;
			indice++;			
		}
	});

	if(indice==0)
		alert("No haz seleccionado nada");
	else{
		//urlAddItemToWishlist
		var url = $("#urlSendItemToCartPurchases").val();	
		//alert("voy a enviar..."+ids);
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {eliminar : 'Eliminar', 'seleccion[]' : ids}, //valor que le pasamos al URL
	        async : true, 
	        beforeSend:function(message) {
	        	startLoadingWishlist();
	        },   
	        success: function(message) {
	            // Refrescamos lista de wishlist
	        	var urlWishlist = $("#urlWishlist").val();			
				$("#containerWishlist").load(urlWishlist, function(){
					endLoadingWishlist();
					levelSizeWC();

				// Cambiamos estados
				for(i=0; i<ids.length; i++)
				{
					changeVisibleWishlistLink(ids[i], true);
				}	
				
				});
	        },
	        error: function(message) {
		        alert(message+"");
	        }
		});
	}
	
}
//para la compra con deposito bancario
function validatebankdeposit(val,value,typebuy,successcallback,failcallback)
{
	_successcallback = successcallback;
	_failcallback = failcallback;
	var url = $("#urlValidatebank").val();
	var code = val;
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data : {codesold : code, ismypaymethod : value}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
        	//viewWishlist();
        	switch (typebuy) {
				case 'premium':
					var urlD = $("#urlcongratulationspremiumaccount").val();
	            	$(".buyCubes").load(urlD);
					break;
				case 'cart':
					var urlD = $("#bankdeposit").val();
	            	$(".buyCubes").load(urlD);
	            	viewCartPurchases();
					break;
	
			}
        	_successcallback();
			_successcallback = null;
			_failcallback = null;
        },
        error:function(message) {
	        //alert("fallo"+message);
        	errorlayout2(message);
			_failcallback();
			_successcallback = null;
			_failcallback = null;
        }
	});
}

function validateCreaditCard(val,typebuy,successcallback,failcallback)
{
	_successcallback = successcallback;
	_failcallback = failcallback;
	var url = $("#urlValidateCreditcard").val();
	var code = val;
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data : {ncode : code}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
        	//viewWishlist();
        	var result = message.toString();
        	if(result.substring(5,0)!="FALSE")
        	{
	        	switch (typebuy) {
					case 'premium':
						var urlD = $("#urlcongratulationspremiumaccount").val();
		            	$(".buyCubes").load(urlD);
						break;
					case 'cart':
						var urlD = $("#urlDownload").val();
		            	$(".buyCubes").load(urlD);
		            	viewCartPurchases();
						break;
		
				}
				if (typeof(_successcallback) != 'undefined')
				{
					_successcallback();
				}
        	}
        	else{
            	alert("Su tarjeta no tiene fondos suficientes\nSeleccione otra tarjeta");
				if (typeof(_failcallback) != 'undefined')
				{
					_failcallback();
				}
            	//$(".buyCubes").load(url);
        	}
			_successcallback = null;
			_failcallback = null;
        },
        error:function(message) {
        	errorlayout2(message);
			_successcallback = null;
			_failcallback = null;
        }
	});
}

function validateAgrement(val)
{
	var url = $("#urlValidateAgreement").val();
	var pass = val;
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {ncode : 'pass' }, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
        	var urlD = $("#urlDownload").val();
        	$(".buyCubes").load(urlD);
        	viewCartPurchases();
        },
        error:function(message) {
	        //alert("fallo");
        	errorlayout2(message);
        }
	});
}

// Efecto para refrescar resumen de wishlist
function viewSummaryWishList()
{
	
	var url = $("#urlViewSummaryWishList").val();
	$("#sumarywishlist").load(url,function(){
			$(this).fadeIn("slow");
	});
	
}

// Efecto para refrescar resumen de wishlist y desplegarlo
function showSummaryWishList()
{	
	viewSummaryWishList();
	$(".sumarywishlist").fadeIn("slow");
}

//Efecto para refrescar resumen de wishlist y replegarlo
function hideSummaryWishList()
{
	$(".sumarywishlist").fadeOut("slow");
}

//Efecto para refrescar resumen de carrito de compras
function viewSummaryCartPurchases()
{
	var url = $("#urlViewSummaryCartPurchases").val();
	$(".sumarycartpurchases").load(url, function(){
		$(this).fadeIn("slow");
	});	
	//$(".sumarycartpurchases").slideDown("slow");
}

// Efecto para refrescar resumen de carrito de compras y desplegarlo
function showSummaryCartPurchases()
{
	viewSummaryCartPurchases();
	$(".sumarycartpurchases").fadeIn("slow");
	//$(".sumarycartpurchases").slideDown("slow");
}

//Efecto para refrescar resumen de carrito de compras y replegarlo
function hideSummaryCartPurchases()
{
	//$(".sumarycartpurchases").slideUp("slow");
	$(".sumarycartpurchases").fadeOut("slow");
}

/**
 * Efecto para igualar tamaño entre paneles de carrito y wishlist
 **/ 
function levelSizeWC()
{
	var heightCartPurchases = $("#containerCartPurchases").height();

	var heightWishlist = $("#containerWishlist").height();
	
	if(heightWishlist != heightCartPurchases)
	{		
		// Cuando Wishlist es mas pequeño
		if(heightWishlist < heightCartPurchases )
		{
			if( heightCartPurchases > 185 )
			{
				var newHeightWishlist =  $("#listCubesWishlist").height();
				
				var difference = heightCartPurchases - heightWishlist;
				var sizeHeight = parseInt(newHeightWishlist) + parseInt(difference);				
				
				$("#listCubesWishlist").animate({height:sizeHeight},2000);
			}
			
		}
		// Cuando carrito es mas pequeño
		else{
			if(heightWishlist > 268)
			{
				var newCartPurchases =  $("#listCubesCartPurchases").height();				
				
				var difference = heightWishlist - heightCartPurchases;
				var sizeHeight = parseInt(newCartPurchases) + parseInt(difference);
				
				$("#listCubesCartPurchases").animate({height:sizeHeight},2000);
			}
			
		}

	}			
	
}

/**
 * Efecto para animar el hecho de añadir un item al carrito de compras o wishlist
 **/
function animationAdd(idPackage)
{
	var idCube;
	idCube = getCubeID(idPackage);
	
	if(idCube != NaN)
	{		
		// Si se hizo click en el link de wish list
		$('.addwishlistlink[cubeid="'+idCube+'"]').click(function(event){
						
			var positionX = event.pageX;
			var positionY = event.pageY-20;

			// Capturamos posicion del boton de wishlist
			var positionButton = $("#buttonwishlist").position();
			var positionButtonX = positionButton.left;
			var positionButtonY = positionButton.top;

			var idDiv = "animated_w_"+idCube;
			var divAnimated = "<div id='"+idDiv+"' style='background:#000;opacity:0.3;filter:alpha(opacity=50);display:none;width:25px;height:25px;position:absolute;z-index:50;border: solid 1px;border-color:#999999;top:"+positionY+"px; left:"+positionX+"px;'></div>";
		
			$("#content").before(divAnimated);	
			$("#"+idDiv).show();
			$("#"+idDiv).animate({top:positionButtonY,left:positionButtonX,height:25,width:175},1000,function(){
				$("#"+idDiv).remove();
				});
		});

		// Si se hizo click en el link de carrito de compras
		$('.addcartlink[cubeid="'+idCube+'"]').click(function(event){
			
			var positionX = event.pageX;
			var positionY = event.pageY-20;

			// Capturamos posicion del boton de wishlist
			var positionButton = $("#buttoncartpurchases").position();
			var positionButtonX = positionButton.left;
			var positionButtonY = positionButton.top;

			var idDiv = "animated_c_"+idCube;
			var divAnimated = "<div id='"+idDiv+"' style='background:#000;opacity:0.3;filter:alpha(opacity=50);display:none;width:25px;height:25px;position:absolute;z-index:50;border: solid 1px;border-color:#999999;top:"+positionY+"px; left:"+positionX+"px;'></div>";
		
			$("#content").before(divAnimated);	
			$("#"+idDiv).show();
			$("#"+idDiv).animate({top:positionButtonY,left:positionButtonX,height:25,width:175},1000,function(){
				$("#"+idDiv).remove();
				});
		});
	}	
			
}

/**
 * Funcion para mostrar ventana emergente de free cubes
 **/

function viewFreeCubes()
{
	var url = $("#urlFreeCubes").val();
	$("#freecube").hide();	
	$("#fundWindow").show();
	$(".buyCubes").load(url, function(){
		$("#divclosewindow").css("display","block");
		});
	$(".buyCubes").slideDown("slow", function(){
		$('#containerfreecubes').dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
		});
	
}

function closeFreeCubes()
{
	$("#freecube").show();
	$("#fundWindow").slideUp("slow");
	$(".buyCubes").slideUp("slow");
	//$("#fundWindow").slideUp("slow");
	//$(".buyCubes").slideUp("slow");
}

//Funcion para mostrar login
function viewLogin(value)
{	
	
	var typelogin = value;
	if(typelogin=='premiumuser')
	{
		//alert('hola');
		loginBuy('premium');
	}
	else{
		var url = $("#urlLogin").val();
		var searched = $("#searchField").val();
		var h = $(document).height();
		$("#fundWindow").css("height",h);
		$("#fundWindow").slideDown("slow");
		$(".login").load(url,{search : searched}, function(){
			//$(this).slideDown("slow");
			$(this).css("top","-700px");		
			$('#Loginform input[name="login"]').focus();
			$('#Loginform input[name="login"]').select();
			switch(typelogin)
			{
				case 'init':
					$('#Loginform input[name="typelogin"]').val('0');
					break;
				case 'buyinit':
					$('#Loginform input[name="typelogin"]').val('1');
					break;
				case 'accountinit':
					$('#Loginform input[name="typelogin"]').val('2');
					break;
				case 'premium':
					$('#Loginform input[name="typelogin"]').val('3');
					break;
				case 'free':
					$('#Loginform input[name="typelogin"]').val('4');
					break;
				case 'premiumuser':
					$('#Loginform input[name="typelogin"]').val('5');
					break;
			}
			
		}).slideDown('slow');
	}
}

//Funcion para cerrar login
function closedlogin()
{
	
	$("#fundWindow").slideUp("slow");
	$("#login").hide();
	$("#login").css({"visibility":"hidden"});
	
	//$("#login").slideUp("fast");
}

// Funcion para dar efecto de filtros y paginador a tablas de administracion paquetes
function efectTable()
{
	
	$('.dataTable').dataTable(
		{
			//"aaSorting": [[ 4, "desc" ]],			
			"sPaginationType": "full_numbers"				
		} 
	);
}
// Funcion para mostra selector de cubos
function viewSelectorCubes(operation)
{
	//alert(""+operation);
	var url = $("#urlSelectorCubes").val();	
	$(".buyCubes").load(url,{'idscubespackage[]' : ArrayCubeIds, typeOperation : operation},function(){
		$(this).show();		
		
	});
	//'idscubespackage[]' : ArrayCubeIds
}
//Funcion para mostra selector de usuarios
function viewSelectorUsers(operation)
{
	//alert(""+operation);
	var url = $("#urlSelectorUsers").val();
	//suscribeUsers
	$(".buyCubes").load(url,{'idsusers[]' : ArrayUserIds, typeOperation : operation}, function(responseText, textStatus, XMLHttpRequest){
		$(this).show();
	});
	//'idscubespackage[]' : ArrayCubeIds
}

// Variable para manejar arreglo de ids para añadir cubos a paquete nuevo
var ArrayCubeIds = new Array();
// Variable para manejar arreglo de ids para añadir usuarios a convenio
var ArrayUserIds = new Array();
var nro = 0;

//Funcion para añadir un item a lista de cubos de creacion de paquetes
function addCubePackage(idcube, name, description, price)
{	
	
	ArrayCubeIds.push(idcube);
	$(".buyCubes").hide();

	nro = ArrayCubeIds.length;
	// Añadimos fila en la tabla
	
	var ai = oTable.fnAddData( [
									nro,
	            	        		name,
	                	    		description.toString(),
	                    			price,
	                    			"<a href='#' onclick='deleteCubePackage("+idcube+",1);return false;'>eliminar</a>" ] );

	// Obtenemos la fila HTML insertada 
	var TR = oTable.fnSettings().aoData[ ai[0] ].nTr;

	// Modificamos sus atributos, le colocamos un id = idcube
	TR.setAttribute("id", ""+idcube);

 	
	// Number of td's in the last table row
	//var n = $('tr:last td', this).length; 

	/*
	var tds = "<tr class='gradeC' id='"+idcube+"'>";

	tds += "<td>"+nro+"</td>";
	tds += "<td>"+name+"</td>";
	tds += "<td>"+description.toString()+"</td>";
	tds += '<td>'+price+'</td>';
	tds += "<td><a href='#' onclick='deleteCubePackage("+idcube+",1);return false;'>eliminar</a></td>";
	
	
	tds += '</tr>';
	if($('tbody', $("#table_package")).length > 0){
		$('tbody', $("#table_package")).append(tds);
	}
	else {
		$("#table_package").append(tds);
	}*/
	
}
//Funcion para añadir un item a lista de usuarios de suscripcion de usuarios de convenio
function addUserAgreement(iduser, name, fatherlastname)
{	
	
	ArrayUserIds.push(iduser);
	//suscribeUsers
	$(".buyCubes").hide();

	nro = ArrayUserIds.length;
	// Añadimos fila en la tabla
	
	var ai = oTable.fnAddData( [
									nro,
	            	        		name,
	            	        		fatherlastname,
	                    			"<a href='#' onclick='deleteUserAgreement("+iduser+",1);return false;'>eliminar</a>" ] );

	// Obtenemos la fila HTML insertada 
	var TR = oTable.fnSettings().aoData[ ai[0] ].nTr;

	// Modificamos sus atributos, le colocamos un id = idcube
	TR.setAttribute("id", ""+iduser);
}



// Funcion que elimina una fila de tabla de creacion/modificacion de paquetes
function deleteCubePackage(idcube, operation)
{
	// operation = 1 	=>	Creacion de paquetes
	// operation = 2 	=>	Modificacion de paquetes
	// Removemos de la vista
	//$("#"+idcube).remove();
	
	oTable.fnDeleteRow( document.getElementById( ''+idcube ) );
	// Removemos del array de ids 
	var j = 0;	
	while (j < ArrayCubeIds.length) 
	{	
		if (ArrayCubeIds[j] == idcube) {
			ArrayCubeIds.splice(j, 1);
			// Actualizamos la numeracion general para proximo a añadir			
			nro--;
		}
		else 
			j++;
	}
	// Actualizamos la numeracion de lista de cubos

	for (var i=1; i<document.getElementById("table_package").rows.length; i++) 
	{
		var nro_del = i;		
		if(ArrayCubeIds.length > 0)
			document.getElementById("table_package").rows[i].cells[0].innerHTML = ""+nro_del;		
	}
}

//Funcion que elimina una fila de tabla de creacion/modificacion de usuarios
function deleteUserAgreement(iduser, operation)
{
	// operation = 1 	=>	Creacion de paquetes
	// operation = 2 	=>	Modificacion de paquetes
	// Removemos de la vista
	//$("#"+idcube).remove();
	
	oTable.fnDeleteRow( document.getElementById( ''+iduser ) );
	// Removemos del array de ids 
	var j = 0;	
	while (j < ArrayUserIds.length) 
	{	
		if (ArrayUserIds[j] == iduser) {
			ArrayUserIds.splice(j, 1);
			// Actualizamos la numeracion general para proximo a añadir			
			nro--;
		}
		else 
			j++;
	}
	// Actualizamos la numeracion de lista de cubos

	for (var i=1; i<document.getElementById("table_package").rows.length; i++) 
	{
		var nro_del = i;		
		if(ArrayUserIds.length > 0)
			document.getElementById("table_package").rows[i].cells[0].innerHTML = ""+nro_del;		
	}
}

// Funcion para enviar datos a controlador y registrar paquete
function sendPackage(operation)
{
	var url = "";
	if(operation=="NEW")
		url = $("#urlCreatePackage").val();
	if(operation=="UPDATE")	
	{
		url = $("#urlUpdatePackage").val();	
		var idPackage = $("#id-package").val();		
	}
	
	var namePackage = jQuery.trim($("#name-package").val());
	var descriptionPackage = jQuery.trim($("#description-package").val());
	var priceMonthlyPackage = jQuery.trim($("#price-monthly-package").val());
	//validamos campos
	var msg = "";
	if(namePackage=="")
		msg += "\n- Nombre de paquete invalido";
	if(descriptionPackage=="")
		msg += "\n- Descripcion de paquete invalido";
	if(priceMonthlyPackage=="")
		msg += "\n- Precio de paquete invalido";
	else{
		//evaluamos si es un numero valido
		var regExPatternReal = /^(?:\+|-)?\d+\.\d*$/;
		var regExPatternInteger =/^(?:\+|-)?\d+$/;
		if( priceMonthlyPackage.match(regExPatternReal) || priceMonthlyPackage.match(regExPatternInteger) )
			msg;
		else
			msg += "\n- Precio de paquete debe ser un numero";
	}
	// validamos la lista
	if(ArrayCubeIds.length < 1)
		msg += "\n- No selecciono ningun cubo";
	if(msg!="")
	{
		var msgError = "Se presento los siguientes errores:"+msg;
		alert(""+msgError);
	}
	else{
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {name : namePackage, description : descriptionPackage, priceMonthly : priceMonthlyPackage, 'idscubespackage[]' : ArrayCubeIds, idPackage : idPackage}, //valor que le pasamos al URL
	        async : true,        
	        success: function(message) {        	
	        	var urlList =$("#urlListPackage").val();
	        	location.href = urlList; 
	        },
	        error:function(message) {
		        alert("fallo_1"+message);
	        }
		});
	}
	
}
//funciones para el registro de convenios
//Funcion para enviar datos a controlador y registrar un convenio
function sendAgreement(operation)
{
	var url = "";
	if(operation=="NEW" )
		url = $("#urlCreateAgreement").val();
	if(operation=="UPDATE" )	
	{
		//url = $("#urlUpdateAgreement").val();	
		//var idAgreement = $("#id-agreement").val();	
		
	}
	
	var nameAgreement = jQuery.trim($("#name-agreement").val());
	var descriptionAgreement = jQuery.trim($("#description-agreement").val());
	var typeAgreement = jQuery.trim($("#type-agreement").val());
	var timeLifeAgreement = jQuery.trim($("#timelife-agreement").val());
	var amountAgreement = jQuery.trim($("#amount-agreement").val());
	var idEntityAgreement = jQuery.trim($("#identity-agreement").val());
	//validamos campos
	var msg = "";
	if(nameAgreement=="")
		msg += "\n- Nombre de paquete invalido";
	if(descriptionAgreement=="")
		msg += "\n- Descripcion de paquete invalido";
	if(typeAgreement=="")
		msg += "\n- tipo de convenio invalido";
	else{
		if( typeAgreement == "Escoja opción")
			msg += "\n- Debe escojer un tipo";
		else
			msg;
	}
	if(msg!="")
	{
		var msgError = "Se presento los siguientes errores:"+msg;
		alert(""+msgError);
	}
	else{
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {name : nameAgreement, description : descriptionAgreement, type : typeAgreement, timelife : timeLifeAgreement , identity : idEntityAgreement, amount : amountAgreement, 'idscubesagreeemt[]' : ArrayCubeIds}, //valor que le pasamos al URL
	        async : true,        
	        success: function(message) {        	
	        	/*var urlList =$("#urlUpdateAgreement").val();
	        	location.href = urlList;*/
	        	//$("#content").load(url);
	        	var urlList =$("#urlListAgreement").val();
	        	location.href = urlList;
	        },
	        error:function(message) {
		        alert("fallo_2"+message);
	        }
		});
	}

}

function sendTask(operation)
{	
	
	var url = "";
	if(operation=="NEW" )
		url = $("#urlCreateTask").val();
	if(operation=="UPDATE" )	
	{
		url = $("#urlUpdateAgreement").val();	
		var idAgreement = $("#id-agreement").val();	
		
	}
	var nametask = jQuery.trim($("#name-task").val());
	var descriptiontask = jQuery.trim($("#description-task").val());
	var pagetask = jQuery.trim($("#page-task").val());
	var statetask = jQuery.trim($("#state-task").val());
	var visibilitytask = jQuery.trim($("#visibility-task").val());
	
	//validamos campos
	try
	{
	var msg = "";
	if(nametask=="")
		msg += "\n- Nombre de la tarea invalido";
	if(descriptiontask=="")
		msg += "\n- Descripcion de la tarea invalido";
	if(pagetask=="")
		msg += "\n- pagina de ref. invalido";
	else{
		if( visibilitytask == "Escoja opción")
			msg += "\n- Debe escojer un tipo";
		//else
			//msg;
	}
	}
	catch(err)
	{
		alert(''+err);
	}
	if(msg!="")
	{
		var msgError = "Se presento los siguientes errores:"+msg;
		alert(""+msgError);
	}
	else{
		
		try{
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {name : nametask, description : descriptiontask, state : statetask, page : pagetask , state : statetask, visibility : visibilitytask}, //valor que le pasamos al URL
	        async : true,        
	        success: function(message) {
		                	
	        	/*var urlList =$("#urlUpdateAgreement").val();
	        	location.href = urlList;*/
	        	//$("#content").load(url);
	        	var urlList =$("#urlListTask").val();
	        	location.href = urlList;
	        },
	        error:function(message) {
		        alert("fallo"+message);
	        }
		});
		}catch(errorrr){alert(''+errorrr);}
	}

}

function viewTaskLink()
{
	
	urlref = $("#viewPackageAgreementLink(").val();
	location.href = "/WebSPIM/public/task/createtask";
    return;
	
}
function viewTaskListLink()
{
	
	urlref = $("#viewPackageAgreementLink(").val();
	location.href = "/WebSPIM/public/task/tasklist";
    return;
	
}
//Funcion para enviar datos a controlador y registar los cubos que le pertenecen al convenio

function viewPackageAgreementLink(idagreement)
{
	
	//urlref = $("#urlEditAgreement").val();
	//location.href = "/WebSPIM/public/agreement/createagreement";
    //return;
	$("#content").load($("#urlEditAgreement").val() + '?idagreement=' + idagreement);
	return;
	//no se ejecuta lo de abajo
	var url = "";
	url = $("#urlEditAgreement").val();
	$.ajax({
		type: "POST",  //HTTP POST-GET
	    url: url,  // URL del recurso que queremos acceder
	    data: { 'idagreement' : idagreement}, //valor que le pasamos al URL
	    async : true,        
	    success: function(message) {
	    $("#content").html(message);
	     	//urlref = $("#urlEditAgreement").val();
	        //href.location = urlref;
	    },
	    error:function(message) {
	    alert("fallo_4"+message);
	    }
	});
	
}
// aumentado recien  

function viewUserAgreementSubscription(idagreement)
{
	
	//urlref = $("#urlEditAgreement").val();
	//location.href = "/WebSPIM/public/agreement/createagreement";
    //return;
	$("#content").load($("#urlEditAgreementUser").val() + '?idagreement=' + idagreement, function(responseText, textStatus, XMLHttpRequest){
	});
	return;
}



//Funcion para enviar datos a controlador y borrar una tarea de la lista de tareas
/*ROGERTABLE*/
/* 
function viewTaskRemove(idtask)
{	
	oTable.fnDeleteRow( document.getElementById( ''+idcube ) );
	// Removemos del array de ids 
	var j = 0;	
	while (j < ArrayCubeIds.length) 
	{	
		if (ArrayCubeIds[j] == idcube) {
			ArrayCubeIds.splice(j, 1);
			// Actualizamos la numeracion general para proximo a añadir			
			nro--;
		}
		else 
			j++;
	}
	// Actualizamos la numeracion de lista de cubos

	for (var i=1; i<document.getElementById("table_package").rows.length; i++) 
	{
		var nro_del = i;		
		if(ArrayCubeIds.length > 0)
			document.getElementById("table_package").rows[i].cells[0].innerHTML = ""+nro_del;		
	}

	//urlref = $("#urlEditAgreement").val();
	//location.href = "/WebSPIM/public/agreement/createagreement";
    //return;
	$("#content").load($("#urlListTask").val() + '?idtask=' + idtask);
	return;
	//no se ejecuta lo de abajo
	var url = "";
	url = $("#urlListTask").val();
	$.ajax({
		type: "POST",  //HTTP POST-GET
	    url: url,  // URL del recurso que queremos acceder
	    data: { 'idtask' : idtask}, //valor que le pasamos al URL
	    async : true,        
	    success: function(message) {
	    $("#content").html(message);
	     	//urlref = $("#urlEditAgreement").val();
	        //href.location = urlref;
	    },
	    error:function(message) {
	    alert("fallo_4"+message);
	    }
	});
	
}
 */

function registercreditcardbuy(typocard,
		ncardcredito,
		f_date1,
		ncode,
		nfirstname,
		nlastname,
		nentityreferred)
{
	var url = $("#createcardbuy").val();	
	//alert('fecha'+f_date1);

	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {typocard : typocard, ncardcredito : ncardcredito,
		fecha : f_date1, ncode : ncode, nfirstname : nfirstname,
		nlastname : nlastname, nentityreferred : nentityreferred}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
	        //alert("termino");
			loadPayment(2);
		  },
		error:function(message) {
			  errorlayout2(message);
	        //alert("fallo\n"+message);
        }
	});
	
	
}
function sendToListPackage()
{
	var urlList =$("#urlListPackage").val();
	location.href = urlList;
}

// modifica la lista de paquetes que pertenecen a un convenio
function sendCubesAgreement(operation, idagreement)
{	
	var url = '/WebSPIM/public/es/agreement/editagreement';
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: { 'operation' : operation, 'idagreement' : idagreement, 'idscubespackage[]' : ArrayCubeIds}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
            var urlList = $("#urlListAgreement").val();
        	location.href = urlList; 
        },
        error:function(message) {
	        alert("fallo_5" + message);
        }
	});
}

//modifica la lista de usuarios que pertenecen a un convenio
function sendUsersAgreement(operation, idagreement)
{	
	var url = '/WebSPIM/public/es/agreement/editagreementuser';
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: { 'operation' : operation, 'idagreement' : idagreement, 'idsusers[]' : ArrayUserIds}, //valor que le pasamos al URL
        async : true,        
        success: function(data, textStatus, jqXHR) {
            var urlList = $("#urlListAgreement").val();
        	location.href = urlList; 
        },
        error:function(jqXHR, textStatus, errorThrown) {
	        alert("fallo_5" + jqXHR);
        }
	});
}


function buyfreecube(value)
{
	var url = $("#urlitemscard").val();
	//$(".buyCubes").load(url,{item : value}).slideDown("slow");
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data : {item : value}, //valor que le pasamos al URL
        async : true,        
        success: function(message) {
        	loginBuy('free');
        	//viewLogin('free');
        	//viewCartPurchases();
        },
        error:function(message) {
        	errorlayout2(message);
        }
	});	
}

//metodos de los convenios
function sendToListAgreement()
{
	var urllist =$("#urlListAgreement").val();
	location.href = urlList;
}

//Metodo que se invoca cuando el usuario quiere comprar cubos sin estar registrado o logueado
function loginkeypressed(e, value)
{	
	if(e.keyCode==13)
	{
		//alert("enter "+ value);
		loginAjax(value);
	}
}

//Metodo de logueo para compra
function loginBuy(value)
{		
	var urlcookie =$("#urlinCookies").val();
	
	$.ajax({
        url: urlcookie,  // URL del recurso que queremos acceder
        async : false,
        success: function(message) {
            var result = message.toString();
            if(result!="login")
            	$('.bdacount').css("visibility","visible");	            
			if(result != "FALSE" && result!="login")
			{					
				$('.bdlogin').css("visibility","visible");					
			}		
        },
        error: function(message) {
        	//alert("error"+message);
        }
	});
	
	//alert('hola'+value);
	//closedShowTypeUsers();
	
	var h = $(document).height();
	$("#fundWindow").css("height",h);
	$("#fundWindow").slideDown("slow");	
	//$("#submitButon").setAttribute('onclick', 'alert("hello");');
	//var submitButton = document.getElementById('submitButon');
	//submitButton.setAttribute('onclick', 'loginAjax("'+value+'");');
	/*$("#submitButon").click(function(event) {
		loginAjax(value);
	});*/
	$('#submitButon').bind('click', function() {
		loginAjax(value);
	});

	//var loginbutton = document.getElementById('passwordbuy');
	//loginbutton.setAttribute('onkeypress', 'loginkeypressed(event, "'+value+'");');
	/*$("#passwordbuy").click(function() {
		loginkeypressed(event, value);
	});*/
	$('#passwordbuy').bind('keyup', function(event) {
		loginkeypressed(event, value);
	});
	
	//passwordbuy
	//onkeypress="loginkeypressed(event);"
	
	$(".loginBuy").slideDown("slow", function(){
		
		$('#primary-content-login').dropShadow({left: 1, top: 1, blur: 1, color: "#000", swap: false, opacity :1});
		$(this).css("Top","0");
		$('#primary-content-login input[name="login"]').focus();
		$('#primary-content-login input[name="login"]').select();
		
				
		
		
		
	});
}
function loginBuys(value)
{
	closedShowTypeUsers();
	//loginBuy(value);
	setTimeout("loginBuy('"+value+"')",1000);
	//loginBuy(value);
}

function closedLoginBuy()
{	
	//$("#messageerror").slideUp("slow");
	$(".messageerror").hide();
	//$(".loginBuy").hide();
	$("#fundWindow").slideUp("slow");	
	//$(".loginBuy").hide();
	$("#loginbuy").attr("value","");
	$("#passwordbuy").attr("value","");
	$(".loginBuy").slideUp("slow");
	
}

function loginAjax(value)
{
	var urlLoginAjax =$("#urlLoginAjax").val();
	var email = $("#loginbuy").val();
	var password = $("#passwordbuy").val();
	var typebuy = value; 

	//alert('tipo '+value);

	//alert(email+" - "+password);
	//alert("el mensaje error es:"+mensajerror);
	if(email == "" ||password == "")
		$("#messageerror").slideDown("slow");
	else{
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: urlLoginAjax,  // URL del recurso que queremos acceder
	        data: {loginbuy : email , passwordbuy : password}, //valor que le pasamos al URL
	        async : false,
	        beforeSend: function(message) {
		        //alert("enviando login...");
	        },        
	        success: function(message) {	        	
	            //var result = parseInt(message);
	            var result = message.toString();
	        	//var result = message.responseText;
				if(result != "FALSE")
				{
					
					var inputLinkStartSesion = $("#linkStartSesion");	
					var inputLinkLogout = $("#linklogout");
					var username = $("#username");
					var usercuenta = $("#usercuenta");
					var premium = '';
						
					if(result.substring(1,0)=='%')
					{
						result = result.replace('%','');
						premium = 'true';
					}
					//username.val = result;
					if(inputLinkStartSesion.css("display") != "none")
					{					
						inputLinkStartSesion.css("display","none");
						inputLinkLogout.css("display","block");						
						usercuenta.css("display","block");
						usercuenta.append("<pre style='float:left;font-family:Geneva, Arial, Helvetica, sans-serif;font-size:14px;text-decoration:underline;'> "+result+" - </pre>");
						//$("#nameuser").attr("value",result);
						//$("#nameuser").css("display","block");
					}
					
					closedLoginBuy();
					
					if(premium=='true')
						downloadCard('se');
					else{
						if(typebuy!='cuenta')
							buy(typebuy);
						else
						{
							location.href=$("#urlUsersUseraccount").val();;
						}
					}
					
					
				}
				else
				{
					//alert("error " + result);
					$("#messageerror").slideDown("slow");
				}		
	        },
	        error: function(message) {
	        	alert("errrrorr");
	        	//alert("ss"+message.status);
	        	//alert("error" + ex);
	        }
		});
	}
}

function viewTypeUser()
{//function viewLogin()
	
	//var url = $("#urlShowTypeUsers").val();		
	//var searched = $("#searchField").val();
	var url = $("#urlShowTypeUsers").val();
	$("#fundWindow").slideDown("slow");
	$(".buyCubes").load(url).slideDown("slow");	
	//alert(""+searched);
	/*$("#fundWindow").slideDown("slow");
	$("#showtypeusers").load(url, function(){
		$(this).css("top","-1000px");
		$(this).slideDown("slow");
	});*/
}


function closedShowTypeUsers()
{
	$("#showtypeusers").slideUp("slow");	
	$("#fundWindow").slideUp("slow");
	$(".buyCubes").slideUp("slow");
	
}

function download() {
	
	var urlD = $("#urlDownload").val();
	
	$("#fundWindow").slideDown("slow");
	$(".buyCubes").load(urlD);
	$(".buyCubes").slideDown("slow");
	viewCartPurchases();
	
}

function changeStateEnablePremiumAccount(state)
{
	
}

function changePageEnablePremiumAccount(currentpage, currentstate)
{
	var url = $("#urlEnablePremiumAccount").val();	
	//alert("Page: "+currentpage+"\n"+"state: "+currentstate);
	var temp = document.createElement("form");
	temp.action = url;
	temp.method = "POST";
	temp.style.display = "none";
	// paso de parametros
	var opt = document.createElement("textarea");
	opt.name = "page";
	opt.value = currentpage;
	temp.appendChild(opt);

	var opt1 = document.createElement("textarea");
	opt1.name = "state";
	opt1.value = currentstate;
	temp.appendChild(opt1);
    	
	document.body.appendChild(temp);
	temp.submit();
	return temp;
	
}

/**
 * funcion para habilitar cuentas premium de manera unitaria o varios a la vez
 **/
function EnablePremiumAccount(currentpage, idpay)
{
	
	
	var url = $("#urlEnablePremiumAccount").val();	

	var temp = document.createElement("form");
	temp.action = url;
	temp.method = "POST";
	temp.style.display = "none";
	// paso de parametros
	var opt = document.createElement("textarea");
	opt.name = "page";
	opt.value = currentpage;
	temp.appendChild(opt);
	

	var idsPay = new Array();
	var indice = 0;

	
	// Ejecutamos una accion ajax para modificar los datos habilitados
	if(idpay != -1)
	{
		
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {page : currentpage, idpayactive : idpay}, // valor que le pasamos al URL
	        async : true, 
	        beforeSend:function(message) {
		        	        	
	        },   
	        success: function(message) {
	        	
	        	document.body.appendChild(temp);
	        	temp.submit();
	        	return temp;
	        	
	        },
	        error: function(message) {
	        			        
	        }
		});		
	}

	else{
		
		$(".selection-premium").each(function(i) {
			if(this.checked)
			{			
				idsPay[indice] = this.value;
				indice++;					
			}
		});

		if(indice == 0)
			alert("No selecciono ninguna cuenta premium");
		else{
			$.ajax({
		        type: "POST",  //HTTP POST-GET
		        url: url,  // URL del recurso que queremos acceder
		        data: {page : currentpage, 'idspayactive[]' : idsPay}, //valor que le pasamos al URL
		        async : true, 
		        beforeSend:function(message) {

		        },   
		        success: function(message) {		        	
		        	document.body.appendChild(temp);
		        	temp.submit();
		        	return temp;
		        },
		        error: function(message) {

		        }
			});		
		}
	}
}

/**
 * Funcion pata eliminar items o moverlos a wishlist 
 **/
function selectItemDeleteCart(operation)
{

	var indice = 0;
	var ids = new Array();
	$(".selection_cart").each(function(i) {
		if(this.checked)
		{			
			ids[indice] = this.value;
			indice++;			
		}
	});

	//alert(ids);

	if(indice==0)
		alert("No haz seleccionado nada");
	else{
		//urlAddItemToWishlist		
		var url = $("#urlCartPurchases").val();	
		//alert("voy a enviar..."+ids);
		$.ajax({
	        type: "POST",  //HTTP POST-GET
	        url: url,  // URL del recurso que queremos acceder
	        data: {operation : operation, 'seleccion_cart[]' : ids}, //valor que le pasamos al URL
	        async : true, 
	        beforeSend:function(message) {
	        	startLoadingCartPurchases();
	        	if(operation=="sendToWishList")
	        		startLoadingWishlist();
	        },   
	        success: function(message) {
	            // Refrescamos lista de carrito de compras
	        	var urlCartPurchases = $("#urlCartPurchases").val();			
				$("#containerCartPurchases").load(urlCartPurchases, function(){
					
					if($("#containerWishlist").css("display")=="block")
					{
						var urlWishlist = $("#urlWishlist").val();				
						$("#containerWishlist").load(urlWishlist, function(){
							endLoadingWishlist();			
							levelSizeWC();			
						});					
					}
					else{					
						viewSummaryWishList();
						endLoadingWishlist();
					}
					//endLoadingCarPurchases();				
				});				

				// Iteramos los items para cambiar estados de resultados buscados
				for(i=0; i<ids.length; i++)
			    {	
			     	changeVisibleCartLink(ids[i], true);
			     	
			     	if(operation == "sendToWishList")
			     		changeVisibleWishlistLink(ids[i], false);//Aqui se debe ahcer algo pero no se q aun mensaje carrito
			    }
	        },
	        error: function(message) {
		        alert(message+"");
	        }
		});
	}
	
}		

function deleteItemCart(idPackage)
{
	var url = $("#urlCartPurchases").val();	
	$.ajax({
        type: "POST",  //HTTP POST-GET
        url: url,  // URL del recurso que queremos acceder
        data: {idItemDel : idPackage}, //valor que le pasamos al URL
        async : true, 
        beforeSend:function(message) {
        	startLoadingCartPurchases();        	
        },   
        success: function(message) {
            // Refrescamos lista de carrito de compras
        	var urlCartPurchases = $("#urlCartPurchases").val();			
			$("#containerCartPurchases").load(urlCartPurchases, function(){
					
				if($("#containerWishlist").css("display")=="block")
				{					
					var urlWishlist = $("#urlWishlist").val();				
					$("#containerWishlist").load(urlWishlist, function(){
						endLoadingWishlist();			
						levelSizeWC();			
					});	
				}
				//endLoadingCarPurchases();
			});			
			
        },
        error: function(message) {
	        alert(message+"");
        }
	});

	changeVisibleCartLink(idPackage, true);
}


/**
 * Funcion para cambiar de pagina en ejemplo de paginador desde lado de servidor
 * y pluggin dataTables
 **/
function changePageDataTables(currentpage)
{
	var url = $("#urlPaginatorDataTables").val();	
	//alert("Page: "+currentpage+"\n"+"state: "+currentstate);
	var temp = document.createElement("form");
	temp.action = url;
	temp.method = "POST";
	temp.style.display = "none";
	// paso de parametros
	var opt = document.createElement("textarea");
	opt.name = "page";
	opt.value = currentpage;
	temp.appendChild(opt);
    	
	document.body.appendChild(temp);
	temp.submit();
	return temp;
	
}




