// JavaScript Document

/*
 * 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
 */

if (document.location.href.indexOf('http://localhost:81/') != -1) {
	var localURL = '/bobnews/www/';
} else {
	var localURL = '/';
}
String.prototype.trim = function() {
	return this.replace(/^\s+/, '').replace(/\s+$/, '');
}
if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
	i || (i = 0);
	var length = this.length;
	if (i < 0) i = length + i;
	for (; i < length; i++)
		if (this[i] === item) return i;
	return -1;
};

var LSL;
if (!LSL) {
	LSL = {};
}

$ = function(element) {
	if (element && typeof element == "string")
		return document.getElementById(element);
	return element;
};

LSL.addCSS = function(element, css) {
	var style = element.style || element
	for(var obj in css) {
		eval('style.' + obj + '=\'' + css[obj] + '\'');
	}
}

/*
SlideShow v1.3

new LSL.SlideShow({
	controler: 'destaques-nav',
	slides: 'todas-imgs',
	class_slide: 'img-atual',
	time: 7000
});
*/
LSL.SlideShow = function(opt) {
	this.init(opt);
};
LSL.SlideShow.prototype.init = function(opt) {
	opt.controler = $(opt.controler);
	opt.slides = $(opt.slides);
	if (!opt.controler) return;
	if (!opt.slides) return;

	this.slides = opt.slides;
	this.class_slide = opt.class_slide || '';
	this.class_vitrine = opt.class_vitrine;
	this.time = opt.time || 7000;
	this.hide_controler = opt.hide_controler || false;

	this.selected = 0;
	this.totalSlides = 0;
	this.stopSlide = false;
	
	var controler = opt.controler;
	var slides = this.slides;

	if (this.hide_controler) {
		controler.style.display = 'none';
		this.slides.onmouseover = function(e) {
			clearTimeout(LSL.SlideShow['controler'+slides.id]);
			controler.style.display = 'block';
		};
		this.slides.onmouseout = function(e) {
			clearTimeout(LSL.SlideShow['controler'+slides.id]);
			LSL.SlideShow['controler'+slides.id] = 
				setTimeout(function() {
					controler.style.display = 'none';
				}, 50);
		};
		controler.onmouseover = function(e) {
			clearTimeout(LSL.SlideShow['controler'+slides.id]);
		};
		controler.onmouseout = function(e) {
			clearTimeout(LSL.SlideShow['controler'+slides.id]);
			LSL.SlideShow['controler'+slides.id] = 
				setTimeout(function() {
					controler.style.display = 'none';
				}, 50);
		};
	}

	var self = this;

	var span = controler.getElementsByTagName('span');
	for (var i = 0; i < span.length; i++) {
		if (span[i].className.indexOf('previous') != -1) {
			span[i].onclick = function(e) {
				self.previous();
			};
		} else if (span[i].className.indexOf('stop') != -1) {
			span[i].onclick = function(e) {
				self.stop();
			};
		} else if (span[i].className.indexOf('next') != -1) {
			span[i].onclick = function(e) {
				self.next();
			};
		}
	}

	var div = this.slides.getElementsByTagName('div');
	var vitrines = new Array();
	var slidesArr = new Array();
	for (var i = 0; i < div.length; i++) {
		if (this.class_vitrine && div[i].className.indexOf(this.class_vitrine) != -1) {
			vitrines.push(div[i]);
		} else if (this.class_slide == '' || div[i].className.indexOf(this.class_slide) != -1) {
			this.totalSlides++;
			slidesArr.push(div[i]);
		}
	}
	var intervalo = 0;
	var sobra = 0;
	var totalVitrine = vitrines.length;
	if (totalVitrine > 0) {
		intervalo = Math.floor(this.totalSlides/totalVitrine);
		sobra = (this.totalSlides-intervalo*totalVitrine);

		for (var i = intervalo, j = 0; i < slidesArr.length && j < vitrines.length; i+=intervalo, j++) {
			if (sobra > 0 && j == totalVitrine-sobra) {
				i++;
				sobra--;
			}
			if (i < slidesArr.length) {
				this.slides.insertBefore(vitrines[j], slidesArr[i]);
			}
		}
		
		this.totalSlides += totalVitrine;
	}
	vitrines = null;
	slidesArr = null;
	div = null;
	
	this.showSlide(0);
};
LSL.SlideShow.prototype.nextSlide = function() {
	clearTimeout(LSL.SlideShow['timeout'+this.slides.id]);
	var self = this;
	LSL.SlideShow['timeout'+this.slides.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) {
	clearTimeout(LSL.SlideShow['timeout'+this.slides.id]);
	if (num >= this.totalSlides) {
		num = 0;
	} else if (num < 0) {
		num = this.totalSlides-1;
	}

	var div = this.slides.getElementsByTagName('div');
	var total = 0;
	for (var i = 0; i < div.length; i++) {
		if (this.class_slide == '' || div[i].className.indexOf(this.class_slide) != -1 || (this.class_vitrine && div[i].className.indexOf(this.class_vitrine) != -1)) {
			div[i].style.display = (total==num?'block':'none');
			total++;
		}
	}

	this.selected = num;
	if (!this.stopSlide) this.nextSlide();
};
LSL.SlideShow.prototype.previous = function() {
	this.showSlide(this.selected-1);
};
LSL.SlideShow.prototype.stop = function() {
	if (this.stopSlide) {
		this.stopSlide = false;
		this.nextSlide();
	} else {
		this.stopSlide = true;
		clearTimeout(LSL.SlideShow['timeout'+this.slides.id]);
	}
};
LSL.SlideShow.prototype.next = function() {
	this.showSlide(this.selected+1);
};

/*
 * AJAX
 * Ex:
 *   new LSL.AJAX.Event({
						url: url que enviara os dados,
						resultElement: element que receberar o resultado,
						data: dados que serao enviados,
						onCreate: funcao que sera chamada quando iniciar, 
						onComplete: funcao que sera chamada quando terminar. será enviado o objeto com o resultado.
						});
 * Só é obrigatorio a URL.
 */
if (!LSL.AJAX) {
	LSL.AJAX = {};
}
LSL.AJAX.Event = function(opt) {
	this.init(opt);
};
LSL.AJAX.Event.prototype.init = function(opt) {
	if (!opt.url) return;

	this.url = opt.url;
	this.resultElement = (opt.resultElement?$(opt.resultElement):null);
	this.data = opt.data || '';

	this.onCreate = opt.onCreate;
	this.onComplete = opt.onComplete;
	
	if (this.onCreate) {
		this.onCreate();
	}
	this.send();
};
LSL.AJAX.Event.prototype.createAjaxObject = function() {
	if (!this.ajaxObj) {
		var obj;
		try {
			obj = new XMLHttpRequest();
		} catch(e1) {
			try {
				obj = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e2) {
				try {
					obj = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e3) {
					//alert("Seu navegador não suporta AJAX!");
					obj = false;
				}
			}
		}
		this.ajaxObj = obj;
	}
};
LSL.AJAX.Event.prototype.send = function() {
	this.createAjaxObject();
	clearTimeout(this.ajaxRequestTimer);

	var self = this;
	this.ajaxObj.open("POST", this.url, true);
	
	this.ajaxObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=iso-8859-1');
	this.ajaxObj.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
	this.ajaxObj.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
	this.ajaxObj.setRequestHeader("Pragma", "no-cache");

	this.ajaxObj.onreadystatechange = function() {
		try {
			if (self.ajaxObj.readyState!=4) return;

			clearTimeout(self.ajaxRequestTimer);
			if (self.ajaxObj.status==200) {
				//alert('deu: ' + self.data);
				if (self.resultElement) {
					self.resultElement.innerHTML = self.ajaxObj.responseText;
				}
			} else {
				//alert('ERRO: \n' + self.url);
			}
			if (self.onComplete) {
				self.onComplete(self.ajaxObj);
			}
			self.cancel();
		} catch (e) {
			try {
				if (self.onComplete) self.onComplete(null);
				self.cancel();
			} catch (e) {}
			//alert('ERRO: \n' + e);
		}
	};
	this.ajaxObj.send(this.data);

	this.ajaxRequestTimer = setTimeout(function() {
		self.cancel();
		self.send();
		//alert("Ocorreu um erro na sua conexão ou ela está muito lenta!\nAtualize a página e tente novamente.");
     }, 30000);
};
LSL.AJAX.Event.prototype.cancel = function() {
	try {
		this.ajaxObj.abort();
		this.ajaxObj = null;
	} catch (e) {}
};
/*FIM AJAX*/

/*
 * ThickBOX By Leandro Sales
 */
var msie6 = 
        !!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)
        && /MSIE 6\.0/i.test(window.navigator.userAgent) 
        && !/MSIE 7\.0/i.test(window.navigator.userAgent);
