String.prototype.replaceAll = function(token, newtoken) {
	var s = this;
	while (s.indexOf(token) != -1) {
		s = s.replace(token, newtoken);
	}
	return s;
};

(function($){
	$.fn.log = function(message) {
		console.log("%s: %o", message, this);
		return this;
	}
})(jQuery);

(function($){
	$.fn.error = function(message) {
		console.error("%s: %o", message, this);
		return this;
	}
})(jQuery);

$(document).ready(function(){
	
	try {
		
		var fa = $('#floatads');
		var ls = $('textarea.limitsize');
		var tp = $('#today-picture');
		var ln = $('#lastest-news ul');
		var lm = $('#lastestnews ul');
		var rl = $('#tabrecados ul');
		var pl = $('a[href="#imprimir"]');
		var tn = $('#newsstory div.text *');
		var bn = $('div.blogstory div.text *');
		var on = $('#newsstory div.options ul');
		var ob = $('div.blogstory div.options ul');
		var og = $('#gallery div.options ul');
		var zn = $('#newsstory div.tab p.control');
		var bz = $('div.blogstory div.tab p.control');
		var pc = $('#pictures');
		var ph = $('#pictures-home');
		var di = $('input[name="userid"],input[name="passid"],input[name="keysearch"]');
		var fc = $('div.comentar > form, div.enviar > form');
		var ow = $('a[href*="/janela/"]');
		var ll = $('a[href*="/esportes/lance-a-lance/jogos/"]');
		var hr = $('#horoscopo ul li a');
		var pr = $('#promocaolist ul > li a');
		var cm = $('#cinema ul li a');
		var lv = $('a.trailer');
		var fr = $('#message-form');
		var fe = $('#enquete');
		var re = $('div.enqueteleft form fieldset > a');
		var rr = $('div.enqueteright div.result > a');
		var rf = $('div.enqueteleft form');
		var ra = $('a.poolresult');
		var px = $('#promocao * a');
		var lg = $('#login');
		var ft = $('#forget');
		var zc = $('#cep');
		var zo = $('#cobcep');
		var zb = $('#bairro');
		var zr = $('#cobbairro');
		var zd = $('#cidade');
		var za = $('#cobcidade');
		var ct = $('#cadastro a.title');
		var cp = $('a.fisica, a.juridica');
		var cc = $('#cadastro fieldset p.label label[for="mesmoendereco"]');
		var co = $('#cadastro');
		var ca = $('#cadastro.alterar');
		var nw = $('#form-newsletter');
		var sf = $('#sac-form');
		
		var filtrobalada = $('#filter-baladas');
		if (filtrobalada.size()) {
			filtrobalada.bind('change',function(){
				var url = $(this).find('option:selected').val();
				if (url != '') {
				    window.location.href = '/circuito/sp/araraquara/' + url; 
					//window.location.href = '/giro/sp/araraquara/' + url;
				}
			});
		}
		
		if ($('#tabrecados div.list ol li.more').size()) {
			twitterPaginationModel();
		}
		
		var pt = $('a.print').bind('click',function(){
			window.print();
		});
		
		var slider = $('#slider div.scrollable');
		if (slider.size()) {
			slider.scrollable({size:1, clickable:false}).circular().autoscroll({
			    steps: 1,
			    interval: 8000
			});
		}
		
		var shopslider = $('#shopping-footer div.list div.scrollable');
		if (shopslider.size()) {
			shopslider.each(function(){
				$(this).scrollable({size:3, clickable:false}).circular().autoscroll({
				    steps: 1,
				    interval: 8000
				});
			});
		}
		
		var shoptab = $('#shopping-footer ul.options');
		if (shoptab.size()) {
			shoptab.tabs("#shopping-footer div.list div.scrollable");
		}
		
		var destaquebalada = $('#destaques-baladas.top > ul');
		if (destaquebalada.size()) {
			var api = destaquebalada.tabs("#destaques-baladas.top > div.list", {
				api: true
			});
			
			api.onClick(function(event, index){
				destaquebalada.find('li').removeClass('current');
				api.getTabs().eq(index).parent().addClass('current');
			});
		}
		
		var maisbalada = $('#destaques-baladas.destaque-sem-margem > ul');
		if (maisbalada.size()) {
			var api = maisbalada.tabs("#destaques-baladas.destaque-sem-margem > div.list", {
				api: true
			});
			
			api.onClick(function(event, index){
				maisbalada.find('li').removeClass('current');
				api.getTabs().eq(index).parent().addClass('current');
			});
		}
		
		$('#pictures-home div.scrollable ul.items li a').colorTip({
			color:'white'
		});
		
		$('a.blank').attr('target','_blank');
		
		$('input[name="datade"], input[name="dataate"]').datepicker({
			inline: true,
			autoSize: true
		});
		
		$('input[name="senha"]').pstrength();
		
		if (fc.size()) {
			fc.bind('submit',function(e){
				e.preventDefault();
				var urlaction = $(this).attr('action');
				if (urlaction.indexOf('comentario') > -1) {
					fs = $('div.comentar > form');
				} else {
					fs = $('div.enviar > form');
				}
				fs.find('input, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction,
							data: fs.serialize(),
							success: function(data){
								if (data.haserror) {
									if (data.items.length) {
										for (i in data.items) {
											fs.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"]').each(function(){
												$(this).parents('label').addClass('error');
											});
										}
										windowManager.close(function(){
											windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
											windowManager.show();
										});
									} else {
										windowManager.close(function(){
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show();
										});
									}
								} else {
									fs.find('input:text, textarea').val('');
									windowManager.close(function(){
										if (urlaction.indexOf('comentario') > -1) {
											windowManager.add('success', 'Comentário enviado com sucesso!', 'Aguarde a liberação de seu comentário após a moderação.');
										} else {
											windowManager.add('success', 'Matéria enviada com sucesso!', 'Aproveite e envie essa matéria para mais amigos.');
										}
										windowManager.show();
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (re.size()) {
			re.bind('click',function(e){
				e.preventDefault();
				re.css({
					'color': '#444444',
					'font-size': '11px',
					'font-weight': '400'
				});
				re.parent().find('div').slideUp();
				$(this).css({
					'color': '#0071be',
					'font-size': '16px',
					'font-weight': '700'
				});
				$(this).parent().find('div').slideDown();
			});
		}
		
		if (cc.size()) {
			cc.bind('click',function(){
				if ($(this).find('input').attr('checked') == true) {
					$('#cadastro fieldset #cobranca').slideUp();
				} else {
					$('#cadastro fieldset #cobranca').slideDown();
				}
			})
		}
		
		if (rr.size()) {
			rr.bind('click',function(e){
				e.preventDefault();
				rr.css({
					'color': '#444444 !important',
					'font-size': '11px !important',
					'font-weight': '400 !important'
				});
				rr.parent().find('div').slideUp();
				$(this).css({
					'color': '#f05c26 !important',
					'font-size': '16px !important',
					'font-weight': '700 !important'
				});
				$(this).parent().find('div').slideDown();
			});
		}
		
		di.resetDefaultValue();
		$('input:text').setMask();
		
		if (ct.size()) {
			ct.bind('click',function(e){
				e.preventDefault();
				var fs = $('#' + $(this).attr('rel'));
				if ($(this).hasClass('open')) {
					$(this).removeClass('open').addClass('close');
					fs.slideUp();
				} else {
					$(this).removeClass('close').addClass('open');
					fs.slideDown();
				}
			});
		}
		
		if (cp.size()) {
			cp.bind('click',function(e){
				e.preventDefault();
				var cl = $(this).attr('class');
				if (cl.toString().indexOf('marque') == -1) {
					$('input:text').unsetMask();
					if (cl == 'juridica') {
						$('a.fisica').removeClass('marque');
						$('a.juridica').addClass('marque');
						$('#cadastro fieldset label[for="nome"] span').html('Razão Social');
						$('#cadastro fieldset label[for="documento"] span').html('CNPJ');
						$('#cadastro fieldset label[for="documento"] input').val('').attr('alt','cnpj');
						$('#cadastro fieldset label[for="nascimento"],#cadastro fieldset label[for="residencial"],#cadastro fieldset p#sexo').slideUp();
						$('#pessoa').val(1);
					} else {
						$('a.juridica').removeClass('marque');
						$('a.fisica').addClass('marque');
						$('#cadastro fieldset label[for="nome"] span').html('Nome Completo');
						$('#cadastro fieldset label[for="documento"] span').html('CPF');
						$('#cadastro fieldset label[for="documento"] input').val('').attr('alt','cpf');
						$('#cadastro fieldset label[for="nascimento"],#cadastro fieldset label[for="residencial"],#cadastro fieldset p#sexo').slideDown();
						$('#pessoa').val(0);
					}
					$('input:text').setMask();
				}
			});
		}
		
		if (lv.size()) {
			lv.bind('click',function(e){
				e.preventDefault();
				var embed = $(this).find('span').html();
				var html  = '<a href="javascript:void(0);" title="Fechar Trailer"></a>' + embed;
				$('#modalwindow').fadeIn('normal',function(){
					$('#trailer').html(html).fadeIn('normal',function(){
						$(this).find('a').bind('click',function(){
							$('#trailer').fadeOut('normal',function(){
								$(this).html('');
								$('#modalwindow').fadeOut();
							});
						});
					});
				});
			});
		}
		
		if (ow.size()) {
			ow.bind('click',function(e){
				e.preventDefault();
				var url = $(this).attr('href').replaceAll('http:///', 'http://');
				window.open(url, 'galeriapopup', 'width=755,height=775,toolbar=0,scrollbars=1,resizable=1,top=70,left=70');
			});
		}
		
		if (ll.size()) {
			ll.bind('click',function(e){
				e.preventDefault();
				var url = $(this).attr('href').replaceAll('http:///', 'http://');
				window.open(url, 'lancepopup', 'width=768,height=730,toolbar=0,scrollbars=1,resizable=1,top=70,left=70');
			});
		}
		
		if (hr.size()) {
			hr.bind('click',function(e){
				e.preventDefault();
				var button = $(this).find('img.button');
				if ($(this).parent().find('p').is(':visible')) {
					$(this).parent().find('p').slideUp('normal',function(){
						button.attr('src', '/img/icon-horoscopo-close.gif');
					});
				} else {
					button.attr('src', '/img/icon-horoscopo-open.gif');
					$(this).parent().find('p').slideDown('normal');
				}
			});
		}
		
		if (cm.size()) {
			cm.bind('click',function(e){
				e.preventDefault();
				var button = $(this).find('img.button');
				if ($(this).parent().find('p').is(':visible')) {
					$(this).parent().find('p').slideUp('normal',function(){
						button.attr('src', '/img/icon-cinema-close.gif');
					});
				} else {
					button.attr('src', '/img/icon-cinema-open.gif');
					$(this).parent().find('p').slideDown('normal');
				}
			});
		}
		
		if (pr.size()) {
			pr.bind('click',function(e){
				e.preventDefault();
				var button = $(this).find('img.button');
				if ($(this).parent().find('div').is(':visible')) {
					$(this).parent().find('div').slideUp('normal',function(){
						button.attr('src', '/img/icon-promocao-close.gif');
					});
				} else {
					button.attr('src', '/img/icon-promocao-open.gif');
					$(this).parent().find('div').slideDown('normal');
				}
			});
		}
		
		/*
		if (fa.size()) {
			fp = false;
			fa.hover(function(){
				if (!fp) {
					fa.html('<a href="#"><img src="/img/ad/adfull.gif" width="980" height="360" alt="banner" /></a>').animate({height:'360px'});
					fp = true;
				}
			},function(){
				if (fp) {
					fa.animate({height:'60px'}).html('<a href="#"><img src="/img/ad/adnew.gif" width="980" height="60" alt="banner" /></a>');
					fp = false;
				}
			});
		}
		*/
		
		if (tp.size()) {
			tp.scrollable({size:1, clickable:false}).circular().navigator().autoscroll({
			    steps: 1, 
			    interval: 8000
			});
		}
		
		if (ph.size()) {
			ph.scrollable({size:6, activeClass:'active'}).circular().navigator({
			    steps: 1
			});
		}
		
		if (pc.size()) {
			
			apipc = pc.scrollable({size:6, activeClass:'active'}).circular().navigator({
			    steps: 1,
			    api: true
			});
			
			$('div.showbar').find('a.prev-picture').bind('click',function(){
				PICTURE_CURRENT.prev('li').find('a').click();
			});
			
			$('div.showbar').find('a.next-picture').bind('click',function(){
				PICTURE_CURRENT.next('li').find('a').click();
			});
			
			pc.find('div.scrollable ul.items li a').bind('click',function(e){
				e.preventDefault();
				
				PICTURE_CURRENT = $(this).parent();
				
				var url  = $(this).attr('href');
				var link = url.split('/');
				var id   = parseInt(link[link.length-1].replace('.jpg',''));
				$('div.showbar img').remove();
				$('div.legend p').slideUp();
				var urlaction = (pc.hasClass('baladas')) ? '/ajax/circuito/fotos/foto/?id=' + id : '/ajax/imagem/foto/?id=' + id;
				//var urlaction = (pc.hasClass('baladas')) ? '/ajax/giro/fotos/foto/?id=' + id : '/ajax/imagem/foto/?id=' + id;
				$.ajax({
					url: urlaction,
					success: function(data){
						if (data.haserror) {
							windowManager.add('error', 'Não foi possível carregar a imagem.', 'Por favor tente novamente dentro de alguns instantes.');
							windowManager.show();
						} else {
							$('input[name="code"]').val(id);
							$('p.author').html('Foto: ' + data.picture.autor);
							$('div.legend p').html(data.picture.legenda).slideDown();
							$('div.comments:hidden').hide().removeClass('hidden');
							if (!data.comments.length) {
								$('div.comments').slideUp('fast');
							} else {
								$('div.comments').slideUp('fast',function(){
									var html = '<li><p class="date">##DATA## | <strong>##AUTOR##</strong> disse:</p><p class="text">##COMENTARIO##</p>##NOTE##</li>';
									var note = '<p class="note-editor"><span>Nota da Redação</span> ##NOTA##</p>';
									var text = (data.comments.length != 1) ? data.comments.length + ' Comentários' : '1 Comentário';
									$(this).find('h3').html(text);
									$(this).find('ul').html('');
									for (i in data.comments) {
										var temp = html.replaceAll('##DATA##',data.comments[i].data);
											temp = temp.replaceAll('##AUTOR##',data.comments[i].autor);
											temp = temp.replaceAll('##COMENTARIO##',data.comments[i].comentario);
										if (data.comments[i].replica.length) {
											temp = temp.replace('##NOTE##', note.replaceAll('##NOTA##',data.comments[i].replica));
										} else {
											temp = temp.replace('##NOTE##', '');
										}
										$(this).find('ul').append(temp);
									}
									$(this).slideDown();
								});
							}
							var img = new Image();
							$(img).load(function(){
								$(this).hide();
								$('div.showbar img').remove();
								$('div.showbar').append($(this)).animate({
									'min-height': parseInt($(this).attr('height')) + 10 + 'px'
								},'slow',function(){
									$(img).fadeIn();
								}).find('img').css({
									display: 'inline',
									float: 'none',
									textAlign: 'center'
								});
							}).attr('src', url);
						}
					}
				});
			});
			
			if (apipc.getItemWrap().find('li').size() > 1) {
				$('div.showbar').bind('mouseenter',function(e){
					$(this).bind('mousemove',function(e){
						var offsetleft = e.pageX - this.offsetLeft;
						var offsettop = e.pageY - this.offsetTop;
						pos = offsettop - 20
			            if (pos < 20) {
			                pos = 20
			            }
			            if ($('#gallery').hasClass('imagens')) {
			                $(this).find('a').css('top', pos + 476);
			            } else if ($('#gallery').hasClass('tribuninha')) {
			                $(this).find('a').css('top', pos + 375);
						} else {
						    $(this).find('a').css('top', pos + 592); 
						}
					})
				});
			} else {
				$('div.showbar a').hide();
			}
			/*if (apipc.getItemWrap().find('li').size() > 1) {
				$('div.showbar').bind('mouseenter',function(e){
					$(this).bind('mousemove',function(e){
						var offsetleft = e.pageX - this.offsetLeft;
						var offsettop = e.pageY - this.offsetTop;
						pos = offsettop - 20
	                    if (pos < 20) {
	                        pos = 20
	                    }
	                    if ($('#gallery').hasClass('imagens')) {
		                    $(this).find('a').css('top', pos + 476);
	                    } else if ($('#gallery').hasClass('tribuninha')) {
		                    $(this).find('a').css('top', pos + 375);
						} else {
						    $(this).find('a').css('top', pos + 592);
						}
					})
				});
			} else {
				$('div.showbar a').hide();
			}*/
			
			apipc.getItemWrap().find('li').eq(0).find('a').click();
		}
		
		var pg = $('#pictures-garota');
		if (pg.size()) {
			
			apipc = pg.scrollable({size:4, activeClass:'active'}).circular().navigator({
			    steps: 1,
			    api: true
			});
			
			$('div.showbar').find('a.prev-picture').bind('click',function(){
				PICTURE_CURRENT.prev('li').find('a').click();
			});
			
			$('div.showbar').find('a.next-picture').bind('click',function(){
				PICTURE_CURRENT.next('li').find('a').click();
			});
			
			pg.find('div.scrollable ul.items li a').bind('click',function(e){
				
				PICTURE_CURRENT = $(this).parent();
				
				e.preventDefault();
				var url  = $(this).attr('href');
				var link = url.split('/');
				var id   = parseInt(link[link.length-1].replace('.jpg',''));
				$('div.showbar img').remove();
				$('div.legend p').slideUp();
				var urlaction = '/ajax/circuito/garota/foto/?id=' + id;
				//var urlaction = '/ajax/giro/garota/foto/?id=' + id;
				$.ajax({
					url: urlaction,
					success: function(data){
						if (data.haserror) {
							windowManager.add('error', 'Não foi possível carregar a imagem.', 'Por favor tente novamente dentro de alguns instantes.');
							windowManager.show();
						} else {
							$('input[name="code"]').val(id);
							$('div.comments:hidden').hide().removeClass('hidden');
							if (!data.comments.length) {
								$('div.comments').slideUp('fast');
							} else {
								$('div.comments').slideUp('fast',function(){
									var html = '<li><p class="date">##DATA## | <strong>##AUTOR##</strong> disse:</p><p class="text">##COMENTARIO##</p>##NOTE##</li>';
									var note = '<p class="note-editor"><span>Nota da Redação</span> ##NOTA##</p>';
									var text = (data.comments.length != 1) ? data.comments.length + ' Comentários' : '1 Comentário';
									$(this).find('h3').html(text);
									$(this).find('ul').html('');
									for (i in data.comments) {
										var temp = html.replaceAll('##DATA##',data.comments[i].data);
											temp = temp.replaceAll('##AUTOR##',data.comments[i].autor);
											temp = temp.replaceAll('##COMENTARIO##',data.comments[i].comentario);
										if (data.comments[i].replica.length) {
											temp = temp.replace('##NOTE##', note.replaceAll('##NOTA##',data.comments[i].replica));
										} else {
											temp = temp.replace('##NOTE##', '');
										}
										$(this).find('ul').append(temp);
									}
									$(this).slideDown();
								});
							}
							var img = new Image();
							$(img).load(function(){
								$(this).hide();
								$('div.showbar img').remove();
								$('div.showbar').append($(this)).animate({
									'min-height': parseInt($(this).attr('height')) + 10 + 'px'
								},'slow',function(){
									$(img).fadeIn();
								}).find('img').css({
									display: 'inline',
									float: 'none',
									textAlign: 'center'
								});
							}).attr('src', url);
						}
					}
				});
			});
			
			if (apipc.getItemWrap().find('li').size() > 1) {
				
				$('div.showbar').bind('mouseenter',function(e){
					/*var offsetleft = e.pageX - this.offsetLeft;
					var leftspace  = Math.floor($(this).width() / 2);
					if (offsetleft <= leftspace) {
						$(this).find('a.prev-picture').fadeIn();
					} else {
						$(this).find('a.next-picture').fadeIn();
					}*/
					$(this).bind('mousemove',function(e){
						var offsetleft = e.pageX - this.offsetLeft;
						/*var leftspace  = Math.floor($(this).width() / 2);
						if (offsetleft <= leftspace) {
							$(this).find('a.next-picture').fadeOut();
							$(this).find('a.prev-picture').fadeIn();
						} else {
							$(this).find('a.prev-picture').fadeOut();
							$(this).find('a.next-picture').fadeIn();
						}*/
						var offsettop = e.pageY - this.offsetTop;
						pos = offsettop - 20
	                    if (pos < 20) {
	                        pos = 20
	                    }
	                    $(this).find('a').css('top', pos + 545);
					})
				});
				
				/*$('div.showbar').bind('mouseleave',function(){
					$(this).find('a').fadeOut();
				});*/
				
			} else {
				$('div.showbar a').hide();
			}
			
			apipc.getItemWrap().find('li').eq(0).find('a').click();
		}
		
		if (zn.size()) {
			var zs = 1;
			zn.find('a:first').bind('click',function(){
				if (zs < 3) {
					tn.each(function(){
						$(this).css('font-size', (parseInt($(this).css('font-size').replace('px','')) + 1) + 'px');
					});
					zs++;
				}
			});
			zn.find('a:last').bind('click',function(){
				if (zs > 0) {
					tn.each(function(){
						$(this).css('font-size', (parseInt($(this).css('font-size').replace('px','')) - 1) + 'px');
					});
					zs--;
				}
			});
		}
		
		if (bz.size()) {
			var zs = 1;
			bz.find('a:first').bind('click',function(){
				if (zs < 3) {
					bn.each(function(){
						$(this).css('font-size', (parseInt($(this).css('font-size').replace('px','')) + 1) + 'px');
					});
					zs++;
				}
			});
			bz.find('a:last').bind('click',function(){
				if (zs > 0) {
					bn.each(function(){
						$(this).css('font-size', (parseInt($(this).css('font-size').replace('px','')) - 1) + 'px');
					});
					zs--;
				}
			});
		}
		
		if (ln.size()) {
			if ($.browser.msie) {
				ln.tabs("#lastest-news div.list > ol");
			} else {
				ln.tabs("#lastest-news div.list > ol").history();
			}
		}
		
		if (lm.size()) {
			var api = lm.tabs("#lastestnews div.list > ol", {
				api: true
			});
			
			api.onClick(function(event, index){
				lm.find('li').removeClass('current');
				api.getTabs().eq(index).parent().addClass('current');
			});
		}
		
		if (rl.size()) {
			var api = rl.tabs("#tabrecados div.list > ol", {
				api: true
			});
			
			api.history();
			
			api.onClick(function(event, index){
				rl.find('li').removeClass('current');
				api.getTabs().eq(index).parent().addClass('current');
			});
		}
		
		if (on.size()) {
			if ($.browser.msie) {
				on.tabs("#newsstory div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'});
			} else {
				on.tabs("#newsstory div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'}).history();
			}
		}
		
		if (ob.size()) {
			if ($.browser.msie) {
				ob.tabs("div.blogstory div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'});
			} else {
				ob.tabs("div.blogstory div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'}).history();
			}
		}
		
		if (og.size()) {
			if ($.browser.msie) {
				og.tabs("#gallery div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'});
			} else {
				og.tabs("#gallery div.options div.list > div", {effect: 'fade', initialIndex: 0, event: 'mouseup'}).history();
			}
		}
		
		if (ls.size()) {
			ls.each(function(){
				var obj = $(this).parents('form').find('p.counter');
				$(this).limit(parseInt(obj.html()), obj);
			});
		}
		
		if (pl.size()) {
			pl.bind('click',function(){
				window.print();
			});
		}
		
		if (fr.size()) {
			fr.bind('submit',function(e){
				e.preventDefault();
				var urlaction = $(this).attr('action');
				fr.find('input, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction,
							data: fr.serialize(),
							success: function(data){
								if (data.haserror) {
									if (data.items.length) {
										for (i in data.items) {
											fr.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
												$(this).parents('label').addClass('error');
											});
										}
										windowManager.close(function(){
											windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
											windowManager.show();
										});
									} else {
										windowManager.close(function(){
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show();
										});
									}
								} else {
									fr.find('input:text, textarea').val('');
									fr.find('select option:selected').attr('selected','');
									windowManager.close(function(){
										if (urlaction.indexOf('recado') > -1) {
											windowManager.add('success', 'Recado enviado com sucesso!', 'Aguarde a liberação de seu recado após a moderação.');
										} else {
											windowManager.add('success', 'Pauta enviada com sucesso!', 'Nossa redação irá analisar sua pauta. Obrigado pela participação!');
										}
										windowManager.show();
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (fe.size()) {
			fe.bind('submit',function(e){
				e.preventDefault();
				var urlaction = $(this).attr('action');
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction + '?timed=' + new Date().getTime(),
							data: fe.serialize(),
							success: function(data){
								if (data.haserror) {
									if (data.error == 0) {
										windowManager.close(function(){
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show();
										});
									} else if (data.error == 1) {
										windowManager.close(function(){
											windowManager.add('success', 'Você já votou nesta enquete!', 'Aguarde novas enquetes para votar. Agradecemos sua participação.');
											windowManager.show();
										});
									} else if (data.error == 2) {
										windowManager.close(function(){
											windowManager.add('success', 'Selecione a opção que deseja votar!', 'Para realizar o voto, selecione a opção que deseja votar.');
											windowManager.show();
										});
									} else if (data.error == 3) {
										windowManager.close(function(){
											windowManager.add('error', 'Você deve estar logado para participar desta enquete!', 'Em alguns instantes você será redirecionado para a página de login.');
											windowManager.show(function(){
												setTimeout(function(){
													window.location.href = '/portal/login/';
												}, 5000);
											});
										});
									} else if (data.error == 4) {
										windowManager.close(function(){
											windowManager.add('success', 'Você já votou nesta enquete!', 'Aguarde novas enquetes para votar. Agradecemos sua participação.');
											windowManager.show();
										});
									}
								} else {
									windowManager.close(function(){
										if (!data.hidden) {
											windowManager.add('success', 'Voto contabilizado com sucesso!', 'Em alguns instantes você será redirecionado para a página de resultado.');
											windowManager.show(function(){
												setTimeout(function(){
													window.location.href = data.urlredirect;
												}, 5000);
											});
										} else {
											windowManager.add('success', 'Voto contabilizado com sucesso!', 'Aguarde a publicação do resultado em nossas notícias.');
											windowManager.show();
										}
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (rf.size()) {
			rf.bind('submit',function(e){
				e.preventDefault();
				var local     = $(this);
				var urlaction = $(this).attr('action');
				$('#enquete-result').slideUp();
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction + '?timed=' + new Date().getTime(),
							data: local.serialize() + '&poolignore=0',
							error: function() {
								alert('Opzzzzzzzzz');
							},
							success: function(data){
								var er = $('#enquete-result');
								er.find('p.data').html(data.inicio +' a '+ data.final);
								er.find('h3').html(data.questao);
								er.find('p.bar').remove();
								if (data.closed == 1) {
									er.addClass('closed');
								} else {
									er.removeClass('closed');
								}
								for (i in data.options) {
									er.append('<p class="bar"><strong>'+ data.options[i].resposta +' ('+ data.options[i].votos +')</strong> <span style="width:'+ data.options[i].width +'px"><em>'+ data.options[i].percentual +'%</em></span></p>');
								}
								if (data.haserror) {
									if (data.error == 0) {
										windowManager.close(function(){
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show(function(){
												er.slideDown();
											});
										});
									} else if (data.error == 1) {
										windowManager.close(function(){
											windowManager.add('success', 'Você já votou nesta enquete!', 'Aguarde novas enquetes para votar. Agradecemos sua participação.');
											windowManager.show(function(){
												er.slideDown();
											});
										});
									} else if (data.error == 2) {
										windowManager.close(function(){
											windowManager.add('success', 'Selecione a opção que deseja votar!', 'Para realizar o voto, selecione a opção que deseja votar.');
											windowManager.show(function(){
												er.slideDown();
											});
										});
									} else if (data.error == 3) {
										windowManager.close(function(){
											windowManager.add('error', 'Você deve estar logado para participar desta enquete!', 'Em alguns instantes você será redirecionado para a página de login.');
											windowManager.show(function(){
												setTimeout(function(){
													window.location.href = '/portal/login/';
												}, 5000);
											});
										});
									} else if (data.error == 4) {
										windowManager.close(function(){
											windowManager.add('success', 'Você já votou nesta enquete!', 'Aguarde novas enquetes para votar. Agradecemos sua participação.');
											windowManager.show();
										});
									}
								} else {
									windowManager.close(function(){
										windowManager.add('success', 'Voto contabilizado com sucesso!', 'Agradecemos sua participação.');
										windowManager.show(function(){
											er.slideDown();
										});
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (ra.size()) {
			ra.bind('click',function(e){
				e.preventDefault();
				var local     = $(this).parents('form');
				var urlaction = local.attr('action');
				$('#enquete-result').slideUp();
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction,
							data: local.serialize() + '&poolignore=1',
							error: function() {
								alert('Opzzzzzzzzz');
							},
							success: function(data){
								var er = $('#enquete-result');
								er.find('p.data').html(data.inicio +' a '+ data.final);
								er.find('h3').html(data.questao);
								er.find('p.bar').remove();
								if (data.closed == 1) {
									er.addClass('closed');
								} else {
									er.removeClass('closed');
								}
								for (i in data.options) {
									er.append('<p class="bar"><strong>'+ data.options[i].resposta +' ('+ data.options[i].votos +')</strong> <span style="width:'+ data.options[i].width +'px"><em>'+ data.options[i].percentual +'%</em></span></p>');
								}
								if (data.haserror) {
									windowManager.close(function(){
										windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
										windowManager.show(function(){
											er.slideDown();
										});
									});
								} else {
									windowManager.close(function(){
										er.slideDown();
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (px.size()) {
			px.bind('click',function(e){
				e.preventDefault();
				var code = parseInt($(this).attr('rel').replaceAll('#',''));
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/ajax/promocao/',
							data: 'promocode=' + code,
							error: function() {
								alert('Opzzzzzzzzz');
							},
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
											/*window.location.href='http://www.araraquara.com/participe/seu-recado/promocao/porque-o-santos-merece-ser-campeao-da-libertadores.html';*/
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Você deve estar logado para participar!', 'Em alguns instantes você será redirecionado para a página de login.');
												windowManager.show(function(){
													setTimeout(function(){
														window.location.href = '/portal/login/';
													}, 5000);
												});
											/*window.location.href='http://www.araraquara.com/participe/seu-recado/promocao/porque-o-santos-merece-ser-campeao-da-libertadores.html';*/
											});
										break;
										case 2:
											windowManager.close(function(){
												windowManager.add('error', 'Você já está participando desta promoção!', 'Fique ligado! Os ganhadores desta promoção serão divulgados aqui no Portal.');
												windowManager.show();
											});
										break;
									}
								} else {
									windowManager.close(function(){
										if (typeof(data.redirect) != 'undefined') {
											window.location.href=data.redirect;													
										} else {
										 	windowManager.add('success', 'Participação confirmada!', 'Cruze os dedos e torça. O prêmio pode ser seu! Aproveite e participe de outras promoções.');
										 	windowManager.show();
										}	
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (lg.size()) {
			lg.bind('submit',function(e){
				e.preventDefault();
				var urlaction = $(this).attr('action');
				lg.find('input, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: urlaction,
							data: lg.serialize() + '&j=true',
							success: function(data){
								//alert(data.naoassinante);
								//alert("data.haserror: " + data.haserror);
								//alert("data.error: " + data.error);
								//alert("data.promo: " + data.promo);
								//alert("data.redirect: " + data.redirect);
								
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												lg.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Você deve confirmar seu e-mail!', 'Para que seu cadastro se torne ativo no Portal, você deve confirmar seu e-mail.');
												windowManager.show();
											});
										case 2:
											windowManager.close(function(){
												windowManager.add('success', 'E-mail e/ou senha inválidos!', 'Por favor, verifique seu login e senha e tente novamente. Se estiver com dificuldades para fazer login, <a href="/portal/sac/">consulte nosso SAC</a>. Se ainda não é cadastrado, <a href="/participe/cadastro/">faça agora mesmo seu cadastro, é grátis!');
												windowManager.show();
											});
										break;
										case 3:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
									}
								} else {
									if (typeof(data.promo) != 'undefined') {
										switch (data.promo) {
											case 0:
												windowManager.close(function(){
													windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
													windowManager.show();
												});
											break;
											case 1:
												windowManager.close(function(){
													//promocoes
													if (typeof(data.redirect) != 'undefined') {
														window.location.href=data.redirect;													
													} else {
														windowManager.add('success', 'Participação confirmada!', 'Cruze os dedos e torça. O prêmio pode ser seu! Aproveite e participe de outras promoções.');
														windowManager.show();
													}
												});
											break;
											case 2:
												windowManager.close(function(){
													windowManager.add('error', 'Você já está participando desta promoção!', 'Fique ligado! Os ganhadores desta promoção serão divulgados aqui no Portal.');
													windowManager.show();
												});
											break;
										}
									} else if (typeof(data.access) != 'undefined') {
										if (data.access == true) {
											window.location.href = data.redirect;
										} else {
											windowManager.close(function(){
												windowManager.add('error', 'Conteúdo exclusivo para assinantes!', '<a href="/participe/cadastro/">Assine a Tribuna Impressa ou Online agora mesmo</a> e tenha acesso a todo o conteúdo exclusivo do Portal Araraquara.com!');
												windowManager.show();
											});
										}
									} else if (typeof(data.digitalpages) != 'undefined') {
										window.location.href = '/portal/edicao-online/';
									} else if (typeof(data.naoassinante) != 'undefined') {
										window.location.href = '/assine';
									} else {
										lg.find('input:text, input:password').val('');
										windowManager.close(function(){
											windowManager.add('success', 'Login realizado com sucesso!', 'Em alguns instantes você será redirecionado para a página inicial do Portal.');
											windowManager.show(function(){
												setTimeout(function(){
													window.location.href = '/';
												}, 5000);
											});
										});
									}
								}
							}
						});
					});
				});
			});
		}
		
		if (ft.size()) {
			ft.bind('click',function(e){
				e.preventDefault();
				lg.find('input, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/portal/login/forget/',
							data: lg.serialize(),
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												lg.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível enviar o e-mail neste momento!', 'Pedimos a gentileza de tentar novamente dentro de alguns instantes.');
												windowManager.show();
											});
										case 2:
											windowManager.close(function(){
												windowManager.add('success', 'E-mail não cadastrado no Portal!', 'Por favor, verifique seu e-mail e tente novamente. Se ainda não é cadastrado, <a href="/participe/cadastro/">faça agora mesmo seu cadastro, é grátis!');
												windowManager.show();
											});
										break;
										case 3:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
									}
								} else {
									lg.find('input:password').val('');
									windowManager.close(function(){
										windowManager.add('success', 'E-mail enviado com sucesso!', 'Em alguns instantes você receberá em seu e-mail uma nova senha de acesso ao Portal.');
										windowManager.show(function(){
											setTimeout(function(){
												window.location.href = '/portal/login/';
											}, 5000);
										});
									});
								}
							}
						});
					});
				});
			});
		}
		
		var replacement = $('a.replacement');
		if (replacement.size()) {
			replacement.bind('click',function(){
				$(this).html($(this).attr('title'));
			});
		}
		
		computeScoreLocal = function() {
			var ratinge = $('div.avaliacao-estabelecimento div.avaliacao a');
			if (ratinge.size()) {
				ratinge.each(function(){
					
					var localid = $(this).attr('rel');
					var rating  = $(this).attr('title');
					
					$(this).bind('click',function(e){
						e.preventDefault();
						windowManager.close(function(){
							windowManager.add('wait', '', '');
							windowManager.show(function(){
								$.ajax({
									url: '/ajax/locais/rating/?localid=' + localid + '&rating=' + rating +'&timed=' + new Date().getTime(),
									success: function(data){
										if (data.haserror) {
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										} else {
											var html = '';
											for (var i=1; i<=data.stars; i++) {
												html += '<a href="javascript:void(0);" class="ativo" title="'+ i +'" rel="'+ data.localid +'"></a>';
											}
											for (var i=1; i<=(5-data.stars); i++) {
												html += '<a href="javascript:void(0);" title="'+ (i + data.stars) +'" rel="'+ data.localid +'"></a>';
											}
											$('div.avaliacao a').remove();
											$('div.avaliacao').append(html);
											$('div.rating').html('('+ data.total +' Votos - Média '+ data.media +')');
											computeScoreLocal();
											windowManager.close();
										}
									}
								});
							});
						});
					});
					
					$(this).hover(function(){
						for (var i=0; i<rating; i++) {
							var o = $('div.avaliacao a').eq(i);
							if (!o.hasClass('ativo')) {
								o.addClass('hover');
							}
						}
					}, function(){
						for (var i=0; i<rating; i++) {
							var o = $('div.avaliacao a').eq(i);
							if (o.hasClass('hover')) {
								o.removeClass('hover');
							}
						}
					})
				});
			}
		};
		
		computeScoreLocal();
		
		computeScoreEvent = function() {
			var ratinge = $('div.avaliacao-eventos a');
			if (ratinge.size()) {
				ratinge.each(function(){
					
					var localid = $(this).attr('rel');
					var rating  = $(this).attr('title');
					
					$(this).bind('click',function(e){
						e.preventDefault();
						windowManager.close(function(){
							windowManager.add('wait', '', '');
							windowManager.show(function(){
								$.ajax({
									url: '/ajax/circuito/rating/?localid=' + localid + '&rating=' + rating +'&timed=' + new Date().getTime(),
									//url: '/ajax/giro/rating/?localid=' + localid + '&rating=' + rating +'&timed=' + new Date().getTime(),
									success: function(data){
										if (data.haserror) {
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										} else {
											var html = '';
											for (var i=1; i<=data.stars; i++) {
												html += '<a href="javascript:void(0);" class="ativo" title="'+ i +'" rel="'+ data.localid +'"></a>';
											}
											for (var i=1; i<=(5-data.stars); i++) {
												html += '<a href="javascript:void(0);" title="'+ (i + data.stars) +'" rel="'+ data.localid +'"></a>';
											}
											$('div.avaliacao-eventos a').remove();
											$('div.avaliacao-eventos').append(html);
											$('div.rating-eventos').html('('+ data.total +' Votos - Média '+ data.media +')');
											computeScoreEvent();
											windowManager.close();
										}
									}
								});
							});
						});
					});
					
					$(this).hover(function(){
						for (var i=0; i<rating; i++) {
							var o = $('div.avaliacao-eventos a').eq(i);
							if (!o.hasClass('ativo')) {
								o.addClass('hover');
							}
						}
					}, function(){
						for (var i=0; i<rating; i++) {
							var o = $('div.avaliacao-eventos a').eq(i);
							if (o.hasClass('hover')) {
								o.removeClass('hover');
							}
						}
					})
				});
			}
		};
		
		computeScoreEvent();
		
		var girlvote = $('#girlvote');
		if (girlvote.size()) {
			girlvote.bind('click',function(e){
				e.preventDefault();
				var localid = $(this).attr('rel');
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/ajax/circuito/garota/rating/?localid=' + localid +'&urlback='+ window.location.href +'&timed=' + new Date().getTime(),
							//url: '/ajax/giro/garota/rating/?localid=' + localid +'&urlback='+ window.location.href +'&timed=' + new Date().getTime(),
							success: function(data){
								if (data.haserror) {
									windowManager.close(function(){
										if (data.error == 1) {
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show();
										} else if (data.error == 2) {
											windowManager.add('error', 'Você deve estar logado para votar nesta garota!', 'Em alguns instantes você será redirecionado para a página de login.');
											windowManager.show(function(){
												setTimeout(function(){
													window.location.href = '/portal/login/';
												}, 5000);
											});
										} else if (data.error == 3) {
											windowManager.add('error', 'Você já votou em uma garota hoje!', 'Só é permitido um voto por dia, volte amanhã e vote na sua candidata a Garota Araraquara.');
											windowManager.show();
										}
									});
								} else {
									$('#girlresult').html(data.total +' votos');
									windowManager.close();
								}
							}
						});
					});
				});
			});
		}
		
		var divulgue = $('a.additem');
		if (divulgue.size()) {
			var html = '<label for="datahorario"><input type="text" name="data[]" alt="date" /> <span>-</span> <input type="text" name="horario[]" alt="time" /> <a href="javascript:void(0);" class="icon-menos removeitem"><img src="/img/icon-block-menos.gif" width="20" height="20" /></a></label>';
			divulgue.unbind('click').bind('click', function(){
				$('div.datalist').append(html).find('a.removeitem').unbind('click').bind('click',function(){
					$(this).parents('label').remove();
				});
				$('input:text').setMask();
			});
		}
		
		if (zd.size()) {
			var cidades = [
				{ id:1,  name:"Américo Brasiliense", search:"Americo Brasiliense" },
				{ id:2,  name:"Araraquara", search:"Araraquara" },
				{ id:3,  name:"Boa Esperança do Sul", search:"Boa Esperanca do Sul" },
				{ id:4,  name:"Borborema", search:"Borborema" },
				{ id:5,  name:"Cândido Rodrigues", search:"Candido Rodrigues" },
				{ id:6,  name:"Descalvado", search:"Descalvado" },
				{ id:7,  name:"Dobrada", search:"Dobrada" },
				{ id:8,  name:"Dourado", search:"Dourado" },
				{ id:9,  name:"Fernando Prestes", search:"Fernando Prestes" },
				{ id:10, name:"Gavião Peixoto", search:"Gaviao Peixoto" },
				{ id:11, name:"Ibaté", search:"Ibate" },
				{ id:12, name:"Ibitinga", search:"Ibitinga" },
				{ id:13, name:"Itápolis", search:"Itapolis" },
				{ id:14, name:"Matão", search:"Matao" },
				{ id:15, name:"Motuca", search:"Motuca" },
				{ id:16, name:"Nova Europa", search:"Nova Europa" },
				{ id:17, name:"Porto Ferreira", search:"Porto Ferreira" },
				{ id:18, name:"Ribeirão Bonito", search:"Ribeirao Bonito" },
				{ id:19, name:"Rincão", search:"Rincao" },
				{ id:20, name:"Santa Ernestina", search:"Santa Ernestina" },
				{ id:21, name:"Santa Lúcia", search:"Santa Lucia" },
				{ id:22, name:"Santa Rita do Passa Quatro", search:"Santa Rita do Passa Quatro" },
				{ id:23, name:"São Carlos", search:"Sao Carlos" },
				{ id:24, name:"Tabatinga", search:"Tabatinga" },
				{ id:25, name:"Taquaritinga", search:"Taquaritinga" },
				{ id:26, name:"Trabiju", search:"Trabiju" }
			];
	
			zd.autocomplete(cidades,{
				matchContains: true,
				minChars: 0,
				max: 15,
				formatItem: function(row, i, max) {
					return row.name;
				},
				formatMatch: function(row, i, max) {
					return row.name + " " + row.search;
				},
				formatResult: function(row) {
					$('#' + $(this).attr('id') + 'code').val(row.id);
					return row.name;
				}
			});
			
			za.autocomplete(cidades,{
				matchContains: true,
				minChars: 0,
				max: 15,
				formatItem: function(row, i, max) {
					return row.name;
				},
				formatMatch: function(row, i, max) {
					return row.name + " " + row.search;
				},
				formatResult: function(row) {
					$('#' + $(this).attr('id') + 'code').val(row.id);
					return row.name;
				}
			});
		}
		
		if (zb.size()) {
			var bairros = [
				{ id:0, name:'Acapulco', search:'Acapulco'},
				{ id:1, name:'Aclimação', search:'Aclimacao'},
				{ id:2, name:'Adalberto Roxo', search:'Adalberto Roxo'},
				{ id:3, name:'Adalgisa', search:'Adalgisa'},
				{ id:4, name:'Águas do Paiol', search:'Aguas do Paiol'},
				{ id:5, name:'Almeida', search:'Almeida'},
				{ id:6, name:'Altos do Cecap', search:'Altos do Cecap'},
				{ id:7, name:'Altos do Cecap II', search:'Altos do Cecap II'},
				{ id:8, name:'Altos do Jaraguá', search:'Altos do Jaragua'},
				{ id:9, name:'Altos do Pinheiro I', search:'Altos do Pinheiro I'},
				{ id:10, name:'Altos do Pinheiro II', search:'Altos do Pinheiro II'},
				{ id:11, name:'Alvorada', search:'Alvorada'},
				{ id:12, name:'América', search:'America'},
				{ id:13, name:'Bairro dos Machados', search:'Bairro dos Machados'},
				{ id:14, name:'Bosque da Saúde', search:'Bosque da Saude'},
				{ id:15, name:'Campus Ville', search:'Campus Ville'},
				{ id:16, name:'Capão do Paiva', search:'Capao do Paiva'},
				{ id:17, name:'Caram Salomão', search:'Caram Salomao'},
				{ id:18, name:'Carmo', search:'Carmo'},
				{ id:19, name:'Centro', search:'Centro'},
				{ id:20, name:'Chácara California', search:'Chacara California'},
				{ id:21, name:'Chácara Flora', search:'Chacara Flora'},
				{ id:22, name:'Chácaras Estrelas Loteamento Kanachiro', search:'Chacaras Estrelas Loteamento Kanachiro'},
				{ id:23, name:'Cidade Azul', search:'Cidade Azul'},
				{ id:24, name:'Cidade Industrial', search:'Cidade Industrial'},
				{ id:25, name:'Cidade Jardim', search:'Cidade Jardim'},
				{ id:26, name:'Cociza', search:'Cociza'},
				{ id:27, name:'Condomínio Manoela', search:'Condominio Manoela'},
				{ id:28, name:'Condomínio Satelite', search:'Condominio Satelite'},
				{ id:29, name:'Conjunto Habitacional Victório de Santi', search:'Conjunto Habitacional Victorio de Santi'},
				{ id:30, name:'Del-rey', search:'Del-rey'},
				{ id:31, name:'Distrito Industrial', search:'Distrito Industrial'},
				{ id:32, name:'Distrito Industrial I', search:'Distrito Industrial I'},
				{ id:33, name:'Distrito Industrial II', search:'Distrito Industrial II'},
				{ id:34, name:'Distrito Industrial III', search:'Distrito Industrial III'},
				{ id:35, name:'Distrito Industrial V', search:'Distrito Industrial V'},
				{ id:36, name:'Eldorado', search:'Eldorado'},
				{ id:37, name:'Jardim Almeida', search:'Jardim Almeida'},
				{ id:38, name:'Jardim América', search:'Jardim America'},
				{ id:39, name:'Jardim Ana Adelaide', search:'Jardim Ana Adelaide'},
				{ id:40, name:'Jardim Arangua', search:'Jardim Arangua'},
				{ id:41, name:'Jardim Arangá', search:'Jardim Aranga'},
				{ id:42, name:'Jardim Araraquara', search:'Jardim Araraquara'},
				{ id:43, name:'Jardim Arco-íris', search:'Jardim Arco-iris'},
				{ id:44, name:'Jardim Artico', search:'Jardim Artico'},
				{ id:45, name:'Jardim Athenas', search:'Jardim Athenas'},
				{ id:46, name:'Jardim Bandeirantes', search:'Jardim Bandeirantes'},
				{ id:47, name:'Jardim Biagioni', search:'Jardim Biagioni'},
				{ id:48, name:'Jardim Botânico', search:'Jardim Botanico'},
				{ id:49, name:'Jardim Bouganville', search:'Jardim Bouganville'},
				{ id:50, name:'Jardim Brasil', search:'Jardim Brasil'},
				{ id:51, name:'Jardim Brasília', search:'Jardim Brasilia'},
				{ id:52, name:'Jardim Cambuy', search:'Jardim Cambuy'},
				{ id:53, name:'Jardim Cecília', search:'Jardim Cecilia'},
				{ id:54, name:'Jardim Celiamar', search:'Jardim Celiamar'},
				{ id:55, name:'Jardim Cristo Rei', search:'Jardim Cristo Rei'},
				{ id:56, name:'Jardim Cruzeiro do Sul', search:'Jardim Cruzeiro do Sul'},
				{ id:57, name:'Jardim Dom Pedro I', search:'Jardim Dom Pedro I'},
				{ id:58, name:'Jardim Domingos Sávio', search:'Jardim Domingos Savio'},
				{ id:59, name:'Jardim Dumont', search:'Jardim Dumont'},
				{ id:60, name:'Jardim Eliana', search:'Jardim Eliana'},
				{ id:61, name:'Jardim Esplanada', search:'Jardim Esplanada'},
				{ id:62, name:'Jardim Europa', search:'Jardim Europa'},
				{ id:63, name:'Jardim Flamboyant', search:'Jardim Flamboyant'},
				{ id:64, name:'Jardim Florença', search:'Jardim Florenca'},
				{ id:65, name:'Jardim Floridiana', search:'Jardim Floridiana'},
				{ id:66, name:'Jardim Gardênias', search:'Jardim Gardenias'},
				{ id:67, name:'Jardim Guanabara', search:'Jardim Guanabara'},
				{ id:68, name:'Jardim Higienópolis', search:'Jardim Higienopolis'},
				{ id:69, name:'Jardim Ieda', search:'Jardim Ieda'},
				{ id:70, name:'Jardim Igaçaba', search:'Jardim Igacaba'},
				{ id:71, name:'Jardim Imperador', search:'Jardim Imperador'},
				{ id:72, name:'Jardim Imperial', search:'Jardim Imperial'},
				{ id:73, name:'Jardim Indaiá', search:'Jardim Indaia'},
				{ id:74, name:'Jardim Itália', search:'Jardim Italia'},
				{ id:75, name:'Jardim Lisboa', search:'Jardim Lisboa'},
				{ id:76, name:'Jardim Maggiore', search:'Jardim Maggiore'},
				{ id:77, name:'Jardim Magnólias', search:'Jardim Magnolias'},
				{ id:78, name:'Jardim Maracanã', search:'Jardim Maracana'},
				{ id:79, name:'Jardim Maria Luiza', search:'Jardim Maria Luiza'},
				{ id:80, name:'Jardim Marivan', search:'Jardim Marivan'},
				{ id:81, name:'Jardim Martinez', search:'Jardim Martinez'},
				{ id:82, name:'Jardim Morada do Sol', search:'Jardim Morada do Sol'},
				{ id:83, name:'Jardim Morumbi', search:'Jardim Morumbi'},
				{ id:84, name:'Jardim Nova América', search:'Jardim Nova America'},
				{ id:85, name:'Jardim Nova Araraquara', search:'Jardim Nova Araraquara'},
				{ id:86, name:'Jardim Nova Época', search:'Jardim Nova Epoca'},
				{ id:87, name:'Jardim Padre Anchieta', search:'Jardim Padre Anchieta'},
				{ id:88, name:'Jardim Palmares', search:'Jardim Palmares'},
				{ id:89, name:'Jardim Panorama', search:'Jardim Panorama'},
				{ id:90, name:'Jardim Paraíso', search:'Jardim Paraiso'},
				{ id:91, name:'Jardim Paulista', search:'Jardim Paulista'},
				{ id:92, name:'Jardim Paulistano', search:'Jardim Paulistano'},
				{ id:93, name:'Jardim Pinheiros', search:'Jardim Pinheiros'},
				{ id:94, name:'Jardim Primavera', search:'Jardim Primavera'},
				{ id:95, name:'Jardim Primor', search:'Jardim Primor'},
				{ id:96, name:'Jardim Rafaela Amoroso Micelli', search:'Jardim Rafaela Amoroso Micelli'},
				{ id:97, name:'Jardim Regina', search:'Jardim Regina'},
				{ id:98, name:'Jardim Residencial Dahma', search:'Jardim Residencial Dahma'},
				{ id:99, name:'Jardim Roseiras', search:'Jardim Roseiras'},
				{ id:100, name:'Jardim Salto Grande', search:'Jardim Salto Grande'},
				{ id:101, name:'Jardim Santa Lúcia', search:'Jardim Santa Lucia'},
				{ id:102, name:'Jardim Santa Marta', search:'Jardim Santa Marta'},
				{ id:103, name:'Jardim Santa Rosa', search:'Jardim Santa Rosa'},
				{ id:104, name:'Jardim Santo Antônio', search:'Jardim Santo Antonio'},
				{ id:105, name:'Jardim Silvania', search:'Jardim Silvania'},
				{ id:106, name:'Jardim São Gabriel', search:'Jardim Sao Gabriel'},
				{ id:107, name:'Jardim São Jorge', search:'Jardim Sao Jorge'},
				{ id:108, name:'Jardim São Paulo', search:'Jardim Sao Paulo'},
				{ id:109, name:'Jardim São Rafael', search:'Jardim Sao Rafael'},
				{ id:110, name:'Jardim Tabapuã', search:'Jardim Tabapua'},
				{ id:111, name:'Jardim Tamoyo', search:'Jardim Tamoyo'},
				{ id:112, name:'Jardim Tangara', search:'Jardim Tangara'},
				{ id:113, name:'Jardim Tinem', search:'Jardim Tinem'},
				{ id:114, name:'Jardim Uirapuru', search:'Jardim Uirapuru'},
				{ id:115, name:'Jardim Universal', search:'Jardim Universal'},
				{ id:116, name:'Jardim Vale das Rosas', search:'Jardim Vale das Rosas'},
				{ id:117, name:'Jardim Veneza', search:'Jardim Veneza'},
				{ id:118, name:'Jardim Viaduto', search:'Jardim Viaduto'},
				{ id:119, name:'Jardim Vitória', search:'Jardim Vitoria'},
				{ id:120, name:'Jardim das Estações', search:'Jardim das Estacoes'},
				{ id:121, name:'Jardim das Flores', search:'Jardim das Flores'},
				{ id:122, name:'Jardim das Gaivotas', search:'Jardim das Gaivotas'},
				{ id:123, name:'Jardim das Oliveiras', search:'Jardim das Oliveiras'},
				{ id:124, name:'Jardim das Paineiras', search:'Jardim das Paineiras'},
				{ id:125, name:'Jardim das Palmeiras', search:'Jardim das Palmeiras'},
				{ id:126, name:'Jardim das Roseiras', search:'Jardim das Roseiras'},
				{ id:127, name:'Jardim do Bosque', search:'Jardim do Bosque'},
				{ id:128, name:'Jardim dos Industriários', search:'Jardim dos Industriarios'},
				{ id:129, name:'Jardim dos Ipês', search:'Jardim dos Ipes'},
				{ id:130, name:'Jardim dos Manacas', search:'Jardim dos Manacas'},
				{ id:131, name:'Jardim Água Branca', search:'Jardim Agua Branca'},
				{ id:132, name:'Jardm do Bosque', search:'Jardm do Bosque'},
				{ id:133, name:'Jardom dos Falmboyants', search:'Jardom dos Falmboyants'},
				{ id:134, name:'João Manoel', search:'Joao Manoel'},
				{ id:135, name:'Lupo I', search:'Lupo I'},
				{ id:136, name:'Lupo II', search:'Lupo II'},
				{ id:137, name:'Melhado', search:'Melhado'},
				{ id:138, name:'Morumbi', search:'Morumbi'},
				{ id:139, name:'Parque Gramado', search:'Parque Gramado'},
				{ id:140, name:'Parque Igaçaba', search:'Parque Igacaba'},
				{ id:141, name:'Parque Iguatemy', search:'Parque Iguatemy'},
				{ id:142, name:'Parque Planalto', search:'Parque Planalto'},
				{ id:143, name:'Parque Sabiá', search:'Parque Sabia'},
				{ id:144, name:'Parque São Benedito', search:'Parque Sao Benedito'},
				{ id:145, name:'Parque São Paulo', search:'Parque Sao Paulo'},
				{ id:146, name:'Parque Tropical', search:'Parque Tropical'},
				{ id:147, name:'Parque das Hortências', search:'Parque das Hortencias'},
				{ id:148, name:'Parque das Laranjeiras', search:'Parque das Laranjeiras'},
				{ id:149, name:'Parque do Carmo', search:'Parque do Carmo'},
				{ id:150, name:'Portal das Araucárias', search:'Portal das Araucarias'},
				{ id:151, name:'Portal das Laranjeiras', search:'Portal das Laranjeiras'},
				{ id:152, name:'Quinta dos Oitis', search:'Quinta dos Oitis'},
				{ id:153, name:'Quitandinha', search:'Quitandinha'},
				{ id:154, name:'Recanto dos Nobres', search:'Recanto dos Nobres'},
				{ id:155, name:'Recreio Campestre Idanorma', search:'Recreio Campestre Idanorma'},
				{ id:156, name:'Santa Adéila', search:'Santa Adeila'},
				{ id:157, name:'Santa Angelina', search:'Santa Angelina'},
				{ id:158, name:'Santa Clara', search:'Santa Clara'},
				{ id:159, name:'Santa Júlia', search:'Santa Julia'},
				{ id:160, name:'Santana', search:'Santana'},
				{ id:161, name:'Selmi-dei', search:'Selmi-dei'},
				{ id:162, name:'São Geraldo', search:'Sao Geraldo'},
				{ id:163, name:'São José', search:'Sao Jose'},
				{ id:164, name:'Tancredo Neves', search:'Tancredo Neves'},
				{ id:165, name:'Vale do Sol', search:'Vale do Sol'},
				{ id:166, name:'Victório de Santi', search:'Victorio de Santi'},
				{ id:167, name:'Vila Aracoara', search:'Vila Aracoara'},
				{ id:168, name:'Vila Bela Vista', search:'Vila Bela Vista'},
				{ id:169, name:'Vila Biagioni', search:'Vila Biagioni'},
				{ id:170, name:'Vila Bonilha', search:'Vila Bonilha'},
				{ id:171, name:'Vila Central', search:'Vila Central'},
				{ id:172, name:'Vila D.e.e.r', search:'Vila D.e.e.r'},
				{ id:173, name:'Vila Esperança', search:'Vila Esperanca'},
				{ id:174, name:'Vila Ferroviária', search:'Vila Ferroviaria'},
				{ id:175, name:'Vila Furlan', search:'Vila Furlan'},
				{ id:176, name:'Vila Gaspar', search:'Vila Gaspar'},
				{ id:177, name:'Vila Girassol', search:'Vila Girassol'},
				{ id:178, name:'Vila Godoi', search:'Vila Godoi'},
				{ id:179, name:'Vila Guatanazes', search:'Vila Guatanazes'},
				{ id:180, name:'Vila Harmonia', search:'Vila Harmonia'},
				{ id:181, name:'Vila José Bonifácio', search:'Vila Jose Bonifacio'},
				{ id:182, name:'Vila Karu', search:'Vila Karu'},
				{ id:183, name:'Vila Katia', search:'Vila Katia'},
				{ id:184, name:'Vila Nina', search:'Vila Nina'},
				{ id:185, name:'Vila Nossa Senhora Aparecida', search:'Vila Nossa Senhora Aparecida'},
				{ id:186, name:'Vila Progresso', search:'Vila Progresso'},
				{ id:187, name:'Vila Renata', search:'Vila Renata'},
				{ id:188, name:'Vila Sampaio', search:'Vila Sampaio'},
				{ id:189, name:'Vila Santa Maria', search:'Vila Santa Maria'},
				{ id:190, name:'Vila Sedenho', search:'Vila Sedenho'},
				{ id:191, name:'Vila Stander', search:'Vila Stander'},
				{ id:192, name:'Vila Suconasa', search:'Vila Suconasa'},
				{ id:193, name:'Vila Tito de Carvalho', search:'Vila Tito de Carvalho'},
				{ id:194, name:'Vila Velosa', search:'Vila Velosa'},
				{ id:195, name:'Vila Xavier', search:'Vila Xavier'},
				{ id:196, name:'Vila Yamada', search:'Vila Yamada'},
				{ id:197, name:'Vila do Servidor', search:'Vila do Servidor'},
				{ id:198, name:'Yolanda Ópice', search:'Yolanda Opice'}
			];
			
			zb.autocomplete(bairros,{
				matchContains: true,
				minChars: 0,
				max: 15,
				formatItem: function(row, i, max) {
					return row.name;
				},
				formatMatch: function(row, i, max) {
					return row.name + " " + row.search;
				},
				formatResult: function(row) {
					$('#' + $(this).attr('id') + 'code').val(row.id);
					return row.name;
				}
			});
			
			zr.autocomplete(bairros,{
				matchContains: true,
				minChars: 0,
				max: 15,
				formatItem: function(row, i, max) {
					return row.name;
				},
				formatMatch: function(row, i, max) {
					return row.name + " " + row.search;
				},
				formatResult: function(row) {
					$('#' + $(this).attr('id') + 'code').val(row.id);
					return row.name;
				}
			});
		}
		
		if (zc.size()) {
			zc.bind('keyup',function(){
				if ($(this).val().length == 9) {
					$(this).blur();
					var urlaction = '/ajax/cep/?id=' + $(this).val();
					windowManager.close(function(){
						windowManager.add('wait', '', '');
						windowManager.show(function(){
							$.ajax({
								url: urlaction,
								cache: true,
								error: function() {
									alert('Opzzz');
								},
								success: function(data) {
									if ((data != null) && (data.resultado)) {
										$('#estado option[value="'+ data.uf +'"]').attr('selected','selected');
										$('#cidade').val(data.cidade);
										$('#bairro').val(data.bairro);
										$('#endereco').val(data.tipo_logradouro +' '+ data.logradouro);
										$('#numero').each(function(){
											this.focus();
											windowManager.close();
										});
									} else {
										windowManager.close(function(){
											windowManager.add('error', 'CEP não encontrado!', 'Verifique se o CEP foi preenchido corretamente, ou preencha as informações do endereço manualmente.');
											windowManager.show();
										});
									}
								}
							});
						});
					});
				}
			});
		}
		
		if (zo.size()) {
			zo.bind('keyup',function(){
				if ($(this).val().length == 9) {
					$(this).blur();
					var urlaction = '/ajax/cep/?id=' + $(this).val();
					windowManager.close(function(){
						windowManager.add('wait', '', '');
						windowManager.show(function(){
							$.ajax({
								url: urlaction,
								cache: true,
								error: function() {
									alert('Opzzz');
								},
								success: function(data) {
									if ((data != null) && (data.resultado)) {
										$('#cobestado option[value="'+ data.uf +'"]').attr('selected','selected');
										$('#cobcidade').val(data.cidade);
										$('#cobbairro').val(data.bairro);
										$('#cobendereco').val(data.tipo_logradouro +' '+ data.logradouro);
										$('#cobnumero').each(function(){
											this.focus();
											windowManager.close();
										});
									} else {
										windowManager.close(function(){
											windowManager.add('error', 'CEP não encontrado!', 'Verifique se o CEP foi preenchido corretamente, ou preencha as informações do endereço manualmente.');
											windowManager.show();
										});
									}
								}
							});
						});
					});
				}
			});
		}
		
		if (co.size()) {
			if (!co.hasClass('alterar')) {
				co.bind('submit',function(e){
					e.preventDefault();
					co.find('input, textarea, select').each(function(){
						$(this).parents('label').removeClass('error');
					});
					windowManager.close(function(){
						windowManager.add('wait', '', '');
						windowManager.show(function(){
							$.ajax({
								url: '/ajax/cadastro/',
								data: co.serialize(),
								success: function(data){
									if (data.haserror) {
										switch (data.error) {
											case 0:
												for (i in data.items) {
													co.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
														$(this).parents('label,p.label').addClass('error');
													});
												}
												windowManager.close(function(){
													windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
													windowManager.show();
												});
											break;
											case 1:
												for (i in data.items) {
													co.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
														$(this).parents('label,p.label').addClass('error');
													});
												}
												windowManager.close(function(){
													windowManager.add('error', 'Senha não confere!', 'Verifique se a senha preenchida é idêntica à sua confirmação.');
													windowManager.show();
												});
											case 2:
												for (i in data.items) {
													co.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
														$(this).parents('label,p.label').addClass('error');
													});
												}
												windowManager.close(function(){
													windowManager.add('error', 'E-mail de acesso e alternativo idênticos!', 'Preencha um e-mail diferente no campo ALTERNATIVO.');
													windowManager.show();
												});
											break;
											case 3:
												windowManager.close(function(){
													windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
													windowManager.show();
												});
											break;
											case 4:
												windowManager.close(function(){
													windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
													windowManager.show();
												});
											break;
											case 5:
												for (i in data.items) {
													co.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
														$(this).parents('label,p.label').addClass('error');
													});
												}
												windowManager.close(function(){
													windowManager.add('error', 'Usuário já cadastrado no Portal!', 'O e-mail ou documento preenchido, já encontra-se cadastrado no Portal. <a href="/portal/login/">Clique aqui</a> para fazer login. Se você esqueceu sua senha, <a href="/portal/login/">clique aqui</a>.');
													windowManager.show();
												});
										}
									} else {
										co.each(function(){
											this.reset();
										});
										windowManager.close(function(){
											windowManager.add('success', 'Cadastro realizado com sucesso!', 'Em alguns instantes você receberá um e-mail para você confirmar seu cadastro.');
											windowManager.show();
										});
									}
								}
							});
						});
					});
				});
			}
		}
		
		if (ca.size()) {
			ca.bind('submit',function(e){
				e.preventDefault();
				ca.find('input, textarea, select').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/ajax/alterar/',
							data: ca.serialize(),
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												ca.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label,p.label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											for (i in data.items) {
												ca.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label,p.label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Senha não confere!', 'Verifique se a senha preenchida é idêntica à sua confirmação.');
												windowManager.show();
											});
										case 2:
											for (i in data.items) {
												ca.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label,p.label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'E-mail de acesso e alternativo idênticos!', 'Preencha um e-mail diferente no campo ALTERNATIVO.');
												windowManager.show();
											});
										break;
										case 3:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
										case 4:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
										case 5:
											for (i in data.items) {
												ca.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label,p.label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Usuário já cadastrado no Portal!', 'O e-mail ou documento preenchido, já encontra-se cadastrado no Portal. <a href="/portal/login/">Clique aqui</a> para fazer login. Se você esqueceu sua senha, <a href="/portal/login/">clique aqui</a>.');
												windowManager.show();
											});
									}
								} else {
									windowManager.close(function(){
										windowManager.add('success', 'Cadastro alterado com sucesso!', 'Obrigado por manter suas informações atualizadas.');
										windowManager.show();
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (nw.size()) {
			nw.bind('submit',function(e){
				e.preventDefault();
				nw.find('input').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/ajax/newsletter/',
							data: nw.serialize(),
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												nw.find('input[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Este e-mail já está cadastrado em nossa newsletter!', 'Se você está com problemas para receber nossas newsletters, <a href= "/portal/sac/">entre em contato com nosso SAC</a>.');
												windowManager.show();
											});
										break;
										case 2:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
										case 3:
											windowManager.close(function(){
												windowManager.add('success', 'Este e-mail já está cadastrado em nossa newsletter!', 'Verificamos que o seu e-mail está aguardando confirmação, por isso, enviamos um novo e-mail para o seu endereço.');
												windowManager.show();
											});
										break;
										case 4:
											windowManager.close(function(){
												windowManager.add('error', 'E-mail não encontrado!', 'O e-mail que você deseja cancelar não foi encontrado. Verifique se o e-mail foi preenchido corretamente.');
												windowManager.show();
											});
										break;
									}
								} else {
									if (data.option == 1) {
										windowManager.close(function(){
											windowManager.add('success', 'E-mail cadastrado com sucesso!', 'Em alguns instantes você receberá um e-mail para você confirmar seu interesse em receber nossas newsletters.');
											windowManager.show();
										});
									} else if (data.option == 2) {
										windowManager.close(function(){
											windowManager.add('success', 'E-mail removido com sucesso!', 'Em alguns instantes você receberá um e-mail com a confirmação do cancelamento.');
											windowManager.show();
										});
									} else {
										windowManager.close(function(){
											windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
											windowManager.show();
										});
									}
									nw.each(function(){
										this.reset();
									});
								}
							}
						});
					});
				});
			});
		}
		
		if (sf.size()) {
			sf.bind('submit',function(e){
				e.preventDefault();
				sf.find('input, select, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: '/ajax/sac/',
							data: sf.serialize(),
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												sf.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
									}
								} else {
									sf.each(function(){
										this.reset();
									});
									windowManager.close(function(){
										windowManager.add('success', 'Mensagem enviada com sucesso!', 'Breve sua mensagem será respondida.');
										windowManager.show();
									});
								}
							}
						});
					});
				});
			});
		}
		
		var divulgue = $('#divulgue.send');
		if (divulgue.size()) {
			divulgue.bind('submit',function(e){
				e.preventDefault();
				divulgue.find('input, select, textarea').each(function(){
					$(this).parents('label').removeClass('error');
				});
				windowManager.close(function(){
					windowManager.add('wait', '', '');
					windowManager.show(function(){
						$.ajax({
							url: divulgue.attr('action'),
							data: divulgue.serialize(),
							context: divulgue,
							success: function(data){
								if (data.haserror) {
									switch (data.error) {
										case 0:
											for (i in data.items) {
												divulgue.find('input[name="'+data.items[i]+'"], textarea[name="'+data.items[i]+'"], select[name="'+data.items[i]+'"]').each(function(){
													$(this).parents('label').addClass('error');
												});
											}
											windowManager.close(function(){
												windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
												windowManager.show();
											});
										break;
										case 1:
											windowManager.close(function(){
												windowManager.add('error', 'Não foi possível realizar esta operação!', 'Um problema técnico impediu que esta operação tivesse sucesso. Nossa equipe técnica foi notificada do ocorrido.');
												windowManager.show();
											});
										break;
									}
								} else {
									divulgue.each(function(){
										this.reset();
									});
									if ($(this).attr('action').indexOf('videos') > -1) {
										windowManager.close(function(){
											windowManager.add('success', 'Vídeo enviado com sucesso!', 'Após moderação seu vídeo poderá ser publicado no Portal Araraquara.com');
											windowManager.show();
										});
									} else {
										$('#items').html('');
										windowManager.close(function(){
											windowManager.add('success', 'Fotos enviadas com sucesso!', 'Após moderação suas fotos poderão ser publicadas no Portal Araraquara.com');
											windowManager.show();
										});
									}
								}
							}
						});
					});
				});
			});
		}
		
		var divulgue = $('#divulgue.validate');
		if (divulgue.size()) {
			divulgue.bind('submit',function(e){
				var error    = false;
				var elements = $(this).find('input[lang="r"]:visible,select[lang="r"]:visible,textarea[lang="r"]:visible');
				elements.each(function(){
					$(this).parents('label').removeClass('error');
					if (($(this).attr('nodeName') == 'INPUT') || ($(this).attr('nodeName') == 'TEXTAREA')) {
						if ($(this).val() == '') {
							error = true;
							$(this).parents('label').addClass('error');
						}
					} else {
						if (($(this).find('option:selected').val() == '') || ($(this).find('option:selected').size() == 0)) {
							error = true;
							$(this).parents('label').addClass('error');
						}
					}
				});
				
				if (error) {
					e.preventDefault();
					windowManager.close(function(){
						windowManager.add('error', 'Algumas informações são inválidas!', 'Corrija os campos do formulário marcados em vermelho.');
						windowManager.show();
					});
				}
			});
		}
		
		var swf_rm = $('#swfmap');
		var swf_wr = $('#weather-right');
		
		if (swf_rm.size()) {
			swf_rm.flashembed({
			    src: '/img/swf/mapa.swf',
			    version: [6,0],
			    expressInstall: '/img/swf/expressinstall.swf',
			    wmode: 'transparent',
			    onFail: function() {
			        swf_rm.html('<div><img src="/img/icon-flashplayer.gif" width="30" height="30" alt="Adobe Flash Player" /><h3>Baixar Adobe Flash Player</h3><p>Para visualizar este objeto, você deve ter o Flash Player mais recente instalado em seu computador.</p><a href="http://get.adobe.com/br/flashplayer/" target="_blank">Clique aqui para ir ao site da Adobe e baixá-lo.</a></div>');
			    }
			});
		}
		
		if (swf_wr.size()) {
			swf_wr.flashembed({
			    src: '/img/swf/clima-sidebar.swf',
			    version: [9,0],
			    expressInstall: '/img/swf/expressinstall.swf',
			    wmode: 'transparent',
			    onFail: function() {
			        swf_wr.html('<div><img src="/img/icon-flashplayer.gif" width="30" height="30" alt="Adobe Flash Player" /><h3>Baixar Adobe Flash Player</h3><p>Para visualizar este objeto, você deve ter o Flash Player mais recente instalado em seu computador.</p><a href="http://get.adobe.com/br/flashplayer/" target="_blank">Clique aqui para ir ao site da Adobe e baixá-lo.</a></div>');
			    }
			});
		}
		
		$.fn.fancyzoom.defaultsOptions.imgDir='/img/lightbox/';
		$('a.zoom').fancyzoom();

		
	} catch (e) {
		//alert(e.name + ": " + e.message);
		//alert(e.name);
		//alert(e.message);
		//alert(navigator.userAgent);
		//alert(navigator.cookieEnabled);
		//alert(navigator.mimeTypes); //array
		//alert(navigator.plugins);   //array
		//alert(window.location.href);
	}
});

