
(function($){ieQuirks=$.browser.msie&&!$.boxModel
$.fn.validate=function(options){var defaults={type:'numeric'};var options=$.extend(defaults,options);return this.each(function(){switch(options.type){case'numeric':$(this).keypress(function(e){if(e.which!=13&&e.which!=8&&e.which!=0&&(e.which<48||e.which>57)){return false;}});break;}});}
$.isEmail=function(value){var filter=/^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;if(!filter.test(value))
return false;return true;}
$.fn.loveliiselect=function(options){var defaults={containercss:'loveliilist'};var options=$.extend(defaults,options);return this.each(function(){var e=$(this);e.hide();var inner;var label=$("label[for='"+e.attr("id")+"']");if(label!=null){label.hide();var labelc=$("<div>"+label.text()+"</div>").css("margin-left","5px");label.replaceWith(labelc);inner=$("<div></div>").addClass("inner");labelc.before($("<div></div>").addClass("loveliicheck").append(inner));labelc.addClass("listlabel").click(function(){lc.slideToggle();});}
setStyle(inner,e);var lc=$("<div />").addClass(options.containercss);var ul=$("<ul></ul>");lc.append(ul);e.parent().append(lc);e.children().each(function(){var option=$(this);var o=$("<li>"+$(this).text()+"</li>");if($(this).attr("selected"))
o.addClass("selected");o.click(function(){if(option.attr("selected")){option.attr("selected",false);}
else
option.attr("selected",true);o.toggleClass("selected");setStyle(inner,e);});ul.append(o);});});function setStyle(i,e){e.children(":selected").length==0?i.removeClass("checked"):i.addClass("checked");}}
$.fn.loveliicheck=function(options){var defaults={containercss:'loveliicheck'};var options=$.extend(defaults,options);return this.each(function(){var chk="checked";var e=$(this).hide();var c=$("<div></div>").attr("class",e.attr("class")).addClass(options.containercss);e.hide().after(c);var inner=$("<div></div>");if(e.attr(chk))
inner.addClass(chk);c.click(function(){e.trigger("click");e.trigger("change");}).append(inner);e.change(function(){if(e.attr(chk))
inner.addClass(chk);else{inner.removeClass(chk);}});});}
$.fn.loveliidropdown=function(options){var defaults={containercss:'loveliidropdowncontainer',dropcss:'loveliidropdown',items:''};var options=$.extend(defaults,options);return this.each(function(){var e=$(this);if(e.attr("multiple"))
return;e.hide();var con=$("<div />").addClass(options.containercss);var d=$("<input readonly type='text'></input>").val(e.children(":selected").text()).css("border","0");con.append(d).append($("<div />").addClass("loveliicheck").append($("<div></div>").addClass("inner").addClass("checked")));e.after(con);d.css("width",parseInt(e.css("width").replace("px",""))-19+"px");con.css("width",e.css("width"));var drop=$("<div></div>").addClass(options.dropcss);$("body").append(drop);d.keydown(function(k){if(k.which==9)
drop.hide();if(k.which==27)
drop.hide();if(k.which==40){if(e.attr("selectedIndex")<e.children().length){e.attr("selectedIndex",e.attr("selectedIndex")+1);d.val(e.find(":selected").text());}}
if(k.which==38){if(e.attr("selectedIndex")!=0){e.attr("selectedIndex",e.attr("selectedIndex")-1);d.val(e.find(":selected").text());}}})
d.keyup(function(k){if(k.which==18)
dropdown(drop,d,e);});con.click(function(){if(drop.css("display")!="none"){drop.hide();}
else{dropdown(drop,d,e);}});});function dropdown(drop,d,e){$("."+options.dropcss).hide();if(drop.children().length!=0);drop.children().remove();e.children("[selected=false]").each(function(index,i){var item=$("<div>"+$(this).text()+"</div>");drop.append(item.click(function(){e.val($(i).attr("value"));d.val(item.text()).focus();e.trigger("change");drop.hide();}));});var t=d.offset().top-$(window).scrollTop();var b=($(window).height()-t)-d.height();var offset=d.parent().offset();var p=offset.top;if(b<t){if(drop.height()>t)
drop.css("height",t-20);drop.css("top",p-drop.height()-9);if(drop.height()>t)
drop.height(t-40);}
else{p+=d.height()+9;drop.css("top",p);if(drop.height()>b)
drop.height(b-40);}
drop.css("width",d.parent().innerWidth());drop.css("width",drop.width()-(drop.innerWidth()-drop.width()));drop.css("left",offset.left);drop.show();}
function setHeight(dc,d,s,it){if(d.height()>s)
d.css("height",s-20);drop.css("top",dc.offset.top-d.height()-9);}}
$.fn.profilescroller=function(options){var defaults={images:''};var options=$.extend(defaults,options);return this.each(function(){var u=$("<ul><ul>").addClass("profilescroller");$(options.images).each(function(key){var i=options.images[key];var li=$("<li></li>");u.append(li);var a=$("<a></a>").attr("href","/profiles/"+i.U);li.append(a.loveliithumb(i.I));});$(this).append(u);});}
$.fn.loveliithumb=function(id,options){var defaults={isactive:true};var options=$.extend(defaults,options);return this.each(function(){var ip="/content/userimages/profilethumb/"+id+".jpg"
var i=$("<img />").addClass("profilethumbimage");var image=new Image();var img=$(image);img.load(function(){if(!options.isactive){i.attr("src","/content/images/awaiting_small.jpg").css("cursor","pointer").click(function(){$.loveliimessagebox("Vi har endnu ikke godkendt brugerens profilbillede. Vi ved derfor ikke hvad der gemmer sig bag denne låge. Ønsker du alligevel at se billedet?",{onTrue:function(){i.attr("src",ip);i.unbind("click").css("cursor","inherit");}});});}
else
i.attr("src",ip);});img.error(function(){i.attr("src","/content/images/no_image_boy.jpg");});img.attr("src",ip);$(this).append(i);});}
$.loveliiminiprofile=function(u){var mc=$("<div />").addClass("profilethumb");if(u.IO)mc.append($("<b />").addClass("onlinebullet"));mc.loveliithumb(u.II,{isactive:u.IA});mc.find("img").attr("align","left");var s=$("<span />");s.append("<a href='/profiles/"+u.U+"'>"+u.U+"</a>");mc.append(s);s=$("<span />");if(u.age!=0)
s.text(u.age+" år");if(u.area!=null)
s.text(s.text()+" fra "+u.area);mc.append(s);s=$("<span />").append("<a href='/profiles/viewanonymous/"+u.U+"'>Besøg anonymt</a>");mc.append(s);return mc;}
$.fn.loveliimenu=function(options){var e=$(this);var defaults={containersub:"containersubmenu",menu:'',authorized:true};var options=$.extend(defaults,options);return this.each(function(){var u=$("<ul></ul>");$(options.menu).each(function(key){var m=options.menu[key]
var l=$("<li></li>");var a=$("<a>"+m.N+"</a>").addClass("menu").attr("href","#");if(m.NA==0&&!options.authorized)
a.addClass("authorize").addClass("lock");else{a.attr("href",m.P);if(options.authorized){if(m.I)
buildsubmenu(options.containersub,m.SMI);l.hoverIntent(function(){buildsubmenu(options.containersub,m.SMI);},function(){});}}
l.append(a);u.append(l);});e.append(u);});}
$.fn.buildmail=function(options){var defaults={containercss:'loveliicheck'};var options=$.extend(defaults,options);return this.each(function(){});}
var dragging=false;$.fn.buildimage=function(options){var defaults={image:null,onSelected:function(){},onDelete:function(){},onBuilt:function(){},isme:false};var options=$.extend(defaults,options);var cx,cy,current=null;return this.each(function(){var e=$(this);var i=options.image;var ic=$("<div />").addClass("imagecontainer");var image=new Image();var img=$(image);img.load(function(){var imgc=$("<div/>").css("background-image","url(/content/userimages/thumbs/"+i+".jpg)").addClass("imagethumb").css("width",image.width).css("height",image.height);ic.append(imgc);if(options.isme){var ifc=$("<div />").addClass("containerdelete");ifc.append($("<a>Slet</a>").attr("href","#").click(function(){$.loveliimessagebox("Er du sikker på du vil slette dette billede?",{onTrue:function(){$.post("/Images/DeleteImage",{guid:i},function(result){if(typeof options.onDelete=='function'){options.onDelete(result);}
ic.fadeOut("fast");});}});return false;}));imgc.append(ifc);imgc.mouseenter(function(){if(!dragging)
ifc.fadeTo("fast",0.8);});imgc.mouseleave(function(){ifc.fadeTo("fast",0.01);});}
e.append(ic);if(typeof options.onBuilt=='function')
options.onBuilt(imgc,i);});img.attr("src","/content/userimages/thumbs/"+i+".jpg");});}
$.fn.loveliidragable=function(options){var defaults={onDrag:function(){},onDropped:function(){}};var options=$.extend(defaults,options);var mid=false,x,y
return this.each(function(){$(this).each(function(index,m){var elem=$(this);elem.mousedown(function(e){current=elem;x=e.pageX;y=e.pageY;mid=true;elem.bind("mousemove",createdragableclone);});elem.mouseup(function(){mid=false;});});});function createdragableclone(e){if(mid){if(e.pageX!=x||e.pageY!=y){dragging=true;current.unbind("mousemove");var c=$(current).clone();c.find("div").remove();c.css("position","absolute").fadeTo(0,0.8);$(document.body).append(c);if(typeof options.onDrag=='function')
options.onDrag();$(document.body).mouseup(function(ex){dragging=false;$(document.body).unbind("mouseup").unbind("mousemove");c.remove();if(typeof options.onDropped=='function')
options.onDropped(ex);return false;});$(document.body).mousemove(function(e){c.css("top",e.pageY);c.css("left",e.pageX);return false;});}}}}
$.fn.buildguestbook=function(options){var defaults={messages:null,isme:false};var options=$.extend(defaults,options);var cx,cy,current=null;return this.each(function(){var e=$(this);$(options.messages).each(function(index,m){e.addguestbookmessage({message:m,isme:options.isme});});});}
$.fn.addguestbookmessage=function(options){var defaults={message:null,isme:false,onDeleted:function(){}};return this.each(function(){var m=options.message;var e=$(this);var gbc=$("<div></div>").css("margin-bottom","5px");gbc.append($("<div></div>").addClass("gbimagecontainer").loveliithumb(m.PI,{isactive:m.IA}));var mc=$("<div></div>").addClass("gbmessagecontainer").text("Skrevet af: ").append($("<a>"+m.U+"</a>").attr("href","/profiles/"+m.U)).append(" <span>Klokken "+m.C+"</span>");mc.append($("<div>"+m.B+"</div>").css("margin-top","10px"));if(options.isme){mc.append($("<div></div>").css("margin-top","10px").append($("<a href='#'>Slet besked</a>").click(function(){$.post("/guestbook/delete",{id:m.I},function(){if(typeof options.onDeleted=='function')
options.onDeleted(m);});gbc.hide();})));}
gbc.append(mc);e.prepend(gbc);});}
$.fn.buildbackdragger=function(options){var defaults={image:null,onSelected:function(){},onCompleted:function(){},onDragEnd:function(){}};var options=$.extend(defaults,options);var cx,cy,backx,backy,current=null;return this.each(function(){var e=$(this);var i=options.image;var ip="/content/userimages/thumbs/"+i.I+".jpg";var tc=$("<div></div>").addClass("profilethumbimage").css("background-image","url("+ip+")").css("cursor","move");tc.css("background-position","-"+i.L+"px -"+i.T+"px");e.append(tc);tc.mouseover(function(e){});tc.mousedown(function(e){if(typeof options.onSelected=='function')
options.onSelected(i);current=i;sc(e);tc.bind("mousemove",dragBackground);return false;});tc.mouseup(function(){tc.unbind("mousemove",dragBackground);if(typeof options.onDragEnd=='function')
options.onDragEnd(backx,backy);return false;});tc.mouseleave(function(){tc.trigger("mouseup");return false;});if(typeof options.onCompleted=='function')
options.onCompleted(options.image);});function sc(e){cx=e.pageX;cy=e.pageY;}
function dragBackground(e){var bp="background-position";var a=$(this).css(bp).replace(/px/g,"").split(" ");var x=parseInt(a[0]),y=parseInt(a[1]);var xw=current.W-$(this).width();var yw=current.H-$(this).height();if(e.pageX>cx)
x+=e.pageX-cx;if(e.pageX<cx)
x-=cx-e.pageX;if(e.pageY>cy)
y+=e.pageY-cy;if(e.pageY<cy)
y-=cy-e.pageY;if(x>xw)x=xw;if(x<(xw-(xw*2)))x=xw-(xw*2)
if(x>=0)x=parseInt(a[0]);if(y>yw)y=yw;if(y<(yw-(yw*2)))y=yw-(yw*2)
if(y>=0)y=parseInt(a[1]);$(this).css(bp,x+"px "+y+"px");backx=x;backy=y;cx=e.pageX;cy=e.pageY;return false;}}
$.loveliimessage=function(message,options){var ct=false;var defaults={timer:3000,animate:false,overlaycloses:true};var options=$.extend(defaults,options);$.loveliimodal({container:$("<div>"+message+"</div>"),width:400,height:30,onClose:function(){ct=true;},showoverlay:true,animate:options.animate,dialogclass:"loveliimessage",overlaycloses:options.overlaycloses});if(options.timer!=0){window.setTimeout(function(){if(!ct)
$.loveliimodal.close();},options.timer);}}
$.loveliimessagebox=function(message,options){var ct=false;var defaults={onTrue:function(){},onFalse:function(){}};var options=$.extend(defaults,options);var c=$("<div></div>");var mc=$("<div>"+message+"</div>");c.append(mc);var bc=$("<div />");c.append(bc);bc.append($("<button>Ja</button>").click(function(){$.loveliimodal.close();if(typeof options.onTrue=='function')
options.onTrue();}));bc.append($("<button>Nej</button>").click(function(){$.loveliimodal.close();if(typeof options.onFalse=='function')
options.onFalse();}));$.loveliimodal({container:c,width:400,height:90,showoverlay:true,animate:options.animate,dialogclass:"loveliimessagebox",overlaycloses:options.overlaycloses});}
$.loveliitouch=function(options){return $.loveliitouch.impl.init(options);};$.loveliitouch.defaults={onComplete:new Array(),intervalId:0};$.loveliitouch.register=function(fn){$.loveliitouch.impl.register(fn);};$.loveliitouch.stop=function(){$.loveliitouch.impl.stop();};$.loveliitouch.runatonce=function(){$.loveliitouch.impl.stop();$.loveliitouch.impl.run();$.loveliitouch.impl.start();};$.loveliitouch.impl={opts:null,init:function(options){opts=$.extend({},$.loveliitouch.defaults,options);this.start();},start:function(){opts.intervalId=setInterval(function(){$.loveliitouch.impl.run();},10000)},run:function(){$.getJSON("/Account/Touch",{},function(data){if(typeof opts.onComplete=='object'){for(var i=0;i<opts.onComplete.length;i++){opts.onComplete[i](data);}}},"json");},stop:function(){clearInterval(opts.intervalId);},register:function(fn){opts.onComplete.push(fn);}};$.loveliimodal=function(options){return $.loveliimodal.impl.init(options);};$.fn.loveliimodal=function(options){return this.click(function(){$.loveliimodal.impl.init(this,options)});};$.loveliimodal.defaults={container:null,height:400,width:470,onClose:function(){},showoverlay:true,overlayclass:"loveliimodaloverlay",dialogclass:"loveliimodal",overlaycloses:true};$.loveliimodal.close=function(){$.loveliimodal.impl.close();};$.sendletter=function(t,b,options){var defaults={onSuccess:function(){}};var options=$.extend(defaults,options);b=jQuery.trim(b);if(b.length==0){$.jGrowl("Det giver ikke megen mening at sende tomme beskeder?");return;}
$.jGrowl(resources.SendingLetter);$.post("/mail/sendletter",{id:t,body:b},function(result){if(!result)
$.jGrowl(resources.PossibleSpamDetected,{life:20000});else{$.jGrowl(resources.LetterWasSent);if(typeof options.onSuccess=='function')
options.onSuccess(result);}},"json");};var resources;$.setresource=function(resource){resources=resource;};$.loveliimodal.impl={opts:null,init:function(options){opts=$.extend({},$.loveliimodal.defaults,options);this.create();},close:function(){if(typeof opts.onClose=='function')
opts.onClose();if(!opts.animate)
dialog.hide();else
dialog.fadeOut(500);overlay.hide();},overlay:{},dialog:{},create:function(){var w=$(document).width(),h=$(document).height();if(ieQuirks)
w=$('body').attr('clientWidth'),h=$('body').attr('clientHeight')
overlay=$('<div/>',{"class":opts.overlayclass,css:{height:h,width:w}});dialog=$('<div/>',{"class":opts.dialogclass,css:{height:opts.height+"px",width:opts.width+"px",top:($(window).height()/2)-opts.height/2,left:(w/2)-opts.width/2}});overlay.appendTo("body");if(opts.overlaycloses)
overlay.click(destroy);opts.container.show().appendTo(dialog);dialog.appendTo("body");function show(){if(opts.showoverlay)
overlay.show();dialog.fadeIn(500);}
function destroy(){overlay.hide();dialog.hide();}
show();}};})(jQuery);