/**
 * profile 共用接口文件
 * 需加载在jquery之后
 *
 * 异步调用接口：
 * SM.ajax( '窗口名称', '接口名称', '文本参数', Json参数, function( status, txt, json ) {
 * status - 应答码
 * txt - 应答文本
 * json - 应答数据
 * }
 */
var API = (function($) {

    // window.domain = 'http://i.fx-func.com/';
    
    window.domain = 'http://i.feixin.10086.cn/';
    var API = {};

    /**
    * 添加好友
    */
    API.addFriend = function(json) {
        SM.exec('PR', 'addFriend', '', json);  //{ 'sid': '1235678' }
    }
    function leftPad(v){
        if(v.length ===1){
            return '0'+v;
        }else{
            return v;
        }
    }

    /**
    * 获取联系人信息，此方法不用判断用户，由pc来判断
    * @returns {{userId: string, nickName: string}}
    * 这里需要加一个UserId
    */
    API.getContactInfo = function() {
       SM.exec('PR', 'getContactInfo', '', {});
       var res = SM.exec('Ext', 'GetData', 'ContactInfo');
       res = $.parseJSON(res["json"]["value"]);
       var info = res[0];

        //由于公农历转换插件只支持1936~2028
        // if(info.Birthday ==''){
        //     info.Birthday = '1937-01-01';
        // }
        
        // if(info.Birthday != ''){
        //     var initbirthArr = info.Birthday.split('-');
        //     if(initbirthArr[0]<1937){
        //         info.Birthday = '1937'+'-'+leftPad(initbirthArr[1]) + '-' +leftPad(initbirthArr[2]);
        //     } 
        // }

        // info.Age ='';

        // info.Sex ='';

        // info.Birthday = '';

        // info.Constellation = '';

        // info.Zodiac ='';

        // info.BloodType = '';
        // info.Tel = '';
        return info;

        //          var info = {
                        // "Userid":'uid',
        //              "FetionId":'9999999',
        //              'BindPhone':'bindMobliesun',
        //              'BindEmail':'bindEmailsun',
        //              'RemarksName':'RemarksNamesun',
        //               'Sex':'2',//{L"0-", L"1男", L"2女"};
        //              'Age':'19',
        //              'Zodiac':'3',//生肖{L"-", L"鼠", L"牛", L"虎", L"兔", L"龙", L"蛇", L"马", L"羊", L"猴", L"鸡", L"狗", L"猪"};
        //              'Constellation':'2',//星座{L"-", L"摩羯座", L"水瓶座", L"双鱼座", L"白羊座", L"金牛座", L"双子座", L"巨蟹座", \
        // //L"狮子座", L"处女座", L"天秤座", L"天蝎座", L"射手座"};
        //              'BloodType':'2', //{L"-", L"A型", L"B型", L"AB型", L"O型", L"其它"};
        //              'Location':'ZH.CN.10',//所在地 , 这里需要中文
        //                 'Nation':'中国', //有些国家没有省，只有城市 ，第二级菜单为空
        //                 'Province':'北京',
        //                 'City':'北京',
        //              'Birthday':'1988-09-01',
        //              'Tel':'telsun',
        //              'Email':'emailsun',
        //              'BirthLunar':1//   0:公历;1:农历
        //          }
        // return info;
    }

    /**
    * 获取好友关系（无参数）
    * 返回枚举值：1.自己 2.好友 3.陌生人
    * @returns {number}
    */
    API.getFriendRelations = function() {
       SM.exec('PR', 'getFriendRelations', '', {});
       var res = SM.exec('Ext', 'GetData', 'FriendRelation');
       return res["json"]["value"];

        // return 3;
    }

    /**
    * 保存个人资料
    * 此方法不需要返回结果
    */
    API.saveContactInfo = function(json) {
        SM.exec('PR', 'saveContactInfo', '', json);
    }

    /**
    * 个人信息改变
    * 此方法不需要返回结果
    */
    API.changeContactInfo = function(json) {
        SM.exec('PR', 'changeContactInfo', '', json);
    }

    /**
    * 获取登录凭证，（无参数）
    * @returns {string}
    */
    API.getLoginCertificate = function() {
        var a = SM.exec('Ext', 'GetData', 'Credential');
        return a["json"]["value"];
    }

    /**
    * 修改好友备注（好友fetionId，备注名字）
    * 不需要返回值
    * @param json
    */
    API.modifyRemarksName = function(json) {
        SM.exec('PR', 'modifyRemarksName', '', json);   //{'name':'123'}
    }

    /**
    * 当用户不保存，直接点击关闭的时候触发此方法
    * 关闭 （是否修改，修改内容（只传修改的字段））
    * flag 1 :有信息修改 0：没有信息修改
    * @param isEdit
    * @param editInfo json (只传修改过的信息)
    */
    API.closeEdit = function(flag, editInfo) {
       editInfo.flag = flag;
       // SM.exec('Ext', 'GetData', 'closedlg', '');
       SM.exec('PR', 'closeEdit', '', editInfo);   //'1',{'Birthday':'1999-01-01'}
    }

    /**
    * 提供给PC的回调函数，
    * 当窗体改变颜色的时候，页面也随之改变
    * @param color
    */
    API.changeSkin = function() {
        SM.ajax('PR', "changeSkin", "", "", function(status, outTxt, outJson) {
            console.log('color');
            var color = outJson[0]['color'];

        });
    }

    API.showProfile = function(uid) {

        SM.exec('PR', 'showProfile', '', { 'uid': uid });
    }

    API.ViewPicture = function(params) {
        var json = params || {
            url: imageUrl,
            width: 712,
            height: 531
        };
        SM.exec('Ext', 'ViewPicture', '', json);
    }

    //outTxt 1：关闭 2：保存
    API.colseWindow = function(callback) {
        SM.ajax('PR', "ColseWindow", "", "", callback);
//        function(status, outTxt, outJson) {
//
//        }
    }
    //outTxt 1：关闭 2：保存
    API.startlisten = function(callback) {
        SM.ajax('PR', "Startlisten", "", "", callback);
        //        function(status, outTxt, outJson) {
        //
        //        }
    }

    API.editClick = function(){
       SM.exec('PR', "clickEditBtn", "", "", function(status, outTxt, outJson) {
           console.log(outTxt);
       });
    }

	API.applymobileno = function(uid) {

        SM.exec('PR', 'applymobileno', '', { 'uid': uid });
    }

    API.editCancel = function(json,callback){
       SM.exec('PR', "clickCancleBtn", "", json, callback);
    }

    API.bindPhone = function(){
        SM.exec('PR', "bindPhone");
    }

    API.bindEmail = function(){
        SM.exec('PR', "bindEmail");
    }
    API.completeSave = function() {
    //console.log('com2');
        SM.exec('PR', "completeSave");
    }


    return API;
} (jQuery));