

// getElementsByTagName
function $names(name) {
	return document.getElementsByName(name);
}

function $tags(name) {
	return document.getElementsByTagName(name);
}

function LoadDataFromBack(xmlStr) {
	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NCI><COMMAND NAME='buymaterialselect'>";
	    xml += xmlStr;
	    xml=xml+"</COMMAND></NCI>";
	    var returnText = XmlHttpPostForCms("/plat/xmlhttp", xml);
		return returnText;
}

// loading.gif
function getLoadingPic() {
	return "<img src='/wow-images/loading.gif'/>";
}

function resetSortLink() {
	var sortLinks = $tags("LI");
	if(sortLinks != null && sortLinks.length > 0) {
		for(var i=0;i<sortLinks.length;i++) {
			sortLinks[i].style.borderColor=""; 
			sortLinks[i].style.backgroundColor=""; 
		}

	}
	delete(sortLinks);
}

function FillDetailList(gameId,tempSortId) {
	var sortId = "";
	if(tempSortId != null) {
		// give sortid
		sortId = tempSortId;
	} else {
	//bye;
		// auto search sortid
		var sortFlags = $names("vs_material_sortid_flag");
		var sortHiddenIds = $names("vs_material_sortid");
		var sortLinks = document.getElementsByName("ndi_material_sort"); //$tags("LI");
		if(sortFlags != null && sortFlags.length) {
			for(var i=0;i<sortFlags.length;i++) {
				if(sortFlags[i].value == "false") {
					// have no child
					sortId = sortHiddenIds[i].value;
					$("ndi_material_sort_"+i).style.borderColor="red"; 
					$("ndi_material_sort_"+i).style.backgroundColor="red"; 
					//sortLinks[i].style.borderColor="red"; 
					//sortLinks[i].style.backgroundColor="red"; 
					break;
				}
			}
		}
		delete(sortFlags);
		delete(sortHiddenIds);
		delete(sortLinks);
	}

	
	if(sortId == "") {
		$("divItemsList").innerHTML = "have nothing!";
		return false;
	}
	
	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NCI><COMMAND NAME='buymaterialselect'>";
	    xml += "<flag>selectDetailList</flag><gameId>"+gameId+"</gameId><sortId>"+sortId+"</sortId>";
	    xml += "</COMMAND></NCI>";
	    
				    var xmlHttp  = GetXmlHttp();
				    try {
					    xmlHttp.open("POST", "/plat/xmlhttp", true);
						xmlHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8");
						xmlHttp.onreadystatechange=function() {
							FillDetailListCallBack(xmlHttp);
					    }
					    xmlHttp.send(xml);
					    
				    } catch(e) {
						alert(e);
				    }
}

function FillDetailListCallBack(xmlHttp) {
	if(xmlHttp.readyState==4 && xmlHttp.status==200) {
		$("divItemsList").innerHTML  = xmlHttp.responseText;
		delete(xmlHttp);
	} else if(xmlHttp.readyState==1) {
		display_loadingpic("divItemsList");
	}
}

function FillGame() {

	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NCI><COMMAND NAME='buymaterialselect'>";
	    xml += "<flag>FillGame</flag>";;
	    xml += "</COMMAND></NCI>";
		
				    var xmlHttp  = GetXmlHttp();
				    try {
					    xmlHttp.open("POST", "/plat/xmlhttp", true);
						xmlHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8");
						xmlHttp.onreadystatechange=function() {
							FillGameCallBack(xmlHttp);
					    }
					    xmlHttp.send(xml);
					    
				    } catch(e) {
						alert(e);
				    }
	
}

function FillGameCallBack(xmlHttp) {
	if(xmlHttp.readyState==4 && xmlHttp.status==200) {
		$("M_Item_Title1").innerHTML = xmlHttp.responseText;
		delete(xmlHttp);
		
		var gameId = null;
		var gameName = null;
		var gameItems = document.getElementsByName("radioItem");
		var gameNames = document.getElementsByName("hidden_game_name");
		if(gameItems != null && gameItems.length > 0) {
			for(var i=0;i<gameItems.length;i++) {
				if(gameItems[i].checked == true) {
					gameId = gameItems[i].value;
					gameName = gameNames[i].value;
					break;
				}
			}
		}
		if(gameId != null) {
			changeGame(gameId,gameName);
		}
	} else if(xmlHttp.readyState==1) {
		display_loadingpic("M_Item_Title1");
		display_loadingpic("divItemsList");
		display_loadingpic("M_Item_Contact");
		
	}
}

