﻿/*************************************************************
 文件名: chinjs.js
 说  明: javascript 函数库
 版  本: 1.00
 履  历：2005/12/27 LinCT@ChinSoft
 版  权: 青岛秦朝软件技术有限公司
**************************************************************/
var JXQ_CLUB_DOMAIN = "http://" + document.location.hostname + ":" + document.location.port;//俱乐部网
var JXQ_CORE_DOMAIN = (document.location.hostname == "club1.jxq.cc" || document.location.hostname == "localhost" ? "http://www1.jxq.cc" : "http://www.lhsheng.com");

//cccall下载地址
var CCCALL_DOWN = "http://cccall.lhsheng.com/headPage/down.jsp";

/************************************************************************
函 数 名: checkNotNull
功能概要: 检查控件非空
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkNotNull(field_name, message){
    return mchk(field_name,message,isNotNullString);
}

/************************************************************************
函 数 名: checkMustSelect
功能概要: 检查下拉框是否选择
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkMustSelect(field_name, message){
    return mchk(field_name,message,isSelectedValue);
}

/************************************************************************
函 数 名: checkNumber
功能概要: 检查控件值为数字(正整数或小数)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkNumber(field_name, message){
	return mchk(field_name,message,isValidNumber);
}

/************************************************************************
函 数 名: checkInteger
功能概要: 检查控件值为数字(正整数)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkInteger(field_name, message){
	return mchk(field_name,message,isValidInteger);
}

/************************************************************************
函 数 名: checkIntegerSmall
功能概要: 判断两个数字大小(正整数)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: FuQiang@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkIntegerSmall(strFirst, strLast, message){
	if(strFirst == null || strLast == null)
	{
		return false;
	}
	var   firstNum	= 0;
	var   lastNum	= 0;
	try
	{
		firstNum = parseInt(strFirst);
		firstNum = (isNaN(firstNum) ? 0 : firstNum);
		
		lastNum = parseInt(strLast);
		lastNum = (isNaN(lastNum) ? 0 : lastNum);
	}
	catch(e)
	{
	}
	
	if (firstNum <= lastNum)
	{
		return true;
	}

	if(!isNullString(message))
	{
		alert(message);
	}

	return false;
}
/************************************************************************
函 数 名: checkDouble
功能概要: 检查控件值为小数(必须为小数)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkDouble(field_name, message){
	return mchk(field_name,message,isValidDouble);
}

/************************************************************************
函 数 名: checkDate
功能概要: 检查控件值为合法日期(yyyy-mm-dd)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkDate(field_name, message){
	return mchk(field_name,message,isValidDate);
}

/************************************************************************
函 数 名: checkEmail
功能概要: 检查控件值为合法邮件地址
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkEmail(field_name, message){
	return mchk(field_name,message,isValidEmail);
}

/************************************************************************
函 数 名: checkTelNO
功能概要: 检查控件值合法的电话号码
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkTelNO(field_name, message){
	return mchk(field_name,message,isValidTelNO);
}

/************************************************************************
函 数 名: checkMobile
功能概要: 检查控件值合法的手机号
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkMobile(field_name, message){
	return mchk(field_name,message,isValidMobile);
}

/************************************************************************
函 数 名: checkZip
功能概要: 检查控件值合法的邮政编码
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkZip(field_name, message){
	return mchk(field_name,message,isValidZip);
}

/************************************************************************
函 数 名: checkIdCard
功能概要: 检查控件值合法的身份证(必须15位或者18位的数字)
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkIdCard(field_name, message){
	return mchk(field_name,message,isValidIdCard);
}

/************************************************************************
函 数 名: checkDateEarlier
功能概要: 校验日期先后 strEnd>=strBegin, 最小可以判断到秒
参数说明: strBegin 第一个日期字符串
		  strEnd   第二个日期字符串
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkDateEarlier(strBegin, strEnd, message)
{
	if(strBegin == null || strEnd == null)
	{
		return false;
	}

	//以"-"分割字符串，返回数组；
	var arryBegin 	= strBegin.replace(/\-0/g,"-").split("-");
	var arryEnd 	= strEnd.replace(/\-0/g,"-").split("-");

	var beginHour = 0;
	var beginMinute  = 0;
	var beginSecond = 0;
	
	//如果有时分秒
	if(arryBegin.length > 3)
	{
		try
		{
			beginHour = parseInt(arryBegin[3]);
		}
		catch(e)
		{
		}
		
		try
		{
			beginMinute = parseInt(arryBegin[4]);
		}
		catch(e)
		{
		}
		
		try
		{
			beginSecond = parseInt(arryBegin[5]);
		}
		catch(e)
		{
		}
	}
	
	beginHour = (isNaN(beginHour) ? 0 : beginHour);
	beginMinute  = (isNaN(beginMinute) ? 0 : beginMinute);
	beginSecond = (isNaN(beginSecond) ? 0 : beginSecond);
	
	var endHour = 0;
	var endMinute  = 0;
	var endSecond = 0;
	//如果有时分秒
	if(arryEnd.length > 3)
	{
		try
		{
			endHour = parseInt(arryEnd[3]);
		}
		catch(e)
		{
		}
		
		try
		{
			endMinute = parseInt(arryEnd[4]);
		}
		catch(e)
		{
		}
		
		try
		{
			endSecond = parseInt(arryEnd[5]);
		}
		catch(e)
		{
		}
	}
	
	endHour = (isNaN(endHour) ? 0 : endHour);
	endMinute  = (isNaN(endMinute) ? 0 : endMinute);
	endSecond = (isNaN(endSecond) ? 0 : endSecond);

	//格式化为Date对像;
	var dateBegin 	= new Date(parseInt(arryBegin[0]), parseInt(arryBegin[1])-1, parseInt(arryBegin[2]), beginHour, beginMinute, beginSecond);
	var dateEnd 	= new Date(parseInt(arryEnd[0]), parseInt(arryEnd[1])-1, parseInt(arryEnd[2]), endHour, endMinute, endSecond);

	if (dateBegin.getTime() - dateEnd.getTime() < 0)
	{
		return true;
	}
	
	if(!isNullString(message))
	{
		alert(message);
	}
	
	return false;
}


/************************************************************************
函 数 名: checkImageFile
功能概要: 校验上传文件必须时JPG或GIF
参数说明: filename 上传文件名
作    者: LinCT@chinsoft.com
创建日期: 2006-06-15
************************************************************************/
function checkImageFile(filename, message)
{
	var allowExt = "GIF|JPEG|JPG|PNG|TIF|TIFF|BMP";
	
	return checkFileExt(filename, allowExt, message);
}

