// JavaScript Document
var xmlHttp = false;
var IsIE=true;
var PageName='';
var _SW,_SH,_CW,_CH,_ST,_SL;
var _EggID,_EggURL,_EggSWF,_EggLOSE,_EggCLICK,_EggCLICKED;
var _Div,_Img,_SWF;
var _DivLOSE;
var _DivCLICK;
var _DivQUES;
var _STout;
var bodySL, bodyST;
var bodyCW, bodyCH; 


window.attachEvent('onload',Show_Egg);

function Show_Egg(){
	_SW=document.body.scrollWidth;
	_SH=document.body.scrollHeight;
	_CW=document.body.clientWidth;
	_CH=document.body.clientHeight;
	
	_domain=document.domain;
	_Url=document.URLUnencoded;
	PageName=getPageName();
	//alert(getPageName());
	
	//利用AJAX讀取資料庫此頁面是否為要出現奇酷蛋，並讀取該圖片之位置
	getEggUrl();
	//動態產生物件，並在目前畫面上隨機放置
}

function GetScreenInfo(){
	if(window.pageXOffset)
	{
		bodySL=window.pageXOffset;
	}
	else if(document.documentElement&&document.documentElement.scrollLeft)
	{
		bodySL=document.documentElement.scrollLeft;
	}
	else if(document.body)
	{
		bodySL=document.body.scrollLeft; //author: meizz
	}
	
	if(window.pageYOffset)
	{
		bodyST=window.pageYOffset;
	}
	else if(document.documentElement&&document.documentElement.scrollTop)
	{
		bodyST=document.documentElement.scrollTop;
	}
	else if(document.body)
	{
		bodyST=document.body.scrollTop;
	}
	
	if(window.innerWidth)
	{
		bodyCW=window.innerWidth;
	}
	else if(document.documentElement&&document.documentElement.clientWidth)
	{ 
		bodyCW=document.documentElement.clientWidth;
	}
	else if(document.body)
	{
		bodyCW=document.body.clientWidth; //author: meizz
	}
	
	if(window.innerHeight)
	{
		bodyCH=window.innerHeight;
	}
	else if(document.documentElement&&document.documentElement.clientHeight)
	{ 
		bodyCH=document.documentElement.clientHeight; 
	}
	else if(document.body)
	{
		bodyCH=document.body.clientHeight;
	}

}
function getPageName(){
	//取得目前執行頁面名稱
	//ex:url=http://kidscooltest.topschool.com.tw/index.asp?ID=xxxxx
	//回傳值為index.asp
	var _domain,_Url,_PageName;
	_domain=document.domain;
	_Url=document.URLUnencoded;
	
	var _pattern=new RegExp(_domain+'\\/(\\S*.asp)\\??\\S*');
	var _result=_Url.match(_pattern);
	//alert(_Url+'\n'+_pattern+'\n'+_result);
	if (_result != null){
		//alert(_result);
		_PageName=_result[_result.length-1];
	}
	return _PageName;
	//alert(_PageName);
}

function getEggUrl(){
	//取得奇酷蛋圖片位置
	var url='/ACT200802/EggPage.asp?PN='+PageName+'&ts='+new Date().getTime();
	
	//alert(url);
	//document.write(url)
	CreateXHR();
	xmlHttp.onreadystatechange=CatchResult;
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

function CatchResult(){
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
//			var xmlDoc=createDocument();
//			xmlDoc.load(xmlHttp.responseXML);
			var xmlDoc=xmlHttp.responseXML;
			var _NodeSet = xmlDoc.getElementsByTagName('egg');
			if (_NodeSet.length > 0){
				_EggID=_NodeSet[_NodeSet.length-1].childNodes.item(0).text;
				_EggURL=_NodeSet[_NodeSet.length-1].childNodes.item(1).text;
				_EggSWF=_NodeSet[_NodeSet.length-1].childNodes.item(2).text;
				_EggLOSE=_NodeSet[_NodeSet.length-1].childNodes.item(3).text;
				_EggCLICK=_NodeSet[_NodeSet.length-1].childNodes.item(4).text;
				_EggCLICKED=_NodeSet[_NodeSet.length-1].childNodes.item(5).text;
				AttachEgg();
			}
		}else{
			alert('頁面讀取錯誤！請洽程式開發人員！');
		}
	}	
}

