$('document').ready(function(){
							 
	/* -------------------------------------------------- */
	/* ------------ Specific Pages/ Sections ------------ */
	/* -------------------------------------------------- */
							 
	// Home Page
	if($('body').is('#page-home')){
	
		// Meet An Expert
		// featuredagent.js
		if(typeof(meet_an_expert) == "function"){
			$('#featured-agent-menu ul li a').bind('click.meet_an_expert', function(e){
				return meet_an_expert(e);
			});	
		} // if(typeof(meet_an_expert) == "function")
		if(typeof(build_meet_an_expert) == "function"){
			build_meet_an_expert();
		} // if(typeof(build_meet_an_expert) == "function")

		// Search Tabs
		// jquery-ui-1.8.custom.min.js
		if(typeof(jQuery().tabs) == "function"){
			$('#search').tabs({
				selected:0,
				panelTemplate:'<div class="section"></div>',
				tabTemplate:'<li id="#{label}"><a href="#{href}">#{label}<span class="button"></span></a></li>'
			}); // tabs
		} // if(typeof(jQuery().tabs) == "function")
		
		// Verify Agent Autocomplete
		// jquery-ui-1.8.custom.min.js
		if(typeof(jQuery().autocomplete) == "function"){
		    // Categories
	        $.widget("custom.catcomplete", $.ui.autocomplete, {
		        _renderMenu: function( ul, items ) {
			        var self = this,
				        currentCategory = "";
			        $.each( items, function( index, item ) {
				        if ( item.category != currentCategory ) {
					        ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
					        currentCategory = item.category;
				        }
				        self._renderItem( ul, item );
			        });
		        }
	        });
            // Autocomplete
	        $('#input_verify_agent').removeAttr("name");
			$('#input_verify_agent').catcomplete({
			    minLength: 3,
			    source: function(req, add){
			        $.getJSON("/Partial/ClientNameList", {startText: req.term}, function(data){
			            if(data.length){
			                add(data.sort(function(a,b){
			                    if(a.category == b.category){return 0;}
			                    return (a.category < b.category) ? -1 : 1;
			                }));
			            }else{
			                add([
			                    {
			                        "value": "0",
			                        "label": "We did not find a result for '" + req.term + "'",
			                        "category": "No Matching Agents"
			                    }
			                ]);
			            } // if(data.length)
			        });
			    }, // source function
			    focus: function(event, ui){
			         $('#input_verify_agent').val(ui.item.label);
			         return false;
			    }, // focus function
			    select: function(event, ui){
			        if(ui.item.value > 0){
			            //$('#input_verify_agent').val(ui.item.name + " (" + ui.item.category + ")");
			            $('#input_verify_agent').val(ui.item.label);
			            /* Redirect */
			            window.location = $('base').attr("href") + "/Agents/" + ui.item.category + "/Agent/" + ui.item.value;
			            /* Setup for form submit */
			            if(!$('#hidden_verify_agent').size()){
			                $('#input_verify_agent').after('<input type="hidden" name="uniqueId" id="hidden_verify_agent" />');
			            }
			            $('#input_verify_agent').removeAttr("name");
			            $('#hidden_verify_agent').val(ui.item.value);
			        }
			        return false;
			    } // select function
			}); // catcomplete
			$('#input_verify_agent').unbind("blur.autocomplete"); // Prevent closing
			$("body:not('.ui-autocomplete')").bind('click.blur-autocomplete', function(){
			    $('#input_verify_agent').catcomplete("close");
			}); // Close when clicking outside
		} // if(typeof(jQuery().autocomplete) == "function")
		
		
		// Form Validation
		$('#page-home').find('#frmVerifyAgents').submit(function(e){
		    searchText = $(this).find("input.text").val();
		    if(searchText.length > 1){
			    $(this).find("input.submit").attr("disabled", "disabled");
			    var dosubmit = formTextSubmit2(searchText, $(this).attr("id"));
			    if(dosubmit){
			        $(this).find("input:not('.dynamic')").removeAttr("name").attr("disabled", "disabled");
			    }else{
			        $(this).find("input.submit").removeAttr("disabled");
			    }
			    return dosubmit;
		    }else{
		        return false;
		    }
		});		
	} // if($('body').is('#page-home'))

	
	// Listing Results Photo View
	// looks for .listingPhotoView .listingDesc	
	if($('body').find('.listingPhotoView .listingDesc').size()){
		$('.listingPhotoView .listingThumbnail').find('.listingDesc').closest('.listingThumbnail')
		.hover(
		    function(){
		        $(this).find('.listingPhoto').addClass('hover');
		        $(this).find('.listingDesc').stop().show().animate({top:'125px'},{queue:false,duration:300});
		    },
		    function(){
		        $(this).find('.listingPhoto').removeClass('hover');
		        $(this).find('.listingDesc').stop().animate({top:'252px'},{queue:false,duration:300}).hide();
		    }
		);
	}	


	// Marketing Section
	if($('body').is('#page-marketing')){
	    // swfObject - #page-marketing
	    // plugin.swfobject.js
		var flashvars = {};
		var params = {};
		var attributes = {};
		if(typeof(swfobject) == "object"){
			swfobject.embedSWF("images/statistics.swf", "statistics", "640", "350", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
		}
		
		// accordion
		$('#marketing-productInfo').accordion({
		    header:'> .section > .productCategory',
		    autoHeight:false,
		    clearStyle:true
		});
		
		// slideshows
		if(typeof(jQuery().innerfade) == "function"){
			$('.slideshow-banners').innerfade({
				speed: 2000,
				timeout: 4000,
				type: 'sequence',
				containerposition: 'absolute'
			});
		}
		
	    // dependent fields
	    // jquery.plugin.rlmforms.js
//		$('#selSource').rlmforms();
		
	    // ajax menu override
	    // Leave off until history plugin can be addressed!!
        /*
	    $('#subnav_marketing a').click(
		    function(e){
			    var pgtoget = $(this).attr("href");
			    $("#wrapper_marketing").load(pgtoget + ' #wrapper_marketing');
			    var listitem = $(this).closest("li");
			    $(listitem).find(".pointer").fadeOut();
			    $(listitem).addClass("active").siblings().removeClass("active");
			    $(listitem).find(".pointer").fadeIn();
			    return false;
		    }
        );
        */
	}
	
	
	
	/* ----------------------------------------------- */
	/* ------------ Potentially Site Wide ------------ */
	/* ----------------------------------------------- */
	
	// New Windows
	$('a[rel~=external],a[rel~=popup]').attr("target","_blank");	


	// Clickable Block
	// Leave off until interaction design is completed!!
/*
	$('.agentResults li, .listingResults li').addClass("blocklink").click(
		function(e){
			window.location = $(this).find('a[rel~=primary]').attr("href");
			return false;
		}
	);
	$('.agentResults li a, .listingResults li a').click(
		function(e){
			e.stopPropagation();
			return true;
		}
	);
*/


	// Slideshow Navigation
	if($('body').find('.slider').size()){
	    // slideshow option A
	    // jquery.plugin.slideshow.js
		if(typeof(jQuery().slideshow) == "function"){
			$('ul.slider').slideshow();
		} // if(typeof(jQuery().slideshow) == "function")
		// slideshow option B
		// jquery.plugin.easyslider.js
		if(typeof(jQuery().easySlider) == "function"){
		    if($('body').is('#page-marketing')){
			    $('div.slider').easySlider({
							    auto: false,
							    continuous: false,
							    prevId: 'prev',
							    nextId: 'next',
							    vertical:true
							    });
		    }else{
			    $('div.slider').easySlider({
							    auto: false,
							    continuous: true,
							    prevId: 'prev',
							    nextId: 'next'
							    });
            }
		} // if(typeof(jQuery().easySlider) == "function")
	}


	// Join Banner Slideshow
	// jquery.plugin.innerfade.js
	if($('body').find('#join').size()){
		if(typeof(jQuery().innerfade) == "function"){
			$('#join a span.banner').innerfade({
				speed: 2000,
				timeout: 10000,
				type: 'sequence',
				containerposition: 'absolute'
			});
		}
		if($('body').find('#joinbanner').size()){
		    $('#joinbanner').click(function(e){
		        window.location = $(this).attr("href");
		    });
		}
	}

});
