var kdt = (function(){
	function getById(id){
		return document.getElementById(id);
	} 
 	var siteUrl = '';
	var connect = {
		
		login: function(formid, toUrl) {
			var data = {};
			with (getById(formid)) {
				data = {
					'uid': uid.value,
					'passwd': passwd.value
				}
			}
			$('#login_loading').show();
			$.post(siteUrl + '?act=login', data, function(json) {
				json = eval('(' + json + ')');
				if (json.ret == 0) {
					if (toUrl != undefined)
					{
						window.location.href = toUrl + '&uid=' + getById(formid).uid.value;
						return;
					}
					$('#login').hide();
					$loginedInfo = $('#loginedInfo')
					$span = $loginedInfo.find('.t_user > li > span');
					$span.eq(0).text(json.info.cn);
					$span.eq(1).text(json.info.uidnumber);
					$span.eq(2).text(json.info.mail);
					$loginedInfo.show();
					$('#login_loading').hide();
					$('#login_err_msg').addClass('error_tip').text('　　');
				} else {
					$('#login_err_msg').addClass('error_tip').text(json.info);
					$('#login_loading').hide();
				}
				
				});
		},
		
		logout: function() {
			$.get(siteUrl + '?act=logout', function(json) {
						json = eval('(' + json + ')');
						if (json.ret == 0) {
							$('#loginedInfo').hide();
							$('#login').show();
						} else {
						}
					});
			},

		register: function(data) {
			  $.post(siteUrl + '?act=register', data, function(json){
					  if (json.ret == 0) {
					  	//alert('succ');
					  } else {
					  	//alert(json.info);
					  }
					  
					  })
			  },

		
		submitForgot: function(form_id) {
				      var data;
				      var check = true;
				      with ($('#' + form_id).get(0)) {
					      if ($.trim(uid.value) == '' || parseInt($.trim(uid.value)).toString() != $.trim(uid.value)) {
							$('#uid_info').addClass('error_msgtip').removeClass('success_msgtip');
							check = false;
						} else {
							$('#uid_info').addClass('success_msgtip').removeClass('error_msgtip');
						}


						if ($.trim(mail.value) == '' || !$.trim(mail.value).match(/^([a-z0-9]*[-_]?[a-z0-9]+)*@([0-9a-z_\-]+\.)+[a-z]{2,3}([\.][a-z]{2})?$/i)) {
							$('#mail_info').addClass('error_msgtip').removeClass('success_msgtip');
							check = false;
						} else {
							$('#mail_info').addClass('success_msgtip').removeClass('error_msgtip');
						}
						/*
						if ($.trim(authcode.value) == '') {
							$('#authcode_info').addClass('error_msgtip').removeClass('success_msgtip');
							check = false;
						} else {
							$('#authcode_info').addClass('success_msgtip').removeClass('error_msgtip');
						}*/
						data = {
							'uid': $.trim(uid.value),
							'mail': $.trim(mail.value),
							'authcode': $.trim(authcode.value)
						}
				      }
				      if (!check) {
				      		return false;
				      }
				      $.post(siteUrl + '?act=forgotpwd', data, function(json){
						      json = eval('(' + json + ')');
						      if (json.ret == 0) {
							      kdtUI.forgetWindow.forgetSucc();
						      } else {
								  if (json.info == '请输入正确的验证码')
								  {
										$('#authcode_info').addClass('error_msgtip').removeClass('success_msgtip');
								  } else {
										kdtUI.forgetWindow.showError();
								  }
						      }
						})
			
			},

		forgetpwd: function() {
			   	kdtUI.forgetWindow.show();
			   },

		hideForget: function() {
			    	kdtUI.forgetWindow.hide();
			    },
		edit: function() {
			      kdtUI.editWindow.showAndSelectTab(0);
		      },

		hideEdit: function() {
			kdtUI.editWindow.window.hide();
		},
		repassword: function() {
				    kdtUI.editWindow.showAndSelectTab(1);
			    },

		submitEdit: function(form_id, fromIm) {
					var data;
					var check = true;
					with ($('#' + form_id).get(0)) {
						window.showErr_hideMsg = true;
						check &= chkNick(cn);
						check &= chkMail(mail);
					
						if (!check)
						{
							return false;
						}
						data = {
							'cn':$.trim(cn.value),
							'mail': $.trim(mail.value),
							'homephone': $.trim(homephone.value),
							'homepostaladdress': $.trim(homepostaladdress.value)
							}
							
					}
					
					$.post('?act=edit', data, function(json){
							json = eval('(' + json + ')');
							if (json.ret == 0) {
								if (fromIm != undefined)
								{
									window.location.href='?act=editsucc'
								}	else {
									kdtUI.editWindow.editSucc();
								}
							} else {
								$('#passwd_info').addClass('error_msgtip').removeClass('success_msgtip');
							}
						});

			    
			    },

		submitRepasswd: function(form_id, fromIm) {
					var data;
					var check = true;
					window.showErr_hideMsg = true;
					with ($('#' + form_id).get(0)) {
						//check &= chkPasswd(passwd);

						check &= chkPasswd(new_passwd);
						check &= chkRepasswd(renew_passwd, new_passwd);

						
						if (!check) {
							return false;
						}
						data = {
							'new_passwd':$.trim(new_passwd.value),
							'passwd': $.trim(passwd.value),
							'renew_passwd': $.trim(renew_passwd.value)
							}

					}
					$.post('?act=repassword', data, function(json){
							json = eval('(' + json + ')');
							if (json.ret == 0) {
								if (fromIm != undefined)
								{
									window.location.href = '?act=editsucc';
								} else {
									kdtUI.editWindow.repasswdSucc();
								}
								
							} else {
								$('#passwd_info').addClass('error_msgtip').removeClass('success_msgtip');
							}
						});
				},
		submitResetPwd: function(form_id) {
					var check = true;
					var data;
					with ($('#' + form_id).get(0)) {
						if ($.trim(new_passwd.value) == '') {
							$('#new_passwd_info').addClass('error_msgtip').removeClass('success_msgtip').children().html('请输入新密码');
							check = false;
						} else {
							$('#new_passwd_info').addClass('success_msgtip').removeClass('error_msgtip').children().html('　　');
						}

						if ($.trim(renew_passwd.value) == '') {
							$('#renew_passwd_info').addClass('error_msgtip').removeClass('success_msgtip').children().html('请再输入新密码');
							check = false;
						} else {
							$('#renew_passwd_info').addClass('success_msgtip').removeClass('error_msgtip').children().html('　　');
						}

						data = {
							'new_passwd': $.trim(new_passwd.value),
							'renew_passwd': $.trim(renew_passwd.value),
							'key':  $.trim(key.value),
							'uidnumber':  $.trim(uidnumber.value),
							'time':  $.trim(time.value)
						}
					}
					if(!check) {
						return false;
					}

					$.post('?act=repassword', data, function(json){
							json = eval('(' + json + ')');
							if (json.ret == 0) {
								window.location.href = '?act=editsucc';
							} else {
								window.location.href = '?act=resetpwd_err'
							}
						});

				
				},

		postComment: function(loginForm, postform) {
				var data = {};
				with (getById(loginForm)) {
					if (uid.value == '')
					{
						$('#log_err').addClass('error_msgtip').removeClass('success_msgtip');
						return;
					} else {
						$('#log_err').removeClass('error_msgtip').addClass('success_msgtip');
					}
					if (passwd.value == '')
					{
						$('#pwd_err').addClass('error_msgtip').removeClass('success_msgtip');
						return;
					} else {
						$('#pwd_err').removeClass('error_msgtip').addClass('success_msgtip');
					}

					data = {
						'uid': uid.value,
						'passwd': passwd.value
					}
				}
				//$('#login_loading').show();
				$.post(siteUrl + '?act=login', data, function(json) {
					json = eval('(' + json + ')');
					if (json.ret == 0) {
						postAfterAjaxLogin(getById(postform))
						//getById(postform).submit();
					} else {
						$('#log_err').addClass('error_msgtip').removeClass('success_msgtip');
						//$('#login_loading').hide();
					}
					
					});
				},

		submitRegister: function(form_id) {
					var check = true;
				with ($('#' + form_id).get(0)) {
					check &= chkNick(nick);
					check &= chkMail(mail);
					check &= chkPasswd(passwd);
					check &= chkRepasswd(repasswd, passwd);
					check &= chkAuthCode(authcode);

					if (!check) {
						return false;
					}
					data = {
						'nick': $.trim(nick.value),
						'passwd': $.trim(passwd.value),
						'repasswd': $.trim(repasswd.value),
						'mail': $.trim(mail.value),
						'authcode': $.trim(authcode.value)
					}
					$('#loading').show();
					$.post('?act=register', data, function(json) {
							json = eval('(' + json + ')');
							if (json.ret == 0) {
								window.location.href = '?act=regsucc&uid=' + json.info.uidnumber;
							} else {
								if (json.info == '请输入正确的验证码') {
									showErr($('#authcode_input').get(0), '验证码错误');
								}
							}
							$('#loading').hide();
							});

				}
				}
	}
	return connect;
 })();