/************************************************************************
函 数 名: checkVideoFile
功能概要: 校验上传视频文件类型是否与网站指定类型相符
参数说明: filename 上传文件名
作    者: FuQiang@chinsoft.com
创建日期: 2006-06-15
************************************************************************/
function checkVideoFile(filename, message)
{
	var allowExt = "WMV|AVI|MPEG|MOV|RM|ASF";
	
	return checkFileExt(filename, allowExt, message);
}

/************************************************************************
函 数 名: checkFileExt
功能概要: 校验上传文件必须时的类型
参数说明: filename 上传文件名
作    者: LinCT@chinsoft.com
创建日期: 2006-08-02
************************************************************************/
function checkFileExt(filename, allowExt, message)
{
	//如果allowExt则不限定类型
	if(allowExt == null || allowExt == "")
	{
		return true;
	}
	
	if(message != null)
	{
		message = message + " " + allowExt;
	}
	
	var arrExt = allowExt.toUpperCase().split("|");
	var ext = getFilePostfix(filename).toUpperCase();
	
	for(var i = 0; arrExt.length > i;i++)
	{
		if(ext == arrExt[i])
		{
			return true;
		}
	}
	
	if(!isNullString(message)){
		alert( message );
	}
	
	return false;
}

/************************************************************************
函 数 名: checkNotAllowFileExt
功能概要: 校验上传文件不能上传的类型
参数说明: filename 上传文件名
作    者: LinCT@chinsoft.com
创建日期: 2006-08-02
************************************************************************/
function checkNotAllowFileExt(filename, message)
{
	var notAllowExt = "php,php3,php5,phtml,asp,aspx,ascx,jsp,cfm,cfc,pl,bat,exe,dll,reg,cgi";

	if(message != null)
	{
		message = message + " 不允许上传的类型: " + notAllowExt;
	}
	
	var arrExt = notAllowExt.toUpperCase().split(",");
	var ext = getFilePostfix(filename).toUpperCase();

	var allow = true;
	for(var i = 0; arrExt.length > i;i++)
	{
		if(ext == arrExt[i])
		{
			allow = false;
		}
	}
	
	//如果不在允许之列,则返回true
	if(allow)
	{
		return true;
	}
	
	if(!isNullString(message)){
		alert( message );
	}
	
	return false;
}

/************************************************************************
函 数 名: checkHttp
功能概要: 检查控件非空
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-10-11
************************************************************************/
function checkHttp(field_name, message){
    return mchk(field_name,message,isHttpString);
}

/************************************************************************
函 数 名: checkStringLower
功能概要: 检查控件中的值少于xxx个汉字
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-10-11
************************************************************************/
function checkLengthLower(field_name, length, message){
	var value = getValue(field_name);

	if(value.RealLength() <= length * 2) {
		return true;
	}
	
	if(!isNullString(message)){
		alert( message );
		
		//设置焦点
		setFocus(field_name);
	}
	
	return false;
}

/************************************************************************
函 数 名: checkEnglishLengthLower
功能概要: 检查控件中的值少于英文字符
参数说明: field_name  控件名称
		  message 错误消息:如果有错误消息则报错,并设置焦点
作    者: LinCT@chinsoft.com
创建日期: 2006-10-11
************************************************************************/
function checkEnglishLengthLower(field_name, length, message){
	var value = getValue(field_name);

	if(value.RealLength() <= length) {
		return true;
	}
	
	if(!isNullString(message)){
		alert( message );
		
		//设置焦点
		setFocus(field_name);
	}
	
	return false;
}

