/*
HTTP Host: static.ak.fbcdn.net
Generated: March 18th 2010 3:51:13 PM PDT
Machine: 10.16.140.110
Locale: nu_ll
Path: js/da9kndps07wwooc0.pkg.js
*/

if (window.CavalryLogger) { CavalryLogger.start_js(["js\/da9kndps07wwooc0.pkg.js"]); }


function CIBase(ci_config,element_ids){copy_properties(this,{ci_config:ci_config,element_ids:element_ids});return this;}
copy_properties(CIBase.prototype,{getId:function(k){return this.element_ids[k];},setId:function(k,v){this.element_ids[k]=v;return this;},setAjaxMode:function(b){this.ajax_mode=b;return this;},getConfigData:function(){var data={type:this.ci_config.type,flow:this.ci_config.flow,domain_id:this.ci_config.domain_id,import_id:this.ci_config.import_id,tracked_params:this.ci_config.tracked_params};return data;}});

function captchaRefresh(newCaptchaType,registrationPage,user,authToken,clearErrors){var data={new_captcha_type:newCaptchaType,id:user,t_auth_token:authToken};data.skipped_captcha_data=$('captcha_persist_data').value;if(registrationPage){data.registration_page=true;}
new AsyncRequest().setURI('/captcha/refresh_ajax.php').setMethod('GET').setReadOnly(true).setData(data).setHandler(function(response){DOM.setContent($("captcha"),HTML(response.getPayload().captcha));if(clearErrors){DOM.setContent($("captcha_error_msg"),null);}}).send();}

function CICaptcha(callback){copy_properties(this,{captcha_endpoint:'/contact_importer/ajax/captcha.php',callback:callback,form_name:'ci_captcha_form'});return this;}
copy_properties(CICaptcha.prototype,{showDialog:function(){var async=new AsyncRequest().setMethod('GET').setReadOnly(true).setURI(this.captcha_endpoint).setData({form_name:this.form_name}).setHandler(bind(this,'handleCaptchaRender')).send();},handleCaptchaRender:function(response){var payload=response.getPayload();var buttons=[{name:'submit',label:_tx("\u63d0\u4ea4"),handler:bind(this,'submitCaptchaResponse')},Dialog.CANCEL];new Dialog().setTitle('').setBody(payload.content).setButtons(buttons).show();},submitCaptchaResponse:function(){var data=serialize_form($(this.form_name));new AsyncRequest().setURI(this.captcha_endpoint).setMethod('POST').setData(data).setHandler(bind(this,'handleCaptchaVerification')).send();},handleCaptchaVerification:function(response){var payload=response.getPayload();if(payload.error){new ErrorDialog().showError(payload.error.title,payload.error.message);}else{this.callback();}}});

