// object for Web Service call
/* character poll*/
function txtDefaultInsert(obj,code)
{ 
	var val =  document.getElementById(obj).value;
	
	if (val == '')
		document.getElementById(obj).value = wsGetContext(code);
		
}
function wsSetCommentEvent(boardIdx, totalcount, pagingcount, ip)
{
	var enterKey = 13; 
	if(event.keyCode == enterKey)
	{
		alert(boardIdx);
		wsSetComment(boardIdx, totalcount, pagingcount, ip);
		event.returnValue = false;
	}	
	else
	{
		return false;
	}	
	
}
function wsSetComment(boardIdx, totalcount, pagingcount, ip)
{	 
	var content = document.getElementById('txtComment').value;
	 
	if ( (content == "") || (content == wsGetContext("commu0291")))
	{
		alert(wsGetContext("commu0292"));	
		//document.getElementById('txtComment').focus();
	}
	else
	{
		var webServiceURL = "/service/EMSWebService.asmx";
		var serviceMethodName = "SetCharacterPollComment";
		var namespace = "http://tempuri.org/";
		var returnValue = null;
		var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
		var result =  serviceProxy.GetValueWithParam6(serviceMethodName, boardIdx,content, ip);
			
		var chk = result.split("||");	
		 
		//boardIdx,totalcount,  pagingcount, reqpage
		if ( chk[0] == "0")
		{
			document.getElementById('txtComment').value = "";	
			document.getElementById('txtComment_len').innerHTML = "0";		
			wsGoPageCharacterPollComment(boardIdx, eval(totalcount)+1, 10,0);	
		}	
		else
		{
			alert(chk[1]);
		}	
	}
}
function wsMyCharacterUpdate(battleIdx, boardIdx, ip)
{
//Update
	if (ip == '')
		ip =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_clientIp").value;
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "SetMyCharacterUpdate";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	var result =  serviceProxy.GetValueWithParam3(serviceMethodName, battleIdx, boardIdx, ip);
		
	var chk = result.split("||");	
	alert(chk[1]);
	if ( chk[0] == "0")
		wsCharacterPollFilter(0);
	
}
function wsGetCharacterInfo(obj1,obj2,wid, cid)
{ 	 
	//alert(obj2);
	//alert(document.getElementById(obj2).src);
	
	document.getElementById('imgSelectedAvatar').src = document.getElementById(obj1).src;
	document.getElementById('bgSelectedAvatar').src = document.getElementById(obj2).src;
		
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "GetCharacterInfo";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	 
	/*
	* rtn
	* forumid||charactername||job||lev
	* */
	var result =  serviceProxy.GetValueWithParam2(serviceMethodName, wid,cid);
	var chk = result.split("||");
	
	//alert(result);
	//alert(chk[1]);
	
	
	document.getElementById('divSelectedCharacter').innerHTML = chk[1];
	document.getElementById('divSelectedAvatar').chk = cid;
	//alert(document.getElementById('divSelectedAvatar').chk);
	document.getElementById('divForumID').innerHTML = chk[0];
	document.getElementById('divCharacterName').innerHTML = chk[1];
	document.getElementById('divLevel').innerHTML = chk[3];
	document.getElementById('divJob').innerHTML = chk[2];
 
}

function wsApplyCharacterPoll(ip)
{
	var cid = document.getElementById('divSelectedAvatar').chk;
	var battleIdx = document.getElementById('/controls/community/CharacterPoll/CharacterPoll__hidden_BattleIdx').value;
	var language =  document.getElementById('selLanguage').value;
	var content =   document.getElementById('tbComment').value;
	var wid =   document.getElementById('selGameServer').value;
	
	if ( cid == "")
	{
		alert(wsGetContext("commu0327"));		
	}
	else
	{
		//check content
		if (content == "")
		{
			alert(wsGetContext("commu0300"));	
		}
		else
		{
			//insert
			var webServiceURL = "/service/EMSWebService.asmx";
			var serviceMethodName = "SetCharacterPoll";
			var namespace = "http://tempuri.org/";
			var returnValue = null;
			var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
			var result =  serviceProxy.GetValueWithParam6(serviceMethodName, battleIdx,wid, cid, language, content, ip);
			 
			var chk = result.split("||");	
			alert(chk[1]);
			if ( eval(chk[0]) > -3 )
			{			
				win.dialog_close();
				wsCharacterPollFilter(0);			
			}
		}
	}	
}

