//////// ALTERACAO VIRIATO EM 171011
var namemes = ["January","February","March","April","May","June","July","August","September","October","November","December"];

function bissexto(year) { ////////////////////////////////////	VERIFICA SE É ANO BISEXTO
	if (year % 4 == 0) return true// regra basica // se o ano e' bissexto
	return false // se o ano nao e' bissexto
}

function maisano(cal,obj){ //////////////////////////////////////////////	ADICIONA VALOR - ANO
	$('#'+cal+' .ano').val( parseInt( $('#'+cal+' .ano').val() )+1 ) 
	criacalendario(cal,obj)
}

function menosano(cal,obj){ //////////////////////////////////////////////	SUBTRAE VALOR - ANO
	$('#'+cal+' .ano').val( parseInt( $('#'+cal+' .ano').val() )-1 ) 
	criacalendario(cal,obj)
}


function maismes( cal,obj ){ //////////////////////////////////////////////	ADICIONA VALOR - MÊS
	if( $('#'+cal+' .mes').val()!=12 ) { 
		$('#'+cal+' .mes').val( parseInt( $('#'+cal+' .mes').val() )+1 ) 
		criacalendario( cal,obj )		
	} else {
		$('#'+cal+' .mes').val( 1 ) 
		maisano(cal);
	}
}

function menosmes( cal,obj ){ //////////////////////////////////////////////	SUBTRAE VALOR - MÊS
	if( $('#'+cal+' .mes').val()!=1 ) { 
		$('#'+cal+' .mes').val( parseInt( $('#'+cal+' .mes').val() )-1 ) 
		criacalendario( cal,obj )		
	} else {
		$('#'+cal+' .mes').val( 12 ) 
		menosano(cal);
	}
}

function calendar(dt0, obj, top, left, cal){ ////////////////////	INÍCIO DA CRIAÇÃO DO CALENDÁRIO
	if ( !cal ) var cal = 'Jcalendario';
//	if (obj) alert( $$$('filter_periodo_posicionado').value )
//	if (!top)  top  = posy + scrollPos();
//	if (!left) left = posx;
	if ( $$$(cal) ) { 
	//	if ( $('#calendario').html() ) {
//		//	$('#calendario').style.top = top;
//		//	$('#calendario').style.left = left;
//		//	$('#calendario').style.display='block';
//			return false;
	//	}
	} else {
		$('body').append('<div class="calendario" id="'+cal+'"></div>');
		
		if (obj) {
			top = obj.offset().top;
			left = obj.offset().left+100;
		}
		
		if (top) {
			$('#'+cal).css('position', 'absolute');
			$('#'+cal).css('top', top+'px');
			$('#'+cal).css('left', left+'px');
			$('#'+cal).append('<div class="dragbar"><button type="button" class="btnFecha">X</button></div>');
			$('#'+cal+' .btnFecha').click(function() { $('#'+cal).remove() } )
		}
	}
	
	var nomemes = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"];

	$('#'+cal).append('<div class="controle"></div><div class="calendarioIN"></div>');
	$('#'+cal+' .calendarioIN').append('<div class="semana"></div><div class="dias"></div>');
		
	$('#'+cal+' .controle').append('<select class="mes" disabled></select>');
	$('#'+cal+' .controle').append('<div class="btnholder"><div class="btnDown mesDn"></div><div class="btnUp mesUp"></div></div>');
	$('#'+cal+' .mesDn').click( function() { menosmes( cal,obj ) } );
	$('#'+cal+' .mesUp').click( function() { maismes( cal,obj ) } );
	
	$('#'+cal+' .controle').append('<input type="text" class="ano" disabled>');
	$('#'+cal+' .controle').append('<div class="btnholder"><div class="btnDown anoDn"></div><div class="btnUp anoUp"></div></div>');
	$('#'+cal+' .anoDn').click( function() { menosano( cal,obj ) } );
	$('#'+cal+' .anoUp').click( function() { maisano( cal,obj ) } );

	for (i=1; i < 13; i++) {
		$('#'+cal+' .mes').append('<option value="'+i+'">'+nomemes[i -1]+'</option>');
	}
	
	$('#'+cal+' .controle').append('<input type=\"hidden\" class="data_calendario" name=\"data_calendario\" value="'+dt0+'" />');
	
	var letrasSemana = ["D","S","T","Q","Q","S","S"];
	for(var i=0; i<letrasSemana.length; i++){
		$('#'+cal+' .semana').append('<span class="diasemana" id="ts'+i+'">'+letrasSemana[i]+'</span>');
	}

	if(typeof dateFormat != "function"){
		$('head').append('<script type="text/javascript" language="JavaScript" src="'+dominio+'scripts/dateFormat.js"></script>');
	}
	criacalendario(cal,obj);
}
/////////////////////////////////////////////////////// 	DIAS DO MÊS 
criacalendario = function(cal,obj) {
	$('#'+cal+' .dias').html('')
		
	if ( $('#'+cal+' .ano').val()=='' ) {
		dt = dataAtual();
		try {
			$('#'+cal+' .ano').val(dt.format('yyyy'));
			$('#'+cal+' .mes').val(dt.format('m'));
		} catch(e) {
			alert(dt)
			$('#'+cal+' .ano').val(dt.format('yyyy'));
			$('#'+cal+' .mes').val(dt.format('m'));
		}		
		
	}

	data   = new Date(1 +' '+ namemes[ ( $('#'+cal+' .mes').val() -1) ] +' '+ $('#'+cal+' .ano').val()+' 12:00' )

	bi = bissexto(data.getFullYear()) ? 29 : 28;
	diasmes = [31,bi,31,30,31,30,31,31,30,31,30,31];
	(data.getDay()==0)?increase=0 : increase=1;

	a = 1;
	dt = dataAtual();
	dat = data;
	y = diasmes[ dat.getMonth() ];
	
	for(var i=1; a < y+1; i++){
		if(i < dat.getDay()+increase) {
			$('#'+cal+' .dias').append('<span class="diames invisivel">-</span>');
		} else {
			if ( dt.format('yyyymmdd') >= dat.format('yyyymmdd') ) {
				if (dt.format('yyyymmdd') == dat.format('yyyymmdd')) {
					//alert( dt.format('dd/mm/yy')+' - '+dat.format('dd/mm/yy') )
					$('#'+cal+' .dias').append('<span class="diames diatual dm'+a+'">'+a+'</span>');
				} else {
					$('#'+cal+' .dias').append('<span class="diames diapassado dm'+a+'">'+a+'</span>');
				}
			} else {
				$('#'+cal+' .dias').append('<span class="diames dm'+a+'">'+a+'</span>');
			} 
			dat.setDate(dat.getDate() + 1);
			a++;
		}
	}
	
	if ( $('#'+cal+' .controle .data_calendario').val()!='' ) {
		var dtP = $('#'+cal+' .controle .data_calendario').val().split('/');
		if ( dtP[2]==$('#'+cal+' .ano').val() && eval(dtP[1])==eval($('#'+cal+' .mes').val()) ) {
			$('.dm'+eval( dtP[0] ) ).css('background-color','#fc0');	
		}

	}
	
	$('#'+cal+' .dias .diames').filter(':not(.invisivel)').each(function(index) {
	   $(this).bind('click', function() {
			dtc  = $(this).html()  +'/'+ $('#'+cal+' .mes').val()  +'/'+ $('#'+cal+' .ano').val();
			$('#'+cal+' .controle .data_calendario').val( dtc ) 
						
			if(typeof calFunction == "function") {
					calFunction(cal, $(this), obj )
			} else {
	  			if (obj) { obj.val( dtc ); $('#'+cal).remove() }
			}
		}); 
	});
}