RECADO_ARQUIVO  = 1;
RECADO_ELOGIOS  = 1;
RECADO_CRITICAS = 1;
RECADO_DENUNCIA = 1;
	
function twitterPaginationModel() {
	
	$('#tabrecados div.list ol li.more').each(function(){
		
		var item = $(this);
		item.unbind('mouseover').unbind('mouseout').unbind('mousedown');
		
		item.mouseover(function(){
			item.css('background-position', 'left -36px');
			item.find('div').css('background-position', '0px -36px');
			
		}).mouseout(function(){
			item.css('background-position', 'left -72px');
			item.find('div').css('background-position', '0px -72px');
			
		}).mousedown(function(){
			item.css('background-position', 'left top');
			item.find('div').css('background-position', '0px top');
			item.unbind('mouseover').unbind('mouseout').unbind('mousedown');
			
			var pageid  = 0;
			var current = item.attr('id');
			
			switch (current) {
				case 'arquivo':  pageid = RECADO_ARQUIVO;  break;
				case 'elogio':   pageid = RECADO_ELOGIOS;  break;
				case 'critica':  pageid = RECADO_CRITICAS; break;
				case 'denuncia': pageid = RECADO_DENUNCIA; break;
			}
			
			$.ajax({
				url: '/ajax/recado/'+ current +'/?pageid=' + pageid,
				cache: false,
				dataType: 'json',
				error: function() {
					alert('Opzzz');
				},
				success: function(data) {
					
					switch (current) {
						case 'arquivo':  RECADO_ARQUIVO++;  break;
						case 'elogio':   RECADO_ELOGIOS++;  break;
						case 'critica':  RECADO_CRITICAS++; break;
						case 'denuncia': RECADO_DENUNCIA++; break;
					}
					
					if (data != null) {
						
						var object = $('ol.' + current);
						var clone  = object.find('li:last').clone();
						object.find('li:last').remove();
						object.append(data.html);
						clone.appendTo(object);
						clone.css('background-position', 'left -72px');
						clone.find('div').css('background-position', '0px -72px');
						
						if (!data.hasnext) {
							clone.remove();
						} else {
							twitterPaginationModel();
						}
					}
				}
			});
		});
	});
}

