﻿var xmlHttp = GetXmlHttpObject();
var Tree;
//var memberLogin=false;

var pageList = ["competitionContent.html", "competitionGroup.html", "competitionQual.html", "competitionJudge.html", "downloadPage.php", "./game_upload/uploadPage.php", "competitionFAQ.html", "./game_upload/uploadPage.php", "registrar.php", "forgetPass.html", "button.html", "competitionResult.html"];

function GetXmlHttpObject(){  
	var page_request = false
	browser="IE"
	if (window.XMLHttpRequest) {// if Mozilla, Safari etc
		browser="other"
		page_request = new XMLHttpRequest()
		
	}else if (window.ActiveXObject){ // if IE
		
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
		try{
			page_request = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){}
		}
	}

	return page_request
}

function ajaxinclude(url, d) {
	var page_request = GetXmlHttpObject()
	if(!page_request)
		return false
	dest = d;
	page_request.open('GET', url, false) 
	page_request.send(null)
	writecontent(page_request)
}
function writecontent(page_request){

	if (window.location.href.indexOf("http")==-1 || page_request.status==200){
	
	
		if(dest==""){
			document.write(page_request.responseText)
			//clearPreloadPage()
		}else{
			document.getElementById(dest).innerHTML = page_request.responseText
			/*if(dest=="activityContent"){
				clearPreloadPage();
			}*/
		}
	}
}

function getCurrMsec(){
	var da = new Date();
	return da.getMilliseconds();
}

function validateLogin(){

	var emailID =document.getElementById("loginEmail").value;
	var pwdID =document.getElementById("loginPwd").value;
	
	// check email
	if (emailID==""){
		document.getElementById("loginMsg").innerHTML="請輸入你的登入號碼";
	
		return;
	}
	if (pwdID==""){
		document.getElementById("loginMsg").innerHTML="請輸入你的密碼。";
		return;
	}

	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		document.getElementById("loginMsg").innerHTML="Browser does not support HTTP Request"
		return
	} 
	var url="./includes/login-exec.php"

	url=url+"?login="+emailID
	url=url+"&password="+pwdID
	url=url+"&d="+getCurrMsec();
	xmlHttp.onreadystatechange=loginHandler
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 
function loginHandler() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		var strArr = xmlHttp.responseText.split("|");
		
		if(strArr[0] == "-1"){
			//login.password.value = "";
			document.getElementById("loginPwd").value="";
			document.getElementById("loginMsg").innerHTML="登入或密碼";
			
		} else {
			
			document.getElementById("loginMsg").innerHTML=""
			//var strArr = xmlHttp.responseText.split("|");
			
			//$member['id'] ."|". $newArea;
			if(strArr[0]=="1") {
			
				var page = strArr[2];			
				document.getElementById("loginSection").innerHTML=page			
			}else {
				document.getElementById("loginSection").innerHTML= xmlHttp.responseText;
			}			
			document.getElementById("main").innerHTML= strArr[3];
			
			setCookie("user_id", strArr[1], 1);
		}
	} 
} 
function logout(){
	xmlHttp=GetXmlHttpObject()
	var url="./includes/logout.php"

	url=url+"?d="+getCurrMsec();
	xmlHttp.onreadystatechange=logoutHandler 
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
} 

function logoutHandler(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 	
		setCookie("user_id","",-1);
		document.getElementById("loginSection").innerHTML=xmlHttp.responseText		
	
		selectPage(1);
	} 
} 
function selectPage(which) {
	//alert(pageList[which-1]);
	
	if(which == 6) {	
		var user_id = getCookie("user_id");
		if(user_id == null || user_id == "") {
			alert("請登入先！");
			return;
		}
	
	}
	document.getElementById("main").innerHTML="";
	ajaxinclude(pageList[which-1], "main");
	
	if(which ==5) {
		graphicTreeTimer = setInterval('loadDownloadGraphics()',1000);
	}
	
	
	//document.getElementById("view_game").innerHTML="";
}

function loadDownloadGraphics() {
	clearInterval(graphicTreeTimer);
	
	//ajaxinclude("graphicList.php", "graphics");
	createTree(Tree);
}


