/*
 * Desenvolvido por Leandro Sales
 * leandroasp at gmail dot com
 * +55 86 94275626
 * http://www.leandrosales.com.br
 *
 * Reprodução autorizada desde que mantenha os créditos
 */

String.prototype.trim = function() {
	return this.replace(/^\s+/, '').replace(/\s+$/, '');
}

var LSL;
if (!LSL) {
	LSL = {};
}
LSL.getElement = function(element) {
	if (element && typeof element == "string")
		return document.getElementById(element);
	return element;
};

/*Menu DropDown*/
LSL.MenuDropDown = function(element, menu) {
	this.init(element, menu);
};
LSL.MenuDropDown.prototype.init = function(element, menu) {
	element = LSL.getElement(element);
	menu = LSL.getElement(menu);
	
	clearTimeout(LSL.MenuDropDown[menu.id]);
	
	var a = element.getElementsByTagName('a');
	if (a.length > 0) {
		a[0].onmouseout = function() {
			clearTimeout(LSL.MenuDropDown[menu.id]);
		};
	}
	
	element.onmouseout = function() {
		clearTimeout(LSL.MenuDropDown[menu.id]);
		LSL.MenuDropDown[menu.id] = setTimeout(function() {
			menu.style.display = "none";
		}, 100);
	};
	
	menu.onmouseover = function() {
		clearTimeout(LSL.MenuDropDown[menu.id]);
	};
	menu.onmouseout = function() {
		clearTimeout(LSL.MenuDropDown[menu.id]);
		LSL.MenuDropDown[menu.id] = setTimeout(function() {
			menu.style.display = "none";
		}, 50);
	};

	menu.style.display = "block";
};