LSL.ThickBoxCreate = function(url) {
	/*Parametros que podem ser alterados*/
	var WIDTH = 350;
	var HEIGHT = 400;
	var IMG_LOADING = localURL + 'images/loading.gif';
	/***********************************/
	
	
	if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
		LSL.addCSS(document.getElementsByTagName('html')[0], {height: "100%", width: "100%", overflow: "hidden"});
		LSL.addCSS(document.body, {height: "100%", width: "100%"});

		var iframe = $('_IFRAME_BOX_SUSPENSED_');
		if (iframe === null) {
			iframe = document.createElement('iframe');
			iframe.id = '_IFRAME_BOX_SUSPENSED_';
			LSL.addCSS(iframe, {
				zIndex: '99',
				position: (msie6?'absolute':'fixed'),
				top: '0',
				left: '0',
				backgroundColor: '#fff',
				border: 'none',
				filter: 'alpha(opacity=0)',
				MozOpacity: '0',
				opacity: '0',
				height: (msie6?(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'):'100%'),
				width: '100%'
			});
			document.body.appendChild(iframe);
		} else {
			LSL.addCSS(iframe, {display: 'block'});
		}
	}
	
	if ($("_DIV_BG_BOX_SUSPENSED_") === null){
		var div_bg = document.createElement('div');
		var div_window = document.createElement('div');
		div_bg.id = '_DIV_BG_BOX_SUSPENSED_';
		div_window.id = '_DIV_WINDOW_BOX_SUSPENSED_';

		LSL.addCSS(div_bg, {
			position: (msie6?'absolute':'fixed'),
			zIndex: '100',
			top: '0px',
			left: '0px',
			height: (msie6?(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'):'100%'),
			width: '100%'
		});

		var userAgent = navigator.userAgent.toLowerCase();
		if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
			LSL.addCSS(div_bg, {
				background: 'url(macFFBgHack.png) repeat'
			});
		} else {
			LSL.addCSS(div_bg, {
				backgroundColor: '#000',
				filter: 'alpha(opacity=75)',
				MozOpacity: '0.75',
				opacity: '0.75'
			});
		}
		LSL.addCSS(div_window, {
			position: (msie6?'absolute':'fixed'),
			background: '#ffffff',
			zIndex: '102',
			color: '#000000',
			display: 'none',
			textAlign: 'left',
			top: '50%',
			left: '50%'
		});

		div_bg.onclick = function() {
			LSL.ThickBoxRemove();
		};

		document.body.appendChild(div_bg);
		document.body.appendChild(div_window);
	}
	if ($("_DIV_IMG_BOX_SUSPENSED_") === null) {
		var div_img = document.createElement('div');
		div_img.id = '_DIV_IMG_BOX_SUSPENSED_';
		
		var imgLoader = new Image();// preload image
		imgLoader.src = IMG_LOADING;
		
		div_img.appendChild(imgLoader);
		
		LSL.addCSS(div_img, {
			position: (msie6?'absolute':'fixed'),
			display: 'none',
			height: '13px',
			width: '208px',
			zIndex: '103',
			top: '50%',
			left: '50%',
			margin: '-6px 0 0 -104px'
		});
		if (msie6) {
			LSL.addCSS(div_img, {marginTop: (0 - parseInt(div_img.offsetHeight / 2) + (document.documentElement?document.documentElement.scrollTop:document.body.scrollTop) + 'px') });
		}
		document.body.appendChild(div_img);
	}

	var div_id = $('_DIV_BG_BOX_SUSPENSED_');
	LSL.addCSS(div_id, {display: 'block'});

	var div_window = $('_DIV_WINDOW_BOX_SUSPENSED_');
	var div_img = $('_DIV_IMG_BOX_SUSPENSED_');
	//alert(url.replace(/^([^\?]+)\??.*/,'$1') + '\n' + url.replace(/^[^\?]+\??/,''));
	var url_send = url.replace(/^([^\?]+)\??.*/,'$1').toString();
	var data_send = url.replace(/^[^\?]+\??/,'').toString();
	new LSL.AJAX.Event({
		url: url_send,
		data: data_send,
		onCreate: function() {
			LSL.addCSS(div_img, {display: 'block'});
		},
		
		onComplete: function(obj) {
			var root, erro;
			if (obj && obj.status == 200) {
				div_window.innerHTML = obj.responseText;
			} else {
				div_window.innerHTML = '<div id="_DIV_ERRO_BOX_SUSPENSED_"><strong>Ocorreu um erro no envio dos dados. <a href="javascript:;" onclick="return LSL.ThickBoxRemove()">Clique aqui</a> e tente novamente!</strong></div>';
				LSL.addCSS($('_DIV_ERRO_BOX_SUSPENSED_'), {
					fontSize: '16px',
					color: '#F00'
				});
			}
			
			LSL.addCSS(div_img, {display: 'none'});
			
			LSL.addCSS(div_window, {marginLeft: '-' + parseInt((WIDTH / 2),10) + 'px', width: WIDTH+'px'});
			LSL.addCSS(div_window, {display: 'block'});
			if (msie6) {
				LSL.addCSS(div_window, {marginTop: (0 - parseInt(div_window.offsetHeight / 2) + (document.documentElement?document.documentElement.scrollTop:document.body.scrollTop) + 'px') });
			} else {
				LSL.addCSS(div_window, {marginTop: '-' + parseInt((div_window.offsetHeight / 2),10) + 'px'});
			}
			
			document.onkeyup = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					LSL.ThickBoxRemove();
				}	
			};
		}
	});
	return false;
};
LSL.ThickBoxRemove = function() {
	var div_window = $('_DIV_WINDOW_BOX_SUSPENSED_');
	if (div_window) {
		LSL.addCSS(div_window, {display: 'none'});
		div_window.innerHTML = '';
	}
	
	var div_img = $('_DIV_IMG_BOX_SUSPENSED_');
	if (div_img) {
		LSL.addCSS(div_img, {display: 'none'});
	}

	var div_bg = $('_DIV_BG_BOX_SUSPENSED_');
	if (div_bg) {
		LSL.addCSS(div_bg, {display: 'none'});
	}
	
	var iframe = $('_IFRAME_BOX_SUSPENSED_');
	if (iframe) {
		LSL.addCSS(iframe, {display: 'none'});
	}

	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		LSL.addCSS(document.getElementsByTagName('html')[0], {height: "auto", width: "auto", overflow: ""});
		LSL.addCSS(document.body, {height: "auto", width: "auto"});
	}
	document.onkeyup = "";
	return false;
};

