/*    HTTP Host:  static.ak.fbcdn.net                                          */
/*    Generated:  November 18th 2008 3:05:58 AM PST                            */
/*      Machine:  10.16.140.108                                                */
/*       Source:  Backing Store                                                */
/*     Location:  js/contacts.js.pkg.php r122907                               */
/*       Locale:  nu_ll                                                        */
/*         Path:  js/contacts.js.pkg.php                                       */


var selected_ms_domain=false;var selected_ms_form=false;var selected_spinner_id=false;var cookie_checking=false;var ms_domains={};function register_enclosing_form(form_id,spinner_id,show_captcha){selected_ms_form=form_id;selected_spinner_id=spinner_id;if(!cookie_checking){check_cookie_for_ms_auth(selected_ms_form,selected_spinner_id,show_captcha);}}
function get_ms_webmail_login(){var ms_login;if(ge('login_str')){ms_login=$('login_str').value;return ms_login;}
var domain_option=$('domain').options[$('domain').selectedIndex];var domain_id=domain_option.value;var domain_name=domain_option.innerHTML;ms_login=$('login').value+'@'+domain_name;return ms_login;}
function update_ms_login(frame_name,login_name){var old_url=$(frame_name).src;var hash_index=old_url.lastIndexOf('#');if(hash_index>=0){old_url=old_url.subtring(0,hash_index);}
var new_url=old_url+'#'+login_name;frames[frame_name].location.href=new_url;}
function check_cookie_for_ms_auth(form_name,spinner_id,show_captcha){cookie_checking=true;var auth_token=getCookie('fb_ms_auth');if(!auth_token){setTimeout(function(){this.check_cookie_for_ms_auth(selected_ms_form,selected_spinner_id,show_captcha);},250);}else{cookie_checking=false;setCookie('fb_ms_auth','');if(!show_captcha){send_ms_findfriends_request(auth_token,form_name,spinner_id);}else{captcha_dialog({form_name:form_name,ms_api_call:1,auth_token:auth_token});}}}
function captcha_submit_ms_request(auth_token,form_name,spinner_id){if(form_name){captcha_insert_dialog_response(form_name);send_ms_findfriends_request(auth_token,form_name,spinner_id);}
var dialog=Dialog.getCurrent();dialog.hide();}
function send_ms_findfriends_request(auth_token,form_name,spinner_id){if(!spinner_id){spinner_id=selected_spinner_id;}
var data=serialize_form($(form_name));hide('progress_skip_link');data['fb_ms_auth']=auth_token;set_inner_html($(spinner_id),'<img id="pbar" src="/images/loaders/indicator_blue_small.gif" />');show(spinner_id);new AsyncRequest().setURI('/microsoft/ajax/contacts.php').setData(data).setHandler(bind(null,receiveContacts,form_name)).setErrorHandler(bind(null,receiveContactsError,spinner_id)).send();}
function receiveContacts(form_name,response){var content=response.getPayload();if(content['error']){receiveContactsError();}else if(content['content']){set_inner_html($('importer_frame'),content['content']);if(window.ms_receive_contacts_callback){ms_receive_contacts_callback(content['num_friends'],content['num_invitees']);}}else if(content['contacts_array']){var form=document.forms[form_name];var fields=content['form_fields'];var name_array=content['contacts_array']['name_array'];var email_array=content['contacts_array']['email_array'];for(var i=0;i<name_array.length;i++){form.appendChild(create_hidden_input('name_array['+i+']',name_array[i]));}
for(var i=0;i<name_array.length;i++){form.appendChild(create_hidden_input('email_array['+i+']',email_array[i]));}
for(var field in fields){form.appendChild(create_hidden_input(field,fields[field]));}
$(form_name).submit();}}
function receiveContactsError(spinner_id,response){set_inner_html($('ms_contacts_loading'),'');set_inner_html($('error'),'<h1>'+tx('ci_ms01')+'</h1><p>'+tx('ci_ms02')+'</p>');show('error');}