/************************************************************************
函 数 名: getChineseWordCount
功能概要: 判断有多少个中文字符
参数说明: str 字符串
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function getChineseWordCount(str)
{
	re=/[\u4E00-\u9FA5]/g;
	if(re.test(str))
	{
		return str.match(re).length
	}
	else
	{
		return 0;
	}
}

/************************************************************************
函 数 名: getFilePostfix
功能概要: 得到文件的扩展名
参数说明: fileName 文件名称
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function getFilePostfix(fileName)
{
    if(fileName == null)
        return null;
    var pattern = /(.*)\.(.*)$/gi;
    if(typeof(fileName) == "object")
    {
        if(fileName.value == null || fileName.value == "")
            return null;
        var arr = pattern.exec(fileName.value);
        return RegExp.$2;
    }
    else if(typeof(fileName) == "string")
    {
        var arr = pattern.exec(fileName);
        return RegExp.$2;
    }
    else
    {
        return null;
    }
}

/************************************************************************
函 数 名: RealLength
功能概要: 计算字符串的长度，一个汉字两个字符(使用方法：string.RealLength)
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
String.prototype.RealLength = function()
{
   return this.replace(/[^\x00-\xff]/g,"**").length;
}

/************************************************************************
函 数 名: checkAllRecord
功能概要: 实现页面Checkbox全选或取消选择
参数说明: form_name 为控件所在Form名称
		  field_name为Checkbox控件 ID 前缀
		  checked 为 是否选中 true 或 false
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function checkAllRecord(form_name, field_name, checked)
{
	var len = field_name.length;
	var fm = document.forms[form_name].elements;
	for( var j=0 ; j < fm.length ; j++ )
	{
		formElementName = fm[ j ].name;
		if( formElementName.substring( 0,len ) == field_name )
		{
			fm[ j ].checked = checked;
		}
	}
}

/************************************************************************
函 数 名: checkSingleRecord
功能概要: 实现页面Checkbox选择一个
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function checkSingleRecord(form_name, field_name, currentCheckbox)
{
	var len = field_name.length;
	var fm = document.forms[form_name].elements;
	for( var j=0 ; j < fm.length ; j++ )
	{
		formElementName = fm[ j ].name;
		if( formElementName.substring( 0,len ) == field_name )
		{
			document.forms[form_name].elements[formElementName].checked = false;
		}
	}
	
	currentCheckbox.checked = true;
}

/************************************************************************
函 数 名: checkIfChecked
功能概要: 检查页面CheckBoxList是否选择
参数说明: form_name 为控件所在Form名称
		  field_name为Checkbox控件 ID 前缀
		  checked 为 是否选中 true 或 false
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function checkIfChecked(form_name, field_name, checked)
{
	var len = field_name.length;
	var fm = document.forms[form_name].elements;
	var checkedFlag = false;
	for( var j=0 ; j < fm.length ; j++ )
	{
		formElementName = fm[ j ].name;
		if( formElementName.substring( 0,len ) == field_name )
		{
			if(document.forms[form_name].elements[formElementName].checked)
			{
				checkedFlag = true;
				break;
			}
		}
	}
	return checkedFlag;
}
/************************************************************************
函 数 名: setFocus
功能概要: 设置焦点
参数说明: field_name 控件名称
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function setFocus(field_name) 
{
	try
	{
		var objFCKEditor = FCKeditorAPI.GetInstance(field_name);
		objFCKEditor.Focus();
	}
	catch(e)
	{
		try
		{
			var item = getItem(field_name);
			if (item.type != "hidden" && item.disabled != true) {
				item.focus();
			}
		}
		catch(err)
		{
		}
	}
}

//调用Ajax的页面用
document.write("<div id=\"AjaxMessagediv\" style=\"width:150px;height:18px;"+
				"display:none;background:#ffffe0;border:1px solid #000000;"+
				"position:absolute;top:0px;right:0px;vertical-align:middle;zIndex:999;\"></div>");

/************************************************************************
函 数 名: hideAjaxMessageImage
功能概要: 隐藏提示图片，将控件设为可用
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function hideAjaxMessageImage()
{
	var div = getItem('AjaxMessagediv');
	
	div.style.display	= "none";
}

/************************************************************************
函 数 名: displayAjaxMessageImage
功能概要: 显示提示图片，并设置其显示位置
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function displayAjaxMessageImage()
{
	var div = getItem('AjaxMessagediv');

	div.innerHTML = "<table class='loading' border='0' cellspacing='0' cellpadding='0'><tr><td valign='middle'><img src='style/common/images/loading.gif' width='16px' height='16px'/></td><td valign='middle' nowrap='nowrap'>正在装载，请稍候...</td></tr></table>";
	div.style.display="inline";
}

/************************************************************************
函 数 名: getMyRequest
功能概要: 取得Ajax调用用的XMLHttpRequest
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-09-20
************************************************************************/
function getMyRequest() {
	if( typeof(getRequest) == "function" )
	{
		return getRequest();
	}
	
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
		}
	}
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	  xmlhttp = new XMLHttpRequest();
	}
	
	return xmlhttp;
}

/************************************************************************
函 数 名: doXmlHttpRequest
功能概要: 执行ajax调用
参数说明: url : ajax地址
          dealfunction:返回数据处理函数
作    者: LinCT@chinsoft.com
创建日期: 2006-09-20
************************************************************************/
function doXmlHttpRequest(url, dealfunction)
{
	//显示Ajax标志
	displayAjaxMessageImage()
	
	var requestObject = getMyRequest();
	if (!requestObject) {
		$errorFunctionName();
		return;
	}

	url += "&rand=" + Math.random();
	url += "&timestamp=" + new Date().getTime();

	requestObject.onreadystatechange = function() {
		if (requestObject.readyState == 4) {
			//一旦返回,就隐藏Ajax标记
  			hideAjaxMessageImage();
  				
			if (requestObject.status == 200) {
				dealfunction(requestObject.responseText);
			}
			else if(requestObject.status == 404){
				//page not found
				alert("连接服务器失败，请检查连接");
			}
			else if(requestObject.status == 500){
				//server error
				alert("服务器发生错误");
			}
			else
			{
				//server error
				alert("服务器发生错误");
			}
		}
	}

	requestObject.open("GET", url, true);
	requestObject.send(null);
}

/************************************************************************
函 数 名: ajaxSettingBeforeSend
功能概要: 将控件设为不可用
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-06-13
************************************************************************/
function ajaxSettingBeforeSend(controlIDs)
{
	//先设置下一级下拉框为不可选 
	var arrControlIDs = controlIDs.split(';');
	//解析控件列表
	if(arrControlIDs.length > 0)
	{
		//设置所有相关下拉列表的状态为不可操作
		for(i = 0;i < arrControlIDs.length; i++)
		{
			var tmpControl = getItem(arrControlIDs[i]);
			if(tmpControl)
			{
				if(tmpControl.options.length > 0)
				{
					tmpControl.options[0].selected = true;
				}
				
				tmpControl.disabled = true;
			}
		}
	}
}