function AttachEgg(){
	//產生DIV圖層與蛋的圖案，然後加到畫面上
	//蛋圖案顯示20秒
	//因為但要有一些特效等等的，所以改成用FLASH
	_Div=CreateElement('div',{id:'EggDiv',name:'EddDiv'},{position:'absolute',zindex:'999'},'');
	_Div.innerHTML=AC_FL_RunContentHTML( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','144','height','150','src',_EggSWF,'quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','wmode','transparent','movie',_EggSWF);	

//	_Img=CreateElement('img',{id:'EggImg',name:'EddImg',src:_EggURL},{},'');
//	_Div.appendChild(_Img);
	
	RandPosition(_Div,_Img);
	document.body.appendChild(_Div);
	//_Div.attachEvent('onclick',function(){EggClick()});
	
	var _SToutS=20*1000;
	_STout=window.setTimeout(function(){LoseEgg()},_SToutS)
	
}

function AttachLoseEgg(){
	//產生DIV圖層與蛋將消失的Swf，然後加到畫面上
	//此動畫僅顯示4秒
	_DivLOSE=CreateElement('div',{id:'EggLoseDiv',name:'EddLoseDiv'},{position:'absolute',zindex:'999'},'');
	_DivLOSE.innerHTML=AC_FL_RunContentHTML( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','400','height','400','src',_EggLOSE,'quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','wmode','transparent','movie',_EggLOSE);
	//應該要移到目前使用者的可視範圍中間
	_SL=document.body.scrollLeft;
	_ST=document.body.scrollTop;
	
	_DivLOSE.style.left=parseInt((_CW/2)-(400/2)+_SL);
	_DivLOSE.style.top=parseInt((_CH/2)-(400/2)+_ST);
	document.body.appendChild(_DivLOSE);
	window.setTimeout(function(){RemoveObj(_DivLOSE)},4000);
}

function AttachClickEgg(){
	//產生DIV圖層與找到蛋的Swf，然後加到畫面上
	//此動畫僅顯示2.4秒
	_DivCLICK=CreateElement('div',{id:'EggClickDiv',name:'EggClickDiv'},{position:'absolute',zindex:'999'},'');
	_DivCLICK.innerHTML=AC_FL_RunContentHTML( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','600','height','400','src',_EggCLICK,'quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','wmode','transparent','movie',_EggCLICK);
	
	//應該要移到目前使用者的可視範圍中間
	_SL=document.body.scrollLeft;
	_ST=document.body.scrollTop;
	
	_DivCLICK.style.left=parseInt((_CW/2)-(600/2)+_SL);
	_DivCLICK.style.top=parseInt((_CH/2)-(400/2)+_ST);
	document.body.appendChild(_DivCLICK);
	window.setTimeout(function(){ShowQuestion()},2400);
}

function ShowQuestion(){
	//移除找到蛋的Swf
	RemoveObj(_DivCLICK)
	var _str;

	//顯示問題Swf
	var QuesSwf='/ACT200802/ACT200802';
	_DivQUES=CreateElement('div',{id:'ShowQuesDiv',name:'ShowQuesDiv'},{position:'absolute',zindex:'999'},'');

	_str=AC_FL_RunContentHTML('id','SWFQUES','codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','800','height','600','src',QuesSwf,'quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','wmode','transparent','movie',QuesSwf,'flashvars','EGG_ID='+_EggID,'name','SWFQUES','allowScriptAccess','sameDomain','menu','false');
	
//	_str='<object id="SWFQUES" name="SWFQUES" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
//	_str+= ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="800" height="600">'
//  _str+= ' <param name="movie" value="/ACT200802/ACT200802.swf">'
//  _str+= ' <param name="quality" value="high">'
//  _str+= ' <param name="wmode" value="transparent">'
//	_str+= ' <param name="allowScriptAccess" value="sameDomain" />
//	_str+= ' <param name="menu" value="false">'
//	_str+= ' <param name="flashvars" value="EGG_ID='+_EggID+'">'
//  _str+= ' <embed src="/ACT200802/ACT200802.swf" width="800" height="600" quality="high" '
//	_str+= ' pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" name="SWFQUES"></embed></object>'

	//應該要移到目前使用者的可視範圍中間
	_SL=document.body.scrollLeft;
	_ST=document.body.scrollTop;
	
	_DivQUES.innerHTML=_str
	_DivQUES.style.left=parseInt((_CW/2)-(800/2)+_SL);
	_DivQUES.style.top=parseInt((_CH/2)-(600/2)+_ST);
	//2008/01/17修改，加邊框
	_DivQUES.style.borderBottom='solid 2px #000'
	_DivQUES.style.borderRight='solid 2px #000'
	_DivQUES.style.borderTop='solid 2px #000'
	_DivQUES.style.borderLeft='solid 2px #000'
	document.body.appendChild(_DivQUES);
	//alert(_EggID);
	//AddRecord();
}

//以下處理FLASH所傳出之指令
//if(document.all !=null){
// document.writeln("<script language='vbscript' type='text/vbscript'\>");
// document.writeln("sub SWFQUES_FSCommand(ByVal command,ByVal args)");
// document.writeln(" call SWFQUES_DoFSCommand(command,args)");
// document.writeln("End sub");
// document.writeln("</script\>");
//}
function DoFSCommand(command, args){
	//處理FLASH所送出的fscommand
	//alert (args);
	if (command=='handleResult'){
		if (args=='save'){
			//答對啦
			AddRecord();
			//RemoveObj(_DivQUES);
		}else if (args=='exit'){
			//答錯啦
			RemoveObj(_DivQUES);
		}
	}
}

//處理FLASH命令結束

function RemoveObj(wObj){
	document.body.removeChild(wObj);
}

function RandPosition(ObjDiv,ObjImg){
	var _imgWidth=96*1.5; //ObjImg.offsetWidth;
	var _imgHeight=100*1.5; //ObjImg.offsetHeight;
	
	//alert(_imgWidth+';'+_imgHeight);
	var availWidth=_SW-_imgWidth;
	var availHeight=_SH-_imgHeight;
	
	ObjDiv.style.left=availWidth * Math.random();
	ObjDiv.style.top=availHeight * Math.random();
	//alert(availWidth + ';' + availHeight)
}

function CenterPosition(Obj){
	var _OW=Obj.offsetWidth;
	var _OH=Obj.offsetHeight;
	
	Obj.style.left=parseInt((_SW/2)-(_OW/2));
	Obj.style.top=parseInt((_SH/2)-(_OH/2));
	//alert(availWidth + ';' + availHeight)
}

function LoseEgg(){
	//時間到沒有點蛋時,蛋消失
	document.body.removeChild(_Div);
	//CenterPosition(_Div,_Img);
	AttachLoseEgg();
}

function EggClick(){
	//使用者找到蛋啦,蛋圖消失
	//顯示找到畫面
	document.body.removeChild(_Div);
	window.clearTimeout(_STout);
	if (_EggCLICKED=='Y'){
		alert('這個蛋已經收集過嘍！再找找別的地方^_^');
		AddRecord();
	}else{
		alert('只要答對題目就成功嘍！加油！');	
		AttachClickEgg();
	}
}

function AddRecord(){
	//寫入找到奇酷蛋的紀錄
	var url='/ACT200802/AddRecord.asp?EGG_ID='+_EggID+'&ts='+new Date().getTime();
	
	//alert(url);
	CreateXHR();
	xmlHttp.onreadystatechange=CatchResult1;
	xmlHttp.open('GET', url, true);
	xmlHttp.send(null);
}

function CatchResult1(){
	var _Result=0
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
//			var xmlDoc=createDocument();
//			xmlDoc.load(xmlHttp.responseXML);
			var xmlDoc=xmlHttp.responseXML;
			var _NodeSet = xmlDoc.getElementsByTagName('result');
			
			if (_NodeSet.length > 0){
				_Result=_NodeSet[_NodeSet.length-1].text;
			}
			if (_Result==2){
				//alert('這個蛋已經收集過嘍！再找找別的地方^_^');
			}else if (_Result==0){
				alert('紀錄寫入錯誤！請洽程式開發人員！');
			}
		}else{
			alert('紀錄寫入錯誤！請洽程式開發人員！');
		}
	}
}

function CreateXHR(){
	//建立XmlHttpRequest
	if (typeof XMLHttpRequest != "undefined") {
		if (window.ActiveXObject) { //IE7
			xmlHttp=MSXHRVER()
		} else { //FF,Mor...
			xmlHttp= new XMLHttpRequest();
			IsIE=false;
		}
	} else if (window.ActiveXObject) { //IE5+
		xmlHttp=MSXHRVER()
	}
	if (!xmlHttp) alert("XMLHttp object could be created.");
}

function MSXHRVER(){
	//引用可使用的XMLHTTPRequest版本
	var aVersions = [ "MSXML2.XMLHttp.5.0",	"MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];
	for (var i = aVersions.length-1; i >=0; i--) {
		try {
			var oXmlHttp = new ActiveXObject(aVersions[i]);
			return oXmlHttp;
		} catch (oError) {
		//Do nothing
		}
	}
}

function createDocument() {
	//產生XMLDOM
	var aVersions = ["MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0"," MSXML2.DOMDocument.3.0","MSXML2.DOMDocument"," Microsoft.XmlDom"];
	for (var i = aVersions.length-1; i >=0; i--) {
		try {
			var oXmlDom = new ActiveXObject(aVersions[i]);
			return oXmlDom;
		} catch (oError) {
		//Do nothing
		}
	}
	alert("MSXML is not installed.");
}

//建立動態物件
// 這是經過調整的 html 元素建立方式，以後每次要建立 html 元素時就呼叫它。
/*範例
var newElement = CreateElement(‘div’, 
    {‘class’: ‘newDivClass’, id: ‘newDiv’, name: ‘newDivName’},
    {width: ‘300px’, height:‘200px’, margin:‘0 auto’, border:‘1px solid #DDD’},
    ‘這是存在於在新建立標籤 div 中的文字。’);
*/
CreateElement = function(TagName, Attribute, Style, Text) {
    var Obj = document.createElement(TagName);
    if (Attribute) {
        for (var each in Attribute) {
            if (each == 'class') Obj.className = Attribute[each];
            else if (each == 'id') Obj.id = Attribute[each];
            else Obj.setAttribute(each, Attribute[each]);
        }
    }
    if (Style) { for (var each in Style) Obj.style[each] = Style[each]; }
    if (Text) { Obj.appendChild(document.createTextNode(Text)); }
    return Obj;
}