
var reMsAjax=/^\/Date\((d|-|.*)\)[\/|\\]$/;var defaultAjaxTimeout=30000;var templatesPlaceHolderId_Default="delivergo_templates";var _State={DesignerLoaded:false,ControlsLoaded:false,DesignerLoadedCallback:null,ControlsLoadedCallback:null};log=function(arg1,arg2,arg3){if(this.console){if(typeof arg1!="undefined"&&typeof arg2!="undefined"&&typeof arg3!="undefined"){console.log(arg1,arg2,arg3);}else if(typeof arg1!="undefined"&&typeof arg2!="undefined"){console.log(arg1,arg2);}else if(typeof arg1!="undefined"){console.log(arg1);}}}
error=function(result){$error=$("#Error");if($error.length==0){$error=$("body").append('<div id="Error" class="error"></div>');}
var x=JSON2.parse(result.responseText);var text='<div class="head">'+x.ExceptionDetail.Message+'</div>';$("#Error").append(errorRecurse(text,x.ExceptionDetail,''));}
errorRecurse=function(text,exception,prefix){if(exception){text+='<div class="detail">'+prefix+exception.StackTrace+'</div>';if(exception.InnerException){text=errorRecurse(text,exception.InnerException,"<strong>InnerException</strong>:\n");}}
return text;}
delivergo=function(){$.ajaxSetup({contentType:"application/json; charset=utf-8",dataType:"json",type:'POST',error:function(xhr,ajaxOptions,thrownError){error(xhr);},timeout:defaultAjaxTimeout,dataFilter:function(data){var msg;if(typeof(JSON2)!=='undefined'&&typeof(JSON2.parse)==='function'&&data!=null&&data!="")
msg=JSON2.parse(data);else
msg=eval('('+data+')');if(msg.hasOwnProperty('d'))
return msg.d;else
return msg;}});var $this=$(this);$(document).mouseup(function(event,data){$this.trigger('dgo.documentMouseUp',[event]);});$(document).keyup(function(event,data){$this.trigger('dgo.documentKeyUp',[event]);});return this;}
delivergo.prototype={_document_Handlers:[],_inchToMm:25.4,_stateCache:[],mmToInch:function(mm,round){var val=(mm/this._inchToMm);if(round){return val.toFixed(2);}
return val;},inchToMm:function(inches,round){var val=(inches*this._inchToMm);if(round){return val.toFixed(2);}
return val;},OnDocumentEvent:function(eventType,source,fun){if(containsElement(this._document_Handlers,function(item){return item.type==eventType&&item.source===source;})){return;}
var _this=this;$(_this).bind('dgo.document'+eventType,function(e,data){fun(e,data);});this._document_Handlers.push({type:eventType,source:source});},DetachDocumentEvent:function(eventType,source){if(!containsElement(this._document_Handlers,function(item){return item.type==eventType&&item.source===source;})){return;}
$(_this).unbind('dgo.document'+eventType);removeElementIf(this._document_Handlers,function(item){return item.type==eventType&&item.source===source;});},DetachAllDocumentEvents:function(){var _this=this;$.each(this._document_Handlers,function(){$(_this).unbind('dgo.document'+this.eventType);});this._document_Handlers=[];},DetachDocumentMouseUp:function(source){this.DetachDocumentEvent("MouseUp",source);},DetachDocumentKeyUp:function(source){this.DetachDocumentEvent("KeyUp",source);},OnDocumentMouseUp:function(source,fun){this.OnDocumentEvent("MouseUp",source,fun);},OnDocumentKeyUp:function(source,fun){this.OnDocumentEvent("KeyUp",source,fun);},OnFetchContentItem:function(contentItemId){return null;},GetState:function(controlId){return this._stateCache[controlId];},SetState:function(controlId,state){if(state==null){return;}
this._stateCache[controlId]=state;},MergeState:function(state){if(state!=null){if(dgo.getCurrentState()==null){dgo.setCurrentState(state);}else{dgo.setCurrentState($.extend(dgo.getCurrentState(),state));}}},getCurrentState:function(){return this.GetState("CurrentState");},setCurrentState:function(val){this.SetState("CurrentState",val);},getCurrentUserId:function(){var state=this.getCurrentState();if(state!=null&&state.User!=null){return state.User.Id;}
return null;}};var dgo=new delivergo();ToJson=function(argument,indent){if(indent==undefined||indent==true||indent==false){var json=null;if(indent){json=JSON2.stringify(argument,true,null," ");}else{json=JSON2.stringify(argument,true);}
return json;}else{throw new SyntaxError('Malformed call to ToJson: '+argument);}}
jQuery.extend({blockUI:function(){var $overlay=$(".dgo-ui-overlay");if($overlay.length==0){$overlay=$('<div class="dgo-ui-overlay"><div class="dgo-ui-overlay-block"></div><div class="dgo-ui-overlay-image"></div></div>');$overlay.appendTo(document.body);$.doTimeout('dgo-ui-block',1000,function(){$overlay.find(".dgo-ui-overlay-image").show();$overlay.find(".dgo-ui-overlay-block").show();});}else{$overlay.show();}},unblockUI:function(){var $overlay=$(".dgo-ui-overlay");if($overlay.length>0){$overlay.hide();$.doTimeout('dgo-ui-block');}}});jQuery.fn.extend({getMousePosition:function(mouseEvent){var offset=this.offset();return{x:mouseEvent.pageX-offset.left,y:mouseEvent.pageY-offset.top}},isVisible:function(){var displayCss=this.css("display");return displayCss!="none";},hasEitherClass:function(classes){var type=Object.prototype.toString.call(classes);if(type!="[object Array]"){if(type=="[object String]"){classes=classes.split(' ');}}
var $this=$(this);var result=false;$.each(classes,function(index,item){if($this.hasClass(item.trim())){result=true;return false;}});return result;},createHoverButton:function(){var _this=this;_this.hover(function(){var $this=$(this);$this.addClass("ui-state-hover");},function(){var $this=$(this);$this.removeClass("ui-state-hover");});return this;},getPositionFromCss:function(){return{x:parseInt(this.css("left").replace("px","")),y:parseInt(this.css("top").replace("px",""))};},setPositionByCss:function(newPosition,animate,onAnimateFinished){if(animate){this.animate({left:newPosition.x+"px",top:newPosition.y+"px"},100,onAnimateFinished);}else{this.css({left:newPosition.x+"px",top:newPosition.y+"px"});}},getSizeFromCss:function(){return{width:parseInt(this.css("width").replace("px","")),height:parseInt(this.css("height").replace("px",""))};},emptyExcept:function(boolCallback){this.children().each(function(intIndex){var $this=$(this);if(boolCallback($this)){return;}
$this.remove();});},setSizeByCss:function(newSize,animate,onAnimateFinished){if(animate){this.animate({width:newSize.width+"px",height:newSize.height+"px"},100,onAnimateFinished);}else{this.css({width:newSize.width+"px",height:newSize.height+"px"});}}});sortElements=function(elements,evalFunc){elements.sort(function(a,b){var topA=evalFunc($(a));var topB=evalFunc($(b));if(topA<topB)
return-1;if(topA>topB)
return 1;return 0;});}
handleDefaultText=function($element){$element.focus(function(){var $this=$(this);var textVal=$this.val();var defaultVal=$this.data("Default");if(defaultVal==null||defaultVal==""){$this.data("Default",$this.val());$this.val("");}else{if(textVal==null||textVal==""||textVal==defaultVal){$this.val("");}}}).blur(function(){var $this=$(this);var textVal=$this.val();var defaultVal=$this.data("Default");if(textVal==null||textVal==""){$this.val(defaultVal);}});}
ajaxError=function(xhr){if(xhr.responseText){var errorObj=JSON2.parse(xhr.responseText);if(errorObj){error("AjaxError: "+errorObj.ExceptionDetail.Message+'\r'+
errorObj.ExceptionDetail.StackTrace);return;}
error("Error: "+xhr.responseText);return;}
error("Error: "+xhr.status+": "+xhr.statusText);}
removeElementAt=function(arg,from,to){if(arg==null){return null;}
var rest=arg.splice((to||from)+1||arg.length);arg.length=from<0?arg.length+from:from;return arg.push.apply(arg,rest);};removeElement=function(arg,s){for(i=0;i<arg.length;i++){if(s==arg[i])
arg.splice(i,1);}}
containsElement=function(arg,booleanFunc){for(i=0;i<arg.length;i++){if(booleanFunc(arg[i]))
return true;}
return false;}
findElement=function(arg,booleanFunc){for(i=0;i<arg.length;i++){if(booleanFunc(arg[i]))
return arg[i];}
return null;}
removeElementIf=function(arg,booleanFunc){for(i=0;i<arg.length;i++){var current=arg[i];if(booleanFunc(current)){arg.splice(i,1);removeElementIf(arg,booleanFunc);}}}
Number.prototype.pad=function(length){var str=""+this;var prefix=str[0];if(prefix=="+"||prefix=="-"){str=str.replace(prefix,"");}else{prefix="";}
while(str.length<length){str="0"+str;}
return prefix+str;}
String.prototype.getServerProxy=function(stateControlId){var proxy="/AjaxProxy.ashx";var state;if(stateControlId!=null&stateControlId!=""){state=dgo.GetState(stateControlId);}else{state=dgo.getCurrentState();}
if(state!=null&&state.AjaxProxyUri!=null&&state.AjaxProxyUri!=""){proxy=state.AjaxProxyUri;}
return proxy+"?u="+this.getServer();}
String.prototype.shorten=function(maxCharacters,postfix){var postFixLength=0;if(postfix!=null){postFixLength=postfix.length;}
var finalLength=maxCharacters-postFixLength;if(this.length>finalLength){return this.substr(0,finalLength)+postfix;}
return this.substr(0);}
String.prototype.getServer=function(){return dgo.getCurrentState().ServerBaseUri+this;}
jQuery.fn.outerhtml=function(){var content=this.eq(0).clone();return $('<div>').append(content).html();};Date.prototype.formatDate=function(){return $.format.date(this,"dd.MM.yy HH:mm");}
String.prototype.parseJsonDate=function(){var a=reMsAjax.exec(this);if(a){var b=a[1].split(/[-+,.]/);return new Date(b[0]?+b[0]:0-+b[1]);}
return null;}
String.prototype.isNullOrEmpty=function(){return this==null||this=="";}
fixPngTransparency=function(){var $designArea=$("#design-area");var backgroundMatch=$designArea.css("background").match("(url[(][\"']?)(.*)[\"']?([)])");if(backgroundMatch==null||backgroundMatch.length!=4){return;}
var imageSrc=backgroundMatch[2];$designArea.css({filter:getPngFilter(imageSrc,'crop'),backgroundImage:'none'});}
getPngFilter=function(imageSrc,sizingMethod){return"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+encodeURI(imageSrc)+"',sizingMethod='"+sizingMethod+"')";}
$.fn.pager=function(settings,pageNumber){options={pageCount:1,lastLabel:'&gt;&gt;',firstLabel:'&lt;&lt;',prevLabel:'&lt;',nextLabel:'&gt;'};var options=$.extend(options,settings);var firstButton="page-first";var nextButton="page-next";var prevButton="page-prev";var lastButton="page-last";return this.each(function(){var $$=$(this);renderpager($$,options,pageNumber);});function renderpager($element,options,pageNumber){var pageCount=parseInt(options.pageCount);var buttonClickCallback=options.buttonClickCallback;var $pager=$('<ul class="pages"></ul>');$pager.append(renderButton(firstButton,options,pageNumber)).append(renderButton(prevButton,options,pageNumber));var startPoint=1;var endPoint=9;if(pageNumber>4){startPoint=pageNumber-4;endPoint=pageNumber+4;}
if(endPoint>pageCount){startPoint=pageCount-8;endPoint=pageCount;}
if(startPoint<1){startPoint=1;}
for(var page=startPoint;page<=endPoint;page++){var currentButton=$('<li class="page-number">'+(page)+'</li>');page==pageNumber?currentButton.addClass('pgCurrent'):currentButton.click(function(){var destPage=this.firstChild.data;buttonClickCallback(destPage);});currentButton.appendTo($pager).css("cursor","pointer");}
$pager.append(renderButton(nextButton,options,pageNumber)).append(renderButton(lastButton,options,pageNumber));$element.empty().append($pager);}
function renderButton(buttonClass,opts,pageNumber){var pageCount=parseInt(opts.pageCount);var buttonClickCallback=opts.buttonClickCallback;var destPage=1;var buttonLabel='';switch(buttonClass){case firstButton:destPage=1;buttonLabel=options.firstLabel;break;case prevButton:destPage=pageNumber-1;buttonLabel=options.prevLabel;break;case nextButton:destPage=pageNumber+1;buttonLabel=options.nextLabel;break;case lastButton:destPage=pageCount;buttonLabel=options.lastLabel;break;}
var $Button=$('<li class="'+buttonClass+'">'+buttonLabel+'</li>');if(buttonClass==firstButton||buttonClass==prevButton){if(pageNumber<=1)
$Button.addClass('pgEmpty').css("cursor","auto");else
$Button.css("cursor","pointer").click(function(){buttonClickCallback(destPage);});}else{if(pageNumber>=pageCount)
$Button.addClass('pgEmpty').css("cursor","auto");else
$Button.css("cursor","pointer").click(function(){buttonClickCallback(destPage);});}
return $Button;}};jQuery.fn.swap=function(b){b=jQuery(b)[0];var a=this[0];var t=a.parentNode.insertBefore(document.createTextNode(''),a);b.parentNode.insertBefore(a,b);t.parentNode.insertBefore(b,t);t.parentNode.removeChild(t);return this;};jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};