| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  | // XXX: Should I do crazy SN.X.Y.Z.A namespace instead?
 | 
					
						
							|  |  |  | var SN_WHITELIST = SN_WHITELIST || {}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SN_WHITELIST.updateButtons = function() { | 
					
						
							| 
									
										
										
										
											2011-05-11 16:29:35 -07:00
										 |  |  |    $("ul > li > a.remove_row").show(); | 
					
						
							|  |  |  |    $("ul > li > a.add_row").hide(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  |     var lis = $('ul > li > input[name^="username[]"]'); | 
					
						
							|  |  |  |     if (lis.length === 1) { | 
					
						
							|  |  |  |         $("ul > li > a.remove_row").hide(); | 
					
						
							|  |  |  |     } else { | 
					
						
							|  |  |  |         $("ul > li > a.remove_row:first").show(); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-05-11 16:29:35 -07:00
										 |  |  |     $("ul > li > a.add_row:last").show(); | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SN_WHITELIST.resetRow = function(row) { | 
					
						
							|  |  |  |     $("input", row).val(''); | 
					
						
							|  |  |  |     // Make sure the default domain is the first selection
 | 
					
						
							|  |  |  |     $("select option:first", row).val(); | 
					
						
							|  |  |  |     $("a.remove_row", row).show(); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SN_WHITELIST.addRow = function() { | 
					
						
							|  |  |  |     var row = $(this).closest("li"); | 
					
						
							|  |  |  |     var newRow = row.clone(); | 
					
						
							| 
									
										
										
										
											2011-05-11 17:20:24 -07:00
										 |  |  |     $(row).find('a.add_row').hide(); | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  |     SN_WHITELIST.resetRow(newRow); | 
					
						
							| 
									
										
										
										
											2011-05-11 17:20:24 -07:00
										 |  |  |         $(newRow).insertAfter(row).show("blind", "fast", function() { | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  |             SN_WHITELIST.updateButtons(); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | SN_WHITELIST.removeRow = function() { | 
					
						
							| 
									
										
										
										
											2011-05-11 16:00:35 -07:00
										 |  |  |     var that = this; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     $("#confirm-dialog").dialog({ | 
					
						
							|  |  |  |         buttons : { | 
					
						
							|  |  |  |             "Confirm" : function() { | 
					
						
							|  |  |  |                 $(this).dialog("close"); | 
					
						
							| 
									
										
										
										
											2011-05-11 17:20:24 -07:00
										 |  |  |                 $(that).closest("li").hide("blind", "fast", function() { | 
					
						
							| 
									
										
										
										
											2011-05-11 16:00:35 -07:00
										 |  |  |                     $(this).remove(); | 
					
						
							|  |  |  |                     SN_WHITELIST.updateButtons(); | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             "Cancel" : function() { | 
					
						
							|  |  |  |                 $(this).dialog("close"); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  |     }); | 
					
						
							| 
									
										
										
										
											2011-05-11 16:00:35 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     if ($(this).closest('li').find(':input[name^=username]').val()) { | 
					
						
							|  |  |  |         $("#confirm-dialog").dialog("open"); | 
					
						
							|  |  |  |     } else { | 
					
						
							| 
									
										
										
										
											2011-05-11 17:20:24 -07:00
										 |  |  |         $(that).closest("li").hide("blind", "fast", function() { | 
					
						
							| 
									
										
										
										
											2011-05-11 16:00:35 -07:00
										 |  |  |             $(this).remove(); | 
					
						
							|  |  |  |             SN_WHITELIST.updateButtons(); | 
					
						
							|  |  |  |         }); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $(document).ready(function() { | 
					
						
							| 
									
										
										
										
											2011-05-11 16:00:35 -07:00
										 |  |  |     $("#confirm-dialog").dialog({ | 
					
						
							|  |  |  |         autoOpen: false, | 
					
						
							|  |  |  |         modal: true | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  |     $('.add_row').live('click', SN_WHITELIST.addRow); | 
					
						
							|  |  |  |     $('.remove_row').live('click', SN_WHITELIST.removeRow); | 
					
						
							| 
									
										
										
										
											2011-05-11 16:29:35 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  |     SN_WHITELIST.updateButtons(); | 
					
						
							| 
									
										
										
										
											2011-05-09 17:07:36 -07:00
										 |  |  | }); |