var numberOnly = function(event) {
	var key = event.which || event.keyCode;
	if (!((key > 47 && key < 68) || (key > 95 && key < 106) || key == 8 || key == 9 || key == 37 || key == 39)) {
		GEvent.stop(event);
		return false;
	};
};

var doLogin = function(event) {
	GEvent.stop(event);
	var req = new GAjax();
	req.inintLoading('wait', true);
	req.send('modules/member/chklogin.php' , req.getRequestBody(GEvent.element(event)) , function(xhr) {
		var ds = xhr.responseText.split( '|' );
		if (ds[0] != '') {
			alert(ds[0]);
			if (ds[1] && $E( ds[1])) {
				new GHighlight(ds[1]).play();
				$E(ds[1]).focus();
			};
		} else if (ds[2]) {
			var login = $E('login-div');
			login.innerHTML = ds[2];
			ds[2].evalScript();
			if (loader) {
				loader.inint(login);
			};
		};
	});
};

var modal;
var doMember = function(event) {
	var req = new GAjax();
	req.inintLoading('wait', true);
	req.send('getcontent.php' , 'module=' + GEvent.element(event).id , function(xhr) {
		modal = new GModal();
		modal.show(xhr.responseText);
        xhr.responseText.evalScript();
	});
};

var doBtnMember = function(module){
	var req = new GAjax();
	req.inintLoading('wait', true);
	req.send('getcontent.php' , 'module=' + module , function(xhr) {
		modal = new GModal();
		modal.show(xhr.responseText);
        xhr.responseText.evalScript();
	});
};

function modalHide(){
	modal.hide();
};

var doMemberCheck = function(event) {
	var input = GEvent.element(event);
	var ids = input.id.split('_');
	if (ids.length > 1) {
		var value = input.value;
		var action = ids[1];
		var result = $E('result' + action.capitalize());
		if (action == 'username') {
			var patt = new RegExp('^[a-zA-Z0-9]{1,}$');
			if (value == '') {
				result.innerHTML = REGISTER_USER_EMPTY;
				result.className = 'result incorrect';
			} else if (!patt.test(value)) {
				result.innerHTML = REGISTER_INVALID_USER;
				result.className = 'result incorrect';
			} else if (value.length < 6) {
				result.innerHTML = REGISTER_USER_SHORT;
				result.className = 'result incorrect';
			} else {
				result.innerHTML = REGISTER_CORRECT;
				result.className = 'result wait';
				var req = new GAjax();
				req.send('modules/member/action.php' , 'action=username&value=' + encodeURIComponent(value) , function(xhr) {
					var ds = xhr.responseText.split('|');
					if (ds.length > 1) {
						var el = $E(ds[0]);
						el.innerHTML = eval(ds[1]);
						el.className = ds[2];
					};
				});
			};
		} else if (action == 'password') {
			var patt = new RegExp('^[a-zA-Z0-9]{1,}$');
			if (value == '') {
				result.innerHTML = REGISTER_PASSWORD_EMPTY;
				result.className = 'result incorrect';
			} else if (!patt.test(value)) {
				result.innerHTML = REGISTER_INVALID_PASSWORD;
				result.className = 'result incorrect';
			} else if (value.length < 6) {
				result.innerHTML = REGISTER_PASSWORD_SHORT;
				result.className = 'result incorrect';
			} else {
				result.innerHTML = REGISTER_CORRECT;
				result.className = 'result correct';
				var repassword = $E(ids[0] + '_repassword').value;
				var el = $E('resultRepassword');
				if (value != repassword) {
					el.innerHTML = REGISTER_REPASSWORD_INCORRECT;
					el.className = 'result incorrect';
				} else {
					el.innerHTML = REGISTER_CORRECT;
					el.className = 'result correct';
				};
			};
		} else if (action == 'repassword') {
			var password = $E(ids[0] + '_password').value;
			if (value != password) {
				result.innerHTML = REGISTER_REPASSWORD_INCORRECT;
				result.className = 'result incorrect';
			} else {
				result.innerHTML = REGISTER_CORRECT;
				result.className = 'result correct';
			};
		} else if (action == 'email') {
			var patt = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/;
			if (value == '') {
				result.innerHTML = REGISTER_EMAIL_EMPTY;
				result.className = 'result incorrect';
			} else if (!patt.test(value)) {
				result.innerHTML = REGISTER_INVALID_EMAIL;
				result.className = 'result incorrect';
			} else {
				// ตรวจสอบอีเมล์ซ้ำ
				result.innerHTML = REGISTER_CORRECT;
				result.className = 'result wait';
				var req = new GAjax();
				req.send('modules/member/action.php' , 'action=email&value=' + encodeURIComponent(value) , function(xhr) {
					var ds = xhr.responseText.split('|');
					if (ds.length > 1) {
						var el = $E(ds[0]);
						el.innerHTML = eval(ds[1]);
						el.className = ds[2];
					};
				});
			};
		} else if (action == 'antispam') {
			result.innerHTML = REGISTER_CORRECT;
			result.className = 'result wait';
			var query = 'action=antispam&value=' + value + '&antispam=' + $E('antispam').value;
			var req = new GAjax();
			req.send('modules/member/action.php' ,query , function(xhr) {
				var ds = xhr.responseText.split('|');
				if (ds.length > 1) {
					var el = $E(ds[0]);
					el.innerHTML = eval(ds[1]);
					el.className = ds[2];
				};
			});
		};
	};
};

