/*
 * Copyright 2008 Kamarell, Kullervo Produktion (http://www.kamarell.com/). All rights reserved.
 */
function get_contact_book(a,e,d,c){var b={};b.urlParam={};if(d){b.blockMsg="LOADING"}b.onDone=function(f){e(f)};if(c){b.urlParam.inclSelf=whoami}ajax_fetch_userdata(a,"/user/contact/get",["contact"],b)}function get_gacl_members(d,e,c){var b=new Ajax();b.setUrlBase("/user/contact/get_acl_members");b.addPostParam({gacl:d});b.setOnDone(function(a){if(e){e(a)}});b.setOnError(function(){if(c){c()}});b.post()}function rend_subscription_list(a){get_contact_book(whoami,function(d){var e=0;var b="<ul>";for(var c in d){if(d[c].subscribe){b+='<li user="'+d[c].id+'">'+rend_button("DELETE")+" "+rend_user(d[c])+"</li>";e++}}if(e==0){b+="<li>Du har inga prenumerationer.</li>"}b+="</ul>";a.html(b);$(".button.delete",a).click(function(){var f=$(this,a).parents("li");fade(f);contact_subscribe_set(f.attr("user"),false,false,function(){fade_remove(f)},function(){unfade(f)})})},false)}function rend_contact_book(a){get_contact_book(whoami,function(d){var b;if(d.length==0){b="<p>Du har inga kontakter ännu.</p>"}else{b="<table>";for(var c in d){b+='<tr user="'+d[c].id+'"><td><input type="checkbox" user="'+d[c].id+'" '+(d[c].subscribe?'checked="checked" ':"")+' onmousedown="return contact_subscribe_swap(this);" />'+rend_user(d[c])+"</td><td>"+rend_button("DELETE")+"</td></tr>"}b+="</table>"}a.html(b);$(".button.delete",a).click(function(){var e=$(this).parents("tr");fade(e);contact_delete(e.attr("user"),function(){fade_remove(e);page_rend()},function(){unfade(e)})})},false)}function PrivacyControl(a){var d=this;var a=a||{};var r={onClose:null};$.extend(r,a);var m;var g;var e;var l=false;var c;var p;var b;var j;function q(){var o;switch(contextType){case"day_zoom":case"collection_zoom":o=$("#content_thumb_zoomed[owner="+whoami+"]");break;case"day":case"collection":case"upload":o=$(".content_thumb.selected[owner="+whoami+"]");break;default:return}if(o.size()==0){return}e=[];o.each(function(){e.push($(this).attr("gcid"))});m=new Popup({title:"Behörighetskontroll",sizeProfile:"privacyControl",blockUI:true,suppressClose:true,buttons:{Spara:function(){f(function(){if(r.onClose){r.onClose()}m.close()})},Avbryt:function(){m.close();if(r.onClose){r.onClose()}}}});fetch_content_access(e,function(s){p=s["public"].access_status;c=s;delete c["public"];h();l})}this.close=function(){if(m){m.close();m=null}};function h(){var o='<div class="privacyControl'+(p!==false?" public":"")+'"><h2>Vilka ska få se de markerade bilderna? ('+e.length+' st.)</h2><ul class="p"><li><label><input class="public" type="radio" name="public" value="1" '+(p===true?'checked="checked" ':"")+'/> Vem som helst</label></li><li><label><input class="public" type="radio" name="public" value="0" '+(p===false?'checked="checked" ':"")+"/> Endast nedan valda personer</label></li></ul>";o+='<div class="userListContainer" style="clear:both; float:left;"><div class="userList hasAccess"><h3>Behöriga personer</h3><ul>';for(user in c){o+=n(c[user])}o+='</ul></div></div><div class="userSelectorListContainer" style="float:left;"><h3>Din kontaktbok</h3><div class="p contactSelectorContainer"></div></div><div class="clr">&nbsp;</div></div>';m.setBody(o);j=$(".userListContainer ul",m.getContainer());$("input.public[value=1]",m.getContainer()).click(function(){$(".privacyControl",m.getContainer()).addClass("public");l=true});$("input.public[value=0], input.public[value=2]",m.getContainer()).click(function(){$(".privacyControl",m.getContainer()).removeClass("public");l=true});b=new ContactSelector({multiSelect:true,inlineContainer:$(".contactSelectorContainer",m.getContainer()).get(0),listHeight:205,filterList:k(),onDone:function(s){j.append(n(s,true));unfade($("li[user="+s.id+"]",j));l=true}})}function n(s,o){return'<li user="'+s.id+'"'+(o?'style="opacity:0;"':"")+">"+rend_button("DELETE",null,function(){fade_remove($("li[user="+s.id+"]",j));b.removeFromFilterList(s.id);l=true})+" "+full_name(s.firstname,s.lastname)+"</li>"}function f(t){if(!l){if(t){t()}return}var s;var o;if($("input.public[value=1]",m.getContainer()).get(0).checked){s=true;o=null}else{if($("input.public[value=0]",m.getContainer()).get(0).checked){s=false;o=k()}else{return}}if(g&&g.finished==false){g.abort()}g=new Ajax();g.setUrlBase("/user/content/set_access");g.addPostParam({contentList:JSON.stringify(e),"public":s,userList:JSON.stringify(o)});g.setOnDone(function(v){l=false;for(var u in e){$("#"+e[u]).attr("is_public",(s?"true":"false"))}if(t){t()}});g.setBlockMsg("SAVING");g.post()}function k(){var o=[];$(".userListContainer .userList.hasAccess ul li:not(.removing)",m.getContainer()).each(function(){o.push(parseInt($(this).attr("user")))});return o}q()}function ContactSelector(b){var g=this;var b=b||{};var p={onDone:null,onCancel:null,filterList:[],inclMyself:false,gacl:null,createAvailable:true,multiSelect:false,inlineContainer:null,listHeight:null};$.extend(p,b);var d=null;var q=null;var l=null;var h=null;var a=null;var e=null;function m(){if(p.gacl!==null&&p.createAvailable){logit("Cannot have createAvailable when accessListMatch");p.createAvailable=false}if(p.inlineContainer&&!p.multiSelect){logit("Cannot create an inline ContactSelector without multiselect");p.multiSelect=true}var o='<div class="contactSelector">';if(!p.inlineContainer){o+="<h2>";if(p.multiSelect){o+="Välj en kontakt"}else{o+="Välj en eller flera kontakter"}o+="</h2>"}o+='<div class="p"><input type="text" class="searchbar" style="width:200px;" value="Sök" data_descr="Sök" /></div><div class="p listContainer" style="'+(p.listHeight?"height:"+p.listHeight+"px;":"")+'"><ul><li>Laddar kontakter...</li></ul></div>';if(p.createAvailable){o+='<p class="p createContact">'+rend_button("Skapa en ny kontakt")+"</p>"}o+="</div>";if(p.inlineContainer){q=$(p.inlineContainer);q.html(o)}else{d=new Popup({title:"Välj en kontakt",body:o,sizeProfile:"list",onClose:p.onCancel,buttons:{"Stäng":function(){g.close()}}});q=$(d.getContainer())}l=$(".searchbar",q);jCreateContact=$(".createContact .button",q);jCreateContact.click(function(){var r=new ContactCreator({onDone:function(s){j(s);n()}})});h=$("ul",q);l.keyup(n);l.focus(c);l.blur(f);get_contact_book(whoami,function(r){a=r;n()});if(p.gacl){get_gacl_members(p.gacl,function(r){e=r;n()})}}this.close=function(){if(d){d.close();d=null}k()};this.removeFromFilterList=function(o){o=parseInt(o);for(i in p.filterList){if(p.filterList[i]==o){delete p.filterList[i]}}n()};function k(){}function n(){if(!a||(p.gacl&&!e)){return}var A=l.val();if(A==l.attr("data_descr")){A=""}var o=A.split(/ +/);for(var v in o){if(o[v].length<1){delete o[v]}else{o[v]=(o[v]).toLowerCase()}}var z=[];var y;var r;for(var v in a){y=true;for(var u in o){r=full_name(a[v].firstname,a[v].lastname);if(whoami==parseInt(a[v].id)){r+=" (jag)"}if(r.toLowerCase().indexOf(o[u])==-1){y=false;break}}if(y){z.push(parseInt(v))}}var x="";var w=0;var t;var s;for(v in z){s=z[v];t=(exists_in(p.filterList,s)||(p.gacl&&!e[s]));x+='<li user="'+s+'" class="'+(t?"disabled":"")+'">'+full_name(a[s].firstname,a[s].lastname)+(whoami==s?" (jag)":"")+"</li>";w++}if(a.length==0){x="<li>Du har inga kontakter</li>"}else{if(w==0){x="<li>Inga kontakter hittades</li>"}}h.html(x);$("li:not(.disabled)",h).click(function(){j(a[$(this).attr("user")])})}function c(){if(l.val()==l.attr("data_descr")){l.select()}}function f(){if(l.val()==""){l.val(l.attr("data_descr"))}}function j(o){if(p.onDone){p.onDone(o)}if(p.multiSelect){p.filterList.push(parseInt(o.id));$("li[user="+o.id+"]",h).addClass("disabled").unbind("click")}else{g.close()}}m()}function ContactCreator(b){var d=this;var b=b||{};var n={onDone:null};$.extend(n,b);var c=false;var e=null;var p=null;var g=null;var l=null;function k(){var o='<div class="contactCreator"><h2>	</h2><p>Här kan du lägga till nya personer i din kontaktbok. Om du vill importera många i taget eller direkt från din dators adressbok eller webbmail, gå då till <a href="'+esc(url_contact_book(whoami))+'">sidan för kontakter</a>.</p><div class="workspace"></div></div>';e=new Popup({title:"Skapa kontakt",body:o,sizeProfile:"vanillaBigger"});p=$(e.getContainer());g=$(".workspace",p);m()}function a(){var o=l.val();l.attr("disabled","disabled");get_user_by_contact_info("email",o,null,function(q){if(q){f(q)}else{j(o)}},function(){l.removeAttr("disabled")})}function m(){var o='<p>E-postadress:</p><p><input class="email" type="text" style="width:200px;" /></p><p class="add">'+rend_button("Lägg till")+"</p>";g.html(o);l=$(".email",g);$(".add .button",p).click(a)}function j(q){var o=get_name_from_email(q);var r='<table class="p"><tr><td>E-postadress:</td><td>'+esc(q)+'</td></tr><tr><td>Förnamn:</td><td><input type="text" class="firstname" style="width:200px:" value="'+(o.firstname?esc(o.firstname):"")+'" /></td></tr><tr><td>Efternamn:</td><td><input type="text" class="lastname" style="width:200px:" value="'+(o.lastname?esc(o.lastname):"")+'" /></td></tr><tr><td colspan="2"><label><input type="checkbox" class="subscr" checked="checked" />Prenumerera på '+(o.firstname?esc(name_possessive(o.firstname)):"kontaktens")+' uppladdningar</label></td></tr><tr><td colspan="2"><label><input type="checkbox" class="subscr_reverse" checked="checked" />Se till att '+(o.firstname?esc(name_possessive(o.firstname)):"kontaktens")+' prenumererar på dig</label></td></tr></table><p><span class="cancel">'+rend_button("Tillbaka")+'</span>&nbsp;&nbsp;<span class="add">'+rend_button("Lägg till")+"</span></p>";g.html(r);$(".cancel .button",g).click(m);$(".add .button",g).click(function(){$("input, .button",g).addClass("disabled");var s={};s.firstname=$(".firstname",g).val();s.lastname=$(".lastname",g).val();get_user_by_contact_info("email",q,s,function(t){contact_book_add(t.id,$(".subscr",g).attr("checked"),$(".subscr_reverse",g).attr("checked"),function(){h(t)},function(){$("input, .button",g).removeClass("disabled")})},function(){$("input, .button",g).removeClass("disabled")})})}function f(o){var q='<p class="pp">Namn: <b>'+esc(full_name(o.firstname,o.lastname))+'</b></p><p class="pp"><label><input type="checkbox" class="subscr" checked="checked" />Prenumerera på '+(name.firstname?esc(name_possessive(name.firstname)):"kontaktens")+' uppladdningar</label></p><p><label><input type="checkbox" class="subscr_reverse" checked="checked" />Se till att '+(name.firstname?esc(name_possessive(name.firstname)):"kontaktens")+' prenumererar på dig</label></p><p><span class="cancel">'+rend_button("Tillbaka")+'</span>&nbsp;&nbsp;<span class="add">'+rend_button("Lägg till")+"</span></p>";g.html(q);$(".cancel .button",g).click(m);$(".add .button",g).click(function(){$(".button",g).addClass("disabled");contact_book_add(o.id,$(".subscr",g).attr("checked"),$(".subscr_reverse",g).attr("checked"),function(){h(o)},function(){$(".button",g).removeClass("disabled")})})}function h(o){if(n.onDone&&o){n.onDone(o)}e.close()}k()}function contact_book_add(c,f,d,g,e){var b=new Ajax();b.setUrlBase("/user/contact/add");b.addUrlParam({user:c,subscr:f,subscr_reverse:d});b.setOnDone(function(a){if(g){g()}});b.setOnError(function(){if(e){e()}});b.post()}function get_user_by_contact_info(c,e,g,f,d){var b=new Ajax();b.setUrlBase("/user/contact_info/get_user");b.addPostParam({type:c,data:e});if(g){b.addPostParam({createInfo:JSON.stringify(g)})}b.setOnDone(function(a){if(f){f(a.user)}});b.setOnError(function(){if(d){d()}});b.post()}function contact_delete(c,e,d){var b=new Ajax();b.setUrlBase("/user/contact/action");b.addUrlParam({action:"delete",user:c});b.setOnDone(function(a){if(e){e()}});b.setOnError(function(a){if(d){d()}});b.post()}function contact_subscribe_swap(c){var a=$(c);var b=a.is(":checked");a.attr("disabled","disabled");contact_subscribe_set(a.attr("user"),!b,false,function(){setTimeout(function(){if(b){a.removeAttr("checked")}else{a.attr("checked","checked")}a.removeAttr("disabled")},100)},function(){setTimeout(function(){if(b){a.attr("checked","checked")}else{a.removeAttr("checked")}a.removeAttr("disabled")},100)});return false}function contact_subscribe_set(c,f,d,g,e){var b=new Ajax({urlBase:"/user/contact/subscribe_alter",urlParam:{user:c,value:f,create:!!d},onDone:g,onError:e});b.post()}function contact_import_save(){var a=$("#contact_email_import");$("input[type=text]",a).removeClass("error");var d=0;var b=[];$("input[type=checkbox][checked]",a).each(function(){var h=$(this).parents("tr");var e=$(".user",h).val();if(e.length>0){b.push({user:parseInt(e),subscribe:false})}else{var f=trim($(".email",h).val());var j=trim($(".firstname",h).val());var g=trim($(".lastname",h).val());if(j.length==0){$(".firstname",h).addClass("error");d++}if(g.length==0){$(".lastname",h).addClass("error");d++}b.push({type:"email",data:f,firstname:j,lastname:g,subscribe:true})}});if(d>0||b.length==0){var c=new Popup({title:"Importera kontakter",body:esc("Fyll i all information innan du går vidare."),buttons:{"Stäng":function(){c.close()}}})}else{contact_import(b,true,function(){goto_url(url_contact_book_last_import(whoami))})}}function contact_import(d,e,f,c){var b=new Ajax();b.setUrlBase("/user/contact/import");b.addPostParam({data:JSON.stringify(d)});if(e){b.setBlockMsg("SAVING")}if(f){b.setOnDone(f)}b.post()}function uevent_subscribe(b,a){var c=$(b.target||b.srcElement).parents(".uevent_item");fade(c);contact_subscribe_set(a,true,true,function(){fade_remove(c)},function(){unfade(c)})};

bstrap.loaded("contact");