function CIInputController(ci_config,element_ids,show_captcha,ajax_mode){this.parent.construct(this,ci_config,element_ids);this.parent.setAjaxMode(ajax_mode);copy_properties(this,{show_captcha:show_captcha});return this;}
CIInputController.extend('CIBase');copy_properties(CIInputController.prototype,{onSubmit:function(){if(this.show_captcha){var captcha=new CICaptcha(bind(this,'_submitLoginForm'));captcha.showDialog();return false;}
return this._submitLoginForm();},_submitLoginForm:function(params){var form=$(this.getId('form'));var action=get_form_attr(form,'action');var data=serialize_form(form);if(params){copy_properties(data,params);}
if(!this.ajax_mode){var f=DOM.create('form',{action:this.ci_config.full_endpoint,method:'POST'});create_hidden_inputs(data,f);DOM.getRootElement().appendChild(f);f.submit();return false;}
var async=new AsyncRequest();if(data.jsonp){var login_input=this.getId('login_input');var pwd_input=this.getId('password');var obj={};obj[login_input]=data[login_input];obj[pwd_input]=data[pwd_input];data.creds=Base64.encodeObject(obj);delete data[login_input];delete data[pwd_input];async.setOption('jsonp',true).setMethod('GET').setReadOnly(true);}
async.setURI(action).setData(data).setHandler(bind(this,function(response){this.handleLoginSubmit(response.getPayload());})).setStatusElement(this.getId('login_status'));if(data.jsonp){async.addStatusIndicator();}
async.send();return false;},handleLoginSubmit:function(payload){if(payload.error){new ErrorDialog().showError(payload.error.title,payload.error.body);return;}
var content=payload.content;var id=this.getId('contacts_container');DOM.replace($(id),HTML(payload.content));},getLoginString:function(){return trim($(this.getId('login_input')).value);},showDetailedDisclaimer:function(){var async=new AsyncRequest().setURI('/contact_importer/ajax/disclaimer.php');new Dialog().setAsync(async).show();},initializeCookieChecking:function(api_instance){this.clearCookie();if(this.cookieTimer){clearTimeout(this.cookieTimer);}
this.checkCookie(api_instance);},_getAPICookies:function(){return['fb_ms_auth','fb_api_auth_token'];},clearCookie:function(){var cookies=this._getAPICookies();for(var i=0;i<cookies.length;i++){var val=getCookie(cookies[i]);if(val){setCookie(cookies[i],'');}}},getAuthToken:function(api_instance){var cookies=this._getAPICookies();for(var i=0;i<cookies.length;i++){var val=getCookie(cookies[i]);if(!val){continue;}
if(cookies[i]=='fb_ms_auth'){return val;}
var api=val.substr(0,1);if(api==api_instance){return val.substr(2);}}
return null;},openAPIPopup:function(api_instance,login_str){var data=this.getConfigData();copy_properties(data,{api_instance:api_instance,login_str:login_str});var url=new URI(this.ci_config.api_endpoint).addQueryData(data);if(api_instance==1){popup_attrs='status=0,toolbar=0,location=1,resizable=1,width=600,'+'height=350,left='+((screen.width-600)/2)+',top='+((screen.height-350)/2)+',alwaysRaised=1';}else if(api_instance==3){popup_attrs='height=430,width=450,left='+((screen.width-500)/2)+',top='+((screen.height-450)/2)+',resizable=1,toolbar=0,status=0';}else{popup_attrs='height=600,width=830,left='+((screen.width-830)/2)+',top='+((screen.height-600)/2)+',resizable=1,scrollbars=1,toolbar=0,status=0';}
window.open(url,'api_contact_importer',popup_attrs);this.initializeCookieChecking(api_instance);},checkCookie:function(api_instance){var auth_token=this.getAuthToken(api_instance);if(auth_token){var data={api_instance:api_instance,auth_token:auth_token};this.clearCookie();if(this.show_captcha){var captcha=new CICaptcha(bind(this,'_submitLoginForm',data));captcha.showDialog();}else{this._submitLoginForm(data);}}else{this.cookieTimer=setTimeout(bind(this,'checkCookie',api_instance),500);}}});

