imgsPath = "";

$( function()
{
	var body = $( "body" ),
		galeria = $( "#galeria", body );
	
	imgsPath = $( "#menu_principal li.home a" ).attr( "href" ) + "/wp-content/themes/imobiliariacoliseu/";
	
	// Form de anuncie
	if( body.is( ".anuncie" ) )
	{
		var selects = { 
				Comercial: getElems( "#li-3-", [ 32, 50 ], body, 'img/tit_comercial.gif' ),
				Residencial: getElems( "#li-3-", [ 13, 30 ], body, 'img/tit_residencial.gif' )
			};
		
		hideElems( selects );
	
		selectElem( $( "#li-3-11 select", body ), selects );
	
		$( '<li class="img"><img src="' + imgsPath + 'img/tit_endereco_im.gif"/></li>' ).insertAfter( "#li-3-5" );
	}
	// Form de avalie
	else if( body.is( ".avalie" ) )
	{
		var selects = { 
				Comercial: getElems( "#li-2-", [ 21, 31 ], body, 'img/tit_comercial.gif' ),
				Residencial: getElems( "#li-2-", [ 11, 19 ], body, 'img/tit_residencial.gif' )
			};

		hideElems( selects );

		selectElem( $( "#li-2-9 select", body ), selects );
		
		$( "#evaluateCidade" ).change( function()
		{
			var bairro = $( "#evaluateBairro" ),
				li = bairro.parent();
			
			if( this.value == "Porto Alegre" )
			{
				if( $( "#old" ).length )
				{
					$( "#evaluateBairro" ).remove();

					$( "#old" )
						.attr( "id", "evaluateBairro" )
						.addClass( "cformselect fldrequired" )
						.attr( "name", "evaluateBairro" )
						.show()
						.appendTo( li );
				}
			}
			else
			{
				if( !$( "#evaluateCidade" ).is( "input" ) )
				{
					$( '<input name="evaluateBairro" id="evaluateBairro" class="cformselect fldrequired" type="text" />' )
						.appendTo( li )
						
					bairro
						.removeAttr( "name" )
						.attr( "id", "old" )
						.hide()
						.appendTo( "body" );
				};
			}
		});
	}
	// Form de encomende
	else if( body.is( ".encomende" ) )
	{
		var selects = { 
				Comercial: getElems( "#li-4-", [ 36, 61 ], body, 'img/tit_comercial.gif' ),
				Residencial: getElems( "#li-4-", [ 12, 34 ], body, 'img/tit_residencial.gif' )
			},
			type = $( "#li-4-10 select", body );

		hideElems( selects );

		selectElem( type, selects );
		
		$( "#orderCidade" ).change( function()
		{
			var bairro = $( "#orderBairro" ),
				li = bairro.parent();
			
			if( this.value == "Porto Alegre" )
			{
				if( $( "#old" ).length )
				{
					$( "#orderBairro" ).remove();

					$( "#old" )
						.attr( "id", "orderBairro" )
						.addClass( "cformselect fldrequired" )
						.attr( "name", "orderBairro" )
						.show()
						.appendTo( li );
				}
			}
			else
			{
				if( !$( "#orderCidade" ).is( "input" ) )
				{
					$( '<input name="orderBairro" id="orderBairro" class="cformselect fldrequired" type="text" />' )
						.appendTo( li )
						
					bairro
						.removeAttr( "name" )
						.attr( "id", "old" )
						.hide()
						.appendTo( "body" );
				};
			}
		});

		
		var validate = { 
				Comercial: getElems( "#li-4-", [ 42, 60 ], body, null, [ 54, 55 ] ),
				Residencial: getElems( "#li-4-", [ 12, 34 ], body, null )
			}, elems ;
		
		$( "form #sendbutton4", body ).unbind().click( function()
		{
			var form = $( this ),
				count = 0,
				lis = getElems( "#li-4-", [ 2, 10 ], body, null, [ 4, 8, 9 ] );
			
			if( type.val() != "" )
			{
				lis = lis.add( validate[ type.val() ] )
			}

			lis.each( function()
			{
				var li = $( this )
					elements = $( "input, select", li );
				
				elements.each( function()
				{
					var input = $( this ),
						valuesNotAllowed = [ "", "- Selecione -" ];
					
					if( $.inArray( input.val(), valuesNotAllowed ) != -1 )
					{
						!$( "#usermessage4a" ).length
							? $( '<div class="cf_info failure failure4" id="usermessage4a">Por favor, reveja os campos em destaque.</div>' ).insertBefore( form )
							: $( "#usermessage4a" ).text( "Por favor, reveja os campos em destaque." ).addClass( "failure" ).show();
						
						li.addClass( "cf_li_err" );
						
						count++;
					}
					else
					{
						li.removeClass( "cf_li_err" );
					}
				});
			});
			
			if( count )
				return false;
		});
	}
	
	else if( body.is( ".contato" ) )
	{
		document.referrer && document.referrer != location.href
			&& $( "#referrer" ).val( document.referrer );
	}
	
	if( galeria.length )
	{
		var imgG = $( "div.foto_g > img:first" );
		
		imgG.removeAttr( "height" ).removeAttr( "width" );
		
		$( "#thumbs a", galeria ).click( function()
		{
			imgG.attr( "src", $( this ).attr( "href" ) );
		
			return false;
		})
	}
});

function selectElem( elem, object )
{
	elem.change( function()
	{	
		hideElems( object );
		
		$( this ).val() in object
			&& object[ $( this ).val() ].fadeIn( 1000 );
	});
}

// Pega todos os elements q deve ser mostrado por um option de select
function getElems( prefix, numbers, parent, img, excludes )
{
	var elements = img
		? $( '<li class="img top"><img src="' + imgsPath + img + '"/></li>' ).insertBefore( prefix + numbers[ 0 ] )
		: $( 'none' ),
		excludes = excludes || []; 
	
	for( var i = numbers[ 0 ]; i <= numbers[ 1 ]; i++ )
	{
		if( $.inArray( i, excludes ) == -1 )
		{
			elements.push( $( prefix + i, parent )[ 0 ] );
		
			// Incluindo os itens
			$( prefix + i + 'items', parent ).length
				&& elements.push( $( prefix + i + 'items', parent )[ 0 ] );
				
			$( prefix + i + " input[type=file]", parent ).length
				&& $( prefix + i + " input[type=file]", parent ).attr( "size", 18 );
		}
	}
	
	return elements
}

// Esconde todos os elementos que esta em um objeto
function hideElems( object )
{
	for( type in object )
	{
		object[ type ].hide();
	}
}