
/*
	Copyright (c) 2007-2009 JB Interactive Pty. Ltd.
	All Rights Reserved
	http://www.jbinteractive.com.au/
*/

(function ($) {

NetworkIdentity = (typeof NetworkIdentity == 'undefined') ? window.NetworkIdentity : NetworkIdentity;

var NetworkIdentityDefaults = {
	id       : 'am',      // Can be 'am' or 'agm'
	width    : 'default', // Can be 'default' or 'wide'
	align    : 'default', // Can be 'default' or 'left'
	selector : 'www.selector.com', // The hostname of selector
	assets   : 'http://assets.architecturemedia.com' // The address for the assets host
};

if (typeof NetworkIdentity == 'undefined') {
	// Undefined - set to defaults
	NetworkIdentity	= window.NetworkIdentity = NetworkIdentityDefaults;
} else {
	// Define - merge and override defaults 
	var options = NetworkIdentity;
	NetworkIdentity = {};
	$.extend(NetworkIdentity, NetworkIdentityDefaults, options);
}

NetworkBar = function () {
	
	var _this = {},
		_protocol = (('https:' == document.location.protocol) ? 'https://' : 'http://'),
		_urls = {
			networkBar     : NetworkIdentity.assets + '/network/',
			magazineImages : _protocol + 'www.architecturemedia.com/secure/navbar/',
			selectorSearch : (NetworkIdentity.id == 'am') 
				? 'http://' + NetworkIdentity.selector + '/au/query?query='
				: 'http://' + NetworkIdentity.selector + '/nz/query?query='
		},
		_fadeDelay = 500,
		_fadeIn = 200,
		_fadeOut = 100,
		_ie6WideClass = ((NetworkIdentity.width == 'wide') ? 'ie6wide' : 'default'),
		_viewWideClass = ((NetworkIdentity.width == 'wide') ? 'viewwide' : 'view'),
		_wideClass = ((NetworkIdentity.width == 'wide') ? ' wide' : ''),
		_alignClass = ((NetworkIdentity.align == 'left') ? ' left' : ''),
		_firefox3dot6css = '<link rel="stylesheet" href="' + _urls.networkBar + 'css/network-bar-firefox3.6.css" type="text/css" media="screen" charset="utf-8">',
		_templateAm = '<div id="network_bar" class="archmedia' + _alignClass + _wideClass + '">	<div id="navigation">		<a href="http://www.architecturemedia.com" class="brand" style="background: #000000 url(' + _urls.networkBar + 'img/arch_logo.gif) no-repeat;">AM</a>		<a href="#" class="view '+ _ie6WideClass +'">Our magazines</a>		<a href="http://' + NetworkIdentity.selector + '/au" class="selector">Selector</a>		<a href="http://productnews.com.au" class="products">Architectural Product News</a>		<a href="https://www.architecturemedia.com/secure/" class="subscribe">Subscribe</a>		<a href="http://www.architecturemedia.com/mediakit/" class="advertise">Advertise</a>	</div>	<div id="magazines" class="' + _ie6WideClass + '" style="display: none; background: #f6f6f6 url('+ _urls.networkBar +'img/am_rollout_bg.png);"">		<div class="magazine">			<a href="http://www.architecturemedia.com/aa/"><img src="' + _urls.magazineImages + 'mag_1.jpg" alt="Architecture Australia" /></a>			<span><a href="http://www.architecturemedia.com/aa/">Architecture Australia</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/aa/aaissue.php">Current issue</a></li>				<li><a href="http://www.architecturemedia.com/aa/aaissue.php?view=backissues">Back issues</a></li>				<li><a href="http://www.architecturemedia.com/unbuilt/">Unbuilt</a></li>				<li><a href="https://www.architecturemedia.com/secure/#aa">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>		</div>		<div class="magazine">			<a href="http://www.architecturemedia.com/houses/"><img src="' + _urls.magazineImages + 'mag_2.jpg" alt="Houses" /></a>			<span><a href="http://www.architecturemedia.com/houses/">Houses</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/houses/splash.php">Sample Pages</a></li>				<li><a href="https://www.architecturemedia.com/secure/#houses">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>			<span><a href="http://www.architecturemedia.com/housesstyle/kitchens_and_bathrooms/">Kitchens &amp; Bathrooms</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/housesstyle/kitchens_and_bathrooms/splash.php">Sample Pages</a></li>				<li><a href="https://www.architecturemedia.com/secure/#HSKB">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>		</div>		<div class="magazine">			<a href="http://www.architecturemedia.com/artichoke/"><img src="' + _urls.magazineImages + 'mag_3.jpg" alt="Artichoke" /></a>			<span><a href="http://www.architecturemedia.com/artichoke/">Artichoke</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/artichoke/splash.php">Sample Pages</a></li>				<li><a href="https://www.architecturemedia.com/secure/#art">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>		</div>		<div class="magazine">			<a href="http://www.architecturemedia.com/laa/"><img src="' + _urls.magazineImages + 'mag_4.jpg" alt="Landscape Architecture Australia" /></a>			<span><a href="http://www.architecturemedia.com/laa/">Landscape Architecture Australia</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/laa/splash.php">Sample Pages</a></li>				<li><a href="http://www.architecturemedia.com/unlandscaped/">Unlandscaped</a></li>				<li><a href="https://www.architecturemedia.com/secure/#la">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>		</div>		<div class="magazine">			<a href="http://www.architecturemedia.com/apn/"><img src="' + _urls.magazineImages + 'mag_5.jpg" alt="Architectural Product News" /></a>			<span><a href="http://www.architecturemedia.com/apn/">Architectural Product News</a></span>			<ul><li><a href="http://productnews.com.au">Online issues</a></li>				<li><a href="https://www.architecturemedia.com/secure/#apn">Subscribe</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li>			</ul>		</div>		<div class="magazine last">			<a href="http://www.architecturemedia.com/handbook/"><img src="' + _urls.magazineImages + 'mag_6.jpg" alt="Architects Handbook" /></a>			<span><a href="http://www.architecturemedia.com/handbook/">Architects Handbook</a></span>			<ul>				<li><a href="http://www.architecturemedia.com/handbook/splash.php">Sample Pages</a></li>				<li><a href="https://www.architecturemedia.com/secure/#sh">Purchase</a></li>				<li><a href="http://www.architecturemedia.com/mediakit/ratecards.php">Advertise</a></li></ul>		</div>	</div>	<div id="selector_search" class="' + _ie6WideClass + '" style="display: none;">		<div id="selector_logo"><a href="http://' + NetworkIdentity.selector + '/au" style="background: url('+ _urls.networkBar + 'img/selector_logo.gif) no-repeat;">Selector</a></div>		<div id="endorsed_logo" style="background: url('+ _urls.networkBar +'img/endorsed_logo.gif) no-repeat;">Endorsed by Australian Institute of Architects</div>		<div id="search_box">			<fieldset>				<input type="text" title="Find products and suppliers" name="query" id="query" style="color: rgb(26, 26, 26);" value="Find products and suppliers"/>			<div id="find_loading" style="display: none;"><img src="'+ _urls.networkBar +'img/ajax_loader.gif" alt="loading..." /></div>	<a class="button" id="find_submit" href="#submit" style="background: url('+ _urls.networkBar +'img/search.gif) no-repeat;">Find</a>			</fieldset>		</div>	</div></div>',
		_templateAgm = '<div id="network_bar" class="agm' + _alignClass + _wideClass + '">	<div id="navigation">		<a href="http://www.agm.co.nz" class="brand" style="background: #000000 url('+ _urls.networkBar +'img/agm_logo.gif) no-repeat;">AGM</a>		<a href="#" class="view '+ _ie6WideClass +'">Our magazines</a>		<a href="http://' + NetworkIdentity.selector + '/nz" class="selector">Selector</a>		<a href="http://info-link.co.nz" class="products">PB + Info-Link</a>		<a href="https://www.architecturemedia.com/secureagm/" class="subscribe">Subscribe</a>		<a href="http://www.agm.co.nz/index.html?category=37" class="advertise">Advertise</a>	</div>	<div id="magazines" class="' + _ie6WideClass + '" style="display: none; background: #f7f7f7 url('+ _urls.networkBar +'img/agm_rollout_bg.png) repeat-x;">			<div class="magazine">				<a href="http://www.agm.co.nz/index.html?category=25&id=17"><img src="' + _urls.magazineImages + 'mag_nz_1.jpg" alt="Urbis" /></a>			<span>	<a href="http://www.agm.co.nz/index.html?category=25&id=17">Urbis</a></span>	<ul>		<li><a href="http://www.urbismagazine.com">Online Issues</a></li>		<li><a href="http://www.agm.co.nz/index.html?category=33&id=233">Sample Pages</a></li>		<li><a href="https://www.architecturemedia.com/secureagm/#us">Subscribe</a></li>					<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine">				<a href="http://www.agm.co.nz/index.html?category=25&id=243"><img src="' + _urls.magazineImages + 'mag_nz_2.jpg" alt="Houses NZ" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=243">Houses NZ</a></span>				<ul>		<li><a href="http://www.agm.co.nz/index.html?category=33&id=285">Sample Pages</a></li>			<li><a href="https://www.architecturemedia.com/secureagm/#hs">Subscribe</a></li>					<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine">				<a href="http://www.agm.co.nz/index.html?category=25&id=20"><img src="' + _urls.magazineImages + 'mag_nz_3.jpg" alt="Architecture NZ" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=20">Architecture NZ</a></span>				<ul>		<li><a href="http://www.agm.co.nz/index.html?category=33&id=299">Sample Pages</a></li>			<li><a href="https://www.architecturemedia.com/secureagm/#ar">Subscribe</a></li>					<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine last">				<a href="http://www.agm.co.nz/index.html?category=25&id=287"><img src="' + _urls.magazineImages + 'mag_nz_4.jpg" alt="Landscape Architecture NZ" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=287">Landscape Architecture NZ</a></span>				<ul>		<li><a href="http://www.agm.co.nz/index.html?category=33&id=252">Sample Pages</a></li>			<li><a href="https://www.architecturemedia.com/secureagm/#la">Subscribe</a></li>					<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine first">				<a href="http://www.agm.co.nz/index.html?category=25&id=21"><img src="' + _urls.magazineImages + 'mag_nz_5.jpg" alt="Prodesign" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=21">Prodesign</a></span>				<ul>		<li><a href="http://www.agm.co.nz/index.html?category=33&id=262">Sample Pages</a></li>			<li><a href="https://www.architecturemedia.com/secureagm/#pd">Subscribe</a></li>					<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine">				<a href="http://www.agm.co.nz/index.html?category=25&id=25"><img src="' + _urls.magazineImages + 'mag_nz_6.jpg" alt="Progressive Building + Info-Link" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=25">Progressive Building + Info-Link</a></span>				<ul>		<li><a href="http://info-link.co.nz/">Online Issues</a></li>			<li><a href="https://www.architecturemedia.com/secureagm/#pb">Subscribe</a></li>	<li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>			<div class="magazine last">				<a href="http://www.agm.co.nz/index.html?category=25&id=28"><img src="' + _urls.magazineImages + 'mag_nz_8.jpg" alt="NZ Planning Quarterly" /></a>				<span><a href="http://www.agm.co.nz/index.html?category=25&id=28">NZ Planning Quarterly</a></span>				<ul>					<li><a href="https://www.architecturemedia.com/secureagm/#pq">Subscribe</a></li><li><a href="http://www.agm.co.nz/index.html?category=37">Advertise</a></li>				</ul>			</div>	</div>	<div id="selector_search" class="' + _ie6WideClass + '" style="display: none;">		<div id="selector_logo"><a href="http://' + NetworkIdentity.selector + '/nz" style="background: url('+ _urls.networkBar +'img/selector_logo.gif) no-repeat;">Selector</a></div>		<div id="endorsed_logo" style="background: url('+ _urls.networkBar +'img/endorsed_agm_logo.gif) no-repeat;">Endorsed by Australian Institute of Architects</div>		<div id="search_box">			<fieldset>				<input type="text" title="Find products and suppliers" name="query" id="query" style="color: rgb(26, 26, 26);" value="Find products and suppliers"/>				<div id="find_loading" style="display: none;"><img src="'+ _urls.networkBar + 'img/ajax_loader.gif" alt="loading..." /></div><a class="button" id="find_submit" href="#submit" style="background: url('+ _urls.networkBar +'img/search.gif) no-repeat;">Find</a>			</fieldset>		</div>	</div></div>';
	
	$.extend(_this, {
		write: function () {
			// Firefox 3.6 rules
			if ($.browser.mozilla && $.browser.version == '1.9.2') {
				document.write(_firefox3dot6css);
			}			
			
			if (NetworkIdentity.id == 'am') {
				document.write(_templateAm);
			} 
			if (NetworkIdentity.id == 'agm') {
				document.write(_templateAgm);
			}
		},
		
		init: function () {			
			_this.magazinesLink = $('#network_bar a.view');
			_this.magazines = $('#network_bar #magazines');
			
			_this.selectorLink = $('#network_bar a.selector');
			_this.selector = $('#network_bar #selector_search');
			_this.selectorInput = $('#network_bar #selector_search #query');
			_this.selectorFind = $('#network_bar #selector_search a[href=#submit]');
			_this.selectorFindLoad = $('#network_bar #selector_search #find_loading');
			
			_this.normalCss = {
				'background-image' : 'url("' + _urls.networkBar + 'img/arrow.gif")',
				'background-color' : '#3e4040',
				'height'		   : '12px'
			};
			_this.magazinesOverCss = NetworkIdentity.id == 'am' ? {
				'background-color' : '#d55c19',
				'background-image' : 'url("' + _urls.networkBar + 'img/arrow-orange.gif")',
				'height'		   : '12px'
			} : {
				'background-color' : '#ff1000',
				'height'		   : '12px'
			};
			_this.magazinesOverAndRolledOutCss = NetworkIdentity.id == 'am' ? {
				'background-color' : '#d55c19',
				'background-image' : 'url("' + _urls.networkBar + 'img/arrow-orange.gif")',
				'height'		   : '13px'
			} : {
				'background-color' : '#ff1000',
				'height'		   : '13px'
			};			
			_this.selectorOverCss = {
				'background-color' : '#808080',
				'background-image' : 'url("' + _urls.networkBar + 'img/arrow-hover.gif")',
				'height'		   : '12px'
			};
			_this.selectorOverAndRolledOutCss = {
				'background-color' : '#808080',
				'background-image' : 'url("' + _urls.networkBar + 'img/arrow-hover.gif")',
				'height'		   : '13px'	
			};
			
			_this.bindings();
		},
		
		bindings: function () {
			var showMagazines, showSelector, hideMagazines, hideSelector;

			_this.magazinesLink.css(_this.normalCss);
			
			_this.magazinesLink.hover(function () {
				clearTimeout(hideMagazines);
				_this.magazinesLink.css(_this.magazinesOverCss);
				showMagazines = setTimeout(function () {
					_this.magazinesLink.css(_this.magazinesOverAndRolledOutCss);
					_this.magazines.fadeIn(_fadeIn).data('showing', true);					
				}, _fadeDelay);
			}, function () {
				clearTimeout(showMagazines);
				if (!_this.magazines.data('showing')) {
					_this.magazinesLink.css(_this.normalCss);
				} else {
					hideMagazines = setTimeout(function () {
						_this.magazinesLink.css(_this.normalCss);
						_this.magazines.fadeOut(_fadeOut).data('showing', false);
					}, _fadeDelay);					
				}
			});
			
			_this.magazines.hover(function () {
				clearTimeout(hideMagazines);
			}, function () {
				hideMagazines = setTimeout(function () {
					_this.magazinesLink.css(_this.normalCss);
					_this.magazines.fadeOut(_fadeOut);
				}, _fadeDelay);				
			});
			
			_this.selectorLink.css(_this.normalCss);
			
			_this.selectorLink.hover(function () {
				clearTimeout(hideSelector);
				_this.selectorLink.css(_this.selectorOverCss);
				showSelector = setTimeout(function () {
					_this.selectorLink.css(_this.selectorOverAndRolledOutCss);
					_this.selector.fadeIn(_fadeIn).data('showing', true);						
				}, _fadeDelay);
			}, function () {
				clearTimeout(showSelector);
				if (!_this.selector.data('showing')) {
					_this.selectorLink.css(_this.normalCss);
				} else {
					hideSelector = setTimeout(function () {
						_this.selectorLink.css(_this.normalCss);
						_this.selector.fadeOut(_fadeOut).data('showing', false);
					}, _fadeDelay);						
				}
			});				
			
			_this.selector.hover(function () {
				clearTimeout(hideSelector);
			}, function () {
				hideSelector = setTimeout(function () {
					_this.selectorLink.css(_this.normalCss);
					_this.selector.fadeOut(_fadeOut);
				}, _fadeDelay);				
			});			

			_this.selectorInput.click(function () {
				if (_this.selectorInput.val() == _this.selectorInput.attr('title')) {
					_this.selectorInput.val('');
				}
			}).blur(function () {
				if (_this.selectorInput.val() == '') {
					_this.selectorInput.val(_this.selectorInput.attr('title'));
				}
			}).keyup(function (e) {
				if (e.keyCode == 13) {
					_this.searchSelector();
				}
			});

			_this.selectorFind.click(function (e) {
				e.preventDefault();
				_this.searchSelector();
			});				
		},
		
		searchSelector: function () {
			_this.selectorFindLoad.attr('style','display:block;');
			_this.selectorFind.unbind('click');
			var terms = _this.selectorInput.val();
			window.location.href = _urls.selectorSearch + terms;			
		}
	});
	
	return _this;
	
}();

NetworkBar.write();

$(function () {
	NetworkBar.init();
});
	
})(jQuery);
