
var TLD='{/*[TLD]*/}';function utcToLocal(utc){return new Date(utc.getTime()+(new Date().getTimezoneOffset()*60000));}
function zeroPad(n,digits){n=n.toString();while(n.length<digits){n='0'+n;}
return n;}
function formatItemDate(date,excludeTime){var now=new Date();var months=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');excludeTime=excludeTime==true;var formatTime=function(date){return zeroPad(date.getHours(),2)+':'+zeroPad(date.getMinutes(),2);}
var result;if(now.getDate()==date.getDate()&&now.getMonth()==date.getMonth()&&now.getFullYear()==date.getFullYear()){result='Today';if(!excludeTime)
result+=(', '+formatTime(date));}else if(now.getDate()-1==date.getDate()&&now.getMonth()==date.getMonth()&&now.getFullYear()==date.getFullYear()){result='Yesterday';if(!excludeTime)
result+=(', '+formatTime(date));}else{return months[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear();}
return result;}
String.prototype.format=function(){var pattern=/\{\d+\}/g;var args=arguments;return this.replace(pattern,function(capture){return args[capture.match(/\d+/)];});}
function displayLogOn(){DialogLoader.display('Account/LogOnControl','Log On',{modal:true,cache:true});}
function displaySearch(dataStream,orId){var caption='Stream Edit';var path='DataStream/EditControl';var width=$(window).width()*0.9;var y=50;var height=480;if(arguments.length==0)
DialogLoader.display(path,caption,{modal:true,cache:true,width:width,height:height,y:y});else if(arguments.length==2)
DialogLoader.display(path+'/'+orId,caption,{modal:true,cache:false,width:width,height:height,y:y});else
DialogLoader.display(path,caption,{modal:true,cache:false,width:width,height:height,y:y,type:'POST',data:$.compactJSON(dataStream)});}
function getView(path,onSuccess,onFailure,options){$.ajax({url:path,success:onSuccess,failure:onFailure,data:getOption(options,'data',null),type:getOption(options,'type','GET')});}
function ajaxSubmit(form,e,onSuccess,onFailure){var data=new Object();$(form).find('input').each(function(i,input){var send=input.type!='button'&&input.type!='submit';if(send&&(input.type!='hidden'||(input.type=='hidden'&&$(form).find('input:checkbox[name={0}]'.format(input.name)).size()==0))){var value=input.type=='checkbox'?input.checked.toString():$.trim(input.value);if(value.length>0){eval('data.{0}="{1}"'.format(input.name,input.value));}}});function callBackEnclosure(form,onSuccess,onFailure){var _form=form;var _onSuccess=onSuccess;var _onFailure=onFailure;this.success=function(response){_onSuccess(_form,response);}
this.failure=function(){_onFailure(_form);}}
var cb=new callBackEnclosure(form,onSuccess,onFailure);RoosstProxy.controllerAction(form.action,cb.success,cb.failure,data);if(!$.browser.msie)
e.stopPropagation();return false;}
function showTab(li,tabId){li.className='active';$(li).siblings().each(function(i,el){el.className='inactive';});$(li).parent().parent().find('div[tabId]').each(function(i,el){if($(el).attr('tabId')==tabId)
$(el).show();else
$(el).hide();});}
function dataStreamRssItem(name){this.name=name;this.id=0;}
function dataStream(id,name,description,searchTerm,dataStreamRssItems,keywords,timeConstraint){this.id=id;this.name=name;this.description=description;this.searchTerm=searchTerm;this.rssItems=dataStreamRssItems;this.keywords=keywords==undefined?null:keywords;this.timeConstraint=timeConstraint==undefined?null:timeConstraint;}
function getOption(options,prop,defaultValue){var result=defaultValue;if(options!=undefined&&options!=null){var val=eval('options.'+prop);if(val!=undefined)
result=val;}
return result;}
function DialogLoader(){}
DialogLoader.cache=new Array();DialogLoader.display=function(path,title,options){var box=new Boxy('<p>Please wait...</p>',{title:title,modal:getOption(options,'modal',false),unloadOnHide:true});var type=getOption(options,'type','GET');var key='{0}:{1}'.format(path,type);var cache=getOption(options,'cache',false);var cached=DialogLoader.cache[key];var rendered=getOption(options,'rendered',null);var finalRendering=function(data){box.setContent(data);var size=box.getContentSize();var width=getOption(options,'width',size[0]);var height=getOption(options,'height',size[1]);box.resize(width,height);box.center();var pos=box.getPosition()
var x=getOption(options,'x',pos[0]);var y=getOption(options,'y',pos[1]);box.moveTo(x,y);if($.isFunction(rendered))
rendered(box);};if(typeof(cached)=='undefined'){getView(TLD+path,function(data){if(cache)
DialogLoader.cache[key]=data;finalRendering(data);},function(){box.setContent('<p>Internal error :(</p>');box.center();},options);}
else{finalRendering(cached);}
return box;}
function RoosstEvents(){}
RoosstEvents.logOnCallBacks=new Array();RoosstEvents.dataStreamEditedCallBacks=new Array();RoosstEvents.basketToggleCallBacks=new Array();RoosstEvents.registerLogOn=function(callback){RoosstEvents.logOnCallBacks.push(callback);}
RoosstEvents.registerDataStreamEdited=function(callback){RoosstEvents.dataStreamEditedCallBacks.push(callback);}
RoosstEvents.registerBasketToggle=function(callback){RoosstEvents.basketToggleCallBacks.push(callback);}
RoosstEvents.raiseBasketToggle=function(hash,removed){for(i in RoosstEvents.basketToggleCallBacks)
RoosstEvents.basketToggleCallBacks[i](hash,removed);}
RoosstEvents.raiseLogOn=function(userName){for(i in RoosstEvents.logOnCallBacks)
RoosstEvents.logOnCallBacks[i](userName);}
RoosstEvents.raiseDataStreamEdited=function(dataStream,box){for(i in RoosstEvents.dataStreamEditedCallBacks)
RoosstEvents.dataStreamEditedCallBacks[i](dataStream,box);}
function RoosstProxy(){}
RoosstProxy.executeStream=function(stream,onSuccess,onFailure){var params=$.compactJSON({dataStream:stream});$.ajax({type:'POST',url:'/Services/DataStreamService.svc/ExecuteStream',data:params,dataType:'json',contentType:'application/json',processData:false,success:onSuccess,error:onFailure});}
RoosstProxy.executeStreamByID=function(id,onSuccess,onFailure){var params=$.compactJSON({dataStreamID:id});$.ajax({type:'POST',url:'/Services/DataStreamService.svc/ExecuteStreamByID',data:params,dataType:'json',contentType:'application/json',processData:false,success:onSuccess,error:onFailure});}
RoosstProxy.controllerAction=function(path,onSuccess,onFailure,data){if(data==undefined||data==null)
data={};$.ajax({type:'POST',url:TLD+path,data:data,dataType:'json',success:onSuccess,error:onFailure});}