//ReturnMonthDay(inyear,inmonth)
//LuhnCheck(incard)
//ConvertLang(inlang)
//StrategySubmit(intype,interm)
//FavSubmit(inid)
//function GetXmlHttpObject()
//function showStrategy(inlayer,infile)

NS4 = (document.layers);
IE4 = (document.all);
ver4 = (NS4 || IE4);   
isMac = (navigator.appVersion.indexOf("Mac") != -1);
isMenu = (NS4 || (IE4 && !isMac));

function AllCharCheck(inlist)
{
	var flg=0;
	var cmp="abcdefghijklmnopqrstuvwxyz0123456789_.QWERTYUIOPLKJHGFDSAZXCVBNM";
	for (var k=0; k<inlist.length; k++){
		var tst=inlist.substring(k,k+1);
		if (cmp.indexOf(tst) < 0){
			flg++;
		}
 	}
	if (flg!=0) return(false);
	else return(true);
}

function LoginIDCheck(inlist)
{
	var flg=0;
	var cmp="abcdefghijklmnopqrstuvwxyz0123456789_";
	for (var k=0; k<inlist.length; k++){
		var tst=inlist.substring(k,k+1);
		if (cmp.indexOf(tst) < 0){
			flg++;
		}
 	}
	if (flg!=0) return(false);
	else return(true);
}

function AllNumCheck(list)
{
	flg=0;
	for (var i=0;i<list.length;i++){
		cmp="0123456789."
		tst=list.substring(i,i+1)
		if (cmp.indexOf(tst)<0)
		{flg++;
		break;
		}
 	}
	if (flg!=0)
	return(false);
	else
	return(true);
}

function isEmail(email) {
	var at_sym = email.indexOf("@");
	var dot_sym = email.lastIndexOf(".");
	var err = false;

	if (at_sym == -1 || dot_sym == -1){
		// Check for existence of the '@' & '.' symbol
		err = true;
	}
	else if (at_sym == 0){
		// If the '@' is the first character
		err = true;
	}
	else if (dot_sym == email.length-1){
		// if the '.' is the last character
		err = true;
	}
	else if (dot_sym - at_sym <= 1){
		// if '@' & '.' are adjacent to each other
		err = true;
	}

	if (err) {
		return false;
	}
	else {
		return true;
	}
}


function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function showStrategy(inlayer,infile)
{	
	var e,layername;
	layername = inlayer
	if (infile=="")
	{ 
		return
	}
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) return;
	var submiturl="/sql/strategy.asp";	
	submiturl=submiturl+"?tid="+Math.random()+"&f="+infile;
	xmlHttp.onreadystatechange = function(){
		e = eval("document.getElementById(\""+layername+"\")");
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			e.innerHTML=xmlHttp.responseText 
		}		
	}
	xmlHttp.open("GET",submiturl,true)
	xmlHttp.send(null)
	
	rtimer = setTimeout('showStrategy("'+inlayer+'","'+infile+'");',3600000);
}

function showDailyTechnical(intypeid,incurid)
{	
	var e,layername;
	layername = "dailytechnicallayer"
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) return;
	var submiturl="/sql/main_technical.asp";
	submiturl = submiturl + "?typeid=" + intypeid + "&curid=" + incurid;
	xmlHttp.onreadystatechange = function(){
		e = eval("document.getElementById(\""+layername+"\")");
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			e.innerHTML=xmlHttp.responseText 
		}		
	}
	xmlHttp.open("GET",submiturl,true)
	xmlHttp.send(null)
}

//------------------ Clock JS -------------

var clockID = null;
var clockRunning = false;

function simpleFindObj(name, inLayer) 
{
	return document[name] || (document.all && document.all[name])
	|| (document.getElementById && document.getElementById(name))
	|| (document.layers && inLayer && document.layers[inLayer].document[name]);
}


function divWrite(div, input)
{
	var div_x = simpleFindObj(div);
	input = input;
	if (div_x && div_x.innerHTML) 
	{
		div_x.innerHTML = input;
	}
	else if (div_x && div_x.document) 
	{
		div_x.document.writeln(input);
		div_x.document.close();
	}
}

function UTCDisplay(utc) {
	divWrite("clocklayer", utc);
}

function stop()
{
	if(clockRunning) clearTimeout(clockID);
	clockRunning = false;
}