function wsInsert_MStar_Entry(ip, MStarIdx)
{
	var cid = document.getElementById('divSelectedAvatar').chk;
	var language =  document.getElementById('selLanguage').value;
	var content =   document.getElementById('tbComment').value;
	var wid =   document.getElementById('selGameServer').value;
	
	//alert(cid);
	//alert(wid);
	
	
	if ( cid == "")
	{
		alert(wsGetContext("commu0327"));		
	}
	else
	{
		//check content
		if (content == "")
		{
			alert(wsGetContext("commu0300"));	 
		}
		else
		{
			//insert
			var webServiceURL = "/service/EMSWebService.asmx";
			var serviceMethodName = "Insert_MStar_Entry";
			var namespace = "http://tempuri.org/";
			var returnValue = null;
			var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
			var result =  serviceProxy.GetValueWithParam6(serviceMethodName, MStarIdx, wid, cid, language, content, ip);
			  
			var chk = result.split("||");	
			
			alert(chk[1]);
			
			opener.pageReload();
			window.close();
		}
	}	
}

function wsUpdate_MStar_Entry(ip, EntryIdx)
{
	var cid = document.getElementById('divSelectedAvatar').chk;
	var language =  document.getElementById('selLanguage').value;
	var content =   document.getElementById('tbComment').value;
	var wid =   document.getElementById('selGameServer').value;
	
	if ( cid == "")
	{
		alert(wsGetContext("commu0327"));		
	}
	else
	{
		//check content
		if (content == "")
		{
			alert(wsGetContext("commu0300"));	
		}
		else
		{
			//Update
			var webServiceURL = "/service/EMSWebService.asmx";
			var serviceMethodName = "Update_MStar_Entry";
			var namespace = "http://tempuri.org/";
			var returnValue = null;
			var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
			var result =  serviceProxy.GetValueWithParam6(serviceMethodName, EntryIdx, wid, cid, language, content, ip);
			 
			var chk = result.split("||");	
			
			alert(chk[1]);
			opener.pageReload();
			window.close();
		}
	}	
}

function wsVote_MStar_Entry(MStarIDX, IPAddress)
{
	var EntryIDX = document.getElementById('selectedEntryIDX').value;

	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "Vote_MStar_Entry";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	var result =  serviceProxy.GetValueWithParam6(serviceMethodName, MStarIDX, EntryIDX, IPAddress);
		
	var chk = result.split("||");	
	
	if ((chk[0] == "-1"))
	{
		alert(chk[1]);
	}
	else
	{
		alert(chk[2]);
	}
	
	if ((chk[0] == "0") &&(chk[1] == "0"))
	{
		reloadVoteAfterEvent();
	}
}

function wsPollCharacter(battleIdx, boardIdx)
{
	var clientip = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_clientIp").value;
 
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "PollCharacter";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	 
	/*
	* rtn
	* -2 :not exists content 
	* -1 : your content
	* 0 : success
	* 1 : fail 
	* */
	var result =  serviceProxy.GetValueWithParam3(serviceMethodName, battleIdx,boardIdx, clientip);
	 
	var chk = result.split("||");
	var divId = "div"+boardIdx;
	if (chk[0] == "0")
	{
		document.getElementById(divId).innerHTML = chk[1];
		var objPC = "divPollCount"+boardIdx;		
		document.getElementById(objPC).innerHTML = eval(document.getElementById(objPC).innerHTML) + 1;
		//reload page
		var reqpage = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value;
		if (reqpage == "") reqpage = "0";
		wsGoPageCharacterPoll(reqpage);		
	}
	else
	{
		alert(chk[1]);
	} 	
}
 
 /*use*/