// showErr switcher
window.showErr_hideMsg = false;
/**
 * @param obj dom id || dom object
 */
function showErr(obj, errMsg) {
	if (obj && obj.nodeType == 1) {
	
	} else if (obj.prototype.toString.call(obj) == '[object String]') {
		obj = document.getElementById(obj);
	}

	var flag = obj.name || obj.id || '';
	if (flag == '') {
		return;
	}
	$info = $('#' + flag + '_info');
	if ($info.length < 1) {
		return;
	}
	if (  errMsg == undefined || errMsg == '') {
		errMsg = '　　';
		$info.addClass('success_msgtip').removeClass('error_msgtip')
	} else {
		if (window.showErr_hideMsg) {
			errMsg = '　　';
		}
		$info.addClass('error_msgtip').removeClass('success_msgtip')
	}
	$info.children().html(errMsg);
	
}


function utf8_length(str) {
	str = str.replace(/[\u0800-\u9fa5]/g,'ee');
	str = str.replace(/[\x3130-\x318F]/g, 'ee');
	//str = str.replace(/[\xAC00-\xD7A3]/g, 'ee');
	return str.length;

}

function chkNick(dom) {
	var l = utf8_length(dom.value);
	if ( l <2 || l > 16) {
		showErr(dom, '请输入你的昵称,2-16字符');
		return false;
	} else {
		showErr(dom, '');
		return true;
	}
}

