﻿try {
	HTMLElement.prototype.__defineGetter__
        (
        "innerText",
        function () {
        	var anyString = "";
        	var childS = this.childNodes;
        	for (var i = 0; i < childS.length; i++) {
        		if (childS[i].nodeType == 1)
        			anyString += childS[i].tagName == "BR" ? '"n' : childS[i].innerText;
        		else if (childS[i].nodeType == 3)
        			anyString += childS[i].nodeValue;
        	}
        	return anyString;
        }
    );
}
catch (e) { }

if (window.attachEvent) //IE
	window.attachEvent("onload", function () { longidng_page(); });
else  //FireFox
	window.addEventListener("load", function () { longidng_page(); }, true);


var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;


function clickChar(e) {
	if (!((keycode <= 90 && keycode >= 65) || (keycode <= 96 && keycode >= 105))) {
		if (isIE) {
			// e.returnValue = false;
			window.event.returnValue = false;


		}
		else {
			e.preventDefault();
		}

	}
	var keycode = Number(e ? e.which : event.keyCode);
	var keyChar = String.fromCharCode(e ? e.which : event.keyCode);

	var pid = this.id;

	var thisid;

	switch (pid) {
		case "select_banners_select1_dlist":
			thisid = "options_banners_select1_dlist";
			break;
		case "select_kserverlist":
			thisid = "options_kserverlist";
			break;
		case "select_kgoldlist":
			thisid = "options_kgoldlistt";
			break;

	}

	var len = $Element(thisid).childNodes.length;

	var arrlen = 0;
	var myarr = new Array();
	var colorsort = -1;
	var colortext = "";


	for (var i = 0; i < len; i++) {

		if ($Element(thisid).childNodes.item(i).innerText[0] == keyChar.toUpperCase() || keycode == 38 || keycode == 40) {
			myarr[arrlen] = i;
			arrlen++;
			if ($Element(thisid).childNodes.item(i).className == "open_hover") {
				colorsort = i;
			}
		}




		$Element(thisid).childNodes.item(i).className = 'open_selected';
		$Element(thisid).childNodes.item(i).setAttribute("class", "open_selected");

	}

	if (keycode == 38) {
		if (colorsort > 1) {
			colorsort = colorsort - 1;
		}

		$Element(thisid).childNodes.item(colorsort).className = 'open_hover';
		$Element(thisid).childNodes.item(colorsort).setAttribute("class", "open_hover");
		colortext = $Element(thisid).childNodes.item(colorsort).innerText;

		for (var j = 0; j < len; j++) {
			if ($Element(thisid).childNodes.item(j).innerText == colortext) {
				$Element(thisid).scrollTop = (j - 1) * 23.56;
				break;
			}

		}
		//alert(colortext);
		return;
	}

	if (keycode == 40) {
		if (colorsort < len - 1) {
			colorsort = colorsort + 1;
		}

		$Element(thisid).childNodes.item(colorsort).className = 'open_hover';
		$Element(thisid).childNodes.item(colorsort).setAttribute("class", "open_hover");
		colortext = $Element(thisid).childNodes.item(colorsort).innerText;

		for (var j = 0; j < len; j++) {
			if ($Element(thisid).childNodes.item(j).innerText == colortext) {
				$Element(thisid).scrollTop = (j - 1) * 23.56;
				break;
			}

		}
		//alert(colortext);
		return;
	}



	if (colorsort < 0 || colorsort == myarr[myarr.length - 1]) {
		$Element(thisid).childNodes.item(myarr[0]).className = 'open_hover';
		$Element(thisid).childNodes.item(myarr[0]).setAttribute("class", "open_hover");
		colortext = $Element(thisid).childNodes.item(myarr[0]).innerText;

	}
	else {
		for (var i = 0; i < arrlen; i++) {
			if (myarr[i] == colorsort) {
				i++;
				$Element(thisid).childNodes.item(myarr[i]).className = 'open_hover';
				$Element(thisid).childNodes.item(myarr[i]).setAttribute("class", "open_hover");

				colortext = $Element(thisid).childNodes.item(myarr[i]).innerText;


				break;
			}
		}
	}

	for (var j = 0; j < len; j++) {
		if ($Element(thisid).childNodes.item(j).innerText == colortext) {
			$Element(thisid).scrollTop = (j - 1) * 23.56;
			break;
		}

	}

	if (!((keycode <= 90 && keycode >= 65) || (keycode <= 96 && keycode >= 105))) {
		if (isIE) {
			//e.returnValue = false;
			window.event.returnValue = false;
		}
		else {
			e.preventDefault();
		}
	}
}