function wsCharacterPollFilter(reqpage)
{ 
	document.getElementById("divLoading").innerHTML = "<img src=\"http://msimage.nexoneu.com/en/download.gif\" />";
	var battleIdx = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_BattleIdx").value;
	var pagingcount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlPagingCount").value;
	var orderIdx =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_Tap").value;
	var totalCount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_totalCount").value;
	 		
	document.getElementById("/controls/community/CharacterPoll/CharacterPoll_tbKeyword").value = "";
	//filtering page
	var filDate =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlDate").value;
	var filJob =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlJob").value;
	var filLan =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlLanguage").value;
	var filLev =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlLevel").value;
	
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "GetBoardIdxCharacterPollSearchList";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divList 
	var result =   serviceProxy.GetValueWithParam8(serviceMethodName, battleIdx,orderIdx,filDate, filJob, filLan, filLev,pagingcount,reqpage);
 
	var chk =result.split("||");
	totalCount = chk[0];
	if ( eval(chk[0]) == 0)	
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML =  chk[1];
	else
	{
		var str = "";	
		var Idx = chk[1].split("&");
		 
		serviceMethodName = "GetApplyInfo";
		
		if (Idx.length == 1)
			str = chk[1];
		else
		{			
			for ( var i=0; i < Idx.length; i++)
			{
				if ( Idx[i] != "")
				{
					str += serviceProxy.GetValueWithParam2(serviceMethodName, battleIdx,Idx[i]);				
				}			
			}
		}
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML = str;		
	} 
	var totalMsg = wsGetContext("commu0334");
	if ( eval(chk[0]) == eval(chk[2]))
		totalMsg = wsGetContext("commu0335");
	totalMsg = totalMsg.replace("#",chk[0]);
	totalMsg = totalMsg.replace("$",chk[2]);
	 
	document.getElementById("/controls/community/CharacterPoll/CharacterPoll_lblTotal").innerHTML = totalMsg;
		 
	//divPage
	GetPageNavigation(totalCount,pagingcount,reqpage);	
	//document.getElementById("divLoading").style.display = "none";
	document.getElementById("divLoading").innerHTML = "";
}

function wsGoPageCharacterPoll(reqpage)
{
	if (reqpage == '')
		reqpage =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value;
	
	document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value = reqpage;	 
	
	var battleIdx = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_BattleIdx").value;
	var pagingcount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlPagingCount").value;
	var orderIdx =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_Tap").value;
	var totalCount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_totalCount").value;
	 
	var result =   "";
	var webServiceURL = "/service/EMSWebService.asmx";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
		
	if ( document.getElementById("/controls/community/CharacterPoll/CharacterPoll_tbKeyword").value != "")
	{	
		var field = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlField").value;
		var searchText = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_tbKeyword").value;				
 
		serviceMethodName = "CharacterPollSearchList";	
		//divList
		result =  serviceProxy.GetValueWithParam6(serviceMethodName, battleIdx,orderIdx,field,searchText,pagingcount,reqpage);
		
		var tmpchk = result.split("||");
		
		if (eval(tmpchk[3]) == 0 && eval(reqpage) > 0)
		{
			document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value = eval(reqpage) - 1;
			result =  serviceProxy.GetValueWithParam6(serviceMethodName, battleIdx,orderIdx,field,searchText,pagingcount,eval(reqpage)-1);		 
		}
	}
	else
	{
		//filtering page
		var filDate =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlDate").value;
		var filJob =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlJob").value;
		var filLan =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlLanguage").value;
		var filLev =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlLevel").value;
		
		serviceMethodName = "GetBoardIdxCharacterPollSearchList";
		//divList
		result =  serviceProxy.GetValueWithParam8(serviceMethodName, battleIdx,orderIdx,filDate, filJob, filLan, filLev,pagingcount,reqpage);	
		var tmpchk = result.split("||");
		
		if (eval(tmpchk[3]) == 0 && eval(reqpage) > 0)
		{
			document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value = eval(reqpage) - 1;	 
			result =  serviceProxy.GetValueWithParam8(serviceMethodName, battleIdx,orderIdx,filDate, filJob, filLan, filLev,pagingcount,eval(reqpage)-1);		
		}
	}
 
 
	var chk =result.split("||");
	totalCount = chk[0];
	if ( eval(chk[0]) == 0)
	{		 	
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML =  chk[1];		 
	}
	else
	{
		var str = "";
		var Idx = chk[1].split("&");
		serviceMethodName = "GetApplyInfo";
		if ( Idx.length == 1)
			str = chk[1];
		else
		{		
			for ( var i=0; i < Idx.length; i++)
			{
				if ( Idx[i] != "")
				{
					str += serviceProxy.GetValueWithParam2(serviceMethodName, battleIdx,Idx[i]);				
				}			
			}
		}
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML = str;		
	}
		
	//divPage
	GetPageNavigation(totalCount,pagingcount,reqpage);

}