/*
function sendForgetPwd() {
	var emailID =document.getElementById("forgetEmail").value;
	
	// check email
	if (emailID==""){
		document.getElementById("forgetMsg").innerHTML="請輸入電郵!";	
		return;
	}
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	// check valid email
	if(!filter.test(emailID)) {
		document.getElementById("forgetMsg").innerHTML="請輸入正確電郵。";
		return;
	}
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		document.getElementById("forgetMsg").innerHTML="Browser does not support HTTP Request"
		return
	} 
	var url="./includes/emailPwd.php"

	url=url+"?email="+emailID
	url=url+"&d="+getCurrMsec();
	xmlHttp.onreadystatechange=forgetPwdHandler
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
}

function forgetPwdHandler(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 	
		
		var strArr = xmlHttp.responseText.split("|");
		if(strArr == 1) {
			document.getElementById("forgetMsg").innerHTML= "你的帳戶資料已寄到你的電郵。";	
		}else {
			document.getElementById("forgetMsg").innerHTML= strArr[1];	
		}
	} 
} */

function view_game() {
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		document.getElementById("forgetMsg").innerHTML="Browser does not support HTTP Request"
		return
	} 
	var url="./display_game.php"

	url=url+"?d="+getCurrMsec();
	xmlHttp.onreadystatechange=view_gameHandler
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)
	
}

function view_gameHandler(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 	
		//alert(xmlHttp.responseText)
		document.getElementById("view_game").innerHTML= xmlHttp.responseText;	
		
	} 
} 

