
	jQuery(function() {

		//	-- visibility toggler
		jQuery('a.toggle').click(function() {
			if (jQuery('#'+jQuery(this).attr('rel')).is(':visible')) {
				jQuery('#'+jQuery(this).attr('rel')).fadeOut(100);
			} else {
				jQuery('#'+jQuery(this).attr('rel')).fadeIn(300);
			}
			return false;
		});
		
		
		//	-- fix dropdowns in IE6
		jQuery('#zones > ul > li > ul:visible').hide();
		
		jQuery('#zones > ul > li.dropdown').hover(function() {
			jQuery(this).children().show();
		}, function() {
			jQuery('#zones > ul > li > ul:visible').hide();
		});
	
	
		// -- Accordion
		jQuery("dl.accordion dd").addClass("hide");
		jQuery("dl.accordion dd:not(:first)").hide();
	
		jQuery('dl.accordion > dt').click(function() {
			jQuery(this).removeClass('active');
			jQuery(this).next('dd').fadeIn(500).siblings("dd:visible").fadeOut(300).removeclass('active');
			
			jQuery(this).addClass("active");
			jQuery(this).next('dd').addClass("active");
			jQuery(this).siblings("dt").removeClass("active");
		});
	
	
		// -- adds .active to inputs and textareas
		jQuery('input:text, textarea').focus(function() {
			jQuery(this).addClass('active');					   
		});
					
		jQuery('input:text, textarea').blur(function() {
			jQuery(this).removeClass('active');					   
		});
	
	
		// -- open links with a 'http://' in new window
		var allowedDomains = [location.hostname, "radio-canada.ca", "javascript"]; //, "archives.cbc.ca"
		jQuery("a[@href^=http]:not(.internal)")
		.filter(function(el){
			for ( var i=0; i < allowedDomains.length; i++ )
				if (this.href.indexOf(allowedDomains[i])>-1 ) { 
					return false;
				}
					return true;
			})
			.bind("click", function(){ return !window.open(this.href); 
		});
		
		//	.popupwindow listener
		jQuery(".popupwindow").popupwindow(profiles);
		


	});

	var profiles =
	{
		radio: {
			height:400,
			width:820,
			center:1,
			createnew:0
		},
		podcast: {
			height:50,
			width:320,
			center:1,
			createnew:0
		},
		radioplayer: {
			width:382,
			height:120,
			center:1,
			createnew:0
		}
	}


//	popupwindow plugin
	//popup window
	jQuery.fn.popupwindow = function(p)
	{
	
		var profiles = p || {};
	
		return this.each(function(index){
			var settings, parameters, mysettings, b, a, winObj;
			
			// for overrideing the default settings
			mysettings = (jQuery(this).attr("rel") || "").split(",");
	
			
			settings = {
				height:600, // sets the height in pixels of the window.
				width:600, // sets the width in pixels of the window.
				toolbar:0, // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
				scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
				status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
				resizable:1, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
				left:0, // left position when the window appears.
				top:0, // top position when the window appears.
				center:0, // should we center the window? {1 (YES) or 0 (NO)}. overrides top and left
				createnew:1, // should we create a new window for each occurance {1 (YES) or 0 (NO)}.
				location:0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}.
				menubar:0, // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}.
				onUnload:null // function to call when the window is closed
			};
	
			// if mysettings length is 1 and not a value pair then assume it is a profile declaration
			// and see if the profile settings exists
	
			if(mysettings.length == 1 && mysettings[0].split(":").length == 1)
			{
				a = mysettings[0];
				// see if a profile has been defined
				if(typeof profiles[a] != "undefined")
				{
					settings = jQuery.extend(settings, profiles[a]);
				}
			}
			else
			{
				// overrides the settings with parameter passed in using the rel tag.
				for(var i=0; i < mysettings.length; i++)
				{
					b = mysettings[i].split(":");
					if(typeof settings[b[0]] != "undefined" && b.length == 2)
					{
						settings[b[0]] = b[1];
					}
				}
			}
	
			// center the window
			if (settings.center == 1)
			{
				settings.top = (screen.height-(settings.height + 110))/2;
				settings.left = (screen.width-settings.width)/2;
			}
			
			parameters = "location=" + settings.location + ",menubar=" + settings.menubar + ",height=" + settings.height + ",width=" + settings.width + ",toolbar=" + settings.toolbar + ",scrollbars=" + settings.scrollbars  + ",status=" + settings.status + ",resizable=" + settings.resizable + ",left=" + settings.left  + ",screenX=" + settings.left + ",top=" + settings.top  + ",screenY=" + settings.top;
			
			jQuery(this).bind("click", function(){
				var name = settings.createnew ? "PopUpWindow" + index : "PopUpWindow";
				winObj = window.open(this.href, name, parameters);
				
				if (settings.onUnload) {
					// Incremental check for window status
					// Attaching directly to window.onunlaod event causes invoke when document within window is reloaded
					// (i.e. an inner refresh)
					unloadInterval = setInterval(function() {
						if (!winObj || winObj.closed) {
							clearInterval(unloadInterval);	
							settings.onUnload.call(jQuery(this));
						}
					},500);
				}
				
				winObj.focus();
				
				return false;
			});
		});
	
	};