function doMemberSubmit(xhr) {
	try {
		var datas = xhr.responseText.toJSON();
		for (var prop in datas[0] ) {
			val = datas[0][prop];
			if (prop == 'alert') {
				alert(val);
			} else if (prop == 'close') {
				modalHide();
			} else if ($E(prop)) {
				el = $E(prop);
				el.innerHTML = val;
				el.className = val == '&nbsp;&nbsp;' ? 'result correct' : 'result incorrect';
			};
		};
	} catch (e) {
		alert(xhr.responseText);
	};
};

var doMemberForgot = function(xhr) {
	var ds = xhr.responseText.split('|');
	if (ds[0] != '') {
		if (ds.length == 1) {
			alert(ds[0]);
			modalHide();
		} else {
			alert(ds[1]);
			new GHighlight(ds[0]).play();
			$E(ds[0]).focus();
		};
	};
};
var doMemberDownload = function(xhr) {
	var ds = xhr.responseText.split('|');
	if (ds[0] != '') {
		if (ds.length == 1) {
			alert(ds[0]);
			modalHide();
		} else {
			alert(ds[1]);
			new GHighlight(ds[0]).play();
			$E(ds[0]).focus();
		};
	};
};

var loader;
var countdn = 0;
$G(window).Ready(function(){
	new GAjax().autoupdate('timer.php',60 , null , function(xhr) {
		countdn = parseFloat(xhr.responseText);
	});
	window.setInterval(function(){
		try {
			var secs = countdn % 60;
			if (secs < 10) secs = '0' + secs;
			var countdn1 = (countdn - secs) / 60;
			var mins = countdn1 % 60;
			if (mins < 10) mins = '0' + mins;
			countdn1 = (countdn1 - mins) / 60;
			var hours = countdn1 % 24;
			if (hours < 10) hours = '0' + hours;
			$E('timer').innerHTML = hours + ' : ' + mins + ' : ' + secs;
			countdn = countdn > 0 ? countdn - 1 : 0;
		} catch (e) {}
	}, 1000);
	var req = new GAjax();
	req.send('news.php' ,null , function(xhr) {
		if (xhr.responseText != '') {
			modal = new GModal();
			modal.show(xhr.responseText);
		}
	});

	/*
	loader = new GLoader(getUTR, function(xhr){
		var data = xhr.responseText;
		var content = $E('content');
		try {
			content.innerHTML = data;
			data.evalScript();
			loader.inint(content);
		} catch (e) {}
	});
	loader.inintLoading('wait', true);
	loader.inint(document);
	*/
});

var patt2 = /.*?module=.*?/;
var patt3 = new RegExp( '^.*?' + location.hostname + '/(.*?).(php)$' );
var getUTR = function(url) {
	urls = url.split( '?' );
	if (urls[1] && patt2.exec(urls[1])) {
		return 'xhr.php?' + urls[1];
	} else if (hs = patt3.exec( urls[0])) {
		return 'xhr.php?module=' + hs[1] + (urls[1] ? '&' + urls[1] : '');
	};
	return null;
};

function setselect(module) {
	var links = document.getElementById('topmenu').getElementsByTagName("A");
	var sel = 0;
	for (i = 0 ; i < links.length ; i++) {
		var patt = new RegExp(links[i].rel);
		links[i].className = '';
		sel = (patt.test(module)) ? i : sel;
	};
	links[sel].className = 'current';
};

function doNewsCheck(id) {
	Cookie.set('news_id', id);
	modal.hide();
}
