(function(){var a="sproutcore/standard_theme";if(!SC.BUNDLE_INFO){throw"SC.BUNDLE_INFO is not defined!"
}if(SC.BUNDLE_INFO[a]){return}SC.BUNDLE_INFO[a]={requires:["sproutcore/empty_theme"],styles:["/static/sproutcore/standard_theme/en/09b7f2980f0a161ac272c5aa8afe9f0be4e4412a/stylesheet-packed.css","/static/sproutcore/standard_theme/en/09b7f2980f0a161ac272c5aa8afe9f0be4e4412a/stylesheet.css"],scripts:["/static/sproutcore/standard_theme/en/09b7f2980f0a161ac272c5aa8afe9f0be4e4412a/javascript-packed.js"]}
})();Contacts=SC.Application.create({NAMESPACE:"Contacts",VERSION:"0.1.0",store:SC.Store.create({}).from(SC.Record.fixtures)});
Contacts.contactController=SC.ObjectController.create({contentBinding:"Contacts.contactsController.selection",contentBindingDefault:SC.Binding.single(),isEditing:NO,contentDidChange:function(){if(this.get("content")){this.set("shouldDisplay",YES)
}else{this.set("shouldDisplay",NO)}}.observes("content"),beginEditing:function(){this.set("isEditing",YES);
Contacts.mainPage.getPath("mainPane.splitter.bottomRightView.bottomRightView.contactView.contentView.form").beginEditing()
},endEditing:function(){this.set("isEditing",NO);Contacts.mainPage.getPath("mainPane.splitter.bottomRightView.bottomRightView.contactView.contentView.form").commitEditing();
Contacts.store.commitRecords()}});Contacts.contactSearchController=SC.ArrayController.create({content:null,contentBinding:"Contacts.groupsController.effectiveSelection",search:"",isSearching:NO,searchContent:null,_match_start:function(b,a){if(!b||b.trim().length===0||!a||a.trim().length===0){return false
}if(b.toLowerCase().substr(0,a.length)==a.toLowerCase()){return"<strong>"+b.substr(0,a.length)+"</strong>"+b.substr(a.length)
}return false},_match_partial:function(b,a){if(!b||b.trim().length===0||!a||a.trim().length===0){return false
}if(b.toLowerCase().indexOf(a.toLowerCase())>=0){return b.substr(0,b.toLowerCase().indexOf(a.toLowerCase()))+"<strong>"+b.substr(b.toLowerCase().indexOf(a.toLowerCase()),a.length)+"</strong>"+b.substr(b.toLowerCase().indexOf(a.toLowerCase())+a.length)
}return false},_search:function(){var m=[];m.length=0;var k=this.get("search").trim();
var h=k.split(" "),b=h.length,e=0;var v=this,t=v.get("length"),r;for(var u=0;u<t;
u++){r=v.objectAt(u);var s=SC.RenderContext.escapeHTML(r.get("fullName"));var f=0;
var n=s;if(k&&k.trim()!==""&&h.length>0){var g=SC.RenderContext.escapeHTML(r.get("firstName"));
var j=SC.RenderContext.escapeHTML(r.get("lastName"));var d=SC.RenderContext.escapeHTML(r.get("company"));
for(e=0;e<b;e++){var q=h[e];var p=this._match_start(g,q);if(p){f+=7}else{p=this._match_partial(g,q)
}if(p){f+=4}var w=this._match_start(j,q);if(w){f+=6}else{w=this._match_partial(j,q)
}if(w){f+=3}var a=this._match_start(d,q);if(a){f+=5}else{a=this._match_partial(d,q)
}if(a){f+=2}if(g||j){p=p||g;w=w||j;n=(a?"<em>("+a+")</em> ":"")+p+" "+w}else{a=a||d;
n=a}}}r.set("searchFullName",n);r.set("searchRelevance",f);if(f>0||k.trim()===""||h.length===0){m.push(r)
}}this.set("searchContent",m);this.set("isSearching",!(this.get("search").trim()===""))
},contentDidChange:function(){this._search()}.observes("[]"),searchDidChange:function(){this._search()
}.observes("search")});Contacts.contactsSortController=SC.ArrayController.create({content:null,contentBinding:"Contacts.contactSearchController.searchContent",sortedContent:[],sortOrder:"searchRelevance DESC,lastName,firstName",init:function(){arguments.callee.base.apply(this,arguments);
this.sortOrderDidChange()},_resort:function(){var e=this._sortKeys,d=this.get("[]");
if(!d){this.set("sortedContent",null);return}var c,a;var f=function(i,g,p){var h=e.length;
for(c=0;c<h;c++){var j=e[c];var n=(i.get?i.get(j.key):i[j.key]);var o=(g.get?g.get(j.key):g[j.key]);
if(j.reverse){var m=n;n=o;o=m}if(n>o){return 1}else{if(n<o){return -1}}}return 0};
var b=[];a=(d.get?d.get("length"):d.length);for(c=0;c<a;c++){b.push(d.objectAt(c))
}b.sort(f);f=null;this.set("sortedContent",b)},sortOrderDidChange:function(){var e=this.get("sortOrder");
var f=e.split(",");var a=[];var d,b=f.length;for(d=0;d<b;d++){var c=f[d];var g=c.split(" ");
var h={key:g[0]};if(g.length>1&&g[1]=="DESC"){h.reverse=YES}a.push(h)}this._sortKeys=a;
this._resort()}.observes("sortOrder"),contentDidChange:function(){this._resort()}.observes("[]")});
Contacts.contactsController=SC.ArrayController.create(SC.CollectionViewDelegate,{contentBinding:"Contacts.contactsSortController.sortedContent",isSearchingBinding:"Contacts.contactSearchController.isSearching",canAddContent:YES,canReorderContent:NO,canRemoveContent:YES,isEditable:YES,inAll:YES,inAllBinding:"Contacts.groupsController.allIsSelected",resultDidChange:function(){if(this.get("isSearching")){if(this.get("length")>0){this.selectObject(this.objectAt(0))
}else{this.deselectObjects(this.get("selection"))}}}.observes("[]"),collectionViewDragDataTypes:function(a){return[Contacts.Contact]
},collectionViewDragDataForType:function(a,d,b){var c=null,e;if(b==Contacts.Contact){e=a.get("selection");
c=[];if(e){e.forEach(function(f){c.push(f)},this)}}return c},collectionViewComputeDragOperations:function(a,b){return SC.DRAG_COPY
},collectionViewDeleteContent:function(b,f,e){var c=e.map(function(h){return this.objectAt(h)
},this);if(!this.get("inAll")){Contacts.groupsController.removeContacts(c);return
}this._pendingOperation={action:"deleteContacts",records:c,indexes:e};var g="";var d="Contact";
var a=e.get("length");if(a>1){d+="s";g="Are you sure you want to delete these "+a+" contacts?"
}else{g="Are you sure you want to delete this contact?"}SC.AlertPane.warn("Be Careful!",g,null,"Keep "+d,"Delete "+d,null,this)
},deleteContacts:function(d){var b=d.records,c=d.indexes;b.invoke("destroy");var a=c.get("min")-1;
if(a<0){a=0}this.selectObject(this.objectAt(a));Contacts.store.commitRecords()},alertPaneDidDismiss:function(b,a){if(!this._pendingOperation){return
}switch(a){case SC.BUTTON2_STATUS:this[this._pendingOperation.action].call(this,this._pendingOperation);
this._pendingOperation=null;break;case SC.BUTTON1_STATUS:break}},addContact:function(){var a;
a=Contacts.store.createRecord(Contacts.Contact,{firstName:"",lastName:""});if(!this.get("inAll")){Contacts.groupsController.addNewContact(a)
}this.selectObject(a);this.invokeLater(function(){Contacts.contactController.beginEditing()
});a.commitRecord()}});Contacts.groupController=SC.Object.create({contentBinding:"Contacts.groupsController.selection",contentBindingDefault:SC.Binding.single()});
Contacts.groupsController=SC.ArrayController.create(SC.CollectionViewDelegate,{allowMultipleSelection:YES,all:null,selection:null,_observingGroups:[],allDidChange:function(){if(!this.get("selection")){this.set("effectiveSelection",this.get("all"));
this.set("allIsSelected",YES)}else{this.recalculateFromGroups()}}.observes("all","[]"),selectAllGroup:function(){this.set("selection",null);
this.set("effectiveSelection",this.get("all"));this.set("allIsSelected",YES)},selectionDidChange:function(){this.recalculateFromGroups()
}.observes("selection"),recalculateFromGroups:function(){if(this.get("selection")&&this.get("selection").get("length")>0){var a=SC.Set.create();
this.get("selection").forEach(function(b){a.addEach(b.get("contacts"))});this.set("effectiveSelection",a.toArray());
this.set("allIsSelected",NO)}},computeDragOperations:function(c,a){var b=a.dataForType(Contacts.Contact);
if(b){return SC.DRAG_COPY}},performDragOperations:function(c,a){var b=a.dataForType(Contacts.Contact);
c.get("contacts").pushObjects(b);Contacts.store.commitRecords()},collectionViewDeleteContent:function(a,c,b){this._pendingOperation={action:"deleteGroups",indexes:b};
SC.AlertPane.warn("Be Careful!","Are you sure you want to delete these "+b.get("length")+" groups?",null,"Keep Groups","Delete Groups",null,this)
},deleteGroups:function(d){var c=d.indexes;var b=c.map(function(e){return this.objectAt(e)
},this);b.invoke("destroy");var a=c.get("min")-1;if(a<0){a=0}this.selectObject(this.objectAt(a));
Contacts.store.commitRecords()},alertPaneDidDismiss:function(b,a){if(!this._pendingOperation){return
}switch(a){case SC.BUTTON2_STATUS:this[this._pendingOperation.action].call(this,this._pendingOperation);
this._pendingOperation=null;break;case SC.BUTTON1_STATUS:break}},addGroup:function(){var a;
a=Contacts.store.createRecord(Contacts.Group,{name:"New Group"});this.selectObject(a);
this.invokeLater(function(){var d=this.indexOf(a);var c=Contacts.mainPage.getPath("mainPane.splitter.topLeftView.groupList.contentView");
var b=c.itemViewForContentIndex(d);b.beginEditing()})},removeContacts:function(b){var a=this.get("selection");
if(!a){return}a.forEach(function(c){c.get("contacts").removeObjects(b)});Contacts.store.commitRecords()
},addNewContact:function(a){var b=this.get("selection");if(!b){return}var c=[];b.forEach(function(d){c.push(d)
});a.set("pendingGroups",c)}});Contacts.GROUPS_QUERY=SC.Query.local(Contacts.Group,{orderBy:"name"});
Contacts.CONTACTS_QUERY=SC.Query.local(Contacts.Contact);Contacts.Provider=SC.DataSource.extend({init:function(){this.firenze=Pomona.Firenze.create();
this.firenze.connect("contacts",this,"contactReceived");this.firenze.connect("groups",this,"groupReceived")
},contactReceived:function(c,a){if(a.trim()===""){return}var b=JSON.parse(a);if(b.DELETE){Contacts.store.pushDestroy(Contacts.Contact,b.guid)
}else{Contacts.store.loadRecords(Contacts.Contact,[b])}},groupReceived:function(c,a){if(a.trim()===""){return
}var b=JSON.parse(a);if(b.DELETE){Contacts.store.pushDestroy(Contacts.Contact,b.guid)
}else{Contacts.store.loadRecords(Contacts.Group,[b])}},fetch:function(a,b){if(!b){return NO
}if(b.get("recordType")===Contacts.Group){if(this.get("hasFetchedGroups")){a.dataSourceDidFetchQuery(b);
return YES}SC.Request.getUrl("/server/groups").json().notify(this,"didFetchGroups",a,b).send();
return YES}else{if(b.get("recordType")===Contacts.Contact){if(this.get("hasFetchedContacts")){a.dataSourceDidFetchQuery(b);
return YES}SC.Request.getUrl("/server/contacts").json().notify(this,"didFetchContacts",a,b).send();
return YES}}return NO},didFetchGroups:function(b,a,c){if(SC.ok(b)){this.set("hasFetchedGroups",YES);
a.loadRecords(Contacts.Group,b.get("body"));if(c){a.dataSourceDidFetchQuery(c)}}else{if(c){a.dataSourceDidErrorQuery(c,b)
}}},didFetchContacts:function(b,a,c){if(SC.ok(b)){this.set("hasFetchedContacts",YES);
a.loadRecords(Contacts.Contact,b.get("body"));if(c){a.dataSourceDidFetchQuery(c)}}else{if(c){a.dataSourceDidErrorQuery(c,b)
}}},retrieveRecord:function(a,c){if(SC.kindOf(a.recordTypeFor(c),Contacts.Group)){var b="/server/group/"+a.idFor(c);
SC.Request.getUrl(b).json().notify(this,"didRetrieveGroup",a,c).send();return YES
}return NO},createRecord:function(a,c){var b="";if(SC.kindOf(a.recordTypeFor(c),Contacts.Group)){b="/server/groups"
}else{if(SC.kindOf(a.recordTypeFor(c),Contacts.Contact)){b="/server/contacts"}}if(b!==""){SC.Request.postUrl(b).json().notify(this,"didCreateRecord",a,c).send(a.readDataHash(c));
return YES}return NO},didCreateRecord:function(b,a,c){if(SC.ok(b)){var d=b.get("body");
if(d){d=d[0]}a.dataSourceDidComplete(c,d,d.guid);return YES}return NO},updateRecord:function(a,c){var b="";
if(SC.kindOf(a.recordTypeFor(c),Contacts.Group)){b="/server/group/"}else{if(SC.kindOf(a.recordTypeFor(c),Contacts.Contact)){b="/server/contact/"
}}if(b!==""){SC.Request.putUrl(b+a.idFor(c)).json().notify(this,"didUpdateRecord",a,c).send(a.readDataHash(c));
return YES}return NO},didUpdateRecord:function(b,a,c){if(SC.ok(b)){var d=b.get("body");
if(d){d=d[0]}a.dataSourceDidComplete(c,d)}else{a.dataSourceDidError(c)}},destroyRecord:function(a,c){var b="";
if(SC.kindOf(a.recordTypeFor(c),Contacts.Group)){b="/server/group/"}else{if(SC.kindOf(a.recordTypeFor(c),Contacts.Contact)){b="/server/contact/"
}}if(b!==""){b+=a.idFor(c);SC.Request.deleteUrl(b).json().notify(this,"didDestroyRecord",a,c).send(a.readDataHash(c))
}return NO},didDestroyRecord:function(b,a,c){if(SC.ok(b)){a.dataSourceDidDestroy(c)
}else{a.dataSourceDidError(c)}}});Contacts.Contact=SC.Record.extend({firstName:SC.Record.attr(String),lastName:SC.Record.attr(String),fullName:function(){var a=(this.get("firstName")||"")+" "+(this.get("lastName")||"");
if(a.trim()===""){a=this.get("company")||""}return a}.property("firstName","lastName","company").cacheable(),isCompany:function(){var a=(this.get("firstName")||"")+" "+(this.get("lastName")||"");
if(a.trim()===""){return YES}return NO}.property("firstName","lastName","company").cacheable(),company:SC.Record.attr(String),address:SC.Record.attr(String),city:SC.Record.attr(String),state:SC.Record.attr(String),zip:SC.Record.attr(String),phone:SC.Record.attr(String),email:SC.Record.attr(String),groups:SC.Record.toMany("Contacts.Group",{inverse:"contacts"}),searchRelevance:0,searchFullName:"",destroy:function(){this.get("groups").forEach(function(a){a.get("contacts").removeObject(this);
a.commitRecord()},this);arguments.callee.base.apply(this,arguments)},pendingGroups:[],storeDidChangeProperties:function(){arguments.callee.base.apply(this,arguments);
if(this.get("guid")){if(this.get("pendingGroups")&&this.get("pendingGroups").get("length")>0){this.get("pendingGroups").forEach(function(a){a.get("contacts").pushObject(this)
},this);this.set("pendingGroups",[]);Contacts.store.commitRecords()}}}});sc_require("models/contact");
Contacts.Contact.FIXTURES=[{guid:1,firstName:"Alex",lastName:"Iskander",company:"",address:"5544 S 104 East Avenue\nThe Loud Room",city:"Tulsa",state:"OK",zip:"74146",email:"alex@alex.alex",phone:"(123) 456-7890",active:true,relationship:"customer"},{guid:2,firstName:"Fadel",lastName:"Iskander",company:"TPSi",address:"5544 S 104 East Avenue\nThe Loud Room",city:"Tulsa",state:"OK",zip:"74146",email:"da-fado@no-where.com",active:true,relationship:"friend"},{guid:3,firstName:"Unknown",lastName:"Iskander",company:"TPSi",address:"5544 S 104 East Avenue\nThe Loud Room",city:"Tulsa",state:"OK",zip:"74146",active:false,relationship:"enemy"},{guid:4,firstName:"Smeagol",lastName:"Kentucky",address:"Under a Rock",city:"Mordor",state:"ME",zip:"74146",active:false,relationship:"enemy"},{guid:5,firstName:"Jackie",lastName:"Iskander",company:"Jacqueline Iskander Mosaic Studio",address:"A House Somewhere\nThe Studio",city:"Tulsa",state:"OK",zip:"74146",active:true,relationship:"family"},{guid:6,firstName:"Harry",lastName:"Potter",company:"TPSi",address:"No. 4 Privet Drive\nThe Cupboard Under the Stairs",city:"Little Whinging",state:"Surrey",zip:"",active:true,relationship:"friend"},{guid:7,firstName:"Minerva",lastName:"McGonnagal",company:"TPSi",address:"Hogwarts\nHeadmistress's Office",city:"Scottland",state:"",zip:"",active:true,relationship:"enemy"},{guid:8,firstName:"Frodo",lastName:"Baggins",company:"Fellowship",active:false,relationship:"friend"},{guid:9,firstName:"Aragorn",lastName:"Arathorn",company:"Fellowship",active:false,relationship:"friend"},{guid:10,firstName:"Gandalf",lastName:"Gray",company:"Fellowship",active:false,relationship:"friend"},{guid:11,company:"Fellowship",active:false,relationship:"friend"}];
Contacts.Group=SC.Record.extend({contacts:SC.Record.toMany("Contacts.Contact",{inverse:"groups"}),name:SC.Record.attr(String)});
sc_require("models/group");Contacts.Group.FIXTURES=[{guid:1,name:"TPSi",contacts:[1,2,3,5]},{guid:3,name:"Dobby's World",contacts:[6,7]},{guid:4,name:"Third",contacts:[8,4,9,10,11]}];
SC.Animatable.defaultTimingFunction=SC.Animatable.TRANSITION_EASE_IN_OUT;Contacts.ContactView=SC.View.extend({layout:{left:0,right:0},classNames:["contact-view"],childViews:["form"],backgroundColor:"white",contentBindingDefault:SC.Binding.single(),layoutDidChangeFor:function(a){arguments.callee.base.apply(this,arguments);
if(this.get("form")&&!this.get("form").isClass){this.adjust("minHeight",this.getPath("form.layout").minHeight+40)
}},form:Forms.FormView.design(Forms.FormAnimation,{editsByDefault:NO,layout:{left:20,top:20,right:20,bottom:20},contentBinding:".parentView.content",fields:"name active company relationship address csz phone email".w(),name:Forms.FormView.row({fields:"firstName lastName".w(),fieldLabel:NO,firstName:Forms.FormView.field(SC.TextFieldView,{stealsFocus:YES,hint:"first",classNames:["name"],layout:{height:35,width:200}}),lastName:Forms.FormView.field(SC.TextFieldView,{hint:"last",classNames:["name"],layout:{height:35,width:200}}),autoHide:YES}),company:Forms.FormView.row(SC.TextFieldView,{hint:"company",fieldKey:"company",fieldLabel:"company",autoHide:YES}),address:Forms.FormView.row(SC.TextFieldView,{fieldLabel:"address",fieldKey:"address",hint:"address",isTextArea:YES,layout:{width:300,height:100},autoHide:YES}),csz:Forms.FormView.row({fields:"city state zip".w(),fieldLabel:"",city:Forms.FormView.field(SC.TextFieldView,{hint:"city",classNames:["csz"],layout:{height:35,width:200}}),state:Forms.FormView.field(SC.TextFieldView,{hint:"state",classNames:["csz"],layout:{height:35,width:200}}),zip:Forms.FormView.field(SC.TextFieldView,{hint:"zip",classNames:["csz"],layout:{height:35,width:200}}),autoHide:YES}),phone:Forms.FormView.row(SC.TextFieldView,{hint:"phone",fieldKey:"phone",fieldLabel:"phone",autoHide:YES}),email:Forms.FormView.row(SC.TextFieldView,{hint:"email",fieldKey:"email",fieldLabel:"email",autoHide:YES}),active:Forms.FormView.row(SC.CheckboxView,{title:"Active",fieldLabel:NO,fieldKey:"active",emptyValues:[YES],autoHide:YES,value:YES}),relationship:Forms.FormView.row(SC.RadioView,{items:[{value:"customer",title:"Customer"},{value:"former-customer",title:"Former Customer"},{value:"friend",title:"Friend"},{value:"enemy",title:"Enemy"}],itemValueKey:"value",itemTitleKey:"title",fieldKey:"relationship",fieldLabel:"relationship",autoHide:YES}),index:0})});
require("views/contact");Contacts.mainPage=SC.Page.design({mainPane:SC.MainPane.design({childViews:"toolbar splitter".w(),toolbar:SC.ToolbarView.design({classNames:["hback","toolbar"],layout:{left:0,top:0,right:0,height:32},childViews:"search".w(),search:SC.TextFieldView.design({layout:{right:10,width:300,height:20,centerY:0},classNames:["searchBox"],hint:"Search...",valueBinding:"Contacts.contactSearchController.search",leftAccessoryView:SC.View.create({layout:{left:5,width:20,height:16,centerY:0},childViews:"icon".w(),icon:SC.ImageView.create({layout:{left:0,top:0,width:16,height:16},value:"icons search-16 icon"})})})}),splitter:SC.SplitView.design({layout:{left:0,top:32,right:0,bottom:0},defaultThickness:200,dividerThickness:1,topLeftView:SC.View.design({childViews:"allGroup groupList toolbar".w(),classNames:"groups".w(),allGroup:SC.View.design({childViews:"label separator".w(),layout:{left:0,right:0,top:0,height:32},selectedBinding:"Contacts.groupsController.allIsSelected",displayProperties:["selected"],render:function(a){arguments.callee.base.apply(this,arguments);
if(this.get("selected")){a.addClass("hback list-big-selection selected")}},click:function(){Contacts.groupsController.selectAllGroup();
return YES},label:SC.LabelView.design({layout:{height:18,centerY:0,left:10,right:10},value:"All",fontWeight:SC.FONT_BOLD}),separator:SC.SeparatorView.design({layoutDirection:SC.LAYOUT_HORIZONTAL,layout:{bottom:0,left:0,right:0,height:1}})}),groupList:SC.ScrollView.design({layout:{left:0,right:0,top:32,bottom:32},borderStyle:SC.BORDER_NONE,hasHorizontalScroller:NO,contentView:SC.ListView.design({contentBinding:"Contacts.groupsController.arrangedObjects",selectionBinding:"Contacts.groupsController.selection",delegate:Contacts.groupDropController,contentValueKey:"name",canEditContent:YES,canDeleteContent:YES,rowHeight:24,exampleView:SC.View.design({childViews:"label".w(),label:SC.LabelView.design({layout:{left:10,right:10,height:18,centerY:0},contentBinding:".parentView.content",contentValueKey:"name",isEditable:YES,fontWeight:SC.FONT_WEIGHT_BOLD,inlineEditorDidEndEditing:function(){arguments.callee.base.apply(this,arguments);
Contacts.store.commitRecords()}}),beginEditing:function(){this.label.beginEditing()
},isDropTarget:YES,computeDragOperations:function(b,a){return Contacts.groupsController.computeDragOperations(this.get("content"),b)
},performDragOperation:function(b,a){return Contacts.groupsController.performDragOperations(this.get("content"),b)
},dragEntered:function(){this.$().addClass("drag-potential")},dragExited:function(b,a){this.$().removeClass("drag-potential")
},acceptDragOperation:function(){return YES},isSelected:NO,isSelectedDidChange:function(){this.displayDidChange()
}.observes("isSelected"),render:function(a){arguments.callee.base.apply(this,arguments);
if(this.contentIndex%2===0){a.addClass("even")}else{a.addClass("odd")}if(this.get("isSelected")){a.addClass("hback").addClass("list-big-selection").addClass("selected")
}}})})}),toolbar:SC.ToolbarView.design({classNames:"hback toolbar".w(),layout:{left:0,bottom:0,right:0,height:32},childViews:"add".w(),add:SC.ButtonView.design({layout:{left:0,top:0,bottom:0,width:32},target:"Contacts.groupsController",action:"addGroup",icon:"icons plus button-icon",titleMinWidth:16,isActiveDidChange:function(){this.set("icon",(this.get("isActive")?"icons plus-active button-icon":"icons plus button-icon"))
}.observes("isActive")})})}),bottomRightView:SC.SplitView.design({defaultThickness:200,dividerThickness:1,topLeftView:SC.View.design({childViews:"toolbar contacts".w(),toolbar:SC.ToolbarView.design({classNames:"hback toolbar".w(),layout:{left:0,bottom:0,right:0,height:32},childViews:"add".w(),add:SC.ButtonView.design({layout:{left:0,top:0,bottom:0,width:32},target:"Contacts.contactsController",action:"addContact",icon:"icons plus button-icon",titleMinWidth:16,isActiveDidChange:function(){this.set("icon",(this.get("isActive")?"icons plus-active button-icon":"icons plus button-icon"))
}.observes("isActive")})}),contacts:SC.ScrollView.design({classNames:["contacts-list"],layout:{left:0,right:0,top:0,bottom:32},borderStyle:SC.BORDER_NONE,contentView:SC.ListView.design({contentBinding:"Contacts.contactsController.arrangedObjects",selectionBinding:"Contacts.contactsController.selection",contentValueKey:"searchFullName",delegate:Contacts.contactController,canReorderContent:YES,isDropTarget:YES,canDeleteContent:YES,rowHeight:22,exampleView:SC.View.design({childViews:"image label".w(),isCompanyBinding:"*content.isCompany",classNames:["contact-item"],image:SC.ImageView.design({layout:{left:5,width:16,height:16,centerY:0},value:""}),label:SC.LabelView.design({escapeHTML:NO,layout:{left:28,right:10,height:18,centerY:0},contentBinding:".parentView.content",contentValueKey:"searchFullName",inlineEditorDidEndEditing:function(){arguments.callee.base.apply(this,arguments);
Contacts.store.commitRecords()}}),isSelected:NO,isSelectedDidChange:function(){this.displayDidChange()
}.observes("isSelected"),isCompanyDidChange:function(){if(this.get("isCompany")){this.image.set("value","icons company")
}else{this.image.set("value","icons person")}}.observes("isCompany"),render:function(a){arguments.callee.base.apply(this,arguments);
if(this.contentIndex%2===0){a.addClass("even")}else{a.addClass("odd")}if(this.get("isSelected")){a.addClass("list-selection").addClass("hback").addClass("selected")
}}})})})}),bottomRightView:SC.View.design({backgroundColor:"#555",childViews:"noContactView contactView toolbar".w(),contactView:SC.ScrollView.design(SC.Animatable,{style:{opacity:0,display:"none"},transitions:{opacity:0.15,display:0.5},classNames:["contact-panel"],layout:{left:15,right:15,bottom:47,top:15},borderStyle:SC.BORDER_NONE,contentView:Contacts.ContactView.design({contentBinding:"Contacts.contactController"}),shouldDisplayBinding:"Contacts.contactController.shouldDisplay",shouldDisplayDidChange:function(){if(this.get("shouldDisplay")){this.adjust({opacity:1,display:"block"})
}else{this.adjust({opacity:0,display:"none"})}}.observes("shouldDisplay")}),noContactView:SC.LabelView.design({layout:{centerX:0,centerY:0,height:18,width:200},value:"No Contact Selected"}),toolbar:SC.ToolbarView.design({layout:{left:0,right:0,bottom:0,height:32},classNames:"hback toolbar".w(),childViews:"edit save".w(),edit:SC.ButtonView.design(SC.Animatable,{transitions:{opacity:0.25},title:"Edit",layout:{left:0,top:0,bottom:0,width:90},target:Contacts.contactController,action:"beginEditing",style:{opacity:1}}),save:SC.ButtonView.design(SC.Animatable,{transitions:{opacity:0.25},title:"Save",layout:{left:0,top:0,bottom:0,width:90},target:Contacts.contactController,action:"endEditing",style:{opacity:0,display:"none"}}),controllerIsEditing:NO,controllerIsEditingBinding:"Contacts.contactController.isEditing",controllerIsEditingDidChange:function(){var b=this.get("save");
var a=this.get("edit");if(b.isClass){return}if(this.get("controllerIsEditing")){b.adjust({opacity:1,display:"block"}).updateLayout();
a.adjust({opacity:1,display:"none"}).updateLayout()}else{a.adjust({opacity:1,display:"block"}).updateLayout();
b.adjust({opacity:1,display:"none"}).updateLayout()}}.observes("controllerIsEditing")})})})})})});
Contacts.main=function main(){Contacts.getPath("mainPage.mainPane").append();var a=Contacts.store.find(Contacts.Group);
var b=Contacts.store.find(Contacts.Contact);Contacts.groupsController.set("all",b);
Contacts.groupsController.set("content",a)};function main(){Contacts.main()};