var selected = new Array();
var lastInfo = new Array();
var cityClick = true;
var commentID;

Galleria.loadTheme('_js/galleria/themes/classic/galleria.classic.js');

var options = { 
	success:	showResponse,
	resetForm:	false
};

function showResponse(responseText, statusText, xhr, $form){
	responseText = responseText.replace('&amp;','&');

	var obj = $.deparam(responseText);
	
	openPopUp(obj['title'],obj['msg']);
	
	switch( obj['type'] ){
		case 'comment':
			$("#comment_delete").dialog('close');
			
			var commentContainer = '#'+commentID.join('_');
			$(commentContainer).slideUp();
			
			var commentNumContainer = '#commentNum_'+commentID[0];
			var newCount = parseInt( $(commentNumContainer).attr('commentCount') ) - 1;
			$(commentNumContainer).hide().attr('commentCount',newCount).html(newCount).show();
		break;
		default:
			switch( $($form).attr('id') ){
				case 'loginForm':
				case 'commentForm':
					loadPage();
				break;
			}
		break;
	}
};

$(document).ready(function(){
	
	verifyDynamicImages();
	
	verifyTags();
	
	loadPage();
	
	addFlashs();
	
	$(window).bind('hashchange', function( event ) {
		var newState = event.getState();
		
		if( newState['city'] == null || newState['city'] == '' ){
			var tmp = jQuery.param.querystring();
			tmp = tmp.replace('defaultCity=','');
			newState['city'] = tmp;
		}
		
		switch( newState['page'] ){
			case 'show_depoimento':
			case 'show_promocao':
			case 'show_noticia':
			case 'show_foto':
			case 'show_prato':
			case 'show_video':
			case 'show_blog':
				loadPage();
			break;
			default:
				if( selected['page'] != newState['page'] ){
					loadPage();
				}else{
					if( selected['pageList'] != newState['pageList'] || selected['count'] != newState['count'] ){
						loadPage();
					}else{
						selected = newState;
						verifyTags();
					}
				}
			break;
		}
	});
	
});

function addFlashs(){
	if( $.flash.hasVersion(10) ){
		$('#topMenu').flash({
			swf: '_flash/top.swf',
			width: '100%',
			height: '400px',
			/*
			flashvars:{
				city: selected['city']
			},*/
			params:{
				allowScriptAccess: 'always'
			},
			wmode: 'transparent'
		});
		$('#vo2').flash({
			swf: '_flash/vo2.swf',
			width: '25px',
			height: '25px',
			/*
			flashvars:{
				city: selected['city']
			},*/
			params:{
				allowScriptAccess: 'always'
			},
			wmode: 'transparent'
		});
	}
}
function verifyAccordion(){
	$(".accordion").each(function(){
		switch( selected['subpage'] ){
			case 'proposta':
				$(this).accordion({ autoHeight: false, active: 1 });
			break;
			case 'trabalhe':
				$(this).accordion({ autoHeight: false, active: 2 });
			break;
			default:
				$(this).accordion({ autoHeight: false });
			break;
		}
	});
}
function verifyTabs(){
	$(".tabs").tabs();
	
	var cityIndex = 0;
	
	switch( selected['city'] ){
		case 'brasilia':
			cityIndex = 0;
		break;
		case 'campina_grande':
			cityIndex = 1;
		break;
		case 'fortaleza':
			cityIndex = 2;
		break;
		case 'natal':
			cityIndex = 3;
		break;
		case 'recife':
			cityIndex = 4;
		break;
	}
	
	$(".tabs").each(function(){
		if( $(this).attr('id') == 'cityTab' ) $(this).tabs('select',cityIndex);
	});
}

