// JavaScript Document

function checkAll(src, checked)
{
	if(typeof(src)!="undefined")
	{
		if(typeof(src.length)=="undefined")
			src.checked = checked;
		else
			for(var i=0;i<src.length;i++)
				src[i].checked = checked;
	}
		
}

function checkDate(form, name){
	var oYear = form[name + "Year"];
	var oMonth = form[name + "Month"];
	var oDay = form[name + "Day"];
	if( isNaN(oYear.value) || isNaN(oMonth.value) || isNaN(oDay.value))
		return false;
	else
		return true;
}

function checkEmail(src)
{
		var formatString = ".+@.+\\..+";
		var strTmp = src.value;
		if(strTmp == null || strTmp.length==0)
		{
			return false;
		}
		return checkFormat(formatString, strTmp);
}

function checkEnglish(src)
{
		var formatString = "[^a-zA-Z0-9_ ]";
		var strTmp = src.value;
		if(strTmp == null || strTmp.length==0)
		{
			return false;
		}
		return !checkFormat(formatString, strTmp);
}

function checkNumber(src)
{
		var formatString = "([^0-9\\.])|(\\..{0,}\\.)";
		var strTmp = src.value;
		if(strTmp == null || strTmp.length==0)
		{
			return false;
		}
		return !checkFormat(formatString, strTmp);
}

function checkUsername(src)
{
		var formatString = "[^a-zA-Z0-9_]";
		var strTmp = src.value;
		if(strTmp == null || strTmp.length==0)
		{
			return false;
		}
		return !checkFormat(formatString, strTmp);
}

function checkPassword(src)
{
		var formatString = "[^a-zA-Z0-9_]";
		var strTmp = src.value;
		if(strTmp == null || strTmp.length==0)
		{
			return false;
		}
		return !checkFormat(formatString, strTmp);
}

function checkConfirm(src, dst)
{
	if(src.value!=dst.value)
	{
		return false;
	}
	return true;
}

function checkInput(src)
{
	if(src.value==null || src.value.length==0)
	{
		return false;
	}
	else
		return true;
}

function checkCheckbox(src)
{
	var checked = false;
	if(typeof(src)!="undefined")
	{
		if(typeof(src.length)=="undefined")
		{
			if(src.checked)	checked = true;
		}
		else
		{
			for(var i = 0; i<src.length; i++)
			{
				if(src[i].checked)
				{
					checked = true;
					break;
				}
			}
		}
	}
	return checked;
}

function checkFormat(patrn, strng){
   var regEx = new RegExp(patrn, "ig");
   return regEx.test(strng);
}

function makeDateList(form, src, date){
	var year = parseInt(date.substring(0,4),10);
	var month = parseInt(date.substring(5,7),10);
	var day = parseInt(date.substring(8,10),10);
	var oYear = form[src + "Year"];
	var oMonth = form[src + "Month"];
	var oDay = form[src + "Day"];
	makeYearList(oYear, 2000, 15, year);
	makeMonthList(oMonth, month);
	var maxday = getLeapDays(year,month);
	makeDayList(oDay, maxday, day);
}

function computeDate(src){
	var oYear = eval("document.all." + src + "Year");
	var oMonth = eval("document.all." + src + "Month");
	var oDay = eval("document.all." + src + "Day");
	var year = parseInt(oYear.value);
	var month = parseInt(oMonth.value);
	var day = parseInt(oDay.value);

	var maxday = getLeapDays(year, month);
	makeDayList(oDay, maxday, day);
}

function getLeapDays(year, month)
{
	var flag = (((year % 100) != 0) && ((year % 4) == 0)) || ((year % 400) == 0);
	var maxday = 0;
	switch(month){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			maxday = 31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			maxday = 30;
			break;
		case 2:
			maxday = flag?29:28;
			break;
	}
	return maxday;
}


function makeYearList(oSelect, base, count, value){
	for(var i=oSelect.options.length;i<count ;i++)
	{
		var oOption = document.createElement("OPTION");
		oSelect.options.add(oOption);
		oOption.innerText = i + base;
		oOption.value = i + base;
	}
	if(value>=base)
		oSelect.options(value-base).selected = true;
}

function makeMonthList(oSelect, value){
	for(var i=oSelect.options.length;i<12 ;i++)
	{
		var oOption = document.createElement("OPTION");
		oSelect.options.add(oOption);
		oOption.innerText = i + 1;
		oOption.value = i + 1;
	}
	if(value>0)
		oSelect.options(value-1).selected = true;
}

function makeDayList(oSelect, n, value){
	for(var i=oSelect.options.length - 1; i > n-1; i--)
	{
		oSelect.options.remove(i);
	}
	for(var i=oSelect.options.length;i<n ;i++)
	{
		var oOption = document.createElement("OPTION");
		oSelect.options.add(oOption);
		oOption.innerText = i + 1;
		oOption.value = i + 1;
	}
	if(oSelect.options.length>0)
		if(value<0)
			oSelect.options(0).selected = true;
		else if(value > oSelect.options.length)
			oSelect.options(oSelect.options.length - 1).selected = true;
		else
			oSelect.options(value-1).selected = true;
}



function clearSelect(oSelect){
	for(var i in oSelect.options){
		oSelect.options.remove(i);
	}
}


function setSelect(oSelect, value){
	if(oSelect!=null)
		for(var i=0; i<oSelect.options.length; i++){
			if (oSelect.options[i].value==value){
				oSelect.options[i].selected = true;
				break;
			}
		}
}

function setRadio(oRadio, value){
	if(oRadio!=null)
		for(var i=0; i<oRadio.length; i++){
			if (oRadio[i].value==value){
				oRadio[i].checked = true;
				break;
			}
		}
}