function wsInsert_Item_Point(itemCode, point, IPAddress)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "Insert_Item_Point";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	var result =  serviceProxy.GetValueWithParam3(serviceMethodName, itemCode, point, IPAddress);
		
	var chk = result.split("||");	
	
	if ((chk[0] == "0"))
	{
		reloadInsertPointAfterEvent(itemCode, chk[1], chk[2]);
	}
	else
	{
		alert(chk[1]);	
	}
}

function wsInsert_StarRate(itemType, itemCode, point, IPAddress)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "Insert_Community_StarPoint";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	var result =  serviceProxy.GetValueWithParam4(serviceMethodName, itemType, itemCode, point, IPAddress);
		
	var chk = result.split("||");	
	
	if ((chk[0] == "0"))
	{
		reloadInsertStarRateEvent(itemType, itemCode, chk[1], chk[2]);
	}
	else
	{
		alert(chk[1]);	
	}
}

function GetPageNavigationMStarEntry(totalCount, pagingCount, reqPage)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "MStarEntryPageNavigation";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divPage
	document.getElementById("modules/controls/MStar//MStar_EntryList_Rank_divPage").innerHTML =  serviceProxy.GetValueWithParam3(serviceMethodName, totalCount, pagingCount, reqPage);	
}

function GetPageNavigationMStarEntryPrivate(totalCount, pagingCount, reqPage)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "MStarEntryPageNavigation";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divPage
	document.getElementById("modules/controls/MStar//MStar_Private_divPage").innerHTML =  serviceProxy.GetValueWithParam3(serviceMethodName, totalCount, pagingCount, reqPage);	
}

function wsGoPageCharacterPollComment(boardIdx,totalcount,  pagingcount, reqpage)
{ 
	
		
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "CharacterPollComment";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divList
	document.getElementById("divCommentList").innerHTML =  serviceProxy.GetValueWithParam3(serviceMethodName, boardIdx,pagingcount,reqpage);
	//divPage
	GetPageNavigationComment(boardIdx,totalcount,pagingcount,reqpage);
 

}

function GetPageNavigationComment(boardIdx, totalCount, pagingCount, reqPage)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "CharacterPollCommentPageNavigation";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divPage
	document.getElementById("divCommentPage").innerHTML =  serviceProxy.GetValueWithParam4(serviceMethodName, totalCount, pagingCount, reqPage,boardIdx);	
}


function GetPageNavigation(totalCount, pagingCount, reqPage)
{
	pagingCount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlPagingCount").value;
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "CharacterPollPageNavigation";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	//divPage
	document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divPage").innerHTML =  serviceProxy.GetValueWithParam3(serviceMethodName, totalCount, pagingCount, reqPage);	
}