/*BannerSlider*/
LSL.BannerSlider = function(opt) {
	this.element = $(opt.element);
	if (!this.element) return false;
	if (!opt.total) return false;
	this.total = opt.total;
	
	for (var i = 0; i < this.total; i++) {
		if (!opt['banner_'+i]) return false;
		if (!opt['banner_'+i].file) return false;
		this['banner_'+i] = opt['banner_'+i];
	}
	this.time = opt.time || 20000;
	this.selected = 0;
	
	this.init();
	//<embed src="<?=getFullUrl()?>arquivos/superbanner_santana.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="728" height="90">
	//<img src="<?=getFullUrl()?>arquivos/temp_banner.jpg" width="728" height="90" alt="Publicidade" />
};
LSL.BannerSlider.prototype.init = function() {
	var ul = document.createElement('ul');
	for (var i = 0; i < this.total; i++) {
		var div = document.createElement('div');
		div.id = this.element.id + '_' + i;
		LSL.addCSS(div, {
			display: 'none'
		});
		
		var file = this['banner_'+i].file;
		var link = this['banner_'+i].link;
		
		var banner = '';
		if (file.replace(/^.+\.([a-z]+)$/i,'$1').toLowerCase() == 'swf') {
			banner = '<embed src="' + file + '" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="728" height="90">';
		} else {
			banner = '<img src="' + file + '" width="728" height="90" alt="Publicidade" />';
			if (link != '') banner = '<a href="' + link + '" target="_blank">' + banner + '</a>';
		}
		
		div.innerHTML = banner;
		this.element.appendChild(div);
		
		var li = document.createElement('li');
		li.innerHTML = ''+(i+1);
		ul.appendChild(li);

		var self = this;
		li.onclick = function(e) {
			try {
				var j = parseInt(this.innerHTML) - 1;
				self.showBanner(j);
			} catch(ee) {}
			return false;
		};
	}
	var div = document.createElement('div');
	div.id = this.element.id + '_ul';
	div.className = 'menu-banner';
	div.appendChild(ul);
	this.element.appendChild(div);
	this.showBanner(0);
};
LSL.BannerSlider.prototype.nextBanner = function() {
	clearTimeout(LSL.BannerSlider['timeout'+this.element.id]);
	var self = this;
	LSL.BannerSlider['timeout'+this.element.id] = 
		setTimeout(function() {
			if (self.selected < self.total-1) {
				self.showBanner(self.selected+1);
			} else {
				self.showBanner(0);
			}
		}, self.time);
};
LSL.BannerSlider.prototype.showBanner = function(pos) {
	clearTimeout(LSL.BannerSlider['timeout'+this.element.id]);
	var div = this.element.getElementsByTagName('div');
	var id = this.element.id;
	var div_ul = null;
	for (var i = 0; i < div.length; i++) {
		if (div[i].id != (id + '_ul')) {
			LSL.addCSS(div[i], {
				display: 'none'
			});
		} else {
			div_ul = div[i];
		}
	}
	for (var i = 0; i < div.length; i++) {
		if (div[i].id == (id + '_' + pos)) {
			LSL.addCSS(div[i], {
				display: 'block'
			});
		}
	}
	if (div_ul) {
		var li = div_ul.getElementsByTagName('li');
		for (var i = 0; i < li.length; i++) {
			if (i == pos) {
				if (li[i].className.indexOf('selected') == -1)
					li[i].className += ' selected';
			} else {
				if (li[i].className.indexOf('selected') != -1)
					li[i].className = li[i].className.replace(/\s*selected\s*/g,'');
			}
		}
	}
	this.selected = pos;
	this.nextBanner();
};