function register() {

	// Junior / Senior / Open 
	var pGroup =0;
	for (var i = 0; i < 3; i++) {
		if (document.forms[0].pGroup[i].checked) {
			pGroup =i;
		}
	}
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;	
	
	// register group: Team or Individual
	var inGroup = -1;
	// Team :: Contact Person
	var regName1 = document.getElementById("regName1").value;
	var school1 = document.getElementById("school1").value;
	var grade1 = document.getElementById("grade1").value;
	var contactNum1 = document.getElementById("contactNum1").value;
	var email1 = document.getElementById("email1").value;
	if (document.forms[0].gameGroup[0].checked) {
		inGroup =0;
		if(regName1 =="" || school1 == "" || grade1 == "" || contactNum1 == "" || email1 == "") {
			document.getElementById("alertMsg").innerHTML="請填參加同學資料。";	
			return;
		}
	}
	// Individual
	var app_name = document.getElementById("app_name").value;
	var app_contact = document.getElementById("app_contact").value;
	var app_address = document.getElementById("app_address").value;
	var app_email = document.getElementById("app_email").value;
	var app_school = document.getElementById("app_school").value;
	var app_grade = document.getElementById("app_grade").value;
	if (document.forms[0].gameGroup[1].checked) {
		inGroup =1;
		if(app_name =="" || app_contact == "" || app_address == "" || app_email == "" || app_school == "" || app_grade == "") {
			document.getElementById("alertMsg").innerHTML="請填個人資料。";	
			return;
		}
		// check valid email
		if(!filter.test(app_email)) {
			document.getElementById("alertMsg").innerHTML="你輸入的電郵並不正確，請重新輸入。";
			return;
		}
	}
	if (inGroup<0) {
		document.getElementById("alertMsg").innerHTML="請選擇比賽形式。";	
		return;
	}
		
	/*if(regName1 =="" || school1 == "" || grade1 == "" || contactNum1 == "") {
		document.getElementById("alertMsg").innerHTML="請填個人資料。";	
		return;
	}*/
			
	if(inGroup == 0) {
	
		// check valid email
		if(!filter.test(email1)) {
			document.getElementById("alertMsg").innerHTML="你輸入的第一位同學電郵並不正確，請重新輸入。";
			return;
		}
		
		// group 2
		var regName2 = document.getElementById("regName2").value;
		var school2 = document.getElementById("school2").value;
		var grade2 = document.getElementById("grade2").value;
		var contactNum2 = document.getElementById("contactNum2").value;
		var email2 = document.getElementById("email2").value;
		if(email2 != ""){
			if(!filter.test(email2)) {
				document.getElementById("alertMsg").innerHTML="你輸入的第二位同學電郵並不正確，請重新輸入。";
				return;
			}
		}
		// group3
		var regName3 = document.getElementById("regName3").value;
		var school3 = document.getElementById("school3").value;
		var grade3 = document.getElementById("grade3").value;
		var contactNum3 = document.getElementById("contactNum3").value;
		var email3 = document.getElementById("email3").value;
		if(email3 != ""){
			if(!filter.test(email3)) {
				document.getElementById("alertMsg").innerHTML="你輸入的第三位同學電郵並不正確，請重新輸入。";
				return;
			}
		}
		
		// group 4
		var regName4 = document.getElementById("regName4").value;
		var school4 = document.getElementById("school4").value;
		var grade4 = document.getElementById("grade4").value;
		var contactNum4 = document.getElementById("contactNum4").value;
		var email4 = document.getElementById("email4").value;
		if(email4 != ""){
			if(!filter.test(email4)) {
				document.getElementById("alertMsg").innerHTML="你輸入的第四位同學電郵並不正確，請重新輸入。";
				return;
			}
		}
		
		// Team :: Contact Person
		var cp_name = document.getElementById("cp_name").value;
		var cp_contact = document.getElementById("cp_contact").value;
		var cp_address = document.getElementById("cp_address").value;
		var cp_email = document.getElementById("cp_email").value;
		if(cp_email != ""){
			if(!filter.test(cp_email)) {
				document.getElementById("alertMsg").innerHTML="你輸入的聯絡人電郵並不正確，請重新輸入。";
				return;
			}
		}
	}
	// check school grade
	// Junior P1 to P6 / S1 to S3
	var error_msg = "";
	if(pGroup ==0) {
		if(inGroup == 0) {
			error_msg = "初級組只適合小學生及初中學生報名";
			if(regName1 != "" && (grade1>8)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName2 != "" && (grade2>8)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName3 != "" && (grade3>8)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName4 != "" && (grade4>8)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
		}else{
			if(app_grade>8) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
		}
	// Senior
	}else if(pGroup ==1) {
		if(inGroup == 0) {
			error_msg = "高級組只適合高中學生報名";
			if(regName1 != "" && (grade1<9 || grade1>12)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName2 != "" && (grade2<9 || grade2>12)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName3 != "" && (grade3<9 || grade3>12)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName4 != "" && (grade4<9 || grade4>12)) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
		}else{
			if(app_grade<9 || app_grade>12) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
		}
	}
	
	// check agreement
	if(!document.getElementById("agreement").checked) {
		if(pGroup ==0 || pGroup == 1) {
			error_msg = "你已得到家長同意嗎? 如是，請抅選同意。";
			if(regName1 != "" && (grade1 != "s7" && grade1 != "other")) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName2 != "" && (grade2 != "s7" && grade2 != "other")) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName3 != "" && (grade3 != "s7" && grade3 != "other")) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
			
			if(regName4 != "" && (grade4 != "s7" && grade4 != "other")) {
				document.getElementById("alertMsg").innerHTML=error_msg;
				return;
			}
		}
	}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		document.getElementById("alertMsg").innerHTML="Browser does not support HTTP Request"
		return
	} 
	var url="./includes/toRegister.php"
	url=url+"?d="+getCurrMsec();
	url=url+"&group="+pGroup+"&teamGroup="+inGroup;

	if(inGroup == 0) {
		url=url+"&regName1="+regName1+"&school1="+school1+"&grade1="+grade1+"&contactNum1="+contactNum1+"&email1="+email1;
		url=url+"&regName2="+regName2+"&school2="+school2+"&grade2="+grade2+"&contactNum2="+contactNum2+"&email2="+email2;
		url=url+"&regName3="+regName3+"&school3="+school3+"&grade3="+grade3+"&contactNum3="+contactNum3+"&email3="+email3;
		url=url+"&regName4="+regName4+"&school4="+school4+"&grade4="+grade4+"&contactNum4="+contactNum4+"&email4="+email4;
		url=url+"&cp_name="+cp_name+"&cp_contact="+cp_contact+"&cp_address="+cp_address+"&cp_email="+cp_email;
		//alert("cp_email:"+cp_email);
	}else{
		url=url+"&cp_name="+app_name+"&cp_contact="+app_contact+"&cp_address="+app_address+"&cp_email="+app_email+"&school="+app_school+"&grade="+app_grade;
	}

	xmlHttp.onreadystatechange=registerHandler
	xmlHttp.open("GET",url,true)
	xmlHttp.send(null)

}

function registerHandler(){
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		var strArr = xmlHttp.responseText.split("|");
		document.getElementById("alertMsg").innerHTML="";
		if(strArr[0].indexOf("1") == 1) {
			document.getElementById("registerPage").innerHTML= strArr[1];	
			window.scrollTo(0,0);
		}else {
			alert("a"+trim(strArr[0])+"b");
			document.getElementById("alertMsg").innerHTML= strArr[1];	
		}
	}
}

function toggleSet(rad) { 
  var type = rad.value;   
  for(var k=0,elm;elm=rad.form.elements[k];k++)     
  if(elm.className=='item')       
  elm.style.display = elm.id==type? 'inline':''; 
}

function setCookie(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);	
	document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) { 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
				return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}
