window.sampleLayout = new function() {
	eval(estrada.namespace);
	eval($.tilt.globals);
	var layout = null;
	var pB = $.presentationHelper.behaviors;
	$.tilt.ready(function(layoutHelper) {
	  var body = $(document.body);
	  var g = layoutHelper.authoring;
	  var pB = $.presentationHelper.behaviors;
	  var pL = $.presentationHelper.layout;
	  
	  var sitecontext = gel('site-context');
		var content = gel('content');
		var content2 = gel('content-2');
		var context = gel('context');
		var branding = gel('branding');
		var search = gel('search');
		var feeds = gel('feeds');
		var cqfeeds = gel('cq-feeds');
		var navigation = gel('navigation');
		var extensions = gel('extensions');
		var bricks = gel('bricks');
		var legacy = gel('legacy');
		var sitemap = gel('sitemap');
		
		
		var layout = sampleLayout.layout = frame('page', frame('page-inner',
		  frame('page-top'),
			cols(area('header'), area('search')),
			area('global'),
			area('hotnews'),
			cols(area('special'),area('practice')),
		//	cols(frame('wrap-special',area('misc'),area('special')),area('practice')),
			frame('wrap-promo',area('promo')),
			frame('wrap-left-right',cols(
			  frame('left', area('nav'), area('ads1'), area('ads')), 
			  frame('right',
			    frame('wrap-banner',area('banner')),
			    frame('wrap-location',area('location')),
			    cols(area('main'), area('related')),
			    frame('wrap-columns',frame('columns',
			      cols(area('columns1'), area('columns2'))))))),
			frame('wrap-pageinfo',area('pageinfo')),
			frame('wrap-btm',frame('btm',cols(area('btmleft'),area('btmright')))),
			frame('wrap-footer',frame('footer',area('footlinks'),area('foottext'))))).build(document.body);
			
		layoutHelper.layout = layout;
		pL.areas['content'] = ($('#l-main'));
		
			
		layout.push({
			search: 'search'
		});
		
          
		layout.push(grab(navigation, {
			breadcrumbs: 'location',
			"page": 'nav'
		}));

		// add breadcrumbs to l-pageinfo

		
		
		layout.push(grab(document.getElementById("site-context"), {
		  'header': 'site-context',
		  tools: 'tools',
		  global: 'global',
		  'resources': 'btmright',
		  'footer-links': 'footlinks',
		  'footer-text': 'foottext'
		}));
		
		layout.push({
		  'header': 'site-context'
		});
				

		layout.push(grab(content, {
		  page: 'main',
		  main: 'main',
		  tabbed: 'main',
		  ads1: 'ads1',
		  ads: 'ads',
      		practice: 'practice',
		  related: 'related',
		  'page-links': 'related',
		  rss: 'main',
		  main: 'main',
		  content: 'main',
		  'extended-page': 'main',
		  banner: 'banner',
		  'slideshow': 'main'
		}));

		
    rotatingImageHandler(feeds);
		
		layout.push(grab(feeds, {
			main: 'main',
			tools: 'tools',
			contentfeed: 'main',
			btmleft: 'btmleft',
			hotnews: 'hotnews',
			allpromo: 'promo',
      			relcontentfeed: 'related',
      			related: 'related'
		}));
		
		layoutHelper.columnize(layout, $(feeds).find('.promo,.extra'), layoutHelper.body.find('#l-columns1,#l-columns2'));
		
		layout.push(grab(content2, {
			'page-links': 'related',
			'content-copy': 'main'
		}));

	//	layout.push(grab(content, {
	//		ads: 'left'
	//	}));

		// push by id
		layout.push({
			main: 'legacy'
		});
		layout.push({
			main: 'sitemap'
		});
		layout.push({
			main: 'extensions'
		});
		layout.push({
			main: 'bricks'
		});

		if (bricks) {
			bricks.className = "";
		}
		if (extensions) {
			extensions.className = "";
		}
		if (search) {
			search.className = "";
		}

	//	$('#l-wrap-special').addClass('clear-float');
		$('#l-wrap-promo').addClass('clear-float');
	//	$('#l-practice').addClass('clear-float');

		if ($.presentationHelper.uiHandler.items.feeds) {
			var o = {};
			var addTo;
			switch (layoutHelper.pageType) {
			  case 'home':
			  case 'section':
				addTo = 'special';
				break;
			  default:
				addTo = 'main';
				break;
			}
			if ($.presentationHelper.uiHandler.items.feeds.slideshow) {
			    o[addTo] = $.presentationHelper.uiHandler.items.feeds.slideshow.get(0);
			    layout.push(o);
			}
			if ($.presentationHelper.uiHandler.items.feeds.spotlight) {
			    o[addTo] = $.presentationHelper.uiHandler.items.feeds.spotlight.get(0);
			    layout.push(o);
			}
			
		}
				
		// let's bind behaviors to elements
		//layout.bind('rotating-image-1').to("content");
		layout.bind('drop-down-menu').to($('#l-global .global').get(0));
		layout.bind('leaving-site-links').to(document);
		layout.bind('date-range-formatter').to($('#l-promo ul').get(0));
		layout.bind('pretty-search').to(document);
		layout.bind('isolate-submits').to(document);
		layout.bind('date-selector').to(document);
		layout.bind('category-tree').to(document);
		layout.bind('grid-visibility').to(document);
		layout.bind('first-li').to(document);
		layout.bind('tiny-mce').to(document);
		layout.bind("breadcrumbs").to("location");
		layout.bind("url-highlight").to("global");
		//layout.bind("limit-global").to("global");
		layout.bind("last-li").to("global");
		layout.bind("last-div").to("related");
		layout.bind("print-page").to($('#l-tools a[href$=#print]').get(0));
		layout.bind("email-page").to($('#l-tools a[href$=#email]').get(0));
		layout.bind("email-owner").to($('#l-pageinfo span.content-owner').get(0));
		layout.bind("allpromo").to("promo");
		layout.bind("trim-date").to("related");
		layout.bind("btmleft").to("btmleft");
		layout.bind("my-feature").to("main");		
		
				
		layoutHelper.complete(function() {
		  rem(content);
		  rem(context);
		  rem(feeds);
		  rem(navigation);
		  rem(branding);
		});
	});
	
	function gel(id) {
		return document.getElementById(id);
	};

	function rem(n) {
		n && n.parentNode.removeChild(n);
	};

};
estrada.behavior("my-feature").is({
bind: function(node) {
		var items = $('.contentfeed li.featureattorney', node);
		if (items.length > 0) {
			var idx = Math.floor(items.length * Math.random());
			var current = items.eq(idx);
			current.addClass('l-current');
		}
	}
});
estrada.behavior("trim-date").is({
bind: function(node) {
		$('.related li', node).each(function() {
			var item = $(this);
			var fieldNode = $("span abbr", item);
			if (fieldNode.length > 0 ) {
				var str = fieldNode.text();
				var newstr = str.split(' ');
				fieldNode.text(newstr[0]);
			}
		});
	}
});