var selects = new Array();



function $Element(id) {
	return document.getElementById(id);
}

function stopBubbling(ev) {
	ev.stopPropagation();
}

function rSelects() {

	for (i = 0; i < selects.length; i++) {
		selects[i].style.display = 'none';
		select_tag = document.createElement('div');
		select_tag.id = 'select_' + selects[i].id;
		select_tag.className = 'select_box';
		select_tag.tabindex = 0;
		select_tag.setAttribute("tabindex", "0");
		select_tag.setAttribute("class", "select_box");

		selects[i].parentNode.insertBefore(select_tag, selects[i]);

		select_tag.onkeydown = clickChar;



		//        if (isIE){
		//			select_tag.onkeydown = new Function("clickChar(event.keyCode);window.event.cancelBubble = true;");
		//		}
		//		else if(!isIE){
		//			select_tag.onkeydown = new Function("clickChar(window.event)");
		//			select_tag.addEventListener("onkeydown", stopBubbling, false);
		//		}		


		select_info = document.createElement('div');
		select_info.id = 'select_info_' + selects[i].id;
		select_info.className = 'tag_select';
		select_info.setAttribute("class", "tag_select");
		select_info.style.cursor = 'pointer';

		select_tag.appendChild(select_info);

		var strs = "<ul id='options_" + selects[i].id + "' onMouseOver=focml('" + selects[i].id + "',1) onMouseOut=focml('" + selects[i].id + "',0)></ul>";
		$('select_' + selects[i].id).innerHTML += strs;
		select_ul = $('options_' + selects[i].id);
		select_ul.className = 'tag_options';
		select_ul.setAttribute("class", "tag_options");
		select_ul.style.position = 'absolute';
		select_ul.style.display = 'none';
		select_ul.style.zIndex = '999';

		//		select_ul = document.createElement('ul');	
		//			select_ul.id = 'options_' + selects[i].name;
		//			select_ul.className = 'tag_options mssbox';
		//			select_ul.setAttribute("class","tag_options");
		//			select_ul.style.position='absolute';
		//			select_ul.style.display='none';
		//			select_ul.setAttribute("onMouseOver","focml('"+selects[i].name+"',1)");
		//			select_ul.setAttribute("onMouseOut","focml('"+selects[i].name+"',0)");
		//			select_ul.style.zIndex='999';
		//		select_tag.appendChild(select_ul);

		rOptions(i, selects[i].id);

		mouseSelects(selects[i].id);

		if (isIE) {
			selects[i].onclick = new Function("clickLabels3('" + selects[i].id + "');window.event.cancelBubble = true;");
		}
		else if (!isIE) {
			selects[i].onclick = new Function("clickLabels3('" + selects[i].id + "')");
			selects[i].addEventListener("click", stopBubbling, false);
		}
	}
}
var lis = 0;
function focml(name, l) {
	lis = l;
	if (l == 0) {
		$Element('select_info_' + name).focus();
	}
}