/************************************************************************
函 数 名: getLoginState
功能概要: 从核心平台取得登录状态
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-09-20
************************************************************************/
function getLoginState()
{
	/*
	var url = JXQ_CORE_DOMAIN + "/ssoAuth/?requesttype=4";

	doXmlHttpRequest(url, receiveSessionState);
	*/
	
	var loginStateScript = document.getElementById("loginStateScript");
	
	var url = JXQ_CORE_DOMAIN + "/checkMemberLogin.jsp";
	url += "?rand=" + Math.random();
	url += "&timestamp=" + new Date().getTime();
	
	loginStateScript.src = url;
}

/************************************************************************
函 数 名: receiveSessionState
功能概要: 根据服务器端传回的登录状态信息, 设置页面上的登录状态控件
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-09-20
************************************************************************/
function receiveSessionState(sessionInfo) {
	var loginFlag = getItem("loginFlag");

	//根据取得的登录状态决定是否再取得单点登录信息
	var arrSessionInfo = sessionInfo.split(' ');

  	//取得状态,并取得单点登录信息
  	if(arrSessionInfo.length > 1)
  	{
  		var state = arrSessionInfo[0];
  		var membertype = "1000";
  		if(arrSessionInfo.length > 2)
  		{
  			membertype = arrSessionInfo[2];
  		}
  		
  		membertype = membertype.replace("\n", "").replace("\r", "");
  		
  		//alert("membertype:" + membertype + "RRRRR");
  		//只有登录,并且是普通会员才能在俱乐部有登录状态
  		if(state == "1" && membertype == "1000")
  		{
  			state = "1";
  		}
  		else
  		{
  			state = "0";
  		}
  		
  		if(loginFlag)
		{
			loginFlag.value = state;
		}

		if(state == "1")
		{
			var memberid = arrSessionInfo[1];

			//重定向,取得登录的Session信息
			var url = JXQ_CLUB_DOMAIN + "/ssoClient/?eventcode=1000&memberid=" + memberid;
			doXmlHttpRequest(url, fireOthersNeedLoginFlagFunction);
		}
	}
	
	//执行页面上其他需要等待状态的操作
	fireOthersNeedLoginFlagFunction();
}

/************************************************************************
函 数 名: fireOthersNeedLoginFlagFunction
功能概要: 状态改变后需要触发其他函数
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2007-01-24
************************************************************************/
function fireOthersNeedLoginFlagFunction()
{
	if( typeof(othersNeedLoginFlagFunction) == "function" )
	{
		othersNeedLoginFlagFunction();
	}
	
	if( typeof(othersNeedLoginFlagFunction2) == "function" )
	{
		othersNeedLoginFlagFunction2();
	}
}

/************************************************************************
函 数 名: checkLogin
功能概要: 判断当前用户是否已经登录
参数说明: message 错误消息:如果有错误消息则报错
作    者: LinCT@chinsoft.com
创建日期: 2006-01-24
************************************************************************/
function checkLogin(message){
	return mchk('loginFlag',message,isLogin);
}

/************************************************************************
函 数 名: setValue
功能概要: 设置控件值
参数说明: instanceName fckEditor依存的 TextArea
		  需要设置的值
作    者: LinCT@chinsoft.com
创建日期: 2006-07-03
************************************************************************/
function setValue(field_name, value)
{
	try 
	{
		var objFCKEditor = FCKeditorAPI.GetInstance(field_name);
		
		if (objFCKEditor.EditMode == FCK_EDITMODE_WYSIWYG) 
		{
			objFCKEditor.SetHTML(value);
		}
	}
	catch(e)
	{
		var item = document.getElementById(field_name);
		if( item != null)
		{
			item.value = value;
		}
	}
}

/************************************************************************
函 数 名: setComboBoxValue
功能概要: 设置下拉框的选中的值
参数说明: 
作    者: LinCT@chinsoft.com
创建日期: 2006-07-03
************************************************************************/
function setComboBoxValue(field_name, value)
{
	var comboBox = getItem(field_name);
	
	for(i=0;i<comboBox.options.length;i++)
	{
		if(comboBox.options[i].value == value)
		{
			comboBox.options[i].selected = true;
		}
	}
}

/************************************************************************
函 数 名: showHideElement
功能概要: 隐藏或显示某个页面元素
参数说明: isShow:是否显示
作    者: LinCT@chinsoft.com
创建日期: 2006-07-03
************************************************************************/
function showHideElement(elementId, isShow)
{
	var element = $(elementId);
	if(element)
	{
		element.setStyle('display', isShow ? "" : "none");
	}
}

/************************************************************************
函 数 名: copyToClipBoard
功能概要: 拷贝到剪贴板
参数说明: value:值
作    者: LinCT@chinsoft.com
创建日期: 2006-07-03
************************************************************************/
function copyToClipBoard(value)
{
	window.clipboardData.setData("Text",  value);

	alert("复制成功!");

	return false;
}

//根据字段名称取得控件
function getItem(field_name) {
	var item = document.getElementById(field_name);
    
	if(item == null)
	{
		var items = document.getElementsByName(field_name);
		
		if(items)
		{
			item = items[0];
		}
	}
	
	return item;
}