function CIWebmailValidator(domains,domain_api_map,api_instances){copy_properties(this,{domains:domains,domain_api_map:domain_api_map,api_instances:api_instances});return this;}
copy_properties(CIWebmailValidator.prototype,{isValidEmail:function(email){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(email);},getDomain:function(email){var a=email.split('@');return a[1];},getAPIInstance:function(email){return this.domain_api_map[this.getDomain(email)];},isAPIDomain:function(email,api_name){return this.getAPIInstance(email)==this.api_instances[api_name];},isLiveDomain:function(email){return this.getAPIInstance(email)==this.api_instances['msft'];},isGmailDomain:function(email){return this.getAPIInstance(email)==this.api_instances['gmail'];},isYahooDomain:function(email){return this.getAPIInstance(email)==this.api_instances['yahoo'];},isSupportedDomain:function(email){var domain=this.getDomain(email);var len=this.domains.length;for(var i=0;i<len;i++){if(domain==this.domains[i]){return true;}}
return false;}});function CIWebmailInputController(ci_config,element_ids,show_captcha,ajax_mode,validator){this.parent.construct(this,ci_config,element_ids,show_captcha,ajax_mode);copy_properties(this,{validator:validator,login_str:null,ms_login:null,timer:null});this.importer_widget=$(this.getId('widget'));var el=$(this.getId('login_input'));if(ua.firefox()){addEventBase(el,'keypress',bind(this,'delayOnKeypress'));}else{addEventBase(el,'keydown',bind(this,'delayOnKeypress'));}
addEventBase(el,'focus',bind(this,'pollField'));addEventBase(el,'blur',bind(this,'cancelPoll'));el=null;this.validate();return this;}
CIWebmailInputController.extend('CIInputController');copy_properties(CIWebmailInputController.prototype,{onSubmit:function(show_captcha){this.validate();var email=this.getLoginString();var api_instance=this.validator.getAPIInstance(email);if(api_instance){this.openAPIPopup(api_instance,email);return false;}
return this.parent.onSubmit(show_captcha);},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=this.getLoginString();if(!current_email){this.setDefault();return;}
if(current_email==this.login_str){return;}
this.login_str=current_email;var v=this.validator;if(!v.isValidEmail(current_email)){this.setDefault();return;}
if(v.isSupportedDomain(current_email)){if(v.isLiveDomain(current_email)){this.setWindowsLive();}else if(v.isYahooDomain(current_email)){this.setYahoo();}else if(v.isGmailDomain(current_email)){this.setGmail();}else{this.setValid();}}else{this.setUnsupported();}},setWindowsLive:function(){CSS.setClass(this.importer_widget,'windows_live_noiframe');this.disablePassword();},setGmail:function(){CSS.setClass(this.importer_widget,'gmail');this.disablePassword();},setYahoo:function(){CSS.setClass(this.importer_widget,'yahoo');this.disablePassword();},setValid:function(){this.enablePassword();CSS.setClass(this.importer_widget,'valid');},setUnsupported:function(){CSS.setClass(this.importer_widget,'unsupported');this.disablePassword();var data=this.getConfigData();data['unsupported_login']=this.login_str;new AsyncSignal(this.ci_config.log_endpoint,data).send();},setDefault:function(){CSS.setClass(this.importer_widget,'default');this.enablePassword();},showNormalImporter:function(clear_field){this.setId('login_status',this.getId('normal_login_status'));var el=$(this.getId('login_input'));if(clear_field){this.setValid();el.value='';}
show(this.getId('ci_normal_div'));hide(this.getId('ci_logo_div'));el.focus();},canHidePassword:function(){return!CSS.hasClass(this.importer_widget,'default');},logABTestSubmitClick:function(action){var data=this.getConfigData();data['log_ab_test_click']=action;data['login_str']=this.getLoginString();new AsyncSignal(this.ci_config.log_endpoint,data).send();},disablePassword:function(){var password_el=$(this.getId('password'));if(!this.canHidePassword()){return;}
hide(password_el.parentNode.parentNode);},enablePassword:function(){var password_el=$('password');var pass_row=password_el.parentNode.parentNode;if(!shown(pass_row)){show(pass_row);}}});function CINUXToDoWebmailInputController(ci_config,element_ids,show_captcha,ajax_mode,validator){this.parent.construct(this,ci_config,element_ids,show_captcha,ajax_mode,validator);return this;}
CINUXToDoWebmailInputController.extend('CIWebmailInputController');copy_properties(CINUXToDoWebmailInputController.prototype,{disablePassword:function(){},enablePassword:function(){},setYahoo:function(){},setGmail:function(){},setWindowsLive:function(){}});function domainDialog(supported_domains){copy_properties(this,{dialog:null});if(supported_domains){var title='Supported Email Addresses';var body='<p class="domain_description">'
+_tx("\u6211\u5011\u76ee\u524d\u652f\u63f4\u5728\u4e0b\u5217\u7db2\u57df\u4f7f\u7528\u6211\u5011\u7684\u96fb\u5b50\u90f5\u4ef6\u532f\u5165\u7a0b\u5f0f\u3002\u5982\u679c\u4f60\u6c92\u6709\u5728\u6b64\u6e05\u55ae\u4e2d\u770b\u5230\u4f60\u7684\u96fb\u5b50\u90f5\u4ef6\u7db2\u57df\uff0c\u8acb\u5617\u8a66\u900f\u904e\u6211\u5011\u7684\u6a94\u6848\u532f\u5165\u7a0b\u5f0f\u5c0b\u627e\u4f60\u7684\u670b\u53cb\u3002")
+'</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\/da9kndps07wwooc0.pkg.js"]); }