/*!
 * FooBar - The Unobtrusive Notification Bar That Doesn’t Suck!
 * http://bit.ly/getfoobar
 *
 * Copyright 2011, Steven Usher & Brad Vincent
 * http://themergency.com
 * http://themergency.com/foobar-a-jquery-notification-plugin/
 *
 * Date: 1 October 2011
 * Version : 1.8
 * The javascript source is now packed as a precaution, as copyright infringement is common.
 */
(function(a){a.foobar=function(d){if(typeof d=="string"){d={messages:[d]}}var e=a.extend(true,{},b,d);c.apply(e)};a.foobarGoogleCallback=function(){c.loadFeeds()};if(!window.console){console={}}console.log=console.log||function(){};console.warn=console.warn||function(){};console.error=console.error||function(){};console.info=console.info||function(){};if(!JSON){JSON={}}JSON.stringify=JSON.stringify||function(){};var b={height:30,collapsedButtonHeight:30,positioning:"fixed",backgroundColor:"IndianRed",border:"solid 3px #FFF",enableShadow:true,ignoreHtmlMarginTop:false,buttonTheme:"triangle-arrow",display:"expanded",displayDelay:0,speed:200,easing:"swing",messages:[],messageSizes:[],messagesDelay:4e3,messagesFadeDelay:500,messagesScrollSpeed:50,messagesScrollDelay:2e3,messagesScrollDirection:"left",enableRandomMessage:false,enableMessageScroll:true,enableCookie:false,positionClose:"right",positionSocial:"left",rightHtml:null,leftHtml:null,leftWidth:null,rightWidth:null,centerWidth:null,messageClass:"",socialClass:"",fontFamily:"Verdana",fontSize:"10pt",fontColor:"White",fontShadow:null,aFontFamily:"Verdana",aFontSize:"10pt",aFontColor:"LightYellow",aFontDecoration:"underline",aFontShadow:null,aHoverFontFamily:null,aHoverFontSize:null,aHoverFontColor:null,aHoverFontDecoration:null,aHoverFontShadow:null,googleAPIKey:"",social:{text:"Follow us:",fontFamily:"Verdana",fontSize:"10pt",fontColor:"White",fontShadow:null,profiles:[]},rss:{googleAPIKey:"",enabled:false,url:"http://my-domain.com/rss",maxResults:5,linkText:"Read More",linkTarget:"_blank"},twitter:{enabled:false,user:null,maxTweets:5}};var c={settings:{},wrapper:null,container:null,shadow:null,left:null,center:null,message:null,right:null,closeButtonContainer:null,closeButton:null,openButtonContainer:null,openButton:null,initialized:false,isOpen:false,htmlMarginTop:0,messageTimeoutId:null,messageIndex:0,currentMessageIndex:-1,messageHover:false,shadowHeight:5,initialize:function(){if(a(".foobar-wrapper").length===0){c.wrapper=a("<div></div>").addClass("foobar-wrapper");c.container=a("<div></div>").addClass("foobar-container");c.shadow=a("<div></div>").addClass("foobar-shadow");c.left=a("<div></div>").addClass("foobar-container-left");c.center=a("<div></div>").addClass("foobar-container-center");c.message=a("<span></span>").addClass("foobar-message");c.right=a("<div></div>").addClass("foobar-container-right");c.closeButtonContainer=a("<div></div>").addClass("foobar-close-button-container");c.closeButton=a("<a></a>").attr("href","#close-foobar").addClass("foobar-close-button").text(" ");c.openButtonContainer=a("<div></div>").addClass("foobar-open-button-container");c.openButton=a("<a></a>").attr("href","#open-foobar").addClass("foobar-open-button").text(" ");a("body").prepend(c.wrapper);c.wrapper.append(c.container).append(c.shadow).append(c.openButtonContainer);c.container.append(c.closeButtonContainer).append(c.left).append(c.center.append(c.message)).append(c.right);c.closeButtonContainer.append(c.closeButton);c.openButtonContainer.append(c.openButton)}else{c.wrapper=a(".foobar-wrapper");c.container=a(".foobar-container");c.shadow=a(".foobar-shadow");c.left=a(".foobar-container-left");c.center=a(".foobar-container-center");c.message=a(".foobar-message");c.right=a(".foobar-container-right");c.closeButtonContainer=a(".foobar-close-button-container");c.closeButton=a(".foobar-close-button").text(" ");c.openButtonContainer=a(".foobar-open-button-container");c.openButton=a(".foobar-open-button").text(" ")}c.initialized=true},setCookie:function(a,b,c){var d="";if(c){var e=new Date;e.setTime(e.getTime()+c*24*60*60*1e3);d="; expires="+e.toGMTString()}document.cookie=a+"="+b+d+"; path=/"},getCookie:function(a){var b=a+"=";var c=document.cookie.split(";");for(var d=0;d<c.length;d++){var e=c[d];while(e.charAt(0)==" ")e=e.substring(1,e.length);if(e.indexOf(b)===0)return e.substring(b.length,e.length)}return null},deleteCookie:function(a){c.setCookie(a,"",-1)},isNotNullOrEmpty:function(a){return typeof a=="string"&&a!==null&&a!==""},getRandomMessageIndex:function(){if(c.settings.messages.length===0){return 0}var a=0,b=c.settings.messages.length-1;var d=Math.floor(Math.random()*(b-a+1)+a);if(d==c.currentMessageIndex){return c.getRandomMessageIndex()}return d},clearMessageTimeout:function(){if(typeof c.messageTimeoutId!="undefined"&&c.messageTimeoutId!==null){clearTimeout(c.messageTimeoutId)}c.messageTimeoutId=null},messageCycleReset:function(){if(c.messageHover){c.messageTimeoutId=setTimeout(c.messageCycleReset,c.settings.messagesDelay);return}a("#foobar-message-"+c.currentMessageIndex).animate({"margin-left":0},500,function(){c.currentMessageIndex=-1;c.messageCycle()})},messageCycleFade:function(){if(c.messageHover){c.messageTimeoutId=setTimeout(c.messageCycleFade,c.settings.messagesDelay);return}var b=a("#foobar-message-"+c.currentMessageIndex);b.animate({opacity:0},c.settings.messagesFadeDelay/2,function(){b.css({"margin-left":0}).hide();c.messageCycle()})},parseHtml:function(b){if(!c.isNotNullOrEmpty(b))return b;if(b&&b.match("{{include:(.*?)}}")){var d=new RegExp("{{include:(.*?)}}");var e=d.exec(b);while(e!==null){var f=a(e[1]).html();b=b.replace(e[0],f);e=d.exec(b)}}return b},messageCycle:function(){if(!c.isOpen||c.settings.messages.length===0||c.currentMessageIndex==c.messageIndex){return}if(c.messageHover){c.messageTimeoutId=setTimeout(c.messageCycle,c.settings.messagesDelay);return}c.clearMessageTimeout();if(a(".foobar-message-wrapper").length===0){for(var b=0;b<c.settings.messages.length;b++){var d=c.parseHtml(c.settings.messages[b]);var e=a('<div id="foobar-message-'+b+'" class="foobar-message-wrapper">'+d+"</div>");e.css({position:"absolute",display:"block",width:"auto"});e.css({left:0,top:b*100+100});if(!c.isNotNullOrEmpty(c.settings.messageClass)){var f=e.find("a");c.styleLinks(f);c.styleLinksHover(f)}c.message.append(e);c.settings.messageSizes[b]={width:e.width(),height:e.height()};e.hover(c.pauseMessages,c.resumeMessages)}}c.message.children().hide();var g=a("#foobar-message-"+c.messageIndex);g.css({position:"static",visibility:"visible","margin-left":0,opacity:100}).show();c.currentMessageIndex=c.messageIndex;var h=c.center.width();var i=c.center.height();var j=c.settings.messageSizes[c.messageIndex].width;var k=c.settings.messageSizes[c.messageIndex].height;if(c.settings.enableRandomMessage){c.messageIndex=c.getRandomMessageIndex()}else if(c.messageIndex>=c.settings.messages.length-1){c.messageIndex=0}else{c.messageIndex++}if(k<i){var l=Math.round((i-k)/2);g.css({height:k});c.message.css({height:i});c.center.css({"padding-top":l})}if(c.settings.enableMessageScroll&&j>h){var m=j-h;var n=Math.round(m/c.settings.messagesScrollSpeed)*1e3;g.css({width:j});c.message.css({width:h});g.delay(c.settings.messagesScrollDelay).animate({"margin-left":"-"+m},n,"linear",function(){if(c.messageIndex==c.currentMessageIndex){c.messageTimeoutId=setTimeout(c.messageCycleReset,c.settings.messagesDelay)}else{c.messageTimeoutId=setTimeout(c.messageCycleFade,c.settings.messagesDelay)}})}else if(c.messageIndex!=c.currentMessageIndex){c.messageTimeoutId=setTimeout(c.messageCycleFade,c.settings.messagesDelay)}},styleLinks:function(a){if(c.isNotNullOrEmpty(c.settings.aFontFamily)){a.css("font-family",c.settings.aFontFamily)}if(c.isNotNullOrEmpty(c.settings.aFontSize)){a.css("font-size",c.settings.aFontSize)}if(c.isNotNullOrEmpty(c.settings.aFontColor)){a.css("color",c.settings.aFontColor)}if(c.isNotNullOrEmpty(c.settings.aFontDecoration)){a.css("text-decoration",c.settings.aFontDecoration)}if(c.isNotNullOrEmpty(c.settings.aFontShadow)){a.css("text-shadow",c.settings.aFontShadow)}},styleLinksHover:function(b){b.unbind("mouseenter mouseleave").bind({mouseenter:function(){if(c.isNotNullOrEmpty(c.settings.aHoverFontFamily)){a(this).css("font-family",c.settings.aHoverFontFamily)}if(c.isNotNullOrEmpty(c.settings.aHoverFontSize)){a(this).css("font-size",c.settings.aHoverFontSize)}if(c.isNotNullOrEmpty(c.settings.aHoverFontColor)){a(this).css("color",c.settings.aHoverFontColor)}if(c.isNotNullOrEmpty(c.settings.aHoverFontDecoration)){a(this).css("text-decoration",c.settings.aHoverFontDecoration)}if(c.isNotNullOrEmpty(c.settings.aHoverFontShadow)){a(this).css("text-shadow",c.settings.aHoverFontShadow)}},mouseleave:function(){c.styleLinks(a(this))}})},isGoogleLoaded:function(){var b=false;a('head > script[type="text/javascript"]').each(function(){var d=a(this).attr("src");var e="http://www.google.com/jsapi?key=";if(c.isNotNullOrEmpty(d)&&d.length>=e.length&&d.substr(0,e.length)===e){b=true}});return b&&!(typeof google=="undefined")},isFeedsLoaded:function(){return c.isGoogleLoaded()&&!(typeof google.feeds=="undefined")},loadGoogle:function(){var a=document.createElement("script");a.src="http://www.google.com/jsapi?key="+c.settings.googleAPIKey+"&callback=jQuery.foobarGoogleCallback";a.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(a)},loadFeeds:function(){google.load("feeds","1",{callback:c.loadFeedsAndTweets})},loadFeedsAndTweets:function(){if(c.settings.twitter.enabled&&c.isNotNullOrEmpty(c.settings.twitter.user)){c.loadTwitter()}if(c.settings.rss.enabled&&c.isNotNullOrEmpty(c.settings.rss.url)){c.loadRss()}},loadRss:function(){var a=new google.feeds.Feed(c.settings.rss.url);a.setNumEntries(c.settings.rss.maxResults);a.load(function(a){c.clearMessageTimeout();if(!a.error){for(var b=0;b<a.feed.entries.length;b++){var d=a.feed.entries[b].title;if(c.isNotNullOrEmpty(c.settings.rss.linkText)){d+=' <a href="'+a.feed.entries[b].link+'" target="'+c.settings.rss.linkTarget+'">'+c.settings.rss.linkText+"</a>"}c.settings.messages.push(d)}}else{console.error(a.error.message)}c.message.stop().css({left:0,opacity:100});c.messageCycle()})},loadTwitter:function(){var a="http://api.twitter.com/1/statuses/user_timeline.rss?trim_user=0&screen_name="+c.settings.twitter.user;var b=new google.feeds.Feed(a);b.setNumEntries(c.settings.twitter.maxTweets);b.load(function(a){c.clearMessageTimeout();if(!a.error){for(var b=0;b<a.feed.entries.length;b++){var d=c.formatTweetHtml(a.feed.entries[b].title);c.settings.messages.push(d)}}else{console.error(a.error.message)}c.message.stop().css({left:0,opacity:100});c.messageCycle()})},formatTweetHtml:function(a){var b=c.settings.twitter.user+": ";if(a.indexOf(b)===0){a=a.substring(b.length)}a=" "+a;a=a.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g,function(a,b,c,d,e){var f=c.match(/w/)?"http://":"";return'<a class="twtr-hyperlink" target="_blank" href="'+f+b+'">'+b+"</a>"+e});a=a.replace(/\B[@@]([a-zA-Z0-9_]{1,20})/g,function(a,b){return'<a target="_blank" class="twtr-atreply" href="http://twitter.com/intent/user?screen_name='+b+'">@'+b+"</a>"});a=a.replace(/\B[@@]([a-zA-Z0-9_]{1,20}\/\w+)/g,function(a,b){return'<a target="_blank" class="twtr-atreply" href="http://twitter.com/'+b+'">@'+b+"</a>"});a=a.replace(/(^|\s+)#(\w+)/gi,function(a,b,c){return b+'<a target="_blank" class="twtr-hashtag" href="http://twitter.com/search?q=%23'+c+'">#'+c+"</a>"});return a},toggle:function(a){if(c.isOpen){c.collapse()}else{c.expand()}},expand:function(b){if(typeof b!="undefined"&&b!==null&&typeof b.preventDefault=="function"){b.preventDefault()}if(!c.isOpen){c.openButton.animate({height:0},c.settings.speed);c.openButtonContainer.animate({height:0},c.settings.speed,function(){c.container.animate({height:c.settings.height},c.settings.speed,c.settings.easing).css({"border-bottom":c.settings.border});c.wrapper.animate({height:c.settings.height+c.shadowHeight},c.settings.speed,c.settings.easing);c.message.add(c.left).add(c.right).show();if(c.settings.positioning=="fixed"){a("html").animate({"margin-top":"+="+(c.settings.height+c.shadowHeight)})}else{a("html").css({"margin-top":c.htmlMarginTop+"px"})}c.wrapper.focus();c.isOpen=true;c.messageCycle()});if(c.settings.enableCookie){c.setCookie("foobar-state",true,1)}}},collapse:function(b){if(typeof b!="undefined"&&b!==null&&typeof b.preventDefault=="function"){b.preventDefault()}if(c.isOpen){c.container.animate({height:0},c.settings.speed).css({border:"none"});if(c.settings.positioning=="fixed"){a("html").animate({"margin-top":"-="+(c.settings.height+c.shadowHeight)})}else{a("html").css({"margin-top":c.htmlMarginTop+"px"})}c.wrapper.animate({height:5},c.settings.speed,function(){c.message.add(c.left).add(c.right).hide();c.openButtonContainer.animate({height:c.settings.collapsedButtonHeight+11},c.settings.speed,c.settings.easing);c.openButton.animate({height:c.settings.collapsedButtonHeight},c.settings.speed,c.settings.easing)});c.isOpen=false;if(c.settings.enableCookie){c.setCookie("foobar-state",false,1)}}},setExpanded:function(){c.container.height(c.settings.height).css({"border-bottom":c.settings.border});c.wrapper.height(c.settings.height+c.shadowHeight);c.openButtonContainer.add(c.openButton).height(0);if(c.settings.positioning=="fixed"){a("html").css({"margin-top":c.htmlMarginTop<=0?c.settings.height+c.shadowHeight+"px":c.htmlMarginTop+(c.settings.height+c.shadowHeight)+"px"})}else{a("html").css({"margin-top":c.htmlMarginTop+"px"})}c.isOpen=true;c.message.add(c.left).add(c.right).show();if(c.settings.enableCookie){c.setCookie("foobar-state",true,1)}},setCollapsed:function(){c.container.height(0).css({"border-bottom":0});c.wrapper.height(c.shadowHeight);c.openButtonContainer.height(c.settings.collapsedButtonHeight+11);c.openButton.height(c.settings.collapsedButtonHeight);if(c.settings.positioning=="fixed"){a("html").css({"margin-top":c.htmlMarginTop<=0?0+"px":c.htmlMarginTop-(c.settings.height+c.shadowHeight)+"px"})}else{a("html").css({"margin-top":c.htmlMarginTop+"px"})}c.isOpen=false;c.message.add(c.left).add(c.right).hide();if(c.settings.enableCookie){c.setCookie("foobar-state",false,1)}},pauseMessages:function(){c.messageHover=true},resumeMessages:function(){c.messageHover=false},apply:function(d){c.settings=d;if(!c.initialized){var e=a("html");c.htmlMarginTop=parseInt(e.css("margin-top"));c.htmlMarginTop=c.settings.ignoreHtmlMarginTop||isNaN(c.htmlMarginTop)?0:c.htmlMarginTop;c.initialize()}else{c.left.add(c.right).empty()}if(d.googleAPIKey===""&&d.rss.googleAPIKey!==""){d.googleAPIKey=d.rss.googleAPIKey}if(d.messagesScrollDirection!="left"&&d.messagesScrollDirection!="right"){d.messagesScrollDirection=b.messagesScrollDirection}c.wrapper.height(c.settings.height+c.shadowHeight);c.openButtonContainer.height(c.settings.collapsedButtonHeight+11);c.openButton.height(c.settings.collapsedButtonHeight);c.container.add(c.right).add(c.left).add(c.center).add(c.message).add(c.closeButtonContainer).add(c.closeButton).height(c.settings.height);c.container.add(c.openButton).css({"background-color":c.settings.backgroundColor});c.container.css({"border-bottom":c.settings.border});c.openButton.css({border:c.settings.border,"border-top":"none"});c.openButtonContainer.css({top:c.htmlMarginTop+"px"});c.openButton.add(c.closeButton).removeClass();c.openButton.addClass("foobar-open-button");c.closeButton.addClass("foobar-close-button");c.openButton.add(c.closeButton).addClass(d.buttonTheme);if(c.settings.enableShadow){c.shadowHeight=5;c.shadow.show();c.openButtonContainer.addClass("shadow")}else{c.shadowHeight=0;c.shadow.hide();c.openButtonContainer.removeClass("shadow")}if(c.isNotNullOrEmpty(c.settings.messageClass)){c.message.addClass(c.settings.messageClass)}else{if(c.isNotNullOrEmpty(c.settings.fontFamily)){c.message.css("font-family",c.settings.fontFamily)}if(c.isNotNullOrEmpty(c.settings.fontSize)){c.message.css("font-size",c.settings.fontSize)}if(c.isNotNullOrEmpty(c.settings.fontColor)){c.message.css("color",c.settings.fontColor)}if(c.isNotNullOrEmpty(c.settings.fontShadow)){c.message.css("text-shadow",c.settings.fontShadow)}}if(c.settings.positionSocial=="left"||c.settings.positionSocial=="right"){if(c.settings.social.profiles.length>0){var f=a(".foobar-social").length>0?a(".foobar-social"):a("<ul></ul>").addClass("foobar-social");f.empty();var g=a("<li></li>").text(c.settings.social.text).css({height:c.settings.height,"line-height":c.settings.height+"px"});if(c.isNotNullOrEmpty(c.settings.socialClass)){g.addClass(c.settings.socialClass)}else{g.css({"padding-right":"10px","padding-left":"10px"});if(c.isNotNullOrEmpty(c.settings.social.fontFamily)){g.css("font-family",c.settings.social.fontFamily)}if(c.isNotNullOrEmpty(c.settings.social.fontSize)){g.css("font-size",c.settings.social.fontSize)}if(c.isNotNullOrEmpty(c.settings.social.fontColor)){g.css("color",c.settings.social.fontColor)}if(c.isNotNullOrEmpty(c.settings.social.fontShadow)){g.css("text-shadow",c.settings.social.fontShadow)}}f.append(g);var h={name:null,url:null,image:null,target:"_blank"};a.each(c.settings.social.profiles,function(b,d){var e=a.extend({},h,d);if(e.name!==null&&e.url!==null&&e.image!==null){var g=a("<a></a>").attr("href",e.url).attr("title",e.name).attr("target",e.target).css({background:"url('"+e.image+"') no-repeat center center",height:c.settings.height});f.append(a("<li></li>").css({height:c.settings.height}).append(g))}});if(c.settings.positionSocial=="right"){f.css("float","right");c.right.append(f)}else if(c.settings.positionSocial=="left"){f.css("float","left");c.left.append(f)}}else{a(".foobar-social").remove()}}else{a(".foobar-social").remove()}if(c.isNotNullOrEmpty(c.settings.rightHtml)){c.right.append(c.parseHtml(c.settings.rightHtml))}if(c.isNotNullOrEmpty(c.settings.leftHtml)){c.left.append(c.parseHtml(c.settings.leftHtml))}if(c.settings.positioning=="fixed"){c.wrapper.css({position:"fixed",top:c.htmlMarginTop+"px",left:"0px"});c.openButtonContainer.css({position:"fixed"})}else{c.wrapper.css({position:"relative",top:0,left:0});c.openButtonContainer.css({position:"absolute"})}if(c.settings.positionClose=="right"){if(!c.isNotNullOrEmpty(c.settings.leftWidth)){c.left.css("width","25%")}if(!c.isNotNullOrEmpty(c.settings.rightWidth)){c.right.css("width","20%")}c.closeButtonContainer.css("float","right");c.openButtonContainer.css({left:"auto",right:"0px"})}else if(c.settings.positionClose=="left"){if(!c.isNotNullOrEmpty(c.settings.leftWidth)){c.left.css("width","20%")}if(!c.isNotNullOrEmpty(c.settings.rightWidth)){c.right.css("width","25%")}c.closeButtonContainer.css("float","left");c.openButtonContainer.css({right:"auto",left:"0px"})}else{c.closeButtonContainer.hide();c.openButtonContainer.hide();if(!c.isNotNullOrEmpty(c.settings.leftWidth)){c.left.css("width","20%")}if(!c.isNotNullOrEmpty(c.settings.rightWidth)){c.right.css("width","25%")}}if(c.isNotNullOrEmpty(c.settings.leftWidth)){c.left.css("width",c.settings.leftWidth)}if(c.isNotNullOrEmpty(c.settings.rightWidth)){c.right.css("width",c.settings.rightWidth)}if(c.isNotNullOrEmpty(c.settings.centerWidth)){c.center.css("width",c.settings.centerWidth)}var i=c.getCookie("foobar-state");if(i===null||!c.settings.enableCookie){if(!c.settings.enableCookie){c.deleteCookie("foobar-state")}switch(c.settings.display){case"onscroll":c.setCollapsed();a(window).one("scroll",function(){setTimeout(c.expand,c.settings.displayDelay)});break;case"delayed":c.setCollapsed();setTimeout(c.expand,c.settings.displayDelay);break;case"collapsed":c.setCollapsed();break;case"expanded":default:c.setExpanded();break}}else{i=="true"?c.setExpanded():c.setCollapsed()}c.openButton.unbind().click(c.expand);c.closeButton.unbind().click(c.collapse);a(".foobar-message-wrapper").remove();c.messageHover=false;c.messageIndex=0;c.currentMessageIndex=-1;var j=true,k=false;if(c.settings.twitter.enabled&&c.isNotNullOrEmpty(c.settings.twitter.user)){j=false;if(c.isGoogleLoaded()&&c.isFeedsLoaded()){c.loadTwitter()}else{k=true}}if(c.settings.rss.enabled&&c.isNotNullOrEmpty(c.settings.googleAPIKey)&&c.isNotNullOrEmpty(c.settings.rss.url)){j=false;if(c.isGoogleLoaded()&&c.isFeedsLoaded()){c.loadRss()}else{k=true}}if(k){if(c.isFeedsLoaded()){c.loadFeeds()}else{c.loadGoogle()}}if(j){c.message.stop(true,false).css({opacity:100});c.messageCycle()}}}})(jQuery)