function changeGame(gameId,gameName) {
	if(window.event) {
		if(window.event.srcElement.disabled == true ) {
			return false;
		}
	}

	if($("default_game_id").value == gameId) {
		return false;
	}
	
	
	$("default_game_id").value = gameId;
	$("gameTitle").innerHTML = gameName;
	
	//display_loadingpic("M_Item_Contact");
	//display_loadingpic("divItemsList");
	//$("M_Item_Contact").innerHTML = getLoadingPic();
	//$("divItemsList").innerHTML = getLoadingPic();
	
	
	
	
	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NCI><COMMAND NAME='buymaterialselect'>";
	    xml += "<flag>selectSortByGame</flag><gameId>"+gameId+"</gameId>";
	    xml += "</COMMAND></NCI>";
	    
				    var xmlHttp  = GetXmlHttp();
				    try {
					    xmlHttp.open("POST", "/plat/xmlhttp", true);
						xmlHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8");
						xmlHttp.onreadystatechange=function() {
							FillSortNameCallBack(gameId,xmlHttp);
					    }
					    xmlHttp.send(xml);
					    
				    } catch(e) {
						alert(e);
				    }

	
	
}

function FillSortNameCallBack(gameId,xmlHttp) {
	if(xmlHttp.readyState==4 && xmlHttp.status==200) {
		$("M_Item_Contact").innerHTML = xmlHttp.responseText;
		delete(xmlHttp);
		FillDetailList(gameId,null);
	} else if(xmlHttp.readyState==1) {
		display_loadingpic("M_Item_Contact");
	}
}

function changeDetailList(obj,gameId,sortId,flag) {
	if(window.event.srcElement.disabled == true ) {
		return false;
	}
	
	//if($("default_sort_id").value == sortId) {
	//	return false;
	//}
	resetSortLink();
	$("default_sort_id").value = sortId
	if(flag) {
		// have child
		$("M_Item_Contact").innerHTML = getLoadingPic();
		$("divItemsList").innerHTML = getLoadingPic();
		
		var selectSortBySelfXml = "<flag>selectSortBySelf</flag><gameId>"+gameId+"</gameId><sortId>"+sortId+"</sortId>";
		var sortHtml = LoadDataFromBack(selectSortBySelfXml);
		$("M_Item_Contact").innerHTML = sortHtml;
		
		
		FillDetailList(gameId,null);
		
	} else {
		FillDetailList(gameId,sortId);
	}
	obj.style.borderColor="red"; 
	obj.style.backgroundColor="red";
}

function changeQuantityPic(obj,flag) {
	var image = "url(/wow-images/QuantitySelect.gif)";
	if(!flag) {
		// 
		image = "url(/wow-images/Quantity.gif)";
	}
	obj.style.backgroundImage = image;
}

// changeRateSort
function changeRateSort(linkObj,sort) { 

	if(window.event.srcElement.disabled == true ) {
		return false;
	}
	
	if($("ratesort").value == sort) {
		return false;
	}
	$("ratesort").value = sort;
	var sortLinks = document.getElementsByName("link_ratesort");
	if(sortLinks != null && sortLinks.length > 0) {
		//sortLinks.className 
		for(var i=0;i<sortLinks.length;i++) {
			sortLinks[i].style.color = "#3874b0";
			sortLinks[i].style.fontSize = "12px";
		}
	}
	
	linkObj.style.color = "red";
	linkObj.style.fontSize = "20px";

	var priceList = document.getElementsByName("hidden_price")
	var needPriceList = document.getElementsByName("hidden_"+sort+"_price");
	if(needPriceList != null && needPriceList.length > 0 &&  priceList != null && priceList.length > 0) {
		for(var i=0;i<priceList.length;i++) {
			priceList[i].innerHTML = needPriceList[i].value;
		}
	}
	
	delete(needPriceList);
	delete(priceList);
	delete(sortLinks);
}

function changeQuantity(divId,flag) {
	var num = parseInt($(divId).innerHTML);
	if(flag) {
		// true ++
		num ++;
		$(divId).innerHTML = num;
	} else {
		// --
		if(num > 1) {
			num --;
			$(divId).innerHTML = num;
		}
	}
	
}



function material_next(id,quantityDivName) {
	if(window.event.srcElement.disabled == true ) {
		return false;
	}
	window.event.srcElement.disabled = true;
	
	var quantity = $(quantityDivName).innerHTML;
	var ratesort = $("ratesort").value;
	
	var newForm = createForm("newForm","POST","_self");
	createFormElement(newForm, "quantity", quantity);
	createFormElement(newForm, "ratesort", ratesort);
	createFormElement(newForm, "id", id);
	createFormElement(newForm, "moduleName", "materialaction");
	createFormElement(newForm, "actionFlag", "turn_to_confim");
	newForm.action = "/wow-gold";
	newForm.submit();
	display_loadingpic("plat_loading");
	disabledCurrPage(true);
	
}

function reverseDocumentToXml() {
	var tagNames = "input,select";
	var tagArray = tagNames.split(",");
	var xmlParam = "";
	for(var i=0;i<tagArray.length;i++) {
		var operObjs = document.getElementsByTagName(tagArray[i]);
		if(operObjs != null && operObjs.length > 0) {
			for(var b=0;b<operObjs.length;b++) {
				var name = operObjs[b].id;
				if(name == "") {
					name = operObjs[b].name;
				}
				var value = operObjs[b].value;
				xmlParam += "<"+name+">";
		    	xmlParam += value;
		    	xmlParam += "</"+name+">";
			}
		}	
		delete(operObjs);
	}
	delete(tagArray);
	//alert(xmlParam);
	return xmlParam;
}