/*
 * Limita a quantidade de caracteres em um campo textarea
 */
LSL.limitCaracter = function(opt) {
	if (!opt.field) return;
	if (!opt.maxChar) opt.maxChar = 4096;
	if (opt.countElement) opt.countElement = $(opt.countElement);

	opt.field = $(opt.field);
	var e = opt.e || window.event;

	var tecla;
	if (e.keyCode) tecla = e.keyCode;
	else if (e.which) tecla = e.which;

	var x = opt.field.value.replace(/\n/g,' ').length;

	if (opt.countElement) opt.countElement.innerHTML = (opt.maxChar - x);

	if (x >= opt.maxChar && (tecla >= 32 || tecla == 13)) {
		opt.field.value = opt.field.value.substring(0, opt.maxChar);
		return false;
	}
};

//Aumenta e diminui a fonte da noticia
LSL.changeFontSize = function(element, opt) {
	element = $(element);
	if (!element) return false;

	var fontSize;
	if (!element.style.fontSize || element.style.fontSize == '') {
		fontSize = 15;
	} else {
		fontSize = element.style.fontSize.toString().replace(/px/g,'');
		try {
			fontSize = parseInt(fontSize);
		} catch (e) {
			fontSize = 15;
		}
	}

	if (opt == '+') {
		fontSize++;
	} else if (opt == '-') {
		fontSize--;
	}
	
	if (fontSize > 18) fontSize = 18;
	else if (fontSize < 11) fontSize = 11;
	
	element.style.fontSize = fontSize + 'px';
	element.style.lineHeight = (fontSize+6) + 'px';
	
	return false;
};

