//mootools initializations:
window.addEvent('domready', function() {
	if ($("submenu") === undefined || $("submenu") == null)
		return;
	
	//find a collection of every ul within a li (submenus)
	var theSlides = $("submenu").getElements("li.expandivel ul");
	var slideVars = new Array(theSlides.length);

	//handle the slide event on click
	function slideFunction(event, n)
	{
		var e = new Event(event);
		slideVars[n].toggle();
		e.stop();
	}

	function hideFunction(n)
	{
		slideVars[n].hide();
	}
	
	function showFunction(n)
	{
		slideVars[n].show();
	}

	for(var i=0; i < theSlides.length; i++)
	{
		slideVars[i] = new Fx.Slide(theSlides[i],{
			'onComplete':
				function(outside)
				{
					if (outside.getAttribute("state") == "h")
						outside.setAttribute("state", "v");
					else
						outside.setAttribute("state", "h");
					mudarSeta(outside);
				}
		});

		if(theSlides[i].getElements("li.activo").length != 0 || theSlides[i].className.search(/aberto/i) != -1 || theSlides[i].getElements("li.aberto").length != 0)
		{
			theSlides[i].show();
		}
		else
		{
			hideFunction(i);
			theSlides[i].style.display = "";
			theSlides[i].setAttribute("state", "h");
		}
		mudarSeta(theSlides[i]);

		//hide the sublists initially
		var toggle = theSlides[i].getParent().getParent().getElement("a");
		toggle.addEvent('click', slideFunction.bindWithEvent(toggle, i));
	}
});

function mudarSeta(elem)
{
	var imgPath = "/images/";
	var img = elem.getParent().getParent().getElement("img");
	var rexp, newImg;
	var state = elem.getAttribute("state") == null ? "v" : elem.getAttribute("state");
	if(state == "v")
	{
		img.src = imgPath + "menos.png";
	}
	else{
		img.src = imgPath + "mais.png";
	}
}

// função utilizada nas pesquisas das notas de imprensa
function mudaCriterio(aux)
{
	var idx = document.frmCriterio.selCriterio.selectedIndex;
	var criterioStr = document.frmCriterio.selCriterio.options[idx].value;
	var valor = "";
	var hoje = new Date();
	var hojeStr;
	var ano = hoje.getFullYear() + "";
	var mes = hoje.getMonth()+1 + "";
	var dia = hoje.getDate() + ""; 
	hojeStr = ano + "-" + mes + "-" + dia;
	if(criterioStr != "publicacao") {
		if(criterioStr == "data") {
			if(aux == 1) {
				var dest = "internacionais.asp?criterio=" + criterioStr + "&valor=" + hojeStr;
			} else {
				var dest = "default.asp?criterio=" + criterioStr + "&valor=" + hojeStr;
			}
		}
		else
		{
			if(aux == 1)
			{
				var dest = "internacionais.asp?criterio=" + criterioStr + "&valor=escreva aqui palavras para pesquisa";
			}
			else
			{
				if(aux == 2) {
					var dest = "default.asp?criterio=" + criterioStr + "&valor=write here words to search";
				} else {
					var dest = "default.asp?criterio=" + criterioStr + "&valor=escreva aqui palavras para pesquisa";
				}
			}
		}
	}
	else
	{
		if(aux == 1)
		{
			var dest = "internacionais.asp";
		}
		else
		{
			var dest = "default.asp";
		}
	}
	window.location.href = dest;
}

function mudaValor(aux)
{
	var idx = document.frmCriterio.selCriterio.selectedIndex;
	var criterioStr = document.frmCriterio.selCriterio.options[idx].value;
	idx = document.frmValor.selValor.selectedIndex;
	var valorStr = document.frmValor.selValor.options[idx].value;
	if(aux == 1) {
		var dest = "internacionais.asp?criterio=" + criterioStr + "&valor=" + valorStr;
	} else {
		var dest = "default.asp?criterio=" + criterioStr + "&valor=" + valorStr;
	}
	window.location.href = dest;
}

function isValidDate(dateStr, format)
{
   if (format == null) { format = "YMD"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "YMD"; }
   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || 
      (format.indexOf("Y") == -1) ) { format = "YMD"; }
   if (format.substring(0, 1) == "Y") { // If the year is first
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   // Check to see if the 3 parts end up making a valid date
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else 
      if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else 
      if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else 
      if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}

function verificaData(aux)
{
	//alert("dt = " + document.frmValor.txtData.value);
	if(!isValidDate(document.frmValor.txtData.value, "YMD")) {
		if(aux == 2) {
			alert("The date must be year-month-day.");
		} else {
			alert("A data deve ser inserida no formato ano-mês-dia.");
		}
	} else {
		var idx = document.frmCriterio.selCriterio.selectedIndex;
		var criterioStr = document.frmCriterio.selCriterio.options[idx].value;
		if(aux == 1) {
			var dest = "internacionais.asp?criterio=" + criterioStr + "&valor=" + document.frmValor.txtData.value;
		} else {
			var dest = "default.asp?criterio=" + criterioStr + "&valor=" + document.frmValor.txtData.value;
		}
		window.location.href = dest;
	}
}

function verificaTitulo(aux)
{
	var idx = document.frmCriterio.selCriterio.selectedIndex;
	var criterioStr = document.frmCriterio.selCriterio.options[idx].value;
	if(aux == 1) {
		var dest = "internacionais.asp?criterio=" + criterioStr + "&valor=" + document.frmValor.txtTitulo.value;
	} else {
		var dest = "default.asp?criterio=" + criterioStr + "&valor=" + document.frmValor.txtTitulo.value;
	}
	window.location.href = dest;
}

function my_replace(str, procura, substitui)
{
	return str.replace(new RegExp(procura, "g"), substitui);
}

function mudaOrigem()
{
	var origem = document.frmObterIndicacoes.txtOrigem.value + "";
	origem = my_replace(origem, " ", "+");
	origem = my_replace(origem, "ç", "%C3%A7");
	origem = my_replace(origem, "ã", "%C3%A3");
	origem = my_replace(origem, "õ", "%C3%B5");
	origem = my_replace(origem, "á", "%C3%A1");
	origem = my_replace(origem, "â", "%C3%A2");
	origem = my_replace(origem, "ó", "%C3%B3");
	origem = my_replace(origem, "é", "%C3%A9");
	origem = my_replace(origem, "í", "%C3%AD");
	var dest = "http://maps.google.pt/maps?f=d&source=s_d&saddr=" + origem + "&daddr=Rua+da+Restaura%C3%A7%C3%A3o,+318,+4050-501+Porto+(Comiss%C3%A3o+de+Viticultura+da+Regi%C3%A3o+dos+Vinhos+Verdes+(CVRVV))&hl=pt-PT&geocode=%3BFQrVcwIdLGx8_yGGYhMdo26CTg&mra=ls&sll=41.14561,-8.62306&sspn=0.006948,0.011137&ie=UTF8&t=h&z=15";
	window.open(dest);	
}