////////////////////////////////////////////////////////////////////
// mark the current global link
////////////////////////////////////////////////////////////////////
estrada.behavior("url-highlight").is({
bind: function(node) {
		$("a[href='" + window.location.href + "']", node).each(function() {
			var item = $(this);
			var parent = item.parent();
			parent.addClass('l-current');
			parent.prepend($.div().html(item.html()));
			item.remove();
		});
	}
});
////////////////////////////////////////////////////////////////////
// limit the number of links to 6
////////////////////////////////////////////////////////////////////
estrada.behavior("limit-global").is({
	bind: function(node) {
		var oLi, arrLi = node.getElementsByTagName("li");
		while (arrLi.length > 6) {
			oLi = arrLi[arrLi.length-1];
			oLi.parentNode.removeChild(oLi);
		}
	}
});

function rotatingImageHandler(feeds) {
	var holder = $('.spotlight');
	if (holder.length > 0) {
		holder.removeClass('extra');
		var items = $('li', holder);
		if (items.length > 0) {
			var idx = Math.floor(items.length * Math.random());
			var current = items.eq(idx);
			var link = $('<a href="' + current.find('.pageurl').text() + '" />');
			link.append(current.find('img'));
			$('#l-main').prepend($('<div />').addClass('rotating-image').append(link));
		}
		holder.remove();
	}
}



estrada.behavior("allpromo").is({
	bind: function(node) {
	
        	// if allpromo class add styling div's for each element
        	$('#l-promo .allpromo').each(function() { 

	    		var holder=$(this);
			var newholder=$(this);
			var idxhold = 0;

			$(holder.find('li.article > div')).each(function(idx) {
				var itemNode = $(this);
				var item = $('<div id="l-promo' + (idx+1) + '" />');
				var link = itemNode.find('a.readon');				
				item.append('<span class="label">' + '<h3>' + link.text() + '</h3>' +  '</span>');
				item.append(itemNode.find('img'));
				item.append(itemNode.find('.abstract'));
				link.addClass('readon');
				item.append(link);

				if (idx == 0) {
					// add a styling div after first item

					holder.append(item);
					holder.append('<div id="l-promo-more" />');
					holder.div().addClass('clear-float');
					newholder = $('#l-promo-more');
				}  
				if (idx > 0) {
					newholder.append(item);
				}
				idxhold = idx + 1;
			});
			// create a class representing the number of li's
			holder.addClass('promo-has-' + idxhold);
			newholder.div().addClass('clear-float');
        	});
		$('.allpromo .content-query').remove();
	}
});
estrada.behavior("btmleft").is({
	bind: function(node) {
	
        	// if allpromo class add styling div's for each element
        	$('#l-btmleft .btmleft').each(function() { 

	    		var holder=$(this);
			var newholder=$(this);
			var idxhold = 0;

			$(holder.find('li.article > div')).each(function(idx) {
				var itemNode = $(this);
				var item = $('<div id="l-btm' + (idx+1) + '" />');
				var link = itemNode.find('a.readon');				
				item.append('<span class="label">' + '<h3>' + link.text() + '</h3>' +  '</span>');
				item.append(itemNode.find('.abstract'));
				link.addClass('readon');
				item.append(link);

				if (idx == 0) {
					// add a styling div after first item

					holder.append(item);
					holder.append('<div id="l-btm-more" />');
					holder.div().addClass('clear-float');
					newholder = $('#l-btm-more');
				}  
				if (idx > 0) {
					newholder.append(item);
				}
				idxhold = idx + 1;
			});
			// create a class representing the number of li's
			holder.addClass('l-btm-has-' + idxhold);
			newholder.div().addClass('clear-float');
        	});
		$('.btmleft .content-query').remove();
	}
});