//Adicionar pagina aos favoritos
LSL.addFavoritos = function(title) {
	var url = "http://www.bobnews.com.br";
	var title = title || "BobNews - Pra quem não tem tempo!";
	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;
};

//Mudar caixa de mais lidas, votadas e comentadas
LSL.changeBoxMais = function(tipo,data,index,secao) {
	LSL.changeBoxMaisMakeLink('maislidas', 'L', data, index, (tipo == 'L'), secao);
	LSL.changeBoxMaisMakeLink('maisvotadas', 'V', data, index, (tipo == 'V'), secao);
	LSL.changeBoxMaisMakeLink('maiscomentadas', 'C', data, index, (tipo == 'C'), secao);
	
	LSL.changeBoxMaisMakeLink('maishoje', tipo, 'H', index, (data == 'H'), secao);
	LSL.changeBoxMaisMakeLink('maisontem', tipo, 'O', index, (data == 'O'), secao);
	LSL.changeBoxMaisMakeLink('maissemana', tipo, 'S', index, (data == 'S'), secao);
	LSL.changeBoxMaisMakeLink('maismes', tipo, 'M', index, (data == 'M'), secao);
	LSL.changeBoxMaisMakeLink('maisgeral', tipo, 'G', index, (data == 'G'), secao);

	new LSL.AJAX.Event({
						url: localURL + 'index_mais_lista.php',
						resultElement: 'lista-mais',
						data: 'tipo='+tipo+'&data='+data+'&index='+index+(secao?'&secao='+secao:''),
						onCreate: function() {
							$('lista-mais').innerHTML = '<b>carregando...</b>'
						}
					});
	return false;
};
LSL.changeBoxMaisMakeLink = function(element, tipo, data, index, selected, secao) {
	element = $(element);
	
	element.parentNode.className = (selected?'atual':'');
	
	var href = element.href.replace(/\?.*$/g,'');
	
	element.href = href + '?tipo=' + tipo + '&data=' + data + (secao?'&secao='+secao:'') + '#mais';
	element.onclick = function(e) {
		return LSL.changeBoxMais(tipo, data, index, secao);
	};
};

/*
 * Recarrega uma nova imagem do captcha
 */
LSL.newCaptcha = function(element, size) {
	element = $(element);
	element.src = localURL + 'captcha.php?' + (size?'size=1&':'') + Math.floor(Math.random()*1001);
	return false;
};

/*
 * Envia a enquete
 */
LSL.sendEnquete = function(form, votar, central) {
	var urlEnquete, element;
	if (typeof central == 'undefined') {
		urlEnquete = '';
		element = 'radio-box';
	} else {
		urlEnquete = '&central=yes';
		element = 'centralEnqueteResult';
	}
	if (votar == 0) { //mostrar opcoes para votar
		new LSL.AJAX.Event({
			url: localURL + 'enquete.php',
			resultElement: element,
			data: 'enquete=0&id=' + form + urlEnquete,
			onCreate: function() {
				$(element).innerHTML = 'carregando...';
			}
		});
	} else if (votar == 1) { //votar
		var qtdItens = form.op.length;
		var resposta = -1;
		var respostas = '';
		for (i = 0; i < qtdItens; i++) {
			if (form.op[i].checked) {
				resposta = i;
				respostas += (respostas != ''?'&':'');
				respostas += 'op=' + form.op[i].value;
			}
		}
		if (resposta == -1) {
			alert("Uma opção deve ser escolhida!");
		} else if (form.captcha.value == '') {
			alert("Digite as letras que você ver na imagem antes de votar!");
			form.captcha.focus();
		} else {
			respostas += '&id=' + form.id.value + '&captcha=' + form.captcha.value;
			new LSL.AJAX.Event({
						url: form.action.replace(/\?.*$/,'') + 'enquete.php',
						resultElement: element,
						data: respostas + urlEnquete,
						onCreate: function() {
							for (i = 0; i < qtdItens; i++) {
								form.op[i].disabled = true;
							}
							form.captcha.disabled = true;
							form.botao.disabled = true;
							form.botao.value = 'carregando...';
						}
					});
		}
	} else if (votar == 2) { //mostrar resultado
		new LSL.AJAX.Event({
			url: localURL + 'enquete.php',
			resultElement: element,
			data: 'enquete=2&id=' + form + urlEnquete,
			onCreate: function() {
				$(element).innerHTML = 'carregando...';
			}
		});
	}
	return false;
};

/*
 * Vota na materia
 */
