var alwaysOnTop={dsettings:{targetid:'',orientation:2,position:[10,30],externalsource:'',frequency:1,hideafter:0,fadeduration:[500,500],display:0},settingscache:{},positiontarget:function($target,settings){var fixedsupport=!document.all||document.all&&document.compatMode=="CSS1Compat"&&window.XMLHttpRequest
var posoptions={position:fixedsupport?'fixed':'absolute',visibility:'visible'}
if(settings.fadeduration[0]>0)
posoptions.opacity=0
posoptions[(/^[13]$/.test(settings.orientation))?'left':'right']=settings.position[0]
posoptions[(/^[12]$/.test(settings.orientation))?'top':'bottom']=settings.position[1]
if(document.all&&!window.XMLHttpRequest)
posoptions.width=$target.width()
$target.css(posoptions)
if(!fixedsupport){this.keepfixed($target,settings)
var evtstr='scroll.'+settings.targetid+' resize.'+settings.targetid
jQuery(window).bind(evtstr,function(){alwaysOnTop.keepfixed($target,settings)})}
this.revealdiv($target,settings,fixedsupport)
if(settings.hideafter>0){setTimeout(function(){alwaysOnTop.hidediv(settings.targetid)},settings.hideafter+settings.fadeduration[0])}},keepfixed:function($target,settings){var $window=jQuery(window)
var is1or3=/^[13]$/.test(settings.orientation)
var is1or2=/^[12]$/.test(settings.orientation)
var x=$window.scrollLeft()+(is1or3?settings.position[0]:$window.width()-$target.outerWidth()-settings.position[0])
var y=$window.scrollTop()+(is1or2?settings.position[1]:$window.height()-$target.outerHeight()-settings.position[1])
$target.css({left:x+'px',top:y+'px'})},revealdiv:function($target,settings){if(settings.fadeduration[0]>0)
$target.show().animate({opacity:1},settings.fadeduration[0])
else
$target.show()
if(settings.frequency=="session")
this.setCookie('sots'+settings.targetid,'shown')
else if(/^\d+ day/i.test(settings.frequency)){var persistdays=parseInt(settings.frequency)
this.setCookie('sotp'+settings.targetid,persistdays,persistdays)}},hidediv:function(targetid){var $target=jQuery('#'+targetid)
if($target.css('display')=='none')
return
var settings=this.settingscache[targetid]
if(settings.fadeduration[1]>0)
$target.animate({opacity:0},settings.fadeduration[1],function(){$target.hide()})
else
$target.hide()
var evtstr='scroll.'+settings.targetid+' resize.'+settings.targetid
jQuery(window).unbind(evtstr)},loadajaxcontent:function($,settings){$.ajax({url:settings.externalsource,error:function(ajaxrequest){alert('Error fetching Ajax content.\nServer Response: '+ajaxrequest.responseText)},success:function(content){var $target=$(content)
if($target.get(0).id==settings.targetid)
alwaysOnTop.positiontarget($target.appendTo('body'),settings)
else
alert('Error: The value you have entered for "targetid" ('+settings.targetid+') '
+'doesn\'t match the ID of your remote content\'s DIV container ('+$target.get(0).id+'). This must be corrected')}})},init:function(options){var settings={}
settings=jQuery.extend(settings,this.dsettings,options)
this.settingscache[settings.targetid]=settings
if(typeof settings.frequency=="number")
settings.display=(settings.frequency>Math.random())?1:0
else if(settings.frequency=="session")
settings.display=(this.getCookie('sots'+settings.targetid)=='shown')?0:1
else if(/^\d+ day/i.test(settings.frequency)){if(parseInt(this.getCookie('sotp'+settings.targetid))!=parseInt(settings.frequency))
this.setCookie('sotp'+settings.targetid,'',-1)
settings.display=(this.getCookie('sotp'+settings.targetid)!=null)?0:1}
jQuery(document).ready(function($){if(settings.externalsource!=''&&settings.display){alwaysOnTop.loadajaxcontent($,settings)}
else if(settings.externalsource==''){var $target=$('#'+settings.targetid)
if(!settings.display){$target.hide()
return false}
else{alwaysOnTop.positiontarget($target,settings)}}})},getCookie:function(Name){var re=new RegExp(Name+"=[^;]*","i");if(document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1]
return null},setCookie:function(name,value,days){if(typeof days!="undefined"){var expireDate=new Date()
var expstring=expireDate.setDate(expireDate.getDate()+days)
document.cookie=name+"="+value+"; expires="+expireDate.toGMTString()}
else
document.cookie=name+"="+value+"; path=/"}}
