﻿<!--
/*
CreatePerson:					paul
CreateDate:						2005-11-15
*/

//Font
var bigSize = 1;
var midSize = 2;
var smallSize = 3;
var fontSizeCookies = "whickFontSize"; 

//Language
var langEnglish = 1;
var langChinese = 2;
var langCookies = "whichCookies";

//Color
var grayFilter = 0;
var colorFilter = 1;
var monoTextFilter = 2;
var colorCookies = "whichColor";

function setFontSize(numSize)
{
	createCookie(fontSizeCookies,numSize);

	var iframeLength = window.frames.length;
	
	for(var i = 0;i<= iframeLength - 1;i++)
	{
		//window.frames[i].location.reload();	
		setFrameCatchFontSize(numSize,window.frames[i],window.frames[i].document.URL);
	}
	
	setCatchFontSize(numSize);
}

function createCssLink()
{
	document.write('<link rel="stylesheet" rel="stylesheet" id="cssFontSizeStyleLink" type="text/css"/>');
}

function setFrameCatchFontSize(numSize,win,sURL)
{
	numSize = Number(numSize);
	var fontSize = 0;

	if (document.all)
	{
		setIEFont(win,numSize);
		return ;
	}
	
	switch(numSize)
	{
		case bigSize:
			win.document.getElementById("cssFontSizeStyleLink").href = GetRelativeServerPageAddressPath(sURL,"/OtherProject/css/larger_text.css");
			break;
		case midSize:
			win.document.getElementById("cssFontSizeStyleLink").href = GetRelativeServerPageAddressPath(sURL,"/OtherProject/css/normal_text.css");
			break;
		case smallSize:
			win.document.getElementById("cssFontSizeStyleLink").href = GetRelativeServerPageAddressPath(sURL,"/OtherProject/css/smaller_text.css");
			break;
		default :
			win.document.getElementById("cssFontSizeStyleLink").href = "";
			break;
	}
	
	return fontSize;
}

function setCatchFontSize(numSize)
{

	numSize = Number(numSize);
	var fontSize = 0;

	if (document.all)
	{
		setIEFont(self,numSize);
		return ;
	}

/*  comment  Font size change*/
	//if (window.frames.length >= 1)
	//{
		if (self == top)
		{
			//alert("the page has no iframe!");
			return ;
		}
	//}
	
	switch(numSize)
	{
		case bigSize:
			document.getElementById("cssFontSizeStyleLink").href = GetRelativeAddressPath("/OtherProject/css/larger_text.css");
			break;
		case midSize:
			document.getElementById("cssFontSizeStyleLink").href = GetRelativeAddressPath("/OtherProject/css/normal_text.css");
			break;
		case smallSize:
			document.getElementById("cssFontSizeStyleLink").href = GetRelativeAddressPath("/OtherProject/css/smaller_text.css");
			break;
		default :
			document.getElementById("cssFontSizeStyleLink").href = "";
			break;
	}
	
	return fontSize;
}

//六個不同版本的轉向//
function getKindOfVersionUrlAddress(sUrlAddress)
{
	var iLanguage = readCookie(langCookies);
	var iColors = readCookie(colorCookies);
	
	if (iLanguage == langEnglish)
	{
		sUrlAddress = sUrlAddress.replace(/\/chi\/\s*/gi,"/eng/");	
	}
	else
	{
		sUrlAddress = sUrlAddress.replace(/\/eng\/\s*/gi,"/chi/");	
	}

	if (iColors == monoTextFilter)
	{
		sUrlAddress = sUrlAddress.replace(/\/color\/\s*/gi,"/text/");	
	}
	else
	{
		sUrlAddress = sUrlAddress.replace(/\/text\/\s*/gi,"/color/");	
	}

	return sUrlAddress;
}

function changeLanguageColor(langVersion,colorType,sTarget)
{
	createCookie(langCookies,langVersion);
	createCookie(colorCookies,colorType);
	
	var sWin = null;
	if (sTarget == null)
	{
		sWin = "self";	
	}
	else
	{
		sWin = sTarget;
	}
	
	var sOldPageUrlAddress = eval(sWin + ".window.document.URL"); //本頁地址//
	sOldPageUrlAddress = clearColorVersionParam(sOldPageUrlAddress);//去掉版本參數//
	sGotoPageUrlAddress = getKindOfVersionUrlAddress(sOldPageUrlAddress);
	
	if (sGotoPageUrlAddress.toLowerCase() == sOldPageUrlAddress.toLowerCase())
	{
		window.location.href = sOldPageUrlAddress;
		//location.reload();
		
		/*
		//地址不變，即為轉黑白的//
		var iLength = window.frames.length;
		for(var i = 0 ;i<= iLength - 1;i++)
		{
			window.frames[i].location.reload();	
		}
		*/
		
	}
	else
	{
		var iParentCount = 0;
		while (true)
		{
	
			//是否存在此鏈接文件//
			var sHttpFile = GetAbsoluteAddressPath(
													GetRelativeAddressPath
															("/OtherProject/aspx/IsExistsLinkFile.aspx?FileName="+
																sGotoPageUrlAddress.replace(/\?.*$/gi,""))
													);
						
			sHttpFile = sHttpFile + "&tmp="+Math.random();
			
			var sExists = chooseBrowserFunction("getResponseIEPageData(\""+sHttpFile+"\",false);",
													"getResponseNetscapePageData(\""+sHttpFile+"\",false);");
						
			if ( sExists == "1")
			{
				eval((sWin + ".window.location.href = \"" + sGotoPageUrlAddress + "\" ;"));
				break;
			}
			else
			{
				/* Youth Conner特殊處理*/
				if (! /\/\s*youthcorner\s*\/\s*/gi.test(sGotoPageUrlAddress)){break;}
				//如果不存在此文件，則轉向主目錄文件中去//

				if (sGotoPageUrlAddress.toLowerCase() == 
							sGotoPageUrlAddress.replace(/\/[^\/]+$/gi,"/index.html").toLowerCase())
				{
					sGotoPageUrlAddress = sGotoPageUrlAddress.replace(/(\/[^\/]+){2}$/gi,"/index.html");
				}
				else
				{
					sGotoPageUrlAddress = sGotoPageUrlAddress.replace(/\/[^\/]+$/gi,"/index.html");
				}
				
				if ((iParentCount ++ ) >= 3)
				{
					alert("The file has not exists!");
					break;
				}
				
				//eval((sWin + ".window.location.href = \"" + sGotoPageUrlAddress + "\" ;"));
			}
		
		
		}

	}
	
//	return true;
}

