/*
 * phpWebThings addon javascript file
 * 
 * You can use this file for your own scripts.
 */

var map;
var gdir;
var geocoder = null;
var addressMarker;

function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		
		map.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10, 20)));
		
		map.enableDoubleClickZoom();
		
		gdir = new GDirections(map, document.getElementById("directions"));
		GEvent.addListener(gdir, "load", onGDirectionsLoad);
		GEvent.addListener(gdir, "error", handleErrors);
		
		map.setCenter(new GLatLng(-20.811853, -49.381548), 3);
		map.setMapType(G_NORMAL_MAP);
	}
}
function setDirections(fromState, fromCity, toState, toCity, locale) {
	gdir.load("from: " + fromCity + ", " + fromState + " to: " + toCity + ", " + toState, { "locale": locale });
}

function handleErrors() {
	if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS) alert("O Endere�o informado � um endere�o desconhecido, tente novamente.\nError code: " + gdir.getStatus().code);
	else if (gdir.getStatus().code == G_GEO_SERVER_ERROR) alert("Erro na comunica��o com o Servidor.\n Error code: " + gdir.getStatus().code);
	else if (gdir.getStatus().code == G_GEO_MISSING_QUERY) alert("Campo incompleto.\n Error code: " + gdir.getStatus().code);
	else if (gdir.getStatus().code == G_GEO_BAD_KEY) alert("C�digo errado. \n Error code: " + gdir.getStatus().code);
	else if (gdir.getStatus().code == G_GEO_BAD_REQUEST) alert("A rota desejada n�o poder� ser concluida com sucesso..\n Error code: " + gdir.getStatus().code);
	else alert("Erro desconhecido...");
}

function onGDirectionsLoad() {
}

function getxmlhttp() {
	var xmlhttp = false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	if(!xmlhttp && typeof XMLHttpRequest != "undefined") {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function processajax(serverPage, obj, getOrPost, str) {
	obj.innerHTML = "<center><img src='images/loading.gif' border='0' align='absmiddle'>&nbsp;Carregando...</center>";
	xmlhttp = getxmlhttp();
	if(getOrPost == "get") {
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(null);
	} else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(str);
	}
}

function getformvalues(fobj, valfunc) {
	var str = "";
	aok = true;
	var val;
	for(var i = 0; i < fobj.elements.length; i++) {
		if(valfunc) {
			if(aok == true) {
				val = valfunc(fobj.elements[i].value, fobj.elements[i].name);
				if(val == false) {
					aok = false;
				}
			}
		}
		str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
	}
	return str;
}

function submitform(theform, serverPage, objID, valfunc) {
	var file = serverPage;
	var str = getformvalues(theform, valfunc);
	if(aok == true) {
		obj = document.getElementById(objID);
		processajax(serverPage, obj, "post", str);
	}
}

function fromCity(valor) {
	obj = document.getElementById("fromCityDiv");
	processajax("getcity.php?uf="+valor+"&funcao=fromCity", obj, "get", "");
}

function toCity(valor) {
	obj = document.getElementById("toCityDiv");
	processajax("getcity.php?uf="+valor+"&funcao=toCity", obj, "get", "");
}

function getCity(valor) {
	obj = document.getElementById("cidades");
	processajax("getcity.php?uf="+valor+"&funcao=cidade", obj, "get", "");
}

function getSubCat(valor) {
	obj = document.getElementById("subcategorias");
	processajax("getsub.php?cat="+valor, obj, "get", "");
}

// JavaScript Image slideshow:
// By JavaScript Kit (www.javascriptkit.com)
// Over 200+ free JavaScript here!
// Starting code here
var slideimages=new Array()
var slidelinks=new Array()

function slideshowimages(){
	for (i=0;i<slideshowimages.arguments.length;i++){
		slideimages[i]=new Image()
		slideimages[i].src=slideshowimages.arguments[i]
	}
}

function slideshowlinks(){
	for (i=0;i<slideshowlinks.arguments.length;i++)
	slidelinks[i]=slideshowlinks.arguments[i]
}

function gotoshow(){
	if (!window.winslide||winslide.closed) winslide=window.open(slidelinks[whichlink])
	else winslide.location=slidelinks[whichlink]
	winslide.focus()
}
// End code here

function changeImage(button, srcImage) {
	document.images[button].src = srcImage;
}

function startUpload() {
	document.getElementById('f1_upload_process').style.visibility = 'visible';
	document.getElementById('f1_upload_form').style.visibility = 'hidden';
	return true;
}

function stopUpload(success) {
	var result = '';
	if(success == 1) {
		result = '<span id="f1_ok">O cartaz foi carregado com sucesso!</span><br/><br/>';
	} else if(success == 2) {
		result = '<span id="f1_error">O cartaz n&atilde;o foi carregado!<br/>Tipo de arquivo incorreto!!!<br/>Voc&ecirc; s&oacute; pode carregar arquivos do tipo JPG, GIF ou PNG.</span><br/><br/>';
	} else if(success == 3) {
		result = '<span id="f1_error">O cartaz n&atilde;o foi carregado!<br/>Arquivo muito grande para ser carregado para o site, por favor diminua o tamanho do arquivo.</span><br/><br/>';
	} else if(success == 4) {
		result = '<span id="f1_error">O cartaz n&atilde;o foi carregado!<br/>Voc&ecirc; n&atilde;o selecionou o cartaz para ser carregado!!!</span><br/><br/>';
	} else if(success == 5) {
		result = '<span id="f1_error">O cartaz n&atilde;o foi carregado!<br/>Voc&ecirc; n&atilde;o selecionou a etapa!!!</span><br/><br/>';
	} else if(success == 6) {
		result = '<span id="f1_error">Ocorreu um erro durante o carregamento do cartaz!</span><br/><br/>';
	} else if(success == 7) {
		result = '<span id="f1_error">Ocorreu um erro ao normalizar o cartaz!</span><br/><br/>';
	} else if(success == 8) {
		result = '<span id="f1_error">Ocorreu um erro ao criar a miniatura do cartaz!</span><br/><br/>';
	}
	document.getElementById('f1_upload_process').style.visibility = 'hidden';
	document.getElementById('f1_upload_form').innerHTML = result + '<label>Clique <a href="adm_cad_etapac.php">AQUI</a> para carregar um novo cartaz.<\/label>';
	document.getElementById('f1_upload_form').style.visibility = 'visible';
	return true;
}

function limitChars() {
	var maxlimit = 140;
	if(document.forms[0].message.value.length > maxlimit) 
		document.forms[0].message.value = document.forms[0].message.value.substring(0, maxlimit);
	else document.getElementById("restante").innerHTML = (maxlimit - document.forms[0].message.value.length) + " caracteres";
}