//根据字段得到值
function getValue(field_name) {
	try
	{
		var objFCKEditor = FCKeditorAPI.GetInstance(field_name);
		return objFCKEditor.GetXHTML();
	}
	catch(e)
	{
	    var item = getItem(field_name);
	    
	    if(item)
	    {
	    	if(item.type == "radio")
	    	{
	    		var rads = document.getElementsByName(field_name);
	    		for(i=0;i<rads.length;i++)
	    		{
	    			if(rads[i].checked)
	    			{
	    				return rads[i].value;
	    			}
	    		}
	    		
	    		return null;
	    	}
	    	else if(item.type == "select-one")
	    	{
	    		var value = "-1";
	    		if(item.selectedIndex > -1)
	    		{
	    			value = item.options[item.selectedIndex].value;
	    		}
	    		
	    		return value;
	    	}
	    	else if(item.type == "checkbox")
	    	{
	    		return item.checked;
	    	}
	    	
	    	return item.value;
	    }
    }
    
    return "";
}

//根据特定函数检查指定控件:如果message不是空则显示错误消息并设置焦点
function mchk(field_name, message, func_name){
	if(func_name(getValue(field_name))){
		return true;
	}
	
	if(!isNullString(message)){
		alert( message );
		
		//设置焦点
		setFocus(field_name);
	}
	
	return false;
}

//根据登录标志判断是否登录
function isLogin(flag) {
	return (flag == "1");
}

//检查字符串是否为空
function isNullString(txt) {
    return (txt == null || txt.trim() == "");
}

String.prototype.trim = function()  
{  
    // 用正则表达式将前后空格
    // 用空字符串替代
    return this.replace(/(^\s*)|(\s*$)/g, "");  
}

//检查字符串是否为空
function isNotNullString(txt) {
    return !isNullString(txt);
}

//检查字符串是否以Http开头
function isHttpString(url) {
	var re = new RegExp("(^http):\/\/(\\w)+\.(\\w)+");

	return re.test(url);
}

//检查下拉框是否选择(-1则没选择)
function isSelectedValue(selectedValue)
{
	if(selectedValue == "-1")
	{
		return false;
	}
	
	return true;
}

//检测Email地址是否合法
function isValidEmail(addr) 
{
	var a = false;
	var res = false;
	if(typeof(RegExp) == 'function')
	{
		var b = new RegExp('abc');
		if(b.test('abc') == true)
		{a = true;}
	}
	if(a == true)
	{
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
        res = (reg.test(addr));
    }
    else
    {
		res = (addr.search('@') >= 1 &&
		addr.lastIndexOf('.') > s.search('@') &&
		addr.lastIndexOf('.') >= s.length-5);
	}
	return res;
}

//是否是合法日期:yyyy-mm-dd
function isValidDate(str)
{
    //如果为空，则通过校验
    if(str == "")
    {
        return true;
    }

    if(!str.match(/^\d{4}\-\d\d?\-\d\d?$/))
	{
		return false;
	}

	var ar = str.replace(/\-0/g,"-").split("-");
	ar = new Array(parseInt(ar[0]), parseInt(ar[1])-1, parseInt(ar[2]));
	var d = new Date(ar[0], ar[1], ar[2]);
	return d.getFullYear() == ar[0] && d.getMonth() == ar[1] && d.getDate() == ar[2];
}