function getColorVersion(colorType)
{
	colorType = Number(colorType);
	var filterColor = "color";

	switch(colorType)
	{
		case grayFilter:
			filterColor = "gray";
			break;
		case colorFilter:
			filterColor = "color";
			break;
		default :
			//filterColor = "gray";
			filterColor = "color";
			break;
	}

	return filterColor;
}

function getInitStyle()
{
/*
	createCssLink();

	if (readCookie(fontSizeCookies) != null)
	{
		setCatchFontSize(readCookie(fontSizeCookies));
	}
*/
	
	if (readCookie(colorCookies) != null)
	{
		var tempColorVersion = getColorVersion(readCookie(colorCookies));
		chooseBrowserFunction( ' document.write(" <style type=\'text/css\'>  body{FILTER:' + tempColorVersion + ';} </style>");setWinLoad("setIESelectControl(\''+tempColorVersion+'\');"); ','setWinLoad("setChangeEffect();");');
	}
}

function setIsGrayImage(eImgControl)
{
	if (document.all)
	{
		//IE，暫不需要變色//
	}
	else
	{
		setIsGrayNetscapeImage(eImgControl);//Netscape,判斷是否要變黑白色//
	}
}

function clearColorVersionParam(sUrlParam)
{
	sUrlParam = sUrlParam.replace(/[\?\&]\s*mode\s*=\s*[^\&]*/gi,"");
	return sUrlParam;
}

function setIsMonoVersion()
{
	var sParam = window.document.location.search;
	var patternParam =  /^\?.*[\&]?\s*mode\s*=\s*([^\&\s]*).*$/gi;
	if (patternParam.test(sParam))
	{
		sParam = sParam.replace(patternParam,"$1");
		sParam = sParam.toUpperCase();
		
		var sColorParam = colorFilter;
		var sLanguageParam = langEnglish;
		switch (sParam)
		{
			case "CE":
						sColorParam = colorFilter ;sLanguageParam = langEnglish; break;
			case "CC":
						sColorParam = colorFilter ;sLanguageParam = langChinese; break;
			case "ME":
						sColorParam = grayFilter ;sLanguageParam = langEnglish; break;
			case "MC":
						sColorParam = grayFilter ;sLanguageParam = langChinese; break;
			case "TE":
						sColorParam = monoTextFilter ;sLanguageParam = langEnglish; break;
			case "TC":
						sColorParam = monoTextFilter ;sLanguageParam = langChinese; break;
			default:
						sColorParam = colorFilter ;break;
		
		}
		
		createCookie(colorCookies,sColorParam);
		createCookie(langCookies,sLanguageParam);
		
		var sUrl = window.location.href.toLowerCase();
		var sNewUrl = getKindOfVersionUrlAddress(sUrl);
		
		if (sUrl != sNewUrl)
		{
			window.location.href = sNewUrl;
			return ;
		}
		
	}

}

function loadStreamGetJsAboutVersionType()
{
	setIsMonoVersion();
	
	getInitStyle();
	chooseBrowserFunction(
		'document.write(\'<script language=\"javascript\" src=\"'+GetRelativeAddressPath("/OtherProject/js/WebSurfaceChangeIE.js")+'\"></script>\');',
		'document.write(\'<script language=\"javascript\" src=\"'+GetRelativeAddressPath("/OtherProject/js/WebSurfaceChangeNetscape.js")+'\"></script>\');'
	);
}

loadStreamGetJsAboutVersionType();

function setOnloadFontSize()
{
	var eTmpNode = document.getElementsByTagName("html")[0];
	var eTmpStyle = document.createElement("link");
	eTmpStyle.setAttribute("rel","stylesheet");
	eTmpStyle.setAttribute("id","cssFontSizeStyleLink");
	eTmpStyle.setAttribute("type","text/css");
	eTmpNode.appendChild(eTmpStyle);
	
	if (readCookie(fontSizeCookies) != null)
	{
		setCatchFontSize(readCookie(fontSizeCookies));
	}

}

setWinLoad("setOnloadFontSize();");

//中文纯文本//
function gotoChiTextHelp()
{
	openWinHelp();
}

function getoChiColorHelp()
{
	openWinHelp();
}

function getoEngColorHelp()
{
	openWinHelp();
}

function gotoEngTextHelp()
{
	openWinHelp();
}

function openWinHelp()
{
	var sWidth = 800;
	var sHeight = 600;
    var l = ( screen.availWidth - sWidth ) / 2;
    var t = ( screen.availHeight - sHeight ) / 2; 

	window.open(GetRelativeAddressPath("/youthcorner/help.htm"),
				"",
				"width="+sWidth+",height="+sHeight+",left="+l+",top="+t+",scrollbars=yes ");

}

//-->