var ajax_endpt='/ajax/findfriends.php';function check_domain_login(e,use_ms_api){target=event_get_target(e);if(target.value==-1){show('other_email_selected');}else{hide('other_email_selected');}
var special_domain=false;if(target.value in ms_domains&&use_ms_api){update_ms_webmail_fields();special_domain=true;}else{show('save');hide('ms_login_submit');hide('msapi_disclaimer');selected_ms_domain=false;}
if(target.value in yahoo_domains){update_yahoo_webmail_fields();special_domain=true;}else{hide('yahoo_login_submit');hide('yahoo_disclaimer');}
if(!special_domain){show('show_password');show('disclaimer');}}
function update_ms_webmail_fields(){setCookie('fb_ms_auth','',1);hide('save');hide('show_password');hide('disclaimer');selected_ms_domain=true;show('ms_login_submit');show('msapi_disclaimer');update_ms_login('ms_login_submit',get_ms_webmail_login());}
function update_yahoo_webmail_fields(){hide('show_password');hide('disclaimer');show('yahoo_disclaimer');}
function resize_popup_if_necessary(){if(window.ci&&window.ci.isYahooDomainSelected()){window.resizeTo(800,900);}
return true;}
function toggle_all(clicked){_toggle_all(clicked,'toggle_all_checkbox','address_book_selector');return false;}
function befriend_toggle_all(clicked){_toggle_all(clicked,'befriend_toggle_all_checkbox','befriend_selector');return false;}
function _toggle_all(clicked,master_str,chooser_str){var master=ge(master_str);if(clicked){i=1;var new_value=master.checked;}else{i=0;var new_value=!master.checked;}
var chooser=ge(chooser_str);var all_inputs=chooser.getElementsByTagName('input');for(i=0;i<all_inputs.length;i++){if(all_inputs[i].type=='checkbox'){all_inputs[i].checked=new_value;}}
return false;}
function toggle_checkbox(box){box.checked=!box.checked;}
function toggle_this_row(td){var row=getParentRow(td);var inputs=row.getElementsByTagName('input');toggle_checkbox(inputs[0]);}
function select_none(){_select_none('address_book_selector');return false;}
function _select_none(chooser_str){var chooser=ge(chooser_str);var all_inputs=chooser.getElementsByTagName('input');for(i=0;i<all_inputs.length;i++){if(all_inputs[i].type=='checkbox'){all_inputs[i].checked=false;}}
return false;}
function select_all(){_select_all('address_book_selector');return false;}
function _select_all(chooser_str){var chooser=ge(chooser_str);var all_inputs=chooser.getElementsByTagName('input');for(i=0;i<all_inputs.length;i++){if(all_inputs[i].type=='checkbox'){all_inputs[i].checked=true;}}
return false;}
function concatenate_invites(list,separator){var str='';var count=0;var rows=list.getElementsByTagName('tr');for(var i=0;i<rows.length;i++){var inputs=rows[i].getElementsByTagName('input');if(inputs.length){if(inputs[0].checked){count++;var sn=rows[i].getAttribute('screenname');if(sn){str+=sn;}else{var tds=rows[i].getElementsByTagName('td');str+=tds[1].innerHTML;if(tds[2])
str+=tds[2].innerHTML.replace('&lt;','<').replace('&gt;','>');}
str+=separator;}}}
if(str){str=str.substr(0,str.length-separator.length);}
return[str,count];}
function save_contacts(callback_element_id,import_id){list=ge('email_contacts_list');var separator=', ';var obj=concatenate_invites(list,separator);var str=obj[0];var count=obj[1];AsyncRequest.pingURI(ajax_endpt,{'import_id':import_id,'count':count});var w=window.opener;if(w){d=w.document;if(d){var emails_element=d.getElementById(callback_element_id);if(emails_element){var existing_content=emails_element.value;if(existing_content){str+=separator+existing_content;}
emails_element.value=str;}}
w.focus();window.close();}}
function contact_importer_parse_friends_list(table_element){var selected=[];var unselected=[];var rows=table_element.getElementsByTagName('tr');for(var i=0;i<rows.length;i++){var inputs=rows[i].getElementsByTagName('input');var val=inputs[1].value;if(inputs[0].checked){selected.push(val);}else{unselected.push(val);}}
return{selected:selected,unselected:unselected};}
function contact_importer_in_array(needle,haystack){for(key in haystack){if(haystack[key]==needle){return true;}}
return false;}
function add_as_friends(import_id){var ids=contact_importer_parse_friends_list(ge('friends_list'));var num_selected=ids.selected.length;set_inner_html($('friend_req_progress'),'<img src="images/loaders/indicator_blue_small.gif" />');new AsyncRequest().setURI(ajax_endpt).setData({friends_arr:ids.selected,import_id:import_id,unselected_friends_arr:ids.unselected}).setHandler(bind(this,'show_add_friends_results',num_selected)).setErrorHandler(show_add_friends_error).send();}
function show_add_friends_results(num_selected,response){set_inner_html($('friend_req_progress'),'');if(response){var receive_sentence;var success_sentence;if(num_selected==1){success_sentence=tx('ci:user-success');receive_sentence=tx('ci:user-request');}else{success_sentence=tx('ci:users-success',{'number':num_selected});receive_sentence=tx('ci:users-request');}
var success_msg='<h2>'+success_sentence+'</h2>'+'<p>'+receive_sentence;set_inner_html($('success'),success_msg);show('success');hide('befriend_selector');show('invite');}else{show_add_friends_error();}}
function show_add_friends_error(){set_inner_html($('error'),'<h2>'+tx('ci:user_error')+'</h2>');show('error');}
function add_as_friends_multiselect_version(import_id){var serialized_form=serialize_form($('friends_form_multiselect'));var selected=serialized_form.ids;var all=serialized_form.ids_all;var selected_ids=[];var selected_str='';if(selected){for(var i in selected){selected_ids.push(selected[i]);}
selected_str=selected_ids.join(',');}
var unselected_str='';var unselected_ids=[];if(all){for(var i in all){if(!contact_importer_in_array(all[i],selected_ids)){unselected_ids.push(all[i]);}}
unselected_str=unselected_ids.join(',');}
var num_selected=selected_ids.length;AsyncRequest.pingURI(ajax_endpt,{friends:selected_str,import_id:import_id,unselected_friends:unselected_str});var s=ge('success');var receive_sentence;var success_sentence;if(num_selected==1){success_sentence=tx('ci:user-success');receive_sentence=tx('ci:user-request');}else{success_sentence=tx('ci:users-success',{'number':num_selected});receive_sentence=tx('ci:users-request');}
s.innerHTML='<h2>'+success_sentence+'</h2>'+'<p>'+receive_sentence;show(s);hide('befriend_selector');hide('selector_header');show('invite');}
function add_as_unselected_friends_multiselect_version(){var ids=serialize_form($('friends_form_multiselect')).ids_all;var all_ids=[];if(ids){for(var i in ids){all_ids.push(ids[i]);}}
var ids_str=all_ids.join(',');if(ids_str){AsyncRequest.pingURI(ajax_endpt,{unselected_friends:ids_str});}}
function multiselect_remove_filter_bar(){$('friends').style.border='1px solid #C1C1C1';$('friends').style.marginTop='10px';hide('finder');hide('filters');}
function add_as_unselected_friends(){var ids=contact_importer_parse_friends_list(ge('friends_list'));var ids_str=ids.unselected.concat(ids.selected).join(',');if(ids_str){AsyncRequest.pingURI(ajax_endpt,{unselected_friends:ids_str});}}
function invites_are_selected(list_name){invite_checks=DOM.scry(ge(list_name),'input');if(invite_checks.length===0){return true;}
for(var i=0;i<invite_checks.length;i++){if(invite_checks[i].checked){return true;}}
return false;}
function invite_remainder(import_id,list_name){list=ge(list_name);var separator=', ';var obj=concatenate_invites(list,separator);var str=obj[0];$('email_list').value=str;new AsyncRequest().setURI(ajax_endpt).setData({'invites':str,'import_id':import_id}).setHandler(function(ok){$('friend_finder_invite_form').submit();}).setErrorHandler(function(){}).send();}
function chat_importer_invite_remainder(import_id,list_name){list=ge(list_name);var separator=',';var obj=concatenate_invites(list,separator);var str=obj[0];$('chat_sn_list').value=str;new AsyncRequest().setHandler(function(ok){$('friend_finder_invite_form').submit();}).setErrorHandler(function(){}).setURI(ajax_endpt).setData({'chat_invites':str,'import_id':import_id}).send();}
function submit_register_form(form_name){if(document.forms[form_name]){document.forms[form_name].submit();}
return false;}
var kDownloadTimeoutSec=60*3;var kImportTimeoutSec=60*1;var kDetectServerIntervalMs=500;var kLocalPort=19514;var gDetectorImage=gImageTimeout=null;function detectImportServer(args){if(!gDetectorImage){gImageTimeout=setTimeout(failDetection,kDownloadTimeoutSec*1000);$("importProgress-download").style.display="block";gDetectorImage=new Image();gDetectorImage.onload=function(){clearTimeout(gImageTimeout);importContacts(args);};gDetectorImage.onerror=function(){setTimeout(detectImportServer,kDetectServerIntervalMs);};}
gDetectorImage.src=null;gDetectorImage.src=sprintf("http://127.0.0.1:%d/loaded",kLocalPort);}
function failDetection(){gDetectorImage.onerror=null;showImportError_download();}
function importContacts(args){setTimeout(showImportError_import,kImportTimeoutSec*1000);$("importProgress-download").style.display="none";$("importProgress-import").style.display="block";args["post_form_id"]=$("post_form_id").getAttribute("value");var argStr="";for(name in args)
argStr+=sprintf("%h=%h&",name,encodeURIComponent(args[name]));$("frameImportContacts").src=sprintf("http://127.0.0.1:%d/importContacts?%h",kLocalPort,argStr);}
function showImportError_download(){$("importProgress-download").style.display="none";$("importProgress-failure-download").style.display="block";}
function showImportError_import(){$("importProgress-import").style.display="none";$("importProgress-failure-import").style.display="block";}
function address_book_login_widget_onsubmit(show_captcha){if(selected_ms_domain){return false;}
if(!show_captcha){return true;}
captcha_dialog({form_name:'address_book_login_form'});return false;}
function address_book_upload_form_onsubmit(){captcha_dialog({form_name:'address_book_upload_form'});return false;}
function chat_login_form_onsubmit(){captcha_dialog({form_name:'chat_login_form'});return false;}
var current_form;function captcha_dialog(request_data){if(!request_data){request_data={};}
request_data['loggedout_captcha']=1;var async=new AsyncRequest().setMethod('POST').setReadOnly(true).setURI(ajax_endpt).setData(request_data);new Dialog().setAsync(async).show();}
function captcha_submit_form(form_name){if(form_name){var form=document.forms[form_name];captcha_insert_dialog_response(form_name);form.submit();}
var dialog=Dialog.getCurrent();dialog.hide();}
function captcha_insert_dialog_response(form_name){var form=document.forms[form_name];var captcha_response=$('captcha_response').value;var recaptcha_challenge_field=$('recaptcha_challenge_field').value;var captcha_challenge_code=$('captcha_challenge_code').value;form.appendChild(create_hidden_input('captcha_response',captcha_response));form.appendChild(create_hidden_input('recaptcha_challenge_field',recaptcha_challenge_field));form.appendChild(create_hidden_input('captcha_challenge_code',captcha_challenge_code));}