function material_on_pay_check() {
	if(getOs() == "Safari") {
		if(!isVaildEmail($("txtEmail").value)) {
			alert("please, input available email!");
			return false;
		} else if(trim($("txtFullName").value) == "") {
			alert("please, input your fullname!");
			return false
		} else if(trim($("txtPhone").value) == "") {
			alert("please, input your phonenum!");
			return false
		} else if($("selectCamp").value == "") {
			alert("please, choose your server !");
			return false
		} else if(trim($("txtCharacter").value) == "") {
			alert("please, input your character!");
			return false
		}
		material_on_pay();
	} else {
		if(validItem.validate()) {
			material_on_pay();
		}
		
	}
}

function material_on_pay() {

	if(window.event.srcElement.disabled == true ) {
		return false;
	}
	window.event.srcElement.disabled = true;
	disabledCurrPage(true);
	$("check_out_img").width = 16;
	$("check_out_img").height = 16;
	$("check_out_img").src = "/wow-images/loading.gif";
	
	// default is paypal
	var choosePay = "5";
	var payments = document.getElementsByName("vs_payment");
	if(payments != null && payments.length > 0) {
		for(var i=0;i<payments.length;i++) {
			if(payments[i].checked == true) {
				choosePay = payments[i].value;
			}
		}
	}
	
	delete(payments);
	
	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NDI><COMMAND NAME='ajaxbuymaterial'>";
	    xml += reverseDocumentToXml();
	    xml += "<payment>"+choosePay+"</payment>";
	    xml=xml+"</COMMAND></NDI>";
	    var returnText = XmlHttpPostForCms("/plat/xmlhttp", xml);
	    //alert("returnText:"+returnText);
		if(returnText != null) {
			//$("helloworld").value = returnText;
		    var xmlDoc = toXmlDoc(returnText);
		    var optionsXML = null;
			if(getOs() == "Firefox" || getOs() == "Safari" || getOs() == "Chrome"  ) {
				optionsXML = xmlDoc.documentElement.getElementsByTagName("OPTION");
			} else if(getOs() == "MSIE" ) {
				optionsXML = xmlDoc.documentElement.selectNodes("OPTION");
			}
			if(optionsXML != null) {
				// build form
				createPayFormAndSubmit(optionsXML);
				
				// auto location page
				// window.setTimeout("window.location.href = '/wow-item-list.html';","2000");
			}
			delete(optionsXML);
			delete(xmlDoc);
		}
		
	$("check_out_img").width = 68;
	$("check_out_img").height = 20;
	$("check_out_img").src = "/wow-images/pic02.gif";
	disabledCurrPage(false);
	//window.location.href = "/wow-item-list.html";
}

// fill select option
function fillOptionData(child,selectXML,selectValue) {
		
		var optionsXML = selectXML;
		if(optionsXML != null) {
			if (optionsXML.length == 0) {
				child.options.length = 1;
				child.options[0].value = "";
				child.options[0].text = "select";
				return;
			} else {
				child.options.length = optionsXML.length;
				for (var i = 0; i < optionsXML.length; i++) {
					var optionXML = optionsXML[i];
					var option = child.options[i];
					option.value = optionXML.getAttribute("VALUE");
					option.text = optionXML.getAttribute("LABEL");
					if(selectValue != null) {
						if (option.value == selectValue) {
							child.selectedIndex = i;
						}
					}

				}
			}

		}
		
}



// confirm page onload camp list
function loadServerCampOption(gameCtrl,fillCtrl) {
	
	var gameId = $(gameCtrl).value;
	
	    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><NCI><COMMAND NAME='buylevelselect'>";
	    xml += "<flag>selectCamp</flag>";
	    xml += "<gameId>"+gameId+"</gameId>";
	    xml=xml+"</COMMAND></NCI>";
	    
				    var xmlHttp  = GetXmlHttp();
				    try {
					    xmlHttp.open("POST", "/plat/xmlhttp", true);
						xmlHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8");
						xmlHttp.onreadystatechange=function() {
							loadServerCampOptionCallBack(xmlHttp,fillCtrl);
					    }
					    xmlHttp.send(xml);
					    
				    } catch(e) {
						alert(e);
				    }
	
}

function loadServerCampOptionCallBack(xmlHttp,fillCtrl) {
	if(xmlHttp.readyState==4 && xmlHttp.status==200) { 
			if(xmlHttp.responseText != null) {
		     	var xmlDoc = toXmlDoc(xmlHttp.responseText);
				var optionsXML = xmlDoc.documentElement.getElementsByTagName("OPTION");
				if(optionsXML != null) {
					fillOptionData($(fillCtrl),optionsXML,null);
				}
				delete(optionsXML);
				delete(xmlDoc);
			}
		PlatDisableCtrls(fillCtrl,false);
	} else {
		PlatDisableCtrls(fillCtrl,true);
	}
}




 