function loadPage(){
	var params = $.bbq.getState();
	
	if( params['city'] == null || params['city'] == '' ){
		var tmp = jQuery.param.querystring();
		tmp = tmp.replace('defaultCity=','');
		params['city'] = tmp;
	}
	
	cityClick = true;
	
	if( params['page'] == null ) params['page'] = 'home';
	
	selected = params;
	
	var query = $.param.querystring("pageLoader.php",params);
	
	$('#container').css('display','none');
	$('#loading').css('display','block');
	
	$.get(query, function(data){
		$('#container').html(data);
		$(".formButton.skin").button();
		
		$("#contactForm").validate({
			errorPlacement: function(error,element) {
				return true;
			},
			errorClass: "invalid",
			validClass: "valid",
			highlight: function(element, errorClass, validClass) {
				$(element).addClass(errorClass).removeClass(validClass);
			},
			unhighlight: function(element, errorClass, validClass) {
				$(element).removeClass(errorClass).addClass(validClass);
			},
			submitHandler: function(form) {
				$(form).ajaxSubmit(options);
			}
		});
		
		$("#workForm").validate({
			errorPlacement: function(error,element) {
				return true;
			},
			errorClass: "invalid",
			validClass: "valid",
			highlight: function(element, errorClass, validClass) {
				$(element).addClass(errorClass).removeClass(validClass);
			},
			unhighlight: function(element, errorClass, validClass) {
				$(element).removeClass(errorClass).addClass(validClass);
			},
			submitHandler: function(form) {
				$(form).ajaxSubmit(options);
			}
		});
		$("#propForm").validate({
			errorPlacement: function(error,element) {
				return true;
			},
			errorClass: "invalid",
			validClass: "valid",
			highlight: function(element, errorClass, validClass) {
				$(element).addClass(errorClass).removeClass(validClass);
			},
			unhighlight: function(element, errorClass, validClass) {
				$(element).removeClass(errorClass).addClass(validClass);
			},
			submitHandler: function(form) {
				$(form).ajaxSubmit(options);
			}
		});
		
		$('.registerBT.skin').button();
		$('.resetBT.skin').button();
		$('.loginBT.skin').button();
		
		$('.deleteBT').click(function(){
			commentID = $(this).attr('containerID').split('_');
			$('#comment_delete').dialog('open');
		});
		
		
		$('input:text').setMask();
		
		$(".sendBT").click(function(){
			$(this).submit();
		});
		$(".clearBT").click(function(){
			$(this).parent('form').resetForm();
			$(this).resetForm();
		});
		
		$('#clientRotator').cycle({
			fx:		'scrollHorz'
		});
		
		verifyTabs();
		verifyAccordion();
		
		var videoSrc = '../'+$('.videoPlayer').attr('src');
		$('.videoPlayer').flash({
				swf: '_flash/player.swf',
				width: '810',
				height: '390',
				params:{
					allowFullScreen: 'true',
					allowScriptAccess: 'always'
				},
				flashvars:{
					file: videoSrc,
					skin: '_flash/skins/classic_black.swf',
					autostart: 'true'
				}
		});
		
		verifyDynamicImages();
		verifyTags();
		
		$('#loading').css('display','none');
		$('#container').css('display','block');
	});
}
function verifyDynamicImages(){
	$('div[class=img]').each(function(){
		var imgSrc = $(this).attr('imgSrc');
		var imgTxt = $(this).attr('imgTxt');
		var _width = $(this).attr('imgWidth');
		var _height = $(this).attr('imgHeight');
		
		var strTxt = '';
		if( $(this).attr('classExtra') ) strTxt = $(this).attr('classExtra');
		
		var position = $(this).attr('txtPosition');
		var color = $(this).attr('txtColor');
		var extra = $(this).attr('txtExtra');
		var bgColor = $(this).attr('bgColor');
		
		if( position == null ) position = 'bottom';
		if( extra == null ) extra = 'inside';
		if( bgColor == null ) bgColor = "#000000";
		if( color == null ) color = "#FFFFFF";
		
		var ieFix = bgColor.replace('#','');
		
		var str = '';
		
		if( _width != null ) str += ' width="'+_width+'"';
		if( _height != null ) str += ' height="'+_height+'"';
		
		$(this).html('<img class="imgSrc" src="'+imgSrc+'"'+str+'/>');
		if( imgTxt != null ){
			if( extra == 'outside' && position == 'top' ) {
				$(this).prepend('<div style="background-color:'+hex2rgb(bgColor,0.85)+'; -ms-filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=#D8'+ieFix+',endColorstr=#D8'+ieFix+'); filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=#D8'+ieFix+',endColorstr=#D8'+ieFix+');" class="imgInfo pos_'+position+' pos_'+extra+' '+strTxt+'">'+imgTxt+'</div>');
			}else{
				$(this).append('<div style="background-color:'+hex2rgb(bgColor,0.85)+'; -ms-filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=#D8'+ieFix+',endColorstr=#D8'+ieFix+'); filter:progid:DXImageTransform.Microsoft.gradient(enabled=true,startColorstr=#D8'+ieFix+',endColorstr=#D8'+ieFix+');" class="imgInfo pos_'+position+' pos_'+extra+' '+strTxt+'">'+imgTxt+'</div>');
			}
		}
		$(this).css('color',color);
		
		
	});
}