function chkMail(dom) {
	if (dom.value.match(/^[0-9a-z_\-\.]+@([0-9a-z_\-]+\.)+[a-z]{2,3}([\.][a-z]{2})?$/i)) {
		showErr(dom, '');
		return true;
	} else {
		showErr(dom, '邮箱地址不正确');
		return false;
	}
}
function chkPasswd(dom) {
	if (dom.value.match(/[\da-z]{6,16}/)) {
		showErr(dom);
		return true;
	} else {
		showErr(dom, '请输入6-16位密码，可用数字和字母');
		return false;
	}
}

function chkRepasswd(dom, newpasswd_dom) {
	if (dom.value != '' && dom.value == newpasswd_dom.value) {
		showErr(dom);
		return true;
	} else {
		showErr(dom, '两次输入密码不一致');
		return false;
	}
}

function chkAuthCode(dom) {
	//return true;
	if (dom.value != '') {
		showErr(dom);
		return true;
	} else {
		showErr(dom, '验证码错误');
		return false;
	}
}

function chkAcc(dom) {
	if (dom.value != '' && dom.value.match(/\d{5,12}/)) {
		showErr(dom);
		return true;
	} else {
		showErr(dom, '请输入正确的帐号');
		return false;
	}
}

window.resizeFunctions = {};
window.onresize = function(event) {
	for (var i in window.resizeFunctions)
	{
		window.resizeFunctions[i](event);
	}
}