function OnSubmitForm()
{
	var enterKey = 13;
	if(event.keyCode == enterKey)
	{
		wsCharacterPollSearchList();
		event.returnValue = false;
	}			
}
/*use*/
function wsCharacterPollSearchList()
{
 
	if ( document.getElementById("/controls/community/CharacterPoll/CharacterPoll_tbKeyword").value == "")
	{
		alert(wsGetContext("msg0135"));
		return false;
	}
	else
	{
		var battleIdx = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_BattleIdx").value;
		var pagingcount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlPagingCount").value;
		var orderIdx =  document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_Tap").value;
		var field = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_ddlField").value;
		var searchText = document.getElementById("/controls/community/CharacterPoll/CharacterPoll_tbKeyword").value;
		var reqpage = "0";
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_reqpage").value = "0";
		var totalCount = document.getElementById("/controls/community/CharacterPoll/CharacterPoll__hidden_totalCount").value;
		if (reqpage == "") reqpage = "0";
		

		var webServiceURL = "/service/EMSWebService.asmx";
		var serviceMethodName = "CharacterPollSearchList";
		var namespace = "http://tempuri.org/";
		var returnValue = null;
		var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
		//divList
		
		var result =  serviceProxy.GetValueWithParam6(serviceMethodName, battleIdx,orderIdx,field,searchText,pagingcount,reqpage);
		
		var chk =result.split("||");
		totalCount = chk[0];
		if ( eval(chk[0]) == 0)	
			document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML =  chk[1];
		else
		{
			var str = "";
			var Idx = chk[1].split("&");
			serviceMethodName = "GetApplyInfo";
			if (Idx.length == 1)
			{
				str = chk[1];
			}
			else
			{
				for ( var i=0; i < Idx.length; i++)
				{
					if ( Idx[i] != "")
					{
						str += serviceProxy.GetValueWithParam2(serviceMethodName, battleIdx,Idx[i]);				
					}			
				}
			}
			document.getElementById("/controls/community/CharacterPoll/CharacterPoll_divList").innerHTML = str;		
		}
		  
		var totalMsg = wsGetContext("commu0334");
		if ( eval(chk[0]) == eval(chk[2]))
			 totalMsg = wsGetContext("commu0335");
		
		totalMsg = totalMsg.replace("#",chk[0]);
		totalMsg = totalMsg.replace("$",chk[2]); 
		
		document.getElementById("/controls/community/CharacterPoll/CharacterPoll_lblTotal").innerHTML = totalMsg;
		//divPage
		GetPageNavigation(totalCount,pagingcount,reqpage);
	}
	
	
}
/* character poll*/

function wsGetContext(textCode)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "GetContextByCode";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	return serviceProxy.GetValueWithParam(serviceMethodName, textCode);
}

function wsRdCntUpdate(textBoardIdx)
{
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "updateRndCnt";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	return serviceProxy.GetValueWithParam(serviceMethodName, textBoardIdx);
}


function BS_WebServiceProxy(URL,namespace)
{
	this.url = URL;
	this.methodName = "";
	this.parameterCount = 0;
	this.parameterNameList = null;
	this.parameterValueList = null;
	
	if (namespace == null)
	{
		this.namespace = "http://tempuri.org/"; 
	}
	else
	{
		if (namespace.charAt(namespace.length - 1) != '/')
			this.namespace = namespace + "/";
		else
			this.namespace = namespace;
	}
	
	
	
	this.soapMessage = "";
	this.xmlhttp = null;
	this.message = "";
	
	this.Invoke = BS_Invoke;
	this.GetValueWithParam = BS_GetValueWithParam;
	this.GetValueWithParam2 = BS_GetValueWithParam2;
	this.GetValueWithParam3 = BS_GetValueWithParam3;
	this.GetValueWithParam4 = BS_GetValueWithParam4;
	this.GetValueWithParam5 = BS_GetValueWithParam5;
	this.GetValueWithParam6 = BS_GetValueWithParam6;
	this.GetValueWithParam8 = BS_GetValueWithParam8;
	this.GetValueWithParam9 = BS_GetValueWithParam9;
	this.GetValueWithoutParam = BS_GetValueWithoutParam;
	
	this.CreateSOAPMessage = BS_CreateSOAPMessage;
	this.GetResult = BS_GetResult;
	this.Dispose = BS_Dispose;

}

// method for Web Service call
function BS_Invoke(methodName, parameterCount, parameterNameList, parameterValueList, returnType)
{
	if (this.url == null || this.url == "")
	{
		this.message = "Web Service URL setup error";
		//alert(this.message);
		return null;
	}	
	
	
	if (methodName == null || methodName == "")
	{
		this.message = "Method name setup error";
		//alert(this.message);
		return null;
	}
	else
	{
		this.methodName = methodName;
	}

	if (parameterCount == 0)
	{
		this.parameterCount = 0;
		this.parameterNameList = null;
		this.parameterValueList = null;
	}
	else if (parameterCount >0)
	{
		if (parameterNameList.length != parameterValueList.length || parameterNameList.length != parameterCount)
		{
			this.message = "Parameter setup error";
			//alert(this.message);
			return null;
		}
		else
		{
			this.parameterCount = parameterCount;
			this.parameterNameList = new Array();
			this.parameterValueList = new Array();
			for(var i = 0  ; i < this.parameterCount ; i++)
			{
				this.parameterNameList[i] = parameterNameList[i];
				this.parameterValueList[i] = parameterValueList[i];	
			}
		}
	}
	
	this.CreateSOAPMessage();
	if(window.ActiveXObject){
		
		this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}else if(window.XMLHttpRequest){
		
		this.xmlhttp = new XMLHttpRequest();
	}
	//this.xmlhttp.open("POST", this.url, false);
	this.xmlhttp.open("POST", this.url, false);
	this.xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	this.xmlhttp.setRequestHeader("Cache-control", "no-cache");
	this.xmlhttp.setRequestHeader("SOAPAction", this.namespace + this.methodName);			

	this.xmlhttp.send(this.soapMessage);
	
    var domDocumentObj = this.xmlhttp.responseXML;
    var myXMLDoc = domDocumentObj.documentElement;
    var myChildren = myXMLDoc.childNodes[0].childNodes[0].childNodes[0].childNodes[0];
	
	if(myChildren)
	    return myChildren.nodeValue;
	else
		return parameterValueList[0] + " not defined";
}