function verifyTags(){
	$('.images').galleria();
	
	$('.required').parent().css('color','#FF0000');
	
	$("textarea[autoValue='true']").each(function(index,props){
		$(this).attr('defaultValue',$(this).attr('value'));
		$(this).focusin(function() {
			if( $(this).attr('value') == $(this).attr('defaultValue') ) $(this).attr('value','');
		})
		$(this).focusout(function() {
			if( $(this).attr('value') == '' ) $(this).attr('value',$(this).attr('defaultValue'));
		})
	});
	
	$("input[autoValue='true']").each(function(index,props){
		$(this).attr('defaultValue',$(this).attr('value'));
		$(this).focusin(function() {
			if( $(this).attr('value') == $(this).attr('defaultValue') ){
				$(this).attr('value','');
				if( $(this).attr('alt') == 'phone' ){
					$(this).setMask('(99) 9999-9999').val('');
				}
			}
		})
		$(this).focusout(function() {
			if( $(this).attr('value') == '' ){
				$(this).attr('value',$(this).attr('defaultValue'));
				if( $(this).attr('alt') == 'phone' ){
					$(this).setMask('Telefone').val($(this).attr('defaultValue'));
				}
			};
			
		})
	});
	
	$("*").each(function(index,props){
		
		if( $(this).hasClass('columnPanel') ){
			if( $(this).children('.inside').length ){
				$(this).children('.inside').css('bottom','38px');
				$(this).children('.inside').css('margin-bottom','-38px');
			}
		}
		
		if( $(this).hasClass('tab') ){
			$(this).addClass('button');
			
			var tabRelation = $(this).attr('childID');
			
			if( tabRelation == selected['subpage'] ){
				$(this).children('.title').delay(500).addClass('selected',200);
				if( cityClick ){
					$(this).parent().children('#'+tabRelation).css('display','block');
				}else{
					$(this).parent().children('#'+tabRelation).delay(700).slideDown();
				}
			}else{
				$(this).children('.title').delay(500).removeClass('selected',200);
				if( cityClick ){
					$(this).parent().children('#'+tabRelation).css('display','none');
				}else{
					$(this).parent().children('#'+tabRelation).slideUp(500);
				}
			}
			
			$(this).click(function() {
				var tabRelation = new Array();
				tabRelation['subpage'] = $(this).attr('childID');
				
				cityClick = false;
				
				var query = $.param.fragment( '#'+$.param.fragment(), tabRelation);
				
				if( selected['subpage'] != tabRelation['subpage'] ) $.bbq.pushState(query);
			});
		}
		
		if( $(this).hasClass('pageCount') ){
			
			$(this).change(function() {
				
				var setParams = new Array();
				
				setParams['count'] = $(this).val();
				
				var query = $.param.fragment( '#'+$.param.fragment(), setParams);
				
				$.bbq.pushState(query);
			});
			
		}
		
		if( $(this).attr('page') != null || $(this).attr('city') != null || $(this).attr('pageList') != null ){
			$(this).addClass('button');
			
			if( !$(this).hasClass('noHover') ){
				if( $(this).children('.container').length ){
					$(this).find('.imgInfo').addClass('invisible');
					$(this).hover(
						function(){
							if( $(this).hasClass('hoverImageOnly') ){
								$(this).find('.img').slideDown();
							}else{
								$(this).find('.imgInfo').slideDown();
							}
							$(this).find('.itemTitle').toggleClass('hover');
						},function(){
							if( $(this).hasClass('hoverImageOnly') ){
								$(this).find('.img').slideUp();
							}else{
								$(this).find('.imgInfo').slideUp();
							}
							$(this).find('.itemTitle').toggleClass('hover');
					});
				}
				
				
			}
			
			$(this).click(function() {
				
				var setParams = new Array();
				
				setParams['page'] = $(this).attr('page');
				setParams['subpage'] = $(this).attr('subpage');
				setParams['category'] = $(this).attr('category');
				setParams['city'] = $(this).attr('city');
				setParams['id'] = $(this).attr('id');
				if( $(this).attr('pageList') == null ){
					setParams['pageList'] = 1;
				}else{
					setParams['pageList'] = $(this).attr('pageList');
				}
				
				var query = $.param.fragment( '#'+$.param.fragment(), setParams);
				
				$.bbq.pushState(query);
			});
			
		};
		
	});
}
function setPage(page,id,city){
	var relation = new Array();
	if( page != '0' ) relation['page'] = page;
	if( id != '0' ) relation['id'] = id;
	if( city != '0' ) relation['city'] = city;
	relation['pageList'] = 1;
	
	if( relation['page'] == 'noticias' ){
		if( relation['subpage'] == null ) relation['subpage'] = 'ultimas_noticias';
	}else if( relation['page'] == 'home' ){
		relation['subpage'] = '';
	}
	
	var query = $.param.fragment( '#'+$.param.fragment(), relation);
	
	if( selected['page'] != relation['page'] ) $.bbq.pushState(query);
	
	verifyTabs();
}

function rgb2hex(rgb) {
    rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
    function hex(x) {
        return parseInt(x).toString(16);
    }
    return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}
function hex2rgb(hex,alpha) {
	hex = hex.replace('#','');
	
	var rgb = parseInt(hex, 16); 
	rgb = new Array(((rgb >> 16) & 0xFF),((rgb >> 8) & 0xFF),(rgb & 0xFF));
	if( alpha != null ) return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + alpha +")";
	return "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] +")";
}
