function eligeTemporadaCore () {

//	RFD -- seccion donde llama la funcionalidad de todos las series y peliculas del estudio

	var actionpath = null;
	var parametros = null;


	if($("#peliculasSeries").val() != "" && $("#peliculasSeries").val() != "Todos" ){
		console.log($("#peliculasSeries").val());
		parametros     = {idEstudio : $("#estudio").val(), nombreUnico : $("#peliculasSeries").val()};
		
		
		actionpath = '/reporte/reporteCostPerView/obtenerTemporada.action';

		if(actionpath != null ){			

			$.post(contextPath + actionpath, parametros, 
					function(data){
				console.log(data);
				
					console.log("SUCCESS -- Temporada ");

					if(data.errorMensaje != null)
						showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
					else{
						console.log(data);

						//angular.copy(data.temporadas, $scope.temporadas);

						$('#temporadas')
						.find('option')
						.remove()
						.end()
						;

						if(data[0].desc=='PELICULA'){
							$("#temporadas").append($('<option>', { value: "00", text : "PELICULA", selected : true }));
							$('#temporadas').prop('disabled', true);
						}
						else{
							$("#temporadas").append($('<option>', { value: "00", text : "Todos", selected : true }));

							for(var i=0; i<data.length; i++)	    
								$("#temporadas").append($('<option>', {
									value: data[i].value,
									text : data[i].desc
								}));	

							$('#temporadas').prop('disabled', false);

						}

					
				} 


			}).fail(function(){
				console.log("error");
			});

		}
		
		
		
		
	} else{
		$("#temporadas").append($('<option>', { value: "00", text : "Todos", selected : true }));
		//$("#peliculasSeries").find('option').get(0).remove();

		$('#temporadas').prop('disabled', true);
	}

}