LSL.votaMateria = function(element, materia) {
	element = $(element);
	if (!element) return false;
	
	var voto = element.innerHTML;
	if (voto != '5' && voto != '6' && voto != '7' && voto != '8' && voto != '9' && voto != '10') return false;

	element = element.parentNode;

	new LSL.AJAX.Event({
				url: localURL + 'votar.php',
				data: 'id=' + materia + '&v=' + voto,
				onCreate: function() {
					element.innerHTML = '<span class="red">Carregando...</span>';
				},
				onComplete: function(obj) {
					var root;
					if (obj.status == 200 && (root = obj.responseXML)) {
						try {
							var err = root.getElementsByTagName('err');
							if (err.length > 0) {
								element.innerHTML = '<span class="red">' + err[0].childNodes[0].nodeValue + '</span>';
								return;
							}
							var votos = root.getElementsByTagName('votos')[0].childNodes[0].nodeValue;
							var media = root.getElementsByTagName('media')[0].childNodes[0].nodeValue;
							var width = root.getElementsByTagName('width')[0].childNodes[0].nodeValue;
							var color = root.getElementsByTagName('color')[0].childNodes[0].nodeValue;
							var pai = element.parentNode.parentNode;
							var div = pai.getElementsByTagName('div');
							for (var i = 0; i < div.length; i++) {
								if (div[i].className.indexOf('num-votos') != -1) {
									div[i].getElementsByTagName('span')[0].innerHTML = votos;
								} else if (div[i].className.indexOf('media-votos') != -1) {
									div[i].getElementsByTagName('span')[0].innerHTML = media;
								} else if (div[i].className.indexOf('cont-porcent') != -1) {
									var span = div[i].getElementsByTagName('span')[0];
									span.style.width = width + '%';
									span.style.backgroundColor = color;
								}
							}
							element.innerHTML = '<span class="red">Voto confirmado!</span>';
						} catch (e) {
							element.innerHTML = '<span class="red">Ocorreu um erro na resposta</span>';
						}
					} else {
						element.innerHTML = '<span class="red">Ocorreu um erro na página</span>';
					}
				}
			});
	return false;
};

/*
 * Atualiza a lista de cidades
 */
LSL.updateCity = function(uf, city, url_amiga) {
	uf = $(uf);
	city = $(city);
	
	url_amiga = !!url_amiga;
	
	this.clearOption = function(str) {
		city.length = 0;
		city.options[0] = new Option(str,'');
		city.selectedIndex = 0;
		city.disabled = true;
	};
	
	var valor = uf.options[uf.selectedIndex].value;
	var self = this;

	if (valor.length >= 2) {
		new LSL.AJAX.Event({
				url: localURL + 'updateCity.php',
				data: 'uf=' + valor + '&url_amiga=' + (url_amiga?'S':'N'),
				onCreate: function() {
					self.clearOption('Carregando...');
				},
				onComplete: function(obj) {
					var root;
					if (obj && obj.status == 200 && (root = obj.responseXML)) {
						try {
							var err = root.getElementsByTagName('err');
							if (err.length > 0) {
								self.clearOption(err[0].childNodes[0].nodeValue);
								return;
							}
							
							var option = root.getElementsByTagName('option');
							
							self.clearOption((option.length == 0?'Ocorreu um erro...':''));

							for (var i = 0; i < option.length; i++) {
								city.options[i+1] = new Option(option[i].childNodes[0].nodeValue, option[i].getAttribute('value'));
							}
							city.disabled = (option.length == 0);
						} catch (e) {
							self.clearOption('Ocorreu um erro...');
						}
					} else {
						self.clearOption('Ocorreu um erro...');
					}
				}
		   });
	} else {
		self.clearOption('Selecione um estado...');
	}
};

LSL.sendComent = function(element) {
	if (LSL.Form.valida(element)) {
		var uri = LSL.Form.getURI(element);
		new LSL.AJAX.Event({
				url: localURL + 'comentar.php',
				data: 'ajax=1&' + uri,
				onCreate: function() {
					$('idErroComent').innerHTML = '';
					for (var i=0, size = element.elements.length; i<size; i++) {
						var field = element.elements[i];
						if (typeof field.name == 'undefined') continue;
						if (field.type.toLowerCase() == 'hidden') continue;
						if (field.disabled) continue;
						field.disabled = true;
					}
					element.elements['enviar-comentario'].value = 'Enviando dados...'
				},
				
				onComplete: function(obj) {
					var root, erro;
					if (obj && obj.status == 200 && (root = obj.responseXML)) {
						var err = root.getElementsByTagName('err');
						if (err.length > 0) {
							$('idErroComent').innerHTML = err[0].childNodes[0].nodeValue;
							erro = true;
						}
						
						var ok = root.getElementsByTagName('ok');
						if (ok.length > 0) {
							$('idErroComent').innerHTML = '';
							erro = false;
							alert(ok[0].childNodes[0].nodeValue);
						}
					} else {
						$('idErroComent').innerHTML = 'Ocorreu um erro no envio dos dados. Tente novamente!';
						erro = true;
					}

					for (var i=0, size = element.elements.length; i<size; i++) {
						var field = element.elements[i];
						if (typeof field.name == 'undefined') continue;
						if (field.type.toLowerCase() == 'hidden') continue;
						if (!erro) {
							switch(field.type.toLowerCase()) {
							case 'text': case 'textarea':
								field.value = '';
								break;
							case 'select-one':
								if (field.name.toLowerCase() == 'estado') {
									field.selectedIndex = 0;
								} else if (field.name.toLowerCase() == 'cidade') {
									field.length = 0;
									field.options[0] = new Option('Selecione um estado...','');
									field.selectedIndex = 0;
									field.disabled = true;
								}
								break;
							}
						}
						if (field.name.toLowerCase() == 'cidade') continue;
						field.disabled = false;
					}
					element.elements['enviar-comentario'].value = 'Enviar Comentário';
					LSL.newCaptcha('idCaptcha2', 1);
				}
	   });
	}
	return false;
};