// create soap message
function BS_CreateSOAPMessage()
{
		
	this.soapMessage  = '<?xml version="1.0" encoding="utf-8"?>\n';
	this.soapMessage += '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n';
	this.soapMessage += '  <soap:Body>\n';
	
	if (this.parameterCount == 0)
	{
		this.soapMessage += '    <' + this.methodName + ' xmlns="' + this.namespace +'" />\n';
	}
	else
	{
		this.soapMessage += '    <' + this.methodName + ' xmlns="' + this.namespace +'">\n';
	
		for(var i=0;i<this.parameterCount;i++)
				this.soapMessage += '      <' + this.parameterNameList[i] + '>' + this.parameterValueList[i] + '</' + this.parameterNameList[i] + '>\n';

		this.soapMessage += '    </' + this.methodName + '>\n';
	}
	
	this.soapMessage += '  </soap:Body>\n';
	this.soapMessage += '</soap:Envelope>\n';	
}

//return string value
function BS_GetResult()
{
	var domDocumentObj = this.xmlhttp.responseXML;
 
	var resultElementsList = domDocumentObj.getElementsByTagName("Table");	
	var resultElement = null;
	
	if (resultElementsList.item(0) != null)
	{
		resultElement = resultElementsList.item(0);
	}
	else
	{
		this.message = "Return XML document " + this.methodName + "not exist Result element.";
		//alert(this.message);
		return null;
	}	

	if (resultElement.hasChildNodes() != true)		
	{	
		this.message = "Empty child";
		//alert(this.message);
		return null;			
	}
	
	var valueArray = null;
	
	if (resultElement.childNodes.item(0).hasChildNodes() != true)
	{			
		valueArray = resultElement.childNodes.item(0).nodeValue;
		//alert(valueArray+"11");	
		return valueArray;					
	}
	else
	{
		var childNodesList = resultElement.childNodes;
		
		valueArray = new Array(childNodesList.length);
		
		for(var i = 0 ; i< childNodesList.length ; i++)
		{
			var firstChildNode = childNodesList.item(i).firstChild;
			if (firstChildNode == null)
				valueArray[i] = "";				
			else
				valueArray[i] = firstChildNode.nodeValue;						
		}
		//alert(valueArray+"2");	
		
		return valueArray;
	}
}

// dispose that using web service proxy
function BS_Dispose()
{
	this.xmlhttp = null; 
}