function contactImporter(supported_domains,live_domains,yahoo_domains,importer_id){copy_properties(this,{login_str:null,ms_login:null,supported_domains:[],live_domains:[],yahoo_domains:[],importerObject:null,timer:null,yahoo_domain_selected:false});if(ge(importer_id)){this.supported_domains=supported_domains;this.live_domains=live_domains;this.yahoo_domains=yahoo_domains;this.importerObject=$(importer_id);this.disablePassword();if($('login_str').value){this.validate();}
if(ua.ie()<8){addEventBase($('login_str'),'keydown',bind(this,this.delayOnKeypress));}else if(ua.firefox()){addEventBase($('login_str'),'keypress',bind(this,this.delayOnKeypress));}else{addEventBase($('login_str'),'keydown',bind(this,this.delayOnKeypress));}
addEventBase($('login_str'),'focus',bind(this,this.pollField));addEventBase($('login_str'),'blur',bind(this,this.cancelPoll));}else{Util.error('Contact Importer: Cannot initialise validation state. The '
+'form object '+importer_id+' does not exist.');return false;}}
copy_properties(contactImporter.prototype,{isValidEmail:function(test_address){var emailRegExp=new RegExp("[a-z0-9_!#$%&'*+/=?^`{|}~-]+(?:\\.[a-z0-9_!#$%&'*+/=?^`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");return emailRegExp.test(test_address);},isLiveDomain:function(test_address){return this._searchFor(test_address,this.live_domains);},isYahooDomain:function(test_address){return this._searchFor(test_address,this.yahoo_domains);},isSupportedDomain:function(test_address){return this._searchFor(test_address,this.supported_domains);},validateOnKeypress:function(e){if(this.timer){clearTimeout(this.timer);}
if(event_get_keypress_keycode(e)==KEYS.TAB){this.validate();}else{this.timer=setTimeout(bind(this,this.validate),300);}},delayOnKeypress:function(e){if(this.timer){clearTimeout(this.timer);}
if(event_get_keypress_keycode(e)==KEYS.TAB){this.validate();}else{this.timer=setTimeout(bind(this,this.pollField),300);}},pollField:function(){if(this.timer){clearTimeout(this.timer);}
this.timer=setTimeout(bind(this,function(){this.validate();this.pollField();}),300);},cancelPoll:function(){if(this.timer){clearTimeout(this.timer);}
this.validate();},validate:function(){var current_email=$('login_str').value;if(current_email){if(current_email!=this.login_str){this.login_str=$('login_str').value;if(this.isValidEmail(current_email)){selected_ms_domain=false;if(this.isSupportedDomain(current_email)){if(this.isLiveDomain(current_email)){selected_ms_domain=true;this.setWindowsLive();}else if(this.isYahooDomain(current_email)){this.setYahoo();}else{this.setValid();}}else{this.setUnsupported();}}}}else{this.setDefault();}},setWindowsLive:function(){if(ge('msapi_disclaimer')){show($('msapi_disclaimer'));show($('ms_login_submit'));}
var new_login_str=get_ms_webmail_login();if(this.ms_login!=new_login_str){this.ms_login=new_login_str;update_ms_login('ms_login_submit',new_login_str);}
this.disablePassword(tx('ci:wl-password-disabled'));CSS.setClass(this.importerObject,'windows_live');},setYahoo:function(){if(ge('yahoo_disclaimer')){show($('yahoo_disclaimer'));}
this.yahoo_domain_selected=true;this.disablePassword(tx('ci:yh-password-disabled'));CSS.setClass(this.importerObject,'yahoo');},setValid:function(){this.enablePassword();this.yahoo_domain_selected=false;CSS.setClass(this.importerObject,'valid');},setUnsupported:function(){this.disablePassword();CSS.setClass(this.importerObject,'unsupported');},setDefault:function(){this.disablePassword();CSS.setClass(this.importerObject,'');},disablePassword:function(placeholder){var password_el=$('password');CSS.addClass(password_el,'disabled');password_el.setAttribute('disabled','disabled');password_el.value='';if(ua.ie()<8){if(placeholder){if(!ge('dummy_password')){var dummy_password=document.createElement('input');dummy_password.setAttribute('type','text');dummy_password.setAttribute('id','dummy_password');dummy_password.setAttribute('disabled','disabled');CSS.addClass(dummy_password,'inputtext disabled');dummy_password.value=placeholder;hide(password_el);password_el.parentNode.appendChild(dummy_password);}}else if(ge('dummy_password')){DOM.remove($('dummy_password'));show(password_el);}}else{password_el.setAttribute('type','text');if(placeholder){password_el.value=placeholder;}}},enablePassword:function(){var password_el=$('password');if(password_el.getAttribute('disabled')){password_el.value='';password_el.removeAttribute('disabled');}
CSS.removeClass(password_el,'disabled');if(ua.ie()<8&&ge('dummy_password')){DOM.remove($('dummy_password'));show(password_el);password_el.focus();}else{password_el.setAttribute('type','password');}},isYahooDomainSelected:function(){return this.yahoo_domain_selected;},_searchFor:function(needle,haystack){if(needle){for(var i=0;i<haystack.length;i++){var searchRegex=new RegExp(haystack[i]);if(searchRegex.test(needle.toLowerCase())){return true;}}}
return false;}});function domainDialog(supported_domains){copy_properties(this,{dialog:null});if(supported_domains){var title='Supported Email Addresses';var body='<p class="domain_description">'
+tx('ci:domain-list-desc')
+'</p>'
+'<div class="supported_domains">'
+'<ul>';for(var i=0;i<supported_domains.length;i++){body+='<li>'+supported_domains[i]+'</li>';}
body+='</ul></div>';this.dialog=new Dialog().setTitle(title).setButtons(Dialog.OK).setBody(body);}}
copy_properties(domainDialog.prototype,{show:function(){this.dialog.show();}});

if (window.Bootloader) { Bootloader.done(["js\/contacts.js.pkg.php"]); }