function rOptions(i, name) {
	var options = selects[i].getElementsByTagName('option');
	var options_ul = 'options_' + name;



	for (n = 0; n < selects[i].options.length; n++) {
		option_li = document.createElement('li');
		option_li.style.cursor = 'pointer';
		option_li.className = 'open';
		//option_li.style.color = "red";
		$Element(options_ul).appendChild(option_li);

		option_text = document.createTextNode(selects[i].options[n].text);
		option_li.appendChild(option_text);

		option_selected = selects[i].options[n].selected;

		if (option_selected) {
			option_li.className = 'open_selected';
			option_li.setAttribute("class", "open_selected");
			option_li.id = 'selected_' + name;
			$Element('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
		}

		option_li.onmouseover = function () { this.className = 'open_hover'; }
		option_li.onmouseout = function () {
			if (this.id == 'selected_' + name) {
				this.className = 'open_selected';
			}
			else {
				this.className = 'open';
			}
		}

		option_li.onclick = new Function("clickOptions(" + i + "," + n + ",'" + selects[i].id + "')");
	}
}

function mouseSelects(name) {
	var sincn = 'select_info_' + name;
	var sinul = 'options_' + name;
	var sincnss = 'select_' + name;
	showdfent(name);

	$Element(sincn).onmouseover = function () { if (this.className == 'tag_select') this.className = 'tag_select_hover'; }
	$Element(sincn).onmouseout = function () { if (this.className == 'tag_select_hover') this.className = 'tag_select'; }

	if (isIE) {
		$Element(sincn).onclick = new Function("clickSelects('" + name + "');window.event.cancelBubble = true;");
		$Element(sincn).attachEvent("onblur", new Function("clickSelectss('" + name + "');"));

	}
	else if (!isIE) {
		$Element(sincn).onclick = new Function("clickSelects('" + name + "');");
		$Element('select_info_' + name).addEventListener("click", stopBubbling, false);
		var lis = document.getElementsByTagName("body")[0];
		lis.addEventListener("click", new Function("clickSelectss('" + name + "');"), false);
	}

}

function clickSelects(name) {
	var sincn = 'select_info_' + name;
	var sinul = 'options_' + name;

	for (i = 0; i < selects.length; i++) {
		if (selects[i].id == name) {
			if ($Element(sincn).className == 'tag_select_hover') {
				$Element(sincn).className = 'tag_select_open';
				$Element(sinul).style.display = '';
			}
			else if ($Element(sincn).className == 'tag_select_open') {
				$Element(sincn).className = 'tag_select_hover';
				$Element(sinul).style.display = 'none';
			}
		}
		else {
			$Element('select_info_' + selects[i].id).className = 'tag_select';
			$Element('options_' + selects[i].id).style.display = 'none';
		}
	}


}

function clickSelectss(name) {
	var sincn = 'select_info_' + name;
	var sinul = 'options_' + name;
	var li = $Element('options_' + name).getElementsByTagName('li');
	var ft = true;
	for (var i = 0; i < li.length; i++) {
		if (li[i].className == "open_hover") {
			ft = false;
		}
	}
	//alert(ft);
	if (ft && lis == 0 && $Element(sincn).className == "tag_select_open") {
		for (i = 0; i < selects.length; i++) {
			if (selects[i].id == name) {
				if ($Element(sincn).className == 'tag_select_hover') {
					$Element(sincn).className = 'tag_select_open';
					$Element(sinul).style.display = '';
				}
				else if ($Element(sincn).className == 'tag_select_open') {
					$Element(sincn).className = 'tag_select_hover';
					$Element(sinul).style.display = 'none';
				}
			}
			else {
				$Element('select_info_' + selects[i].id).className = 'tag_select';
				$Element('options_' + selects[i].id).style.display = 'none';
			}
		}
	}


}

function clickOptions(i, n, name) {

	var li = $Element('options_' + name).getElementsByTagName('li');
	var sname = "selected_" + name;
	$Element(sname).style.display = '';

	$Element('selected_' + name).className = 'open';
	$Element('selected_' + name).id = '';
	li[n].id = 'selected_' + name;
	li[n].className = 'open_hover';
	$Element('select_' + name).removeChild($Element('select_info_' + name));

	select_info = document.createElement('div');
	select_info.id = 'select_info_' + name;
	select_info.className = 'tag_select';
	select_info.style.cursor = 'pointer';
	$Element('options_' + name).parentNode.insertBefore(select_info, $Element('options_' + name));
	mouseSelects(name);

	$Element('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
	$Element('select_info_' + name).className = 'tag_select';
	$Element('options_' + name).style.display = 'none';
	//alert(selects[i].options.length+"/"+i);
	if (selects[i].options[n] != null) {
		selects[i].options[n].selected = 'selected';

	}

	switch (name) {
		case "banners_select1_dlist":

			getserverlsit_submit();
			break
		case "kserverlist":
			getgoldpric_submit();
			break
		case "kgoldlist":
			goldcookie_submit();
			break

	}


}

function showdfent(name) {

	var sname = "selected_" + name;
	if ($Element(sname).innerHTML == "select your server" || $Element(sname).innerHTML == "-Please select game-") {
		$Element(sname).style.display = 'none';
	}
}

function cssselect(setslcet, names) {

	if (setslcet.options.length > 22) {
		$(names).className = 'tag_options mssbox';
	} else {
		$(names).className = 'tag_options';
	}

}
function longidng_page() {

	var imd = document.getElementsByTagName('select');
	var nameselec = new Array("banners_select1_dlist", "kserverlist", "kgoldlist");
	var m = 0;
	for (var i = 0; i < nameselec.length; i++) {
		for (var j = 0; j < imd.length; j++) {
			if (nameselec[i] == imd[j].id) {
				selects[m] = $Element(nameselec[i]);
				m++;
			}
		}
	}

	rSelects();

	for (i = 0; i < selects.length; i++) {
		$Element('select_info_' + selects[i].id).className = 'tag_select';
		$Element('options_' + selects[i].id).style.display = 'none';

	}
}










/********************buy gold **************************/

var p;
var g;
var counts = 0;
var union = " G ";
//获取服务器列表事件
function getserverlsit_submit() {
	var gold = new goldquick();
	gold.serverlist();
}
//获得价格列表事件
function getgoldpric_submit() {
	var gold = new goldquick();
	gold.goldlist();
}
//用户选择价格事件
function goldcookie_submit() {
	var gold = new goldquick();
	gold.goldcookie();
}
//点击提交
function goldquickbuy_submit() {
	var gold = new goldquick();
	gold.goldquickbuy();
}
//使用优惠卷
function gold_coupons() {
	var order = new goldquick();
	order.usecoupons();
}


//快速购买金币对象开始======================================================

function goldquick() {
	this.serverlist = function () {
		getserverlist();
	}
	this.goldlist = function () {
		getgoldlist();
	}
	this.goldcookie = function () {
		selectgold();
	}
	this.goldquickbuy = function () {
		kpay();
	}
	this.usecoupons = function () {
		check_couponps();
	}
}

function getserverlist() {
	//var kgameid = $F("banners_select1_dlist");
	var kgameid = "";
	if (isIE) {
		kgameid = $("banners_select1_dlist").options.item($("banners_select1_dlist").selectedIndex).value;

	}
	else {
		kgameid = $F("banners_select1_dlist");

	}

	if (kgameid == "0" || kgameid == 0) {
		return;
	}
	    $("kgoldlist").innerHTML = "";
	    var op = document.createElement("option");
	    var optext = "-select a product-";
	    op.appendChild(document.createTextNode(optext));
	    $("kgoldlist").appendChild(op);

	    $("select_info_kgoldlist").innerHTML = "";
	    $("select_info_kgoldlist").innerHTML = "-select a product-";
	

	var url = "/ashx/IgnmaxAshx.ashx?gameid=" + kgameid;


	var myAjax = new Ajax.Request(
                                     url,
                                     {
                                     	method: "get",
                                     	onComplete: kserverlistadd
                                     }
                                    );
}

function kserverlistadd(xmlhttp) {
	if (xmlhttp == undefined || xmlhttp == null) return;
	$("Img1").style.display = "";

	var result = xmlhttp.responseXML;
	var getserverdll = $("kserverlist");
	getserverdll.innerHTML = "";
	var goldpricedll = $("kgoldlist");
	goldpricedll.innerHTML = "";
	

	if (xmlhttp.responseText != "<NewDataSet />") {
		var pricelist = result.getElementsByTagName("Table");
		for (var i = 0; i < pricelist.length; i++) {
			var op = document.createElement("option");
			var optext = pricelist[i].getElementsByTagName("serverName")[0].childNodes[0].nodeValue;
			op.appendChild(document.createTextNode(optext));

			getserverdll.appendChild(op);
		}
	}
	
	addOptions(1, "kserverlist", getserverdll);
	$("Img1").style.display = "none";
}

//gold list create
function getgoldlist() {
	if ($("kserverlist").selectedIndex == 0) {
		$("kgoldlist").innerHTML = "";
		var op = document.createElement("option");
		var optext = "-select a product-";
		op.appendChild(document.createTextNode(optext));
		$("kgoldlist").appendChild(op);
		return;
	}

	//var kgameid = $F("banners_select1_dlist");
	var kgameid = kservername = $("banners_select1_dlist").options.item($("banners_select1_dlist").selectedIndex).value;

	//var kservername = $F("kserverlist");
	var kservername = $("kserverlist").options.item($("kserverlist").selectedIndex).text;


	var url = "/ashx/IgnmaxAshx.ashx?kgameid=" + kgameid + "&kservername=" + kservername;

	$("Img1").style.display = "none";
	var myAjax = new Ajax.Request(url,
                                    {
                                    	method: "get",
                                    	onComplete: kpriceadd
                                    }
                                );
}

function kpriceadd(xmlhttp) {
	if (xmlhttp == undefined || xmlhttp == null) return;
	var xml = xmlhttp.responseXML;
	var goldpricedll = $("kgoldlist");
	goldpricedll.innerHTML = "";

	if (xmlhttp.responseText != "<NewDataSet />") {
		var pricelist = xml.getElementsByTagName("Table");
		for (var i = 0; i < pricelist.length; i++) {
			var op = document.createElement("option");
			var vpriceinfo1 = pricelist[i].getElementsByTagName("goldNum")[0].childNodes[0].nodeValue;
			var vpriceinfo2 = pricelist[i].getElementsByTagName("goldPrice")[0].childNodes[0].nodeValue;
			var givegold = pricelist[i].getElementsByTagName("giveGold")[0].childNodes[0].nodeValue;
			var priceid = pricelist[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
			var optext;
			var utype = getMoneyType();
			if (utype == '') {
				utype = "$";
			}

			if (givegold == "0") {

				optext = vpriceinfo1 + "G " + utype + changeRate(vpriceinfo2);
			}
			else {
				optext = vpriceinfo1 + " + " + givegold + "G " + utype + changeRate(vpriceinfo2);
			}

			op.setAttribute("value", priceid);
			op.appendChild(document.createTextNode(optext));
			goldpricedll.appendChild(op);

			goldpricedll.appendChild(op);
		}
	}
	// 兼容浏览器
	if (!document.all) {
		setTimeout("addlist()", 100);
	}
	else {
		addlist();
	}

	$("Img1").style.display = "none";
}

//将用户选择金币数目存入cookie=============================================================
function selectgold() {
	if ($("kgoldlist").selectedIndex != "" && $("kgoldlist").selectedIndex != null && $("kgoldlist").selectedIndex != -1) {
		var goldvalue = $("kgoldlist").options[$("kgoldlist").selectedIndex].value;
		setCookie("goldinfo", goldvalue, 1000);
	}

}

function kpay() {
	if ($("banners_select1_dlist").selectedIndex == 0 || $("kserverlist").selectedIndex == 0) {
		alert("Please select!");
		return;
	}

	gamename = $("banners_select1_dlist").options.item($("banners_select1_dlist").selectedIndex).text;
	servername = $("kserverlist").options.item($("kserverlist").selectedIndex).text;
	priceid = $F("kgoldlist");
	goldtype = $F("banners_select1_dlist").split('|')[1];
	setCookie("goldGame", gamename, 1000);
	setCookie("goldServer", servername, 1000);
	setCookie("goldinfo", priceid, 1000);
	setCookie("goldtype", goldtype, 1000);
	location = "/netgold.aspx";
}



function addOptions(i, name, ddlObj) {


	var options = ddlObj.getElementsByTagName('option');
	var options_ul = 'options_' + name;
	$Element(options_ul).innerHTML = "";

	$Element("select_info_" + name).innerHTML = "";

	for (n = 0; n < ddlObj.options.length; n++) {
		option_li = document.createElement('li');
		option_li.style.cursor = 'pointer';
		option_li.className = 'open';
		option_li.setAttribute("class", "open");
		$Element(options_ul).appendChild(option_li);

		option_text = document.createTextNode(ddlObj.options[n].text);
		option_li.appendChild(option_text);

		option_selected = ddlObj.options[n].selected;

		if (option_selected) {
			option_li.className = 'open_selected';
			option_li.setAttribute("class", "open_selected");
			option_li.id = 'selected_' + name;

			$Element('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
		}

		option_li.onmouseover = function () { this.className = 'open_hover'; }
		option_li.onmouseout = function () {
			if (this.id == 'selected_' + name) {
				this.className = 'open_selected';
				this.setAttribute("class", "open_selected");
			}
			else {
				this.className = 'open';
				this.setAttribute("class", "open");
			}
		}

		option_li.onclick = new Function("clickOptions(" + i + "," + n + ",'" + ddlObj.name + "')");

	}
	showdfent(name);
	cssselect(ddlObj, options_ul);
}

function addlist() {
	var goldpricedlls = $("kgoldlist");
	addOptions(2, "kgoldlist", goldpricedlls);

}
