// Global variables.
var domain		= '';
var path		= '/';
var secure		= 0;
var expires = null; //new Date((new Date()).getTime() + 5 * 3600000);
//expires.setYear(expires.getYear() + 1);

// Function to save a field.
function save_field(obj) {
	var cookie_value = '';
	var objType = new String(obj.type);

	switch(objType.toLowerCase()) {
		// n??o precisa salvar informa????es dos hiddens e submits
		case "submit":
			break;
		case "hidden":
			break;
		case "checkbox" :
			if (obj.checked) cookie_value = obj.id + '=[1]'
			else cookie_value = obj.id + '=[0]'
			break;
		case "radio" :
			// a?? tem que varrer todos os radio com esse nome e verificar qual est?? selecionado guardando seu ??ndice
			if (obj.checked) {
				cookie_value = obj.name + '=[' + obj.value + ']';
			}
			//else cookie_value = obj.name + '=[0]'
			break;
			/*for (var i = 0; i < obj.length; i++) {
				if (obj[i].checked) cookie_value = obj[i].name + '=[' + i + ']'
			}
			break;*/
		case "select-one" :
			cookie_value = obj.name + '=[' + obj.selectedIndex + ']';
			break;
		case "select-multiple" :
			cookie_value = obj.name + '=[';
			for (var i = 0; i < obj.options.length; i++) {
				if (obj.options[i].selected) cookie_value += '+' + i
			}
			cookie_value += ']';
			break;
		default :
			// We assume all other fields will have
			// a valid obj.name and obj.value
			cookie_value = obj.name + '=[' + obj.value + ']';
			break;
	}
	
	if (cookie_value) {
		document.cookie = cookie_value +
		((domain.length > 0) ? ';domain=' + domain : '') +
		((path) ? ';path=' + path : '') +
		((secure) ? ';secure' : '') +
		((expires != null)?';expires=' + expires.toGMTString():'');
	}
	return 1;
}

// Function to retrieve a field.
function retrieve_field(obj) {
	
	if (obj.type == 'hidden' || obj.type == 'submit') {
		return;
	}
	
	var cookie = '', real_value = '';
	cookie = document.cookie;
	var objType = new String(obj.type);
	
	if (objType.toLowerCase() == "checkbox") {
		var objName = new String(obj.id);
		
	} else if (obj.name) {
		var objName = new String(obj.name);
	} else {
		var objName = new String(obj[0].name);
	}

	var offset_start = cookie.indexOf(objName + '=[');
	if (offset_start == -1) return 1;
	var offset_start_length = objName.length + 2;
	offset_start = offset_start + offset_start_length;
	var offset_end = cookie.indexOf(']', offset_start);
	real_value = cookie.substring(offset_start, offset_end);

	switch(objType.toLowerCase()) {
		case "checkbox" :
			if (real_value == '1') obj.checked = 1
			else obj.checked = 0
			break;
		case "radio" :
			if (obj.value == real_value) obj.checked = 1;
			//obj[real_value].checked = 1;
			break;
		case "select-one" :
			obj.selectedIndex = real_value;
			break;
		case "select-multiple" :
			for (var i = 0; i < obj.options.length; i++) {
				if ((real_value.indexOf('+' + i)) > -1)
					obj.options[i].selected = 1;
				else
					obj.options[i].selected = 0;
			}
			break;
		default :
			obj.value = real_value;
			break;
	}
	return 1;
}

function saveForm(frm) {

	for(i = 0; i < frm.elements.length; i++) {
		save_field(frm.elements[i]);
	}
}

function retrieveForm(frm) {

	for(i = 0; i < frm.elements.length; i++) {
		retrieve_field(frm.elements[i]);
	}
}

function checkForm(form) {
	saveForm(form);
	
	if (form.dia1) {
		dayIndex1 = form.dia1.selectedIndex;
		dia1 = form.dia1.options[dayIndex1].value;
		monthIndex1 = form.mes1.selectedIndex;
		mes1 = form.mes1.options[monthIndex1].value;
		yearIndex1 = form.ano1.selectedIndex;
		ano1 = form.ano1.options[yearIndex1].value;
		
		dateObj1 = new Date(ano1, mes1-1, dia1, 1, 0, 0);
		form.d1.value = dateObj1.getTime()/1000;
		
		dayIndex2 = form.dia2.selectedIndex;
		dia2 = form.dia2.options[dayIndex2].value;
		monthIndex2 = form.mes2.selectedIndex;
		mes2 = form.mes2.options[monthIndex2].value;
		yearIndex2 = form.ano2.selectedIndex;
		ano2 = form.ano2.options[yearIndex2].value;
		
		dateObj2 = new Date(ano2, mes2-1, dia2, 23, 59, 0);
		form.d2.value = dateObj2.getTime()/1000;
	}	
	return true;
}

function mudaPagina(pNovaPagina){
	
	var re = /pg=[0-9]+/;
	var url = location.href;
	
	if((url).indexOf("pg=") >= 0) {
		window.location.replace(url.replace(re, 'pg='+pNovaPagina));
		
	} else {
		
		if (url.indexOf("?") >= 0) {
			window.location.replace(url + '&pg='+ pNovaPagina);
			
		} else {
			window.location.replace(url + '?pg='+ pNovaPagina);
		}
	}
}

function montaDataInicial(inicio) {
	
	data = new Date();
	
	document.writeln('<select name="ano1">');

	document.writeln('<option value="' + inicio + '" selected>' + inicio);
	for (i = inicio + 1; i < data.getFullYear() + 1; i++) {
		document.writeln('<option value="' + i + '">' + i);
	}
	document.writeln('</select>');
}

function montaDataFinal(inicio) {
	
	arrayMes = new Array(12);
	arrayMes[1] = 'Janeiro';
	arrayMes[2] = 'Fevereiro';
	arrayMes[3] = 'Mar??o';
	arrayMes[4] = 'Abril';
	arrayMes[5] = 'Maio';
	arrayMes[6] = 'Junho';
	arrayMes[7] = 'Julho';
	arrayMes[8] = 'Agosto';
	arrayMes[9] = 'Setembro';
	arrayMes[10] = 'Outubro';
	arrayMes[11] = 'Novembro';
	arrayMes[12] = 'Dezembro';

	data = new Date();

	document.writeln('<select name="dia2">');

	for (i = 1; i < 32; i++) {
		if (i == data.getDate()) {
			document.writeln('<option value="' + i + '" selected>' + i);
		} else {
			document.writeln('<option value="' + i + '">' + i);
		}
	}

	document.writeln('</select>');

	document.writeln('<select  name="mes2">');

	for (i = 1; i < 13; i++) {
		if (i == data.getMonth() + 1) {
			document.writeln('<option value="' + i + '" selected>' + arrayMes[i]);
		} else {
			document.writeln('<option value="' + i + '">' + arrayMes[i]);
		}						
	}

	document.writeln('</select>');

	document.writeln('<select  name="ano2">');

	for (i = inicio; i < data.getFullYear() + 1; i++) {

		if (i == data.getFullYear()) {

			document.writeln('<option value="' + i + '" selected>' + i);
		} else {
			document.writeln('<option value="' + i + '">' + i);
		}
	}

	document.writeln('</select>');
}