LSL.buscaComentarios = function(element) {
	var estado = element.estado.options[element.estado.selectedIndex].value;
	var cidade = element.cidade.options[element.cidade.selectedIndex].value;
	
	if (estado != '' && estado != 'UF' && cidade != '') {
		document.location.href = localURL + 'comentarios/' + estado + '/' + cidade + '/';
	} else {
		alert('Selecione um estado e uma cidade.');
	}
	return false;
};

LSL.sendNoticia = function(element) {
	if (LSL.Form.valida(element)) {
		var uri = LSL.Form.getURI(element);
		new LSL.AJAX.Event({
				url: localURL + 'enviar.php',
				resultElement: element,
				data: '' + uri,
				onCreate: function() {
					for (var i=0, size = element.elements.length; i<size; i++) {
						var field = element.elements[i];
						if (typeof field.name == 'undefined') continue;
						if (field.type.toLowerCase() == 'hidden') continue;
						if (field.disabled) continue;
						field.disabled = true;
					}
					element.elements['enviar-noticia'].value = 'Enviando dados...'
				}
	   });
	}
	return false;
};

LSL.indicarNoticia = function(element) {
	if (LSL.Form.valida(element)) {
		var uri = LSL.Form.getURI(element);
		new LSL.AJAX.Event({
				url: localURL + 'indicar_erro.php',
				resultElement: element,
				data: '' + uri,
				onCreate: function() {
					for (var i=0, size = element.elements.length; i<size; i++) {
						var field = element.elements[i];
						if (typeof field.name == 'undefined') continue;
						if (field.type.toLowerCase() == 'hidden') continue;
						if (field.disabled) continue;
						field.disabled = true;
					}
					element.elements['indicarErro'].value = 'Enviando dados...'
				}
	   });
	}
	return false;
};

LSL.sendTvForm = function(element) {
	var url = element.options[element.selectedIndex].value;
	if (url != '') document.location.href = localURL + 'tv/' + url + '/';
};
LSL.printNoticia = function(element) {
	window.open(element.href, '', 'menubar=yes,scrollbars=yes,width=720,height=500');
	return false;
};

LSL.alterTypeBusca = function(element, tipo) {
	var li = element.parentNode;
	var ul = li.parentNode;
	var lis = ul.getElementsByTagName('li');
	for (var i=0; i < lis.length; i++) {
		lis[i].className = '';
	}
	li.className = 'atual';
	
	var div = ul.parentNode;
	var form = div.getElementsByTagName('form');
	if (form.length > 0 && form[0].tipo) form[0].tipo.value = tipo;
	return false;
};
LSL.sendFormBusca = function(element) {
	if (element.query.value != '' && element.query.value.replace(/\s/g,'').length > 2) {
		var tipo = 'tudo';
		switch(element.tipo.value) {
			case 'N':
				tipo = 'noticias';
				break;
			case 'V':
				tipo = 'videos';
				break;
			case 'W':
				tipo = 'web';
				break;
			default:
				tipo = 'tudo';
		}
		var val = element.query.value.toLowerCase();
		val = encodeURIComponent(val);
		
		if (tipo == 'web') {
			document.location.href = 'http://www.google.com.br/search?hl=pt-BR&q=site%3Abobnews.com.br ' + val + '&btnG=Pesquisar&meta=';
		} else {
			document.location.href = localURL + 'search/' + tipo + '/?' + val;
		}
	} else {
		alert('Antes de clicar em Buscar, preencha o campo com uma palavra com mais de 2 caracteres.');
	}
	return false;
};

LSL.sendJornais = function(element) {
	if (element.dia.value != '' && element.mes.value != '' && element.ano.value != '') {
		document.location.href = localURL + 'jornais/' + element.ano.value + '/' + element.mes.value + '/' + element.dia.value + '/';
	} else {
		alert('Antes de clicar em Buscar, selecione o dia, mês e ano que deseja.');
	}
	return false;
};

/////////////////////////////////////////////////

if (!LSL.Form) {
	LSL.Form = {};
}