// parameter name : web service call named param
//return : string
function BS_GetValueWithParam( methodName, parameterValue)
{
	var parameterNameArray = new Array(1);
	parameterNameArray[0] = "param";
	
	var parameterValueArray = new Array(1);
	parameterValueArray[0] = parameterValue;	

	var valueArray = this.Invoke(methodName, 1,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}

//new
function BS_GetValueWithParam2( methodName, parameterValue1, parameterValue2)
{
	var parameterNameArray = new Array(2);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2"; 
	
	var parameterValueArray = new Array(2);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	 

	var valueArray = this.Invoke(methodName, 2,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}



//new
function BS_GetValueWithParam3( methodName, parameterValue1, parameterValue2,parameterValue3)
{
	var parameterNameArray = new Array(3);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	
	var parameterValueArray = new Array(3);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;

	var valueArray = this.Invoke(methodName, 3,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}

//new
function BS_GetValueWithParam4( methodName, parameterValue1, parameterValue2,parameterValue3, parameterValue4 )
{
	var parameterNameArray = new Array(4);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	parameterNameArray[3] = "param4"; 
	
	var parameterValueArray = new Array(4);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;	
	parameterValueArray[3] = parameterValue4;	 

	var valueArray = this.Invoke(methodName, 4,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}


//new
function BS_GetValueWithParam5( methodName, parameterValue1, parameterValue2,parameterValue3, parameterValue4,parameterValue5)
{
	var parameterNameArray = new Array(5);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	parameterNameArray[3] = "param4";
	parameterNameArray[4] = "param5"; 
	
	var parameterValueArray = new Array(5);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;	
	parameterValueArray[3] = parameterValue4;	
	parameterValueArray[4] = parameterValue5; 

	var valueArray = this.Invoke(methodName, 5,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}

//new
function BS_GetValueWithParam6( methodName, parameterValue1, parameterValue2,parameterValue3, parameterValue4,parameterValue5,parameterValue6)
{
	var parameterNameArray = new Array(6);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	parameterNameArray[3] = "param4";
	parameterNameArray[4] = "param5";
	parameterNameArray[5] = "param6";
	
	var parameterValueArray = new Array(6);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;	
	parameterValueArray[3] = parameterValue4;	
	parameterValueArray[4] = parameterValue5;
	parameterValueArray[5] = parameterValue6;

	var valueArray = this.Invoke(methodName, 6,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}

//new
function BS_GetValueWithParam8( methodName, parameterValue1, parameterValue2,parameterValue3, parameterValue4,parameterValue5,parameterValue6,parameterValue7,parameterValue8)
{
	var parameterNameArray = new Array(8);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	parameterNameArray[3] = "param4";
	parameterNameArray[4] = "param5";
	parameterNameArray[5] = "param6";
	parameterNameArray[6] = "param7";
	parameterNameArray[7] = "param8";
	
	var parameterValueArray = new Array(8);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;	
	parameterValueArray[3] = parameterValue4;	
	parameterValueArray[4] = parameterValue5;
	parameterValueArray[5] = parameterValue6;
	parameterValueArray[6] = parameterValue7;
	parameterValueArray[7] = parameterValue8;

	var valueArray = this.Invoke(methodName, 8,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}

//new
function BS_GetValueWithParam9( methodName, parameterValue1, parameterValue2,parameterValue3, parameterValue4,parameterValue5,parameterValue6,parameterValue7,parameterValue8,parameterValue9)
{
	var parameterNameArray = new Array(9);
	parameterNameArray[0] = "param1";
	parameterNameArray[1] = "param2";
	parameterNameArray[2] = "param3";
	parameterNameArray[3] = "param4";
	parameterNameArray[4] = "param5";
	parameterNameArray[5] = "param6";
	parameterNameArray[6] = "param7";
	parameterNameArray[7] = "param8";
	parameterNameArray[8] = "param9";
	
	var parameterValueArray = new Array(9);
	parameterValueArray[0] = parameterValue1;	
	parameterValueArray[1] = parameterValue2;	
	parameterValueArray[2] = parameterValue3;	
	parameterValueArray[3] = parameterValue4;	
	parameterValueArray[4] = parameterValue5;
	parameterValueArray[5] = parameterValue6;
	parameterValueArray[6] = parameterValue7;
	parameterValueArray[7] = parameterValue8;
	parameterValueArray[8] = parameterValue9;

	var valueArray = this.Invoke(methodName, 9,  parameterNameArray, parameterValueArray, "VALUE");

	return valueArray;	
}


// if  parameter not exists
function BS_GetValueWithoutParam(methodName)
{	
	var valueArray = this.Invoke(methodName, 0, null, null, "VALUE");
	
	return valueArray;
}
function wsLogOut(userip)
{
	var textCode =  "";
	var webServiceURL = "/service/EMSWebService.asmx";
	var serviceMethodName = "EMSLogOut";
	var namespace = "http://tempuri.org/";
	var returnValue = null;
	var serviceProxy = new BS_WebServiceProxy(webServiceURL, namespace);
	serviceProxy.GetValueWithParam(serviceMethodName, textCode,userip);
}