function makeGMT (day, date, month, year, hour, minute, second)
{
	if (day == 0) day = "Sun";
	else if (day == 1) day = "Mon";
	else if (day == 2) day = "Tue";
	else if (day == 3) day = "Wed";
	else if (day == 4) day = "Thu";
	else if (day == 5) day = "Fri";
	else if (day == 6) day = "Sat";
	if (month == 0) month = "Jan";
	else if (month == 1) month = "Feb";
	else if (month == 2) month = "Mar";
	else if (month == 3) month = "Apr";
	else if (month == 4)month = "May";
	else if (month == 5) month = "Jun";
	else if (month == 6) month = "Jul";
	else if (month == 7) month = "Aug";
	else if (month == 8) month = "Sep";
	else if (month == 9) month = "Oct";
	else if (month == 10) month = "Nov";
	else if (month == 11) month = "Dec";

	if (date < 10) date = ("0" + date);
	if (hour < 10) hour = ("0" + hour);
	if (minute < 10) minute = ("0" + minute);
	if (second < 10) second = ("0" + second);
	year = year-2000;
	if (year < 10)
		UTCDisplay(day + ", " + date + " " + month + " 0" + year + " - " + hour + ":" + minute + ":" + second + " GMT");
	else
		UTCDisplay(day + ", " + date + " " + month + " " + year + " - " + hour + ":" + minute + ":" + second + " GMT");
}

function display() 
{
	var ltime = new Date(); 

	var UTCDay = ltime.getUTCDay();
	var UTCDate = ltime.getUTCDate();
	var UTCMonth = ltime.getUTCMonth();
	var UTCYear = ltime.getUTCFullYear();
	var UTCHours = ltime.getUTCHours();
	var UTCMinutes = ltime.getUTCMinutes();
	var UTCSeconds = ltime.getUTCSeconds();
//	UTCMinutes = UTCMinutes + 4;
makeGMT (UTCDay, UTCDate, UTCMonth, UTCYear, UTCHours, UTCMinutes, UTCSeconds)

	clockID = setTimeout('display()',1000);
	clockRunning = true;
}

function tick(){
	var e,layername, tt;
	
	tt = new Date();
	tt = tt.getTime();
	layername = "clocklayer"
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null) return;
	var submiturl="/common/clock.asp";	
	submiturl = submiturl + "?t=" + tt;
	xmlHttp.onreadystatechange = function(){
		e = eval("document.getElementById(\""+layername+"\")");
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			e.innerHTML=xmlHttp.responseText 
		}		
	}
	xmlHttp.open("GET",submiturl,true)
	xmlHttp.send(null)
	
	rtimer = setTimeout('tick();',1000);
}

function tick2() 
{
	stop();
	display();
}

function ReturnMonthDay(inyear,inmonth){
	var leapyear, monthend
	
	if (inmonth==1 || inmonth==3 || inmonth==5 || inmonth==7 || inmonth==8 || inmonth==10 || inmonth==12)
		monthend=31;
	else if (inmonth==2){
		if (inyear%4>0)
			monthend = 28;
		else if (inyear%400==0)
			monthend = 29;
		else if (inyear%100==0)
			monthend = 28;
		else
			monthend = 29;		
	}else
		monthend = 30;
	return (monthend);
}

function LuhnCheck(incard){

	if (AllNumCheck(incard)){
		var pos=1,sum = 0;
		for (var i=0; i<incard.length; i++){		
			var di = incard.substr(i,1);
			
			if (pos==1) tempnum = di*2;
			else tempnum = di;
			if (tempnum < 10) sum = sum + (tempnum*1);
			else sum = sum + (tempnum-10) + 1;
			
			pos = pos * -1;
		}
		sum = sum%10;		
		if (sum==0) return true;
		else return false;
	}else return false;
}

function ConvertLang(inlang){
	var tempurl = location.href;
	//
	var num = tempurl.indexOf("#");
	if (num != -1) tempurl = tempurl.substr(0,num);
	if (inlang=="gb"){
			tempurl=tempurl.replace("/big5/","/gb/");
			tempurl=tempurl.replace("/eng/","/gb/");
	}else if(inlang=="big5"){
			tempurl=tempurl.replace("/eng/","/big5/");
			tempurl=tempurl.replace("/gb/","/big5/");
	}else{
			tempurl=tempurl.replace("/big5/","/eng/");
			tempurl=tempurl.replace("/gb/","/eng/");
	}
	convertlanguageForm.url.value=tempurl;
	convertlanguageForm.tolang.value=inlang;
	convertlanguageForm.submit();
}

function StrategySubmit(interm,intype){
	strategyTable.typeid.value = intype;
	strategyTable.termid.value = interm;
	strategyTable.submit();
}