dataAtual = function() {
	if ( $$$('diaServidor') ) {
		dt=new Date(((parseInt($('#diaServidor').val()) ))+' '+namemes[$('#mesServidor').val()-1]+' '+$('#anoServidor').val()+' 12:00')
	//	alert(dt.format('dd/mm/yyyy'));
	} else {
		dt=new Date();
	}
	return dt;
}

horaClick = function(sel) {
	$('#hora_CHEGADA').val( $(sel+' th').html() );
	$('#tHora .horaQtd').css('background-color','#cca');
	$('#tHora .horaLim').css('background-color','#caa'); $(sel+' td').css('background-color','#fc0');
	$('.dps').css('background-color','#9c9');
}

formData = function (formObj, cal) { /////// FUNÇÕES DE AÇÃO ////////////////////////////////////////
//	ddia=dia
//	dmes=mes
//	if (dia.length==1) ddia='0'+eval(dia);
//	if (mes.length==1) dmes='0'+eval(mes);
//	if ($$$('dm'+ dia).style.backgroundColor=='#caa') {
//		alert('Não é possível agendar para esta data.');
//		return false
//	}
	formObj.val( $('#'+cal+' .controle .data_calendario').val() );
	$('.calendario').remove()
	criacalendario()
}

function formData0 (dia,mes,ano,obj) { /////// FUNÇÕES DE AÇÃO ////////////////////////////////////////
	ddia=dia
	dmes=mes
	if (dia.length==1) ddia='0'+eval(dia);
	if (mes.length==1) dmes='0'+eval(mes);
	obj.value = ddia + '/' + dmes + '/' + ano;
	$('#calendario').style.display = 'none';
}

function formData1 (dia, mes, ano) { /////// FUNÇÕES DE AÇÃO ////////////////////////////////////////
	ddia=dia
	dmes=mes
	if (dia.length==1) ddia='0'+eval(dia);
	if (mes.length==1) dmes='0'+eval(mes);
	if ($$$('dm'+ dia).style.backgroundColor=='#caa') {
		alert('Não é possível agendar para esta data.');
		return false
	}
	formObj.value = ddia + '/' + dmes + '/' + ano;
	$('#calendario').style.display = 'none';
	criacalendario()
}