function openCalendar(id, p) {
	var d = p.split('_');
	$.ajax({
		url: '/ajax/calendario/',
		data: 'id=' + id + '&y='+ d[0] + '&m=' + d[1],
		beforeSend: function() {
			$('div.calendar').find('p.month, table').fadeOut('fast');
		},
		success: function(txt) {
			$('div.calendar').html('').html(txt).find('p.month, table').fadeIn();
		},
		cache: true,
		type: 'GET'
	});
}

function openCalendarEvent(p) {
	var d = p.split('_');
	$.ajax({
		url: '/ajax/circuito/calendario/',
		//url: '/ajax/giro/calendario/',
		data: '&y='+ d[0] + '&m=' + d[1],
		beforeSend: function() {
			$('div.calendar').find('p.month, table').fadeOut('fast');
		},
		success: function(txt) {
			$('div.calendar').html('').html(txt).find('p.month, table').fadeIn();
		},
		cache: true,
		type: 'GET'
	});
}

function ampliarMapa(){
	$('#mapa-evento').fadeOut("slow");
	$('#mapa-evento-detalhes').fadeIn("slow");
}

function fecharMapa(){
	$('#mapa-evento').fadeIn("slow");
	$('#mapa-evento-detalhes').fadeOut("slow");
}

function uploadListFiles(json) {
	var html   = '<tr id="t##ID##"><td class="name"><input type="hidden" name="file[]" value="##NAME##" /> ##NAME##</td><td class="perc">Progresso: </td><td class="bar"><p><span></span></p></td><td class="status"><a href="javascript:requestCancelFile(##ID##);" class="cancel">Cancelar</a></td></tr>';
	var tbody  = $('#items');
	var object = eval('(' + json + ')');
	for (i in object) {
		tbody.append(html.replaceAll('##ID##', object[i].id).replaceAll('##NAME##', object[i].name));
	}
	$('.upload-hidden').slideDown();
}