LSL.Form.valida = function(form) {
	var opcional;
	if (form.opcional)
		opcional = (form.opcional.value.toLowerCase() + ',opcional').split(',');
	else
		opcional = [];

	var radios = [];
	for (var i=0; i<form.elements.length; i++) {
		var field = form.elements[i];
		if (typeof field.name == 'undefined') continue;
		if (field.disabled) continue;

		var fieldName = field.name.toLowerCase();
		var vazio = false;
		if (opcional.indexOf(fieldName) == -1) {
			
			var value = field.value;
			if (value == '') {
				vazio = true;
			} else if ((field.type.toLowerCase() == 'radio' || field.type.toLowerCase() == 'checkbox') && (radios.indexOf(fieldName) == -1)) {
				radios.push(fieldName);
				vazio = true;
				for (var k = 0; k < form.elements.length; k++) {
					if (typeof form.elements[k].name == 'undefined') continue;
					if (form.elements[k].disabled) continue;
					if (form.elements[k].name.toLowerCase() == fieldName) {
						if (form.elements[k].checked) {
							vazio = false;
							break;
						}
					}
				}
			}
		}
		if (vazio) {
			alert('Campo(s) obrigatório(s) não preenchido! (' + fieldName + ')');
			if (field.type.toLowerCase() != 'hidden') {
				field.focus();
			}
			return false;
		} else if (field.value != '') {
			if (fieldName == 'cep' && (!LSL.Form.isNatural(field.value) || field.value.length != 8)) {
				alert('Cep inválido. Digite apenas números!'); field.focus(); return false;
			} else if (fieldName == 'ddd' && (!LSL.Form.isNatural(field.value) || field.value.length != 2 || form.telefone.value == '')) {
				alert('Telefone inválido. Digite apenas números!'); field.focus(); return false;
			} else if (fieldName == 'telefone' && (!LSL.Form.isNatural(field.value) || field.value.length < 8 || form.ddd.value == '')) {
				alert('Telefone inválido. Digite apenas números!'); field.focus(); return false;
			} else if (fieldName == 'dddCel' && (!LSL.Form.isNatural(field.value) || field.value.length != 2 || form.celular.value == '')) {
				alert('Celular inválido. Digite apenas números!'); field.focus(); return false;
			} else if (fieldName == 'celular' && (!LSL.Form.isNatural(field.value) || field.value.length < 8 || form.dddCel.value == '')) {
				alert('Celular inválido. Digite apenas números!'); field.focus(); return false;
			} else if ((fieldName == 'email' || fieldName == 'email2') && !LSL.Form.isMail(field.value)) {
				alert('E-mail inválido.'); field.focus(); return false;
			} else if (fieldName == 'senha' && field.value.length < 6) {
				alert('A senha deve conter no mínimo 6 caracteres!'); field.focus(); return false;
			}
		}
	}
	return true;
};

LSL.Form.getURI = function(form) {
	var uri = '';

	this.makeURI = function(nome,valor) {
		uri += (uri != ''?'&':'') + nome + '=' + encodeURIComponent(valor);
	};

	for (var i=0; i<form.elements.length; i++) {
		var field = form.elements[i];
		if (!field.disabled) {
			switch(field.type) {
				case 'text': case 'password': case 'hidden': 
					this.makeURI(field.name,field.value);
					break;
				case 'textarea':
					this.makeURI(field.name,field.value);
					break;
				case 'select-one':
					if (field.selectedIndex>=0) {
						this.makeURI(field.name,field.options[field.selectedIndex].value);
					}
					break;
				case 'select-multiple':
					for (var j=0; j<field.options.length; j++) {
						if (field.options[j].selected) {
							this.makeURI(field.name,field.options[j].value);
						}
					}
					break;
				case 'checkbox': case 'radio':
					if (field.checked) {
						this.makeURI(field.name,field.value);
					}
					break;
			}
		}
	}
	return uri;
};

LSL.Form.isNatural = function(text) {
	var chr = '0123456789';
	return LSL.Form.verify(text, chr);
};

LSL.Form.isNumeric = function(text) {
	var chr = '0123456789.,';
	return LSL.Form.verify(text, chr);
};

LSL.Form.isDate = function(text) {
	if (text.length == 10 && LSL.Form.isNatural(text.substring(0,2)) && text.substring(2,3) == '/' && LSL.Form.isNatural(text.substring(3,5)) && text.substring(5,6) == '/' && LSL.Form.isNatural(text.substring(6,10))) {
		return true;
	} else {
		return false;
	}
};

LSL.Form.isDateTime = function(text) {
	//DD/MM/YYYY HH:MM:SS
	//0123456789012345678
	if (text.length == 19 && LSL.Form.isNatural(text.substring(0,2)) && text.substring(2,3) == '/' && LSL.Form.isNatural(text.substring(3,5)) && text.substring(5,6) == '/' && LSL.Form.isNatural(text.substring(6,10)) &&
		text.substring(10,11) == ' ' && LSL.Form.isNatural(text.substring(11,13)) && text.substring(13,14) == ':' && LSL.Form.isNatural(text.substring(14,16)) && text.substring(16,17) == ':' && LSL.Form.isNatural(text.substring(17,19))) {
		return true;
	} else {
		return false;
	}
};

LSL.Form.verify = function(text, chr) {
	for (var i=0; i<text.length;i++) {
		if (chr.indexOf(text.charAt(i)) == -1) 
			return false;
	}
	return true;
};

LSL.Form.isMail = function(text) {
	if (text.indexOf('@')<1 || text.indexOf('@')>=(text.length-5) || text.length < 8)
		return false;
	return true;
};