/*Slide Show*/
LSL.SlideShow = function(element, opt) {
	this.init(element, opt);
};
LSL.SlideShow.prototype.init = function(element, opt) {
	element = LSL.getElement(element);
	if (!element) return;
	if (!opt.totalSlides) return;
	var self = this;
	
	this.element = element;
	this.selected = 0;
	this.totalSlides = opt.totalSlides;
	this.time = opt.time?opt.time:3000;

	for (var i = 0; i < opt.totalSlides; i++) {
		var destOpt = opt['destaque_'+i];
		if (!destOpt) return;

		this['destaque_'+i] = destOpt;
		
		if (!destOpt.srcImg) return;
		
		//preload imagem
		var img = new Image();
		img.src = destOpt.srcImg;
		
		var idItem = LSL.getElement("dest_slide_" + i);
		if (idItem) {
			if (destOpt.title) {
				idItem.title = destOpt.title;
				var a = idItem.getElementsByTagName("a");
				if (a.length > 0) {
					a[0].title = destOpt.title;
					if (destOpt.link) a[0].href = destOpt.link;
					a[0].onclick = function() {
						return false;
					}
				}
			}
			idItem.onclick = function() {
				var id = parseInt(this.id.replace(/dest_slide_/,''));
				self.showSlide(id);
			}
		}
	}

	this.showSlide(0);
	this.nextSlide();
};
LSL.SlideShow.prototype.nextSlide = function() {
	clearTimeout(LSL.SlideShow['timeout'+this.element.id]);
	var self = this;
	LSL.SlideShow['timeout'+this.element.id] = 
		setTimeout(function() {
			if (self.selected < self.totalSlides-1) {
				self.showSlide(self.selected+1);
			} else {
				self.showSlide(0);
			}
		}, this.time);
};
LSL.SlideShow.prototype.showSlide = function(num) {
	var destOpt = this['destaque_'+num];
	var destAnt = this['destaque_'+this.selected];

	var a = this.element.getElementsByTagName("a");
	for (var i = 0; i < a.length; i++) {
		if (a[i].className.indexOf("dest_link") != -1) {
			a[i].title = destOpt.title;
			a[i].href = destOpt.link;
			
			var img = a[i].getElementsByTagName("img");
			if (img.length > 0 && destOpt.classLinkImg) {
				if (destAnt.classLinkImg) {
					a[i].className = a[i].className.replace(destAnt.classLinkImg,"").trim();
				}
				a[i].className += " " + destOpt.classLinkImg;
			}
		}
		if (a[i].className.indexOf("dest_html") != -1) {
			a[i].innerHTML = destOpt.title;
			if (destAnt.classLinkDestaque) {
				a[i].className = a[i].className.replace(destAnt.classLinkDestaque,"").trim();
			}
			a[i].className += " " + destOpt.classLinkDestaque;
		}
	}
	var img = this.element.getElementsByTagName("img");
	for (var i = 0; i < img.length; i++) {
		if (img[i].className.indexOf("dest_img") != -1) {
			
			img[i].parentNode.innerHTML = '<img src="' + destOpt.srcImg + '" width="280" height="165" alt="' + destOpt.title.replace(/\"/,"'") + '" class="dest_img" />';
			//img[i].src = destOpt.srcImg;
			break;
		}
	}

	var idItem = LSL.getElement("dest_slide_"+this.selected);
	if (idItem) {
		idItem.className = idItem.className.replace(/selected/g,"").trim();
	}

	var idItem = LSL.getElement("dest_slide_"+num);
	if (idItem) {
		idItem.className += " selected";
	}
	
	this.selected = num;
	this.nextSlide();
};

//Aumenta e diminui a fonte da noticia
LSL.changeFontSize = function(element, opt) {
	element = LSL.getElement(element);
	if (!element) return false;

	var fontSize;
	if (!element.style.fontSize || element.style.fontSize == '') {
		fontSize = 14;
	} else {
		fontSize = element.style.fontSize.toString().replace(/px/g,'');
		try {
			fontSize = parseInt(fontSize);
		} catch (e) {
			fontSize = 14;
		}
	}

	if (opt == '+') {
		fontSize++;
	} else if (opt == '-') {
		fontSize--;
	}
	
	if (fontSize > 18) fontSize = 18;
	else if (fontSize < 12) fontSize = 12;
	
	element.style.fontSize = fontSize + 'px';
	
	return false;
};

//Adicionar pagina aos favoritos
LSL.addFavoritos = function() {
	var url = "http://www.tribunadosol.com.br";
	var title = "Tribuna do Sol - O Piauí em destaque!";
	if (window.sidebar) { //FF
		window.sidebar.addPanel(title, url,"");
	} else if (window.opera && window.print) { //OPERA
		var favOpera = document.createElement('a');
		favOpera.setAttribute('rel','sidebar');
		favOpera.setAttribute('href',url);
		favOpera.setAttribute('title',title);
		favOpera.click();
	} else if (document.all) { //IE
		window.external.AddFavorite(url, title);
	}
	return false;
}

function enviarEnquete(form) {
	var qtdItens = form.r.length;
	var resposta = -1;
	var respostas = "";
	for (i = 0; i < qtdItens; i++) {
		if (form.r[i].checked) {
			resposta = i;
			if (respostas != "") {
				respostas = respostas + "&";
			} else {
				respostas = respostas + "?";
			}
			respostas = respostas + "r=" + form.r[i].value;
		}
	}
	if (resposta == -1) {
		alert("Uma opção deve ser escolhida!");
	} else {
		respostas = respostas + "&id=" + form.id.value;
		window.open(form.action + respostas,'','scrollbars=yes,width=360,height=139');
	}
	return false;
}

function closeFloater(str) {
	var obj = document.getElementById(str);
	if (obj != null) {
		obj.style.display = 'none';
	}
}

function scrollStop(element) {
	element = LSL.getElement(element);
	if (!element) return;
	element.scrollAmount = 0;
}
function scrollPlay(element) {
	element = LSL.getElement(element);
	if (!element) return;
	element.scrollAmount = 4;
}

function openAlbum(id) {
	window.open('album.asp?id=' + id,'','width=584,height=428');
	return false;
}
function openEnviarNoticia(id) {
	window.open('enviar.asp?id=' + id,'','width=350,height=214');
	return false;
}
function openImprimir(id) {
	window.open('imprimir.asp?id=' + id,'','menubar=yes,scrollbars=yes,width=600,height=500');
	return false;
}
function openEnviarFoto(id, foto) {
	window.open('album_enviar.asp?id=' + id + '&f=' + foto,'','width=350,height=214');
	return false;
}
function openComprarFoto(id, foto) {
	window.open('album_comprar.asp?id=' + id + '&f=' + foto,'','width=350,height=140');
	return false;
}

function formatForm(form) {
	var nulos = "";
	if (form.opcional) {
		nulos = form.opcional.value.toLowerCase() + ",opcional,";
	}
	var radios = "-";
	var checkbox = "-";
	for (var i=0; i<form.elements.length; i++) {
		var field = form.elements[i];
		if (!field.name) continue;
		var fieldName = field.name.toLowerCase();
		var vazio = false;
		if (nulos.indexOf(fieldName+",") < 0) {
			if (field.value == '') {
				vazio = true;
			} else if ((field.type.toUpperCase() == "RADIO" || field.type.toUpperCase() == "CHECKBOX") && (radios.indexOf("-" + field.name.toLowerCase() + "-") < 0)) {
				radios += field.name + "-";
				var opcoes = eval("form." + field.name + ""); //field.parentNode;
				vazio = true;
				if (typeof(opcoes.length) == 'undefined') {
					if (opcoes.checked) vazio = false;
				} else {
					for (var j=0;j<opcoes.length;j++) {
						if (opcoes[j].checked) {
							vazio = false;
							break;
						}
					}
				}
			}
		}
		if (vazio) {
			alert("Campo(s) obrigatório(s) não preenchido!"); field.focus(); return false;
		} else if (field.value != "") {
			if (fieldName.substring(fieldName.length-5) == "email" && !isMail(field.value)) {
				alert("E-mail inválida!"); field.focus(); return false;
			} else if (fieldName == "telefone" && !isTelefone(field.value)) {
				alert("Telefone inválido!"); field.focus(); return false;
			}
		}
	}
	//form.submit();
	return true;
}

function isInteger(text) {
	var chr = "0123456789";
	return verify(text, chr);
}

function isNumeric(text) {
	var chr = "0123456789.,";
	return verify(text, chr);
}

function isTelefone(text) {
	var chr = "0123456789-() ";
	return verify(text, chr);
}
function verify(text, chr) {
	for (var i=0; i<text.length;i++) {
		if (chr.indexOf(text.charAt(i)) == -1) 
			return false;
	}
	return true;
}
function isMail(text) {
	if (text.indexOf('@')<1 || text.indexOf('@')>=(text.length-5) || text.length < 8)
		return false;
	return true;
}