var PersonalAPI = (function(){
	
	Ext.QuickTips.init();
	
	var titles={
		'applyposition':'申请职位',
		'pickupposition':'收藏职位',
		'pickuppersonal':'收藏简历',
		'sendinvite':'邀请面试'
	}
	var tpl = new Ext.Template([
		'<div class="cue_msn">',
		'<h3>{title}</h3>',
		'<span>{msg}</span>'
	]).compile(); 
	
	var doAction=function(param)
	{
		
		
		var win = new Ext.Window({
			title:titles[param['do']],
			width:300,
			autoHeight:true,
			modal:true,
			buttons:[{
				text:'确定',
				disabled:true,
				handler:function(){
					win.close();
				}
			}],
			closable:false,
			bodyCls:'cue_msn'
		});
		win.show();
		win.body.update('正在提交数据...');
		setTimeout(
			function(){
			Ext.Ajax.request({
				url:'/api/index.php',
				params:param,
				success:function(o)
				{
					try{
						var resp = Ext.util.JSON.decode(o.responseText);
						
						if(resp.success)
						{
						
							tpl.overwrite(win.body,{title:'操作成功!',msg:(resp.msg||'')});
							
						}else{
							win.body.addClass('error');
							tpl.overwrite(win.body,{title:'操作失败',msg:resp.errmsg});
						}
						win.body.autoHeight();
					}catch(e){
						
					  	alert(o.responseText);
					}
					win.buttons[0].enable();
				},
				failure:function(o)
				{
					alert('出错:'+o.getAllResponseHeaders);
					alert(o.statusText);
					alert(o.responseText);
				}
		})},500);	
	}
	return{
		'doAction':doAction,
		sendInvite:function(uid,name){
			var win = new Ext.Window({
				title:'给<b style="padding:0px 5px;color:#fbba0c">'+name+'</b>发送面试通知',
				width:400,
				autoHeight:true,
				layout:'card',
				activeItem:0,
				listeners:{
					afterlayout:function()
					{
						win.syncShadow();
					},
					delay:1
				},
				items:[
					{
						xtype:'form',
						layout:'absolute',
						height:300,
						defaults:{
							width:200
						},
						items:[
							{xtype:'label',text:'选择职位',x:5,y:10},
							{
								xtype:'combo',
								store:new Ext.data.JsonStore({
									url:'/api/?do=getposition',
									fields:['id','position'],
									root:'positions',
									autoLoad:true
								}),
								valueField:'id',
								displayField:'position',
								triggerAction:'all',
								mode:'local',
								forceSelection:true,
								x:75,
								y:5,
								hiddenName:'position',
								id:'position-sel',
								msgTarget:'side'
							},
							{xtype:'label',text:'面试日期',x:5,y:45},
							{
								xtype:'datefield',
								name:'invite_date',
								format:'Y-m-d',
								width:100,
								x:75,
								y:40,
								minValue:new Date(),
								value:(new Date()).add(Date.DAY,1)
							},
							{xtype:'label',text:'面试时间',x:180,y:45	},
							{
								xtype:'timefield',
								name:'invite_time',
								increment:30,
								format:'H:i',
								value:'12:00',
								width:85,
								x:235,
								y:40
							},
							{xtype:'label',text:'简短说明',x:5,y:75	},
							{
								xtype:'textarea',
								anchor:'-5 -5',
								name:'description',
								x:75,
								y:75
							}
						],
						buttons:[{
							text:'发送',
							handler:function(){
								
								if(!Ext.getCmp('position-sel').getValue())
								{
									Ext.getCmp('position-sel').markInvalid('请选择职位,如果没有请先添加职位再发邀请');
									return;
								}
								
								win.layout.setActiveItem(1);
								Ext.Ajax.request({
									url:'/api/?do=sendinvite&id='+uid,
									form:win.items.itemAt(0).getForm().el,
									success:function(o){
										//win.items.itemAt(1).body.update(o.responseText);
										var ct = win.items.itemAt(1).body;
										var buttons = win.items.itemAt(1).buttons;
										buttons[0].hide();
										buttons[1].show();
										resp = Ext.util.JSON.decode(o.responseText);
										if(resp.success){
											ct.update('发送成功')
										}else{
											ct.update('发送失败 '+resp.errmsg)
										}
									}
								});
							}
						},{text:'取消',handler:function(){win.close()}}]
					},
					{
						html:'<div  class="loading-indicator">正在连接服务器...</div>',
						bodyStyle:'padding:10px',
						buttons:[
							{text:'取消',handler:function(){
								Ext.Ajax.abort();
								win.close();
							}},
							{text:'确定',hidden:true,handler:function(){win.close()}}
						]
					}
				]
			});
			win.show();
		}
	}
})();
function resetPassword()
{
		var resetdlg = new Ext.Window({
				title:'重设密码',
			    layout:'card',
				modal:true,
				autoHeight:true,
				activeItem:0,
				bodyStyle:'padding:5px',
				items:[{
					xtype:'form',
					labelWidth: 50,
					labelPad: 10,
					bodyStyle:'border:none;background:transparent',
					defaultType: 'textfield',
					defaults:{
        				width:150,
       				 	msgTarget:'side'
    				},
					layoutConfig: {
       			 		labelSeparator: ''
    				},
					items:[
						{fieldLabel:'用户名',name:'username'},
						{fieldLabel:'邮箱',name:'email'},
						{fieldLabel:'用户类型',xtype:'field', name:'type', autoCreate:{tag:'select',html:'<option value="0">个人用户</option><option value="1">企业用户</option>'}}
					],
					autoHeight:true
				},
				{xtype:'progress'},
				{
					listeners:{
						render:function(cmp){
							cmp.body.on('click',function(ev){
								
								if(ev.getTarget('.close',3))
								{
									resetdlg.close();
								}
								if(ev.getTarget('.reset',3))
								{
									resetdlg.footer.child('.x-panel-btns-ct').setStyle('display','');
									resetdlg.layout.setActiveItem(0);
								}
								
							});
						}
					}
				}
				],
    			width:250,
				buttons:[
					{
						text:'确定',handler:function(){
							if(resetdlg.success){
								resetdlg.close();
							}
							var comp = resetdlg.getComponent(1);
							resetdlg.layout.setActiveItem(comp);
							resetdlg.footer.child('.x-panel-btns-ct').setStyle('display','none');
							Ext.Ajax.request({
								form:resetdlg.getComponent(0).getForm().el.dom,
								url:'/api/index.php?do=resetpassword',
								success:function(o){
								   var resp = Ext.util.JSON.decode(o.responseText);
								   var item =  resetdlg.getComponent(2);
								  
								   if(resp.success){
								   	  item.body.update('操作成功:'+resp.msg+'<a class="close" href="javascript:void(0)">确定</a>')
								   }else{
								   item.body.update('操作失败:'+resp.errmsg+',<a class="reset" href="javascript:void(0)">重试</a>');
								   }
								   resetdlg.layout.setActiveItem(item);
								   
								}
							});
								
							comp.wait();
						}
					},
					{
						text:'取消',handler:function(){
							resetdlg.close();
						}
					}
				],
				listeners:{
					'beforeclose':function(){
						var comp = resetdlg.getComponent(1).reset();
					}
				}	
			});
		resetdlg.show();	
	}