//检测日期是否为yyyy的格式
function isValidYYYY(str)
{
	var reg=/^(\d{4})$/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

//检测是否是数字：整数或小数
function isValidNumber(num)
{
	numstring="0123456789."
	for(i=0;i<num.length;i++)
	{
		if (numstring.indexOf(num.charAt(i))==-1)
		{
			return false;
		}
	}
	
	return true;
}

//判断是否是整数：不能是小数
function isValidInteger(str)
{
	var reg=/^(0|[1-9]\d*)$/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

//判断是否是小数：必须是小数
function isValidDouble(str)
{
	var reg=/^(0|[1-9]\d*)\.(\d+)$/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

//是否是合法的电话号码
function isValidTelNO(num)
{
    return isNotNullString(num);
}

//手机号规则
function isValidMobile(str)
{
	var reg=/\d{11}/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

//邮政编码
function isValidZip(str)
{
	var reg=/^(\d{6})$/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

//身份证，要求必须15位或者18位的数字
function isValidIdCard(str)
{
	var reg =/^(\d{15}|\d{18})$/;
	if(!str.match(reg))
	{
		return false;
	}
	
	return true;
}

/************************************************************************
函 数 名: newWindow
功能概要: 弹出窗口
参数说明: 
作    者: Hty
创建日期: 2006-09-30
************************************************************************/
newWindow = function(){};
newWindow.prototype = {
	open:function(options)
	{
		this.href = options.href;
		this.target = options.target;
		this.flag = options.flag;
		var width = 590;
		var height = 340;
		var left = ( screen.width - width ) / 2;
		var top = ( screen.height - height ) / 2;
		this.param = "";
		if(this.flag == 1) this.param += ',location=1';
		var win = window.open( this.href, this.target, this.param );
	},
	
	redirect:function(options)
	{
		this.href = options.href;
		
		window.location.href = this.href;
	}
}

/************************************************************************
函 数 名: checkClubMember
功能概要: 判断当前登录人是否是俱乐部成员
参数说明: 0 不是 1 是成员
         如果错误标志为true　则表示是俱乐部成员　否则弹出错误消息
作    者: FuQiang@chinsoft
创建日期: 2006-09-30
************************************************************************/
function checkClubMember(message)
{
	if(getItem('hiddenClubMemberFlag'))
	{
		if(getValue('hiddenClubMemberFlag') == '0')
		{
			alert( message );
			return false;
		}
		
		return true;
	}
}

/************************************************************************
函 数 名: changeTab
功能概要: 改变Tab
参数说明: tabIndex:当前是第几个tab, tabCount:tab总数
作    者: lin@chinsoft
创建日期: 2006-09-30
************************************************************************/
function changeTab(tabIndex, tabCount)
{
	for (i = 1; i <= tabCount; i++)
	{
		tab  = getItem("ClubTab"  + i);
		item1 = getItem("ClubItem" + i);

		if (i == tabIndex)
		{
			tab.className  = "ActiveTab";
			item1.className = "ActiveDescription";
		}
		else
		{
			tab.className  = "DActiveTab";
			item1.className = "HiddenDescription";
		}
	}
}

/************************************************************************
函 数 名: changeFontSize
功能概要: 改变字体大小
参数说明: field_name : 对象
作    者: lin@chinsoft
创建日期: 2006-09-30
************************************************************************/
function changeFontSize(field_name, size)
{
	getItem(field_name).style.fontSize = size + 'px'
}

function cccall_command( cmd )
{
	about =  headcall.about ;

	if( about == null )
	{
		//如果未安装 headcall 转向下载页面 
  		location = CCCALL_DOWN;
	}
	else
	{
		// 向 headcall 发出 cmd 命令
		headcall.command( cmd );
	}
}

//设为首页
function setHomePage(url)
{
	document.body.style.behavior = 'url(#default#homepage)';
	if(!document.body.isHomePage(url))
	{
		document.body.setHomePage(url);
	}
}

//收藏
function addBookmark(url, title) 
{
	if (window.sidebar) 
	{ 
		window.sidebar.addPanel(title, url, ""); 
	}
	else if(document.all) 
	{
		window.external.AddFavorite( url, title);
	}
	else if( window.opera && window.print ) 
	{
		return true;
	}
}

//缩小图片
function initZoomImage(container, cname, width)
{
	//先隐藏
	$(container).setStyle('visibility', 'hidden');

	window.addEvent('domready', function(){
		zoomImage(container, cname, width);
	});
	
	window.addEvent('load', function(){
		zoomImage(container, cname, width);
	});
}

function zoomImage(container, cname, width)
{
	//取得图片
	$$('.' + cname + ' img').each(function(item){
		if(item.getStyle('width').toInt() > width)
		{
			item.setStyles({
				width: width,
				height:item.getStyle('height').toInt() * width / item.getStyle('width').toInt()
			});
		}
	});
	
	//设置完属性显示
	$(container).setStyle('visibility', 'visible');
}

function copyToClipboardByElement(theField) {
    var tempval=$(theField);
    if (navigator.appVersion.match(/\bMSIE\b/)){
	    tempval.select();
	    
	    therange=tempval.createTextRange();
	    therange.execCommand("Copy");
	    
	    alert("复制成功!");
	    
	    return false;
    }else{
	    alert("您使用的浏览器不支持复制功能，请使用Ctrl+C或鼠标右键复制。");
	    tempval.select();
    }
    
    return false;
}

///==============
function selectTopClubChanged()
{
	resetControlsBeforeSend(getValue('selectTopClub'));
	sendTopClubRequest(getValue('selectTopClub'));
}

function selectProvinceTopChanged()
{
	ajaxSettingBeforeSend('selectCityTop;selectCountyTop;selectClubAttribute;selectClubAttributeSecond;selectClubAttributeThird');
	sendTopTileRequest(	getValue('parentClubAttributeID'),
						getValue('selectProvinceTop'),
						getValue('selectCityTop'),
						getValue('selectCountyTop'),
						getValue('selectClubAttributeCategory'),
						'selectCityTop',
						getValue('selectProvinceTop'));
}

function selectCityTopChanged()
{
	ajaxSettingBeforeSend('selectClubAttribute;selectCountyTop;selectClubAttributeSecond;selectClubAttributeThird');
	sendTopTileRequest(	getValue('parentClubAttributeID'),
						getValue('selectProvinceTop'),
						getValue('selectCityTop'),
						getValue('selectCountyTop'),
						getValue('selectClubAttributeCategory'),
						'selectCountyTop',
						getValue('selectCityTop')  );
}

function selectCountyTopChanged()
{
	ajaxSettingBeforeSend('selectClubAttribute;selectClubAttributeSecond;selectClubAttributeThird');
	sendTopTileRequest(	getValue('parentClubAttributeID'),
						getValue('selectProvinceTop'),
						getValue('selectCityTop'),
						getValue('selectCountyTop'),
						getValue('selectClubAttributeCategory'),
						'',
						getValue('selectCountyTop') );
}

function selectClubAttributeCategoryChanged()
{
	ajaxSettingBeforeSend('selectClubAttribute;selectClubAttributeSecond;selectClubAttributeThird');
	sendTopTileRequest(	getValue('parentClubAttributeID'),
						getValue('selectProvinceTop'),
						getValue('selectCityTop'),
						getValue('selectCountyTop'),
						getValue('selectClubAttributeCategory'),
						'',
						'');
}

function selectClubAttributeChanged()
{
	ajaxSettingBeforeSend( 'selectClubAttributeSecond;selectClubAttributeThird');
	sendParentClubAttribute( $('selectClubAttributeCategory').value,
							 $('selectClubAttribute').value,
							'selectClubAttributeSecond');
}

function selectClubAttributeSecondChanged()
{
	ajaxSettingBeforeSend( 'selectClubAttributeThird');
	sendParentClubAttribute( $('selectClubAttributeCategory').value,
							 $('selectClubAttributeSecond').value,
							'selectClubAttributeThird');
}

function selectContinentChanged()
{
	ajaxSettingBeforeSend('selectCountry;selectProvince;selectCity;selectCounty');
	sendDistrictInfo(getValue('selectContinent'), 'selectCountry');
}

function selectCountryChanged()
{
	ajaxSettingBeforeSend('selectProvince;selectCity;selectCounty');
	sendDistrictInfo(getValue('selectCountry'), 'selectProvince');
}

function selectProvinceChanged()
{
	ajaxSettingBeforeSend('selectCity;selectCounty');
	sendDistrictInfo(getValue('selectProvince'), 'selectCity');
}

function selectCityChanged()
{
	ajaxSettingBeforeSend('selectCounty');
	sendDistrictInfo(getValue('selectCity'), 'selectCounty');
}

function txtSearchClubParamsOnClick()
{
	if(getItem('txtSearchClubParams').value == ('请输入' + $('selectTopClub').getElement('option[value=' + $('selectTopClub').value + ']').get('text') + '名称/编码'))
	{
		getItem('txtSearchClubParams').value = '';
	}
}

function txtSearchClubParamsOnBlur()
{
	if(getItem('txtSearchClubParams').value == '')
	{
		getItem('txtSearchClubParams').value = '请输入' + $('selectTopClub').getElement('option[value=' + $('selectTopClub').value + ']').get('text') + '名称/编码';
	}
}

//取得服务器端返回的数据并重置地区下拉框的值
function receiveDistrictResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	resetSelect(resp.body.set.name, 'id', 'name', resp.body.set.items, 1);
}

//当用户改变顶级人脉组织时重置相关下拉框及输入框的内容
function resetControlsBeforeSend(selectedClubAttributeID)
{
	getItem('parentClubAttributeID').value = selectedClubAttributeID;
	if(getItem('txtSearchClubParams')) {
		getItem('txtSearchClubParams').value = '请输入' + $('selectTopClub').getElement('option[value=' + $('selectTopClub').value + ']').get('text') + '名称/编码';
	}
	
	var contral = getItem('txtSearchZongQinParams');
	if(contral)
	{
		contral.value = "";
	}

	//设置下拉框的显示属性为隐藏并初始化其值为 -1	
	var resetSelectIDs = 'selectProvinceTop;selectCityTop;selectCountyTop;selectClubAttributeCategory;selectClubAttribute;selectClubAttributeSecond;selectClubAttributeThird';
	
	//设置为不可用
	ajaxSettingBeforeSend(resetSelectIDs);
}

//顶级人脉组织改变后,服务器端返回的数据
function recvTopClubResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);
	
	var hideSet;
	var showSet;
	
	//填充服务器端数据,并设置相关控件为可用
	for(var i=0; i<resp.body.sets.length; i++)
	{
		var set = resp.body.sets[i];
	
		if(set.name == 'hidecontrols')
		{
			hideSet = set;
		}
		else if(set.name == 'showcontrols')
		{
			showSet = set;
		}
		else
		{
			resetSelect(set.name, 'id', 'name', set.items, 1);
			
			//设置可见,可用
			var control = getItem(set.name);
			if(control)
			{
				$(control).setStyle('display', '');
				control.disabled  = false;
			}
		}
	}
	
	//隐藏不必要的控件
	if(hideSet)
	{
		for(var i=0;i<hideSet.items.length;i++)
		{
			var item = hideSet.items[i];

			//隐藏控件
			var control = getItem(item.properties['name'].value);
			if(control)
			{
				$(control).setStyle('display', 'none');
				
				//选项清0
			}
		}
	}
	//显示控件
	if(showSet)
	{
		for(var i=0;i<showSet.items.length;i++)
		{
			var item = showSet.items[i];

			//显示控件
			var control = getItem(item.properties['name'].value);
			if(control)
			{
				$(control).setStyle('display', '');
				control.disabled  = false;
			}
		}
	}
}

//二级属性 : 地区, 分类 服务器端返回
function recvTopTileResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);
	
	var showSet;

	//填充服务器端数据,并设置相关控件为可用
	for(var i=0; i<resp.body.sets.length; i++)
	{
		var set = resp.body.sets[i];
		
		if(set.name == 'showcontrols')
		{
			showSet = set;
		}
		else
		{
			resetSelect(set.name, 'id', 'name', set.items, 1);
		
			//如果有值, 设置可见,可用
			var control = getItem(set.name);
			if(control)
			{
				$(control).setStyle('display', '');
				control.disabled  = false;
			}
		}
	}
	
	//显示控件
	if(showSet)
	{
		for(var i=0;i<showSet.items.length;i++)
		{
			var item = showSet.items[i];

			//显示控件
			var control = getItem(item.properties['name'].value);
			if(control)
			{
				$(control).setStyle('display', '');
				control.disabled  = false;
			}
		}
	}
}

//二级属性:属性服务器端返回
function receiveClubAttributeInfo(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	//填充服务器端数据,并设置相关控件为可用
	for(var i=0; i<resp.body.sets.length; i++)
	{
		var set = resp.body.sets[i];

		resetSelect(set.name, 'id', 'name', set.items, 1);
		
		//如果有值, 设置可见,可用
		var control = getItem(set.name);
		if(control)
		{
			//>1 因为默认是请选择
			if(set.items.length > 1)
			{
				$(control).setStyle('display', '');
				control.disabled  = false;
			}
			else
			{
				$(control).setStyle('display', 'none');
			}
		}
	}
}

function recvZongQinQueryResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	resetSelect(resp.body.set.name, 'id', 'name', resp.body.set.items, 1);
}

function checkTribeQuery(attributeCaption)
{
	//判断首级人脉组织属性是否已选
	if(!checkMustSelect('selectClubAttribute', '请选择' + attributeCaption))
	{
		return false;
	}
	
	//判断地域是否已选 至少应选省
	/*
	if(!checkMustSelect('selectProvince', '请选择地域'))
	{
		return false;
	}
	*/
	
	return true;
}

//取得页面参数，调用ajax
function gotoClubList(attributeCaption)
{
	//如果输入框接受的数据有可能为汉字则需先encodeURI进行UTF-8的处理 
	//接受处理函数中也要进行相应的处理
	var queryword = getValue('txtSearchClubParams');
	if(queryword == '请输入' + $('selectTopClub').getElement('option[value=' + $('selectTopClub').value + ']').get('text') + '名称/编码')
	{
		queryword = '';
	}
	
	//只有当快捷通道为空时才检查
	if(queryword == '' && !checkTribeQuery(attributeCaption))
	{
		return false;
	}

	queryword = encodeURI(encodeURI(queryword));//必须编码两次
	
	var topClubAttributeID = getValue('selectTopClub');
	
	var topDistrictID = '';
	if(getValue('selectCountyTop') != null && getValue('selectCountyTop') != '-1')
	{
		topDistrictID = getValue('selectCountyTop');
	}
	else if(getValue('selectCityTop') != null && getValue('selectCityTop') != '-1')
	{
		topDistrictID = getValue('selectCityTop');
	}
	else if(getValue('selectProvinceTop') != null && getValue('selectProvinceTop') != '-1')
	{
		topDistrictID = getValue('selectProvinceTop');
	}

	var clubAttributeCategoryID = getValue('selectClubAttributeCategory');
	
	//取得人脉组织属性
	var clubAttributeID = '';

	if(getValue('selectClubAttributeThird') != null && getValue('selectClubAttributeThird') != '-1' )
	{
		clubAttributeID = getValue('selectClubAttributeThird');
	}
	else if(getValue('selectClubAttributeSecond') != null && getValue('selectClubAttributeSecond') != '-1')
	{
		clubAttributeID = getValue('selectClubAttributeSecond');
	}
	else if(getValue('selectClubAttribute') != null && getValue('selectClubAttribute') != '-1')
	{
		clubAttributeID = getValue('selectClubAttribute');
	}

	//取得地区
	var districtID = '';
	if(getValue('selectCounty') != null && getValue('selectCounty') != '-1')
	{
		districtID = getValue('selectCounty');
	}
	else if(getValue('selectCity') != null && getValue('selectCity') != '-1')
	{
		districtID = getValue('selectCity');
	}
	else if(getValue('selectProvince') != null && getValue('selectProvince') != '-1')
	{
		districtID = getValue('selectProvince');
	}
	
	var url = 'clublist.ehtml?';
	url += 'sp=S' + topClubAttributeID;
	url += '&sp=S' + topDistrictID;
	url += '&sp=S' + clubAttributeCategoryID;
	url += '&sp=S' + clubAttributeID;
	url += '&sp=S' + districtID;
	url += '&sp=S' + queryword;
	
	new newWindow().redirect({href:url});
}

//根据当前客户端标志显示或隐藏:登录,注册
function showLoginOrSignOut()
{
	if(checkLogin(''))
	{
		//已经登录
		showHideElement('tdHeaderLinkLogout', true);
		showHideElement('tdHeaderLinkLogin', false);
	}
	else
	{
		//尚未登录
		showHideElement('tdHeaderLinkLogout', false);
		showHideElement('tdHeaderLinkLogin', true);
	}
}

function othersNeedLoginFlagFunction()
{
	showLoginOrSignOut();
}

function enterClub(attributeCaption)
{
	if(!checkMustSelect('selectClubAttribute', '请选择' + attributeCaption))
	{
		return false;
	}
	
	var clubAttributeID = '';
	
	if($('selectClubAttributeThird') && $('selectClubAttributeThird').value != '' && $('selectClubAttributeThird').value != '-1')
	{
		clubAttributeID = $('selectClubAttributeThird').value;
	}
	else if($('selectClubAttributeSecond') && $('selectClubAttributeSecond').value != '' && $('selectClubAttributeSecond').value != '-1')
	{
		clubAttributeID = $('selectClubAttributeSecond').value;
	}
	else if($('selectClubAttribute') && $('selectClubAttribute').value != '' && $('selectClubAttribute').value != '-1')
	{
		clubAttributeID = $('selectClubAttribute').value;
	}
	
	var districtID = '';
	if($('selectCounty') && $('selectCounty').value != '' && $('selectCounty').value != '-1')
	{
		districtID = $('selectCounty').value;
	}
	else if($('selectCity') && $('selectCity').value != '' && $('selectCity').value != '-1')
	{
		districtID = $('selectCity').value;
	}
	else if($('selectProvince') && $('selectProvince').value != '' && $('selectProvince').value != '-1')
	{
		districtID = $('selectProvince').value;
	}
	
	var codeOrName = $('txtSearchClubParams').value;
	if(codeOrName == '请输入' + $('selectTopClub').getElement('option[value=' + $('selectTopClub').value + ']').get('text') + '名称/编码')
	{
		codeOrName = '';
	}
	
	sendEnterClubRequest(clubAttributeID,
		districtID,
		encodeURI(codeOrName)
	);
}

function recvEnterClubResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	if(resp.header.code != '1000')
	{
		//判断如果是不存在，则提示开通
		if(resp.header.code == '2217')
		{
			if(confirm(resp.header.message))
			{
				var clubattributeid = resp.body.properties['clubattributeid'].value;
				var districtid = resp.body.properties['districtid'].value;
				
				sendCreateClubRequest(clubattributeid, districtid);
			}
		}
		else
		{
			alert(resp.header.message);
		}
	}
	else
	{
		new newWindow().open({href:resp.body.properties['url'].value});
	}
}

function recvCreateClubResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	alert(resp.header.message);
}

function recvJoinClubResponse(dataXML)
{
	if(dataXML==null||dataXML==undefined)
	{
		return;
	}

	var resp = new Response();
	resp.resolve(dataXML);

	alert(resp.header.message);
}