jQuery(document).ready(function() {
	//ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING)
	jQuery('.accordionButton').click(function() {

		//REMOVE THE ON CLASS FROM ALL BUTTONS
		jQuery('.accordionButton').removeClass('on');
		  
		//NO MATTER WHAT WE CLOSE ALL OPEN SLIDES
		jQuery('.accordionContent').slideUp('normal');
   
		//IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT
		if(jQuery(this).next().is(':hidden') == true) {
			
			//ADD THE ON CLASS TO THE BUTTON
			jQuery(this).addClass('on');
			  
			//OPEN THE SLIDE
			jQuery(this).next().slideDown('normal');
		 } 
		  
	 });
	  
	/*** REMOVE IF MOUSEOVER IS NOT REQUIRED ***/
	
	//ADDS THE .OVER CLASS FROM THE STYLESHEET ON MOUSEOVER 
	jQuery('.accordionButton').mouseover(function() {
		jQuery(this).addClass('over');
		
	//ON MOUSEOUT REMOVE THE OVER CLASS
	}).mouseout(function() {
		jQuery(this).removeClass('over');
	});
	
	/*** END REMOVE IF MOUSEOVER IS NOT REQUIRED ***/

	/********************************************************************************************************************
	CLOSES ALL S ON PAGE LOAD
	********************************************************************************************************************/	
	jQuery('.accordionContent').hide();

	jQuery('.scslightbox').scsLightbox();

	/*** Fix for Landing Pages  ***/
	jQuery('p.image').each(function() {
	    if (jQuery(this).children().size() == 0) {
	        jQuery(this).addClass('empty');
        }
    });
});

/**
 * @author alexander.farkas
 * @version 1.2
 */
(function($){
	$.testMedia = function(str){
		var date = new Date().getTime(), styleS, div = $('<div class="testMediaQuery' + date + '"></div>').css({
			visibility: 'hidden',
			position: 'absolute'
		}).appendTo('body'), style = document.createElement('style');
		style.setAttribute('type', 'text/css');
		style.setAttribute('media', str);
		style = $(style).prependTo('head');
		styleS = document.styleSheets[0];
		if (styleS.cssRules || styleS.rules) {
			if (styleS.insertRule) {
				styleS.insertRule('.testMediaQuery' + date + ' {display:none !important;}', styleS.cssRules.length);
			} else if (styleS.addRule) {
				styleS.addRule('.testMediaQuery' + date, 'display:none');
			}
		}
		var ret = div.css('display') === 'none';
		div.remove();
		style.remove();
		return ret;
	};
	$.arrayInString = function(str, arr){
		var ret = -1;
		$.each(arr, function(i, item){
			if (str.indexOf(item) != -1) {
				ret = i;
				return false;
			}
		});
		return ret;
	};
	$.enableMediaQuery = (function(){
		var styles = [], styleLinks, date = new Date().getTime();
		function parseMedia(link){
			var medias = link.getAttribute('media'), 
				pMin = /\(\s*min-width\s*:\s*(\d+)px\s*\)/, 
				pMax = /\(\s*max-width\s*:\s*(\d+)px\s*\)/, 
				resMin, 
				resMax, 
				supportedMedia = ['handheld', 'all', 'screen', 'projection', 'tty', 'tv', 'print'], 
				curMedia, 
				mediaString = [];
				medias = (!medias) ? ['all'] : medias.split(',');
			
			for (var i = 0, len = medias.length; i < len; i++) {
				curMedia = $.arrayInString(medias[i], supportedMedia);
				
				if (curMedia != -1) {
					
					curMedia = supportedMedia[curMedia];
					if (!resMin) {
						resMin = pMin.exec(medias[i]);
						if (resMin) {
							resMin = parseInt(resMin[1], 10);
						}
					}
					if (!resMax) {
						resMax = pMax.exec(medias[i]);
						if (resMax) {
							resMax = parseInt(resMax[1], 10);
						}
					}
					mediaString.push(curMedia);
				}
			}
			if (resMin || resMax) {
				styles.push({
					obj: link,
					min: resMin,
					max: resMax,
					medium: mediaString.join(','),
					used: false
				});
			}
		}
		return {
			init: function(){
				if (!styleLinks) {
					var resizeTimer;
					styleLinks = $('link[rel*=style]').each(function(){
						parseMedia(this);
					});
					$.enableMediaQuery.adjust();
					$(window).bind('resize.mediaQueries', function(){
						clearTimeout(resizeTimer);
						resizeTimer = setTimeout( $.enableMediaQuery.adjust , 29);
					});
				}
			},
			adjust: function(){
				var width 		= $(window).width(),
					addStyles	= [],
					changeQuery,
					shouldUse,
					i, len
				;
				
				for (i = 0, len = styles.length; i < len; i++) {
					shouldUse = !styles[i].obj.disabled && ((!(styles[i].min && styles[i].min > width) && !(styles[i].max && styles[i].max < width)) || (!styles[i].max && !styles[i].min));
					if ( shouldUse ) {
						var n = styles[i].obj.cloneNode(true);
						n.setAttribute('media', styles[i].medium);
						n.className = 'insertStyleforMedia' + date;
						addStyles.push(n);
						if( !styles[i].used ){
							styles[i].used = true;
							changeQuery = true;
						}
					} else if( styles[i].used !== shouldUse ){
						styles[i].used = false;
						changeQuery = true;
					}
				}
				
				if(changeQuery){
					$('link.insertStyleforMedia' + date).remove();
					var head = document.getElementsByTagName('head');
					for(i = 0, len = addStyles.length; i < len; i++){
						head[0].appendChild(addStyles[i]);
					}
					//repaint
					$('body').css('zoom', '1').css('zoom', '');
				}
			}
		};
	})();
	//make some odd assumption before dom-ready
	$.support.mediaQueries = !( $.browser.msie && parseFloat($.browser.version, 10) < 9) || ($.browser.mozilla && parseFloat($.browser.version, 10) < 1.9 );
	setTimeout(function(){
		if (!$.isReady && document.body && !$.support.mediaQueries) {
			try {
				$.enableMediaQuery.init();
			} catch (e) {}
		} 
	}, 1);
	$(function(){
		//test media query compatibility
		$.support.mediaQueries = $.testMedia('only all');
		if (!$.support.mediaQueries) {
			$.enableMediaQuery.init();
		}
	});
})(jQuery);

// why accordion
jQuery(function(){
	jQuery(".spacer .open").mouseover(function(event) {
		//event.preventDefault();   
		jQuery(this).parent().children('.open').css({'background-position': 'left 0px'});
	});
	jQuery(".spacer .open").mouseout(function(event) {
		//event.preventDefault();   
		jQuery(this).parent().children('.open').css({'background-position': 'left -25px'});
	});
	jQuery(".spacer .open").click(function(event) {   
		//event.preventDefault(); 
		jQuery(this).parent().children('div').slideDown();
		jQuery(this).parent().children('.close').show();
		jQuery(this).parent().children('.open').hide();
	});
	jQuery(".spacer .close").click(function(event) {   
		//event.preventDefault(); 
		jQuery(this).parent().children('div').slideUp();
		jQuery(this).parent().children('.close').hide();
		jQuery(this).parent().children('.open').css({'background-position': 'left -25px'}).show();
	});
});

function formatPostedDate(t) {
	var month = new Array(12);
	month[0] = "January";
	month[1] = "February";
	month[2] = "March";
	month[3] = "April";
	month[4] = "May";
	month[5] = "June";
	month[6] = "July";
	month[7] = "August";
	month[8] = "September";
	month[9] = "October";
	month[10] = "November";
	month[11] = "December";

	var date = new Date(t);
	return month[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();
}
//Twitter support
var user = 'billgates';

function formatUrl(t) {
    var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;
    return t.replace(regexp, "<a href=\"$1\" target=\"_blank\">$1</a>");
}

function formatUser(t) {
    var regexp = /[\@]+([A-Za-z0-9-_]+)/gi;
    return t.replace(regexp, "<a href=\"http://twitter.com/$1\" target=\"_blank\">@$1</a>");
}

function formatHash(t) {
    var regexp = / [\#]+([A-Za-z0-9-_]+)/gi;
    return t.replace(regexp, ' <a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from=' + user + '" target=\"_blank\">#$1</a>');
}

