var newdiv = true

var appscripts = function()
{
	$$('.span-12 a.arrow-right').each(
		function(el)
		{
			addElement(el);
			el.up('h4').next($$('.content_block')).hide();
		}   
	);		
            
	$$('.span-12 a.arrow-down').each(
		function(el)
		{
			addElement(el);
		}   
	);

	$$('a.arrow-right').each(
		function(el)
		{
			el.up('h4').next($$('.content_block')).hide();
		}   
	);		

	$$('a.toggle_content').each(									// observe click
			function( el ) { 
				var toHide = el.up('h4').next('div.content_block');
				// if (!toHide.hasClassName('openOnLoad')) {
				// 	toHide.hide();
				// };
				el.observe( 'click', toggleContent ); 
			}
		);
		
	$$('a.toggle_content1').each(
			function( el ) { 
				var toHide = el.up('h4').next('div.content_block1');
				if (!toHide.hasClassName('openOnLoad')) {
					toHide.hide();
				};
				el.observe( 'click', toggleContent ); 
			}
		);
			
		$$('a.toggle_content_above1').each(
			function( el ) { 
				var toHide = el.up('div').previous('div.content_block1');
				if (!toHide.hasClassName('openOnLoad')) {
					toHide.hide();
				};
				el.observe( 'click', toggleContent ); 
			}
		);	
		
		$$('a.toggle_content2').each(
				function( el ) { 
					var toHide = el.up('h4').next('div.content_block2');
					if (!toHide.hasClassName('openOnLoad')) {
						toHide.hide();
					};
					el.observe( 'click', toggleContent ); 
				}
			);
				
			$$('a.toggle_content_above2').each(
				function( el ) { 
					var toHide = el.up('div').previous('div.content_block2');
					if (!toHide.hasClassName('openOnLoad')) {
						toHide.hide();
					};
					el.observe( 'click', toggleContent ); 
				}
			);	
			
	if ($('contact-success')) {
		$('contact-success').up('div.content_block').show();
		var elem = $('contact-success').up('div.content_block').previous('h4').down('a');
			elem.removeClassName('arrow-right');
			elem.addClassName('arrow-down');
	};
	
	$$('#main-content ul, #main-content ol').each(
		function(el)
		{
			if(el.previous('p') != undefined)
			{
				el.previous('p').setStyle({marginBottom:'0.5em'});
			}
		});
}

var windows = function() 
{
	$$('a.popup-map').each(function(el) {
		// if(el.href.indexOf('popup') == -1)
		// {
		// 	el.href = el.href + '?type=popup';
		// }
		var sizes = el.rel.split(',');
		el.observe('click', function(e) 
		{
			// var cname = (el.className.indexOf('modallink-') != -1)?' '+get_classname(el, 'modallink-', 'modal-'):'';
		
			mod = window_factory( el, {iframe: true, className: 'modal', width: sizes[0], height:sizes[1]} );
			mod.open();
		
			e.stop();
		});		
	});
}

var toggleContent = function(e)
{
	var elem = e.findElement('a');
	var id = elem.id;
	var new_id = id.replace('toggle', 'content');

	if(elem.hasClassName('arrow-right'))
	{
		if (elem.hasClassName('arrow-right')) {
			elem.removeClassName('arrow-right');
			elem.addClassName('arrow-down');			
		};
		if (elem.hasClassName('read')) {
			elem.hide();
		};
		Effect.BlindDown($(new_id), { duration: 0.3 } );
		$(id).innerHTML = $(id).innerHTML.replace('expand', 'close');
	}
	else
	{
		if (elem.hasClassName('arrow-down')) {
			elem.removeClassName('arrow-down');
			elem.addClassName('arrow-right');					
		};
		Effect.BlindUp($(new_id), { duration: 0.3 } );
		$(id).innerHTML = $(id).innerHTML.replace('close', 'expand');
	}
	e.stop();
}

var window_factory = function(container,options) {  
    
    var window_fade = $('control_overlay');
    
    var window_header = new Element('div',{  
        className: 'window_header'  
    });                                     
    var window_close = new Element('div',{  
        className: 'window_close'  
    });                                    
    var window_contents = new Element('div',{  
        className: 'window_contents' 
    });    
	window_contents.setStyle({
		height: options.height + 'px',
 		width: options.width + 'px'
	});
    var window_loading = new Element('div',{
        className: 'window_loading'
    });
    
    var w = new Control.Modal(container,Object.extend({  
        className: 'modal',
          fade: true,
        overlayOpacity: 0.75,
           closeOnClick: window_fade,
        insertRemoteContentAt: window_contents,
          afterClose: function() { 
            var id = this.container.id;
            this.destroy();
            $(id).remove();
        },
        indicator: window_loading
    },options || {}));  
    w.container.insert(window_loading);
    w.container.insert(window_header);   
    window_header.insert(window_close);                                                                 
    w.container.insert(window_contents);

      window_close.observe('click', function(wce){
        Control.Modal.close();
        wce.stop();
    }, false);
    return w;  
};

var photogs = function()
{	
	if ($('photogs_list')) 
	{
		var pl = $('photogs_list');
		pl.hide();		
	

		$('photographers').observe('click', function(e)
		{
			if (pl.hasClassName('open')) {
				pl.hide();
				pl.removeClassName('open');
			} else {
				pl.show();
				pl.addClassName('open');
			}
			e.stop();
		}, false);
	}
}

var addElement = function(el)
{   
	var elm = el.up('h4');                                     
	var elmlist = elm.nextSiblings();

	// new div with class ends in the number id of the parent h4
	var id = el.id.replace('toggle', 'content');
	var attrs = { 'id' : id, 'class' : 'content_block' }
	var newdiv = new Element('div', attrs);
	
	// insert after h4
	elm.insert({ after: newdiv });			
	
	var found = false;

	elmlist.each( function(ele) {
		if(ele.tagName == 'H4' || ele.hasClassName('break')) { found = true; }
		if(!found)
		{
			newdiv.insert( ele.remove() );
		}
	});
	found = false;
}

function externalLinks() { $$('a').each( function(el) { if(el.getAttribute("href") && el.getAttribute("rel") == "external") { el.target="_blank"; } } ); }
function internalLinks() { $$('a').each( function(el) { if(el.getAttribute("href") && el.getAttribute("rel") == "internal") { el.target="_self"; } } ); }

document.observe('dom:loaded', appscripts, false);
document.observe('dom:loaded', externalLinks);
document.observe('dom:loaded', internalLinks);
document.observe('dom:loaded', windows);
document.observe('dom:loaded', photogs);