function uploadProgressFile(json) {
	var object = eval('(' + json + ')');
	var area   = (170 / 100);
	for (i in object) {
		$('#t' + object[i].id.toString() + ' td.bar p span').animate({width: (area * object[i].percent) + 'px'}, 'fast', 'swing', function(){
			if (object[i].percent == 100) {
				$('#t' + object[i].id.toString() + ' td[class="name"]').removeClass('name').addClass('complete');
				$('#t' + object[i].id.toString() + ' td.status').html('<a class="complete">Concluído</a>');
			}
		});
	}
}

function uploadErrorFile(json) {
	var object = eval('(' + json + ')');
	for (i in object) {
		alert(object[i].id.toString());
		$('#t' + object[i].id.toString() + ' td.status').html('<a class="error">Erro</a>');
	}
}

function uploadCancelFile(json) {
	var object = eval('(' + json + ')');
	for (i in object) {
		$('#t' + object[i].id.toString()).fadeOut(function(){
			$(this).remove();
		});
	}
}

function uploadSessionId() {
	return $('#uploadsessid').val() + $('#uploadtime').val();
}

function uploadFilterType() {
	return $('#uploadtypes').val();
}

function uploadDebugMode() {
	return "true";
}

function tracejs(json) {
	var object = eval('(' + json + ')');
	var temp   = '';
	for (i in object) {
		temp += "\r\n" + object[0].text;
	}
	$(window).log(temp);
}

function requestCancelFile(id) {
	document.getElementById('flash').requestCancelFile(id);
}

function openFloatBanner() {
	$('#float-banner').css({width:'700px',height:'500px'}).show();
}

function closeFloatBanner() {
	$('#float-banner').hide();
}

function expandBanner() {
	$('#floatads').animate({
		height: 360,
		display: 'inline'
	}, 'fast');
}

function contractBanner() {
	$('#floatads').animate({
		height: 60,
		display: 'inline'
	}, 'fast');
}