var reporteCostoPerViewController = function($scope, $filter, utileriasService) {

	$scope.tipoReporte = null;
	$scope.tabla = null;
	$scope.aheader = null;
	$scope.bheader = null;
	$scope.estudios = [];
	$scope.estudio = null;
	$scope.hindex = null;
	$scope.paginationLimit = 100;
	$scope.totalDisplayed = $scope.paginationLimit;


	var nMeses = 1;
	var actualfecha = new Date();
	var year        = (((actualfecha.getMonth() + 1) - nMeses) <= 0) ? (actualfecha.getFullYear() - 1) : actualfecha.getFullYear();
	var month       = (((actualfecha.getMonth() + 1) - nMeses) <= 0) ? (12 + ((actualfecha.getMonth() + 1) - nMeses)) : ((actualfecha.getMonth() + 1) - nMeses);
	var date =  ("00" + month).slice(-2) + '/' + year;

	$scope.fechaConsulta = date;

	$('#mes').datepicker({ dateFormat: 'mm/yy'});

	utileriasService.actionCall('/reporte/reporteCostPerView/inicializaCatalogos.action', {}).then(
			function(data) {
				console.log("SUCCESS");
				if(data.errorMensaje != null)
					showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
				else{
					console.log(data);
					$scope.estudios = data.estudios;

					$("#estudio").append($('<option>', { value: "", text : "Todos", selected : true }));
					$("#peliculasSeries").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
					$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
					
					for(var i=0; i<$scope.estudios.length; i++)	    
						$("#estudio").append($('<option>', {
							value: $scope.estudios[i].value,
							text : $scope.estudios[i].desc
						}));	

					$("#estudio").find('option').get(0).remove();
				}
			}, 
			function(error){ console.log("ERROR");
			showError("Ha ocurrido el siguiente error: " + error);		
			}
	);

	$scope.muestraReporte = function(tipo, fecha, estudio) {
		if($('#mes').val() == "")			    
			showError("Favor de elegir una fecha para el reporte");	
		else if ($('#tipoReporte').val() == "")
			showError("Favor de elegir un tipo de reporte");	
		else
			$scope.generaReporte(tipo, fecha, estudio);

	}


	$scope.generaReporte = function(tipo, fecha, estudio) {

		console.log($("#estudio").val());
		console.log($scope.origenReporte);

		var parametros = {fecha : fecha};

		//var idEstudio = null;
		if($("#estudio").val() != "") 
			parametros     = {fecha : fecha, idEstudio : $("#estudio").val(),nombreUnico : $("#peliculasSeries").val(),temporada:$("#temporadas").val()};


		console.log(parametros);

		var check = moment(fecha, 'MM/YYYY');
		var month = check.format('M');

		var size = 5;

		if(tipo == 'mensual')
			size = month;

		$scope.hindex = ((Number(size) + 1) * 3) + 1;
		$scope.totalDisplayed = $scope.paginationLimit;

		var actionpath = null;

		if(tipo == 'mensual') 
			actionpath = '/reporte/reporteCostPerView/obtenerDatosReporteMensual.action';
		if(tipo == 'anual')   
			actionpath = '/reporte/reporteCostPerView/obtenerDatosReporteAnual.action';

		if(actionpath != null)
			utileriasService.actionCall(actionpath, parametros).then(function(data) {

				console.log("SUCCESS");

				if(data.errorMensaje != null)
					showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
				else{
					$scope.tabla = data.reporteVista.tabla;
					$scope.aheader = data.reporteVista.pheader;
					$scope.bheader = data.reporteVista.rheader;
				}

				console.log($scope.tabla);
				console.log($scope.aheader);
				console.log($scope.bheader);

			}, 
			function(error){ console.log("ERROR");
			showError("Ha ocurrido el siguiente error: " + error);		
			});

	}

	$scope.descargaReporte = function(tipo, fecha, estudio) {

		var estudioParametro = "";
		if($("#estudio").val() != "") 
			estudioParametro = '&idEstudio=' + $("#estudio").val()+'&nombreUnico='+$("#peliculasSeries").val()+'&temporada='+$("#temporadas").val();

		var url = contextPath +'/reporte/reporteCostPerView/exportaReporte.action?tipoReporte=' + tipo + '&fecha=' + fecha + estudioParametro;

		try { window.open(url); }
		catch(e) { showError("Ha ocurrido el siguiente error: " + e.description); }

	}

	$scope.descargaZip = function(tipo, fecha, estudio) {

		if($("#estudio").val() == ""){ 

			var url = contextPath +'/reporte/reporteCostPerView/exportaZip.action?tipoReporte=' + tipo + '&fecha=' + fecha;
			try { window.open(url); }
			catch(e) { showError("Ha ocurrido el siguiente error: " + e.description); }
		}

	}

	$scope.imprime = function (idDivPrintArea, fecha) {

		console.log(idDivPrintArea);


		$("#" + idDivPrintArea).printThis({
			importCSS: true,          
			importStyle: true,   
			header:"<h3 style='width: 950px; font-weight:bold;'><img style='padding-right: 50px;' src='"+contextPath+"/design/img/common/Clarovideo.png'/>REPORTE COST PER VIEW AL " + utileriasService.getMes(fecha) + " - " + utileriasService.getAnio(fecha) + "</h3>"

		}); 

		/*		   
		 $("#" + idDivPrintArea).printThis({
			       debug: false,               // show the iframe for debugging
			       importCSS: true,            // import page CSS
			       importStyle: true,         // import style tags
			       printContainer: true,       // grab outer container as well as the contents of the selector
			       //loadCSS: "path/to/my.css",  // path to additional css file - us an array [] for multiple
			       pageTitle: "Imprime reporte",              // add title to print page
			       removeInline: false,        // remove all inline styles from print elements
			       printDelay: 333,            // variable print delay
			       header: null,               // prefix to html
			       footer: null,               // postfix to html
			       base: false,                // preserve the BASE tag, or accept a string for the URL
			       formValues: true,           // preserve input/form values
			       canvas: false,              // copy canvas elements (experimental)
			       doctypeString: '...',       // enter a different doctype for older markup
			       removeScripts: false        // remove script tags from print content
			   });*/


		//$(elem).html();
		/*	        
	        var gobDiv 		= $('#' + idDivPrintArea);
			var gstTexto 	= gobDiv.html();

			console.log(gstTexto)

	        var mywindow = window.open('', 'printDiv', 'height=400,width=600');
	        mywindow.document.write('<html><head><title>Imprimiendo</title>');
	        optional stylesheet //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />');
	        mywindow.document.write('</head><body >');
	        mywindow.document.write(gstTexto);
	        mywindow.document.write('</body></html>');

	        mywindow.print();
	        mywindow.close();

			console.log("End printing");*/


	}

	$scope.descargaExcel = function() {
		var url = contextPath +'/reporte/reporteOveragesYPayments/descargarExcel.action';

		try { window.open(url); }
		catch(e)   { showError("Ha ocurrido el siguiente error: " + e.description); }
	}


	$scope.mostrarColumna = function (icolumna) {

		if(icolumna == $scope.hindex)return false;

		return true;
		/*		if (bypassColumnaConfig(columna, []))
			return false;
		if (bypassColumnaConfig(columna, ['ASSET_NAME']))
			return true;
		if ($scope.columnCfg == null || $scope.columnCfg.length == 0)
			return true
		for(var i=0; i<$scope.columnCfg.length; i++)
			if ($scope.columnCfg[i] == mapeoColumnaConfiguracion(columna))
				return true;
		return false;*/
	}

	/*	function mapeoColumnaConfiguracion (columna) {
		//if (/[M][0-9]*$/g.test(columna)) return 'MES';
		return columna;
	}

	function bypassColumnaConfig (columna, excepciones) {
		if ( $.inArray( columna, excepciones ) > -1 ) return true;
		return false;
	}*/

	$scope.obtenEstilo = function (row, column, x, y, tlength) {



		var styles = {};


		if (row[$scope.hindex] == 1)styles['font-weight'] = "900";
		if (row[$scope.hindex] == 2){styles['font-weight'] = "600"; styles['color'] = "blue";}
		if (row[$scope.hindex] == 3){styles['font-weight'] = "100"; styles['color'] = "blue";}

		if (y == 0 && x < tlength - 1)
			styles['text-align'] = "left";
		else
			styles['text-align'] = "right";
		/*		

		row, column, $parent.$parent.$index, $index,  tabla.length

		if (row[$scope.hindex] == 1)styles['font-weight'] = "900";
		if (row[$scope.hindex] == 2){styles['font-weight'] = "600"; styles['color'] = "blue";}
		if (row[$scope.hindex] == 3){styles['font-weight'] = "100"; styles['color'] = "blue";}

		if ($index == 0 && x < tabla.length - 1)

			$index == 0 && x < tabla.length - 1 ? 
			row[hindex] == 1 ? 
			{'text-align' : 'left', 'font-weight' : '900'} : 
			row[hindex] == 2 ?
		    {'text-align' : 'left', 'font-weight' : '600', 'color' : 'blue'} :
		    {'text-align' : 'left', 'font-weight' : '100', 'color' : 'blue'} :
		    row[hindex] == 1 ?
			{'text-align' : 'right', 'font-weight' : '900'} :
			row[hindex] == 2 ?
		    {'text-align' : 'right', 'font-weight' : '600', 'color' : 'blue'} :
		    {'text-align' : 'right', 'font-weight' : '100', 'color' : 'blue'}





		    styles['text-align'] = "left";
		else
			styles['text-align'] = "right";
		 */



		/*		if ((x + 1) == tlength)
			styles['background-color'] = "#FFFFCF";
		else if ($scope.esStringVacio(row[0].valor))
			styles['background-color'] = "#DBDBDB";

		if ($.inArray(column.cname, [ 'ASSET_NAME' ]) > -1)
			if ($scope.esStringVacio(row[0].valor))
				styles['text-align'] = "right";
			else
				styles['text-align'] = "left";
		else if ($.inArray(column.cname, [ 'REGION', 'COUNTRY', 'REVENUE' ]) > -1)
			styles['text-align'] = "center";
		else
			styles['text-align'] = "right";

		if ($scope.esStringVacio(row[0].valor))
			styles['font-weight'] = "bold";*/

		//console.log(styles);

		return styles;
	}

	/*	$scope.obtenFiltro = function(item, row, column, x, y, tlength) {

		  if ($.inArray(column.cname, [  'VAT', 'TOTAL', 'MES' ]) > -1)
		    		item = $filter('number')(item, 2);
		  else if ($.inArray(column.cname, [ 'REVENUE' ]) > -1 && !$scope.esStringVacio(row[0].valor))
			        item = $filter('number')(item, 1) + '%';

		  return item;
     };*/

	$scope.esStringVacio = function(valor){
		return valor ? valor.trim().length == 0 : true; 
	}

	$scope.loadMore = function () {
		$scope.totalDisplayed += $scope.paginationLimit;  
	};

	$scope.reporteZip = function () {
		return $scope.esStringVacio($scope.estudio);
	};

	$scope.eligeEstudio = function () {
		$scope.estudio = $("#estudio").val();
		$scope.tabla = null;
		$scope.aheader = null;
		$scope.bheader = null;
		$scope.peliculasSeries=$("#peliculasSeries").val();

//		RFD -- seccion donde llama la funcionalidad de todos las series y peliculas del estudio




		var actionpath = null;
		var parametros = null;



		$('#peliculasSeries')
		.find('option') 
		.remove()
		.end()
		;


		if($("#estudio").val() != ""){
			console.log($("#estudio").val());
			parametros     = {idEstudio : $("#estudio").val()};



			actionpath = '/reporte/reporteCostPerView/obtenerSeriesyPeliculas.action';

			if(actionpath != null)
				utileriasService.actionCall(actionpath, parametros).then(function(data) {

					console.log("SUCCESS -- peliculas y series ");

					if(data.errorMensaje != null)
						showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
					else{

						//angular.copy(data.peliculas_series, $scope.peliculasSeries);
						//$scope.peliculasSeries = data.peliculas_series ;

						//borramos toda la informacion del select previo a la carga



						//comenzamos la carga

						$("#peliculasSeries").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
						$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));

						for(var i=0; i<data.peliculas_series.length; i++)	    
							$("#peliculasSeries").append($('<option>', {
								value: data.peliculas_series[i].value,
								text :data.peliculas_series[i].desc
							}));

						//var input = element.find('.form-control');
						//$('#peliculasSeries').attr({'ng-model': 'peliculasSeries'});
						//$("#peliculasSeries").find('option').get(0).remove();
						$('#peliculasSeries').prop('disabled', false);
						$('#peliculasSeries').focus();

					}

				}, 
				function(error){ console.log("ERROR");
				showError("Ha ocurrido el siguiente error: " + error);		
				});



		} else{

			$("#peliculasSeries").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
			$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
			//$("#peliculasSeries").find('option').get(0).remove();

			$('#peliculasSeries').prop('disabled', true);
			$('#temporadas').prop('disabled', true);
		}





	}


	$scope.eligeTemporada = function () {
		$scope.estudio = $("#estudio").val();
		$scope.peliculaSerie = $("#peliculasSeries").val();
		$scope.tabla = null;
		$scope.aheader = null;
		$scope.bheader = null;

		console.log("Elige temporada");
		
	
//		RFD -- seccion donde llama la funcionalidad de todos las series y peliculas del estudio

		var actionpath = null;
		var parametros = null;


		if($("#peliculasSeries").val() != "" && $("#peliculasSeries").val() != "Todos" ){
			console.log($("#peliculasSeries").val());
			parametros     = {idEstudio : $("#estudio").val(), nombreUnico : $("#peliculasSeries").val()};
			
			actionpath = '/reporte/reporteCostPerView/obtenerTemporada.action';

			

				$.post(contextPath + actionpath, parametros, 
						function(data){
					console.log(data);
					
						console.log("SUCCESS -- Temporada ");

						if(data.errorMensaje != null)
							showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
						else{
							console.log(data);

							//angular.copy(data.temporadas, $scope.temporadas);

							$('#temporadas')
							.find('option')
							.remove()
							.end()
							;

							if(data[0].desc=='PELICULA'){
								$("#temporadas").append($('<option>', { value: "Todos", text : "PELICULA", selected : true }));
								$('#temporadas').prop('disabled', true);
							}
							else{
								$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));

								for(var i=0; i<data.length; i++)	    
									$("#temporadas").append($('<option>', {
										value: data[i].value,
										text : data[i].desc
									}));	

								$('#temporadas').prop('disabled', false);

							}

						
					} 


				}).fail(function(){
					console.log("error");
				});
		} else{
			$('#temporadas')
			.find('option')
			.remove()
			.end()
			;
			$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));
			//$("#peliculasSeries").find('option').get(0).remove();

			$('#temporadas').prop('disabled', true);
		}


		/*actionpath = '/reporte/reporteCostPerView/obtenerTemporada.action';

		if(actionpath != null)
			utileriasService.actionCall(actionpath, parametros).then(function(data) {

				console.log("SUCCESS -- Temporada ");

				if(data.errorMensaje != null)
					showError("Ha ocurrido el siguiente error: " + data.errorMensaje);	
				else{
					console.log(data.temporadas);

					angular.copy(data.temporadas, $scope.temporadas);

					$('#temporadas')
					.find('option')
					.remove()
					.end()
					;

					if(data.temporadas[0].desc=='PELICULA'){
						$("#temporadas").append($('<option>', { value: "Todos", text : "PELICULA", selected : true }));
						$('#temporadas').prop('disabled', true);
					}
					else{
						$("#temporadas").append($('<option>', { value: "Todos", text : "Todos", selected : true }));

						for(var i=0; i<data.temporadas.length; i++)	    
							$("#temporadas").append($('<option>', {
								value: data.temporadas[i].value,
								text : data.temporadas[i].desc
							}));	

						$('#temporadas').prop('disabled', false);

					}

				}

			}, 
			function(error){ console.log("ERROR");
			showError("Ha ocurrido el siguiente error: " + error);		
			});
*/

	}


}

registraController("reporteCostoPerViewController", reporteCostoPerViewController);
