﻿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_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_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); 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 IsValidUIN(UIN)
{	
	format = new RegExp("^([STFG]{1,1})([0-9]{7,7})([A-Z]{1,1})$");	
	matchedformat = format.exec(UIN.toUpperCase());
	if(matchedformat == null)
	{		
		return false;
	}
	
	prefix = matchedformat[1];
	num = matchedformat[2];
	checkdigit = matchedformat[3];
	
	var UIDCheck;
	if((prefix == 'S') || (prefix == 'T'))
	{
		UIDCheck = new Array('J', 'Z', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A');
	}
	else // FIN ((prefix == 'F') || (prefix == 'G'))
	{
		UIDCheck = new Array('X', 'W', 'U', 'T', 'R', 'Q', 'P', 'N', 'M', 'L', 'K');			
	}
	if(UIDCheck.toString().indexOf(checkdigit) == -1)
	{
		return false;
	}		
	var weightage = new Array(2, 7, 6, 5, 4, 3, 2);
	var checksum = 0;
	for (i = 0; i < weightage.length; i++) 
	{
		checksum += weightage[i] * parseInt(num.charAt(i));
	}
	if((prefix == 'T') || (prefix == 'G'))
	{
		checksum += 4;
	}
	var check = checksum % 11;
	if((check > UIDCheck.length) || UIDCheck[check] != checkdigit)
	{		
		return false;
	}
	
	return true;
}

function ValidateUID(sender, args)
{				
	UID = args.Value.replace(' ','');
	if(IsValidUIN(UID) == false)
	{
		args.IsValid = false;
		return;
	}	
	args.IsValid = true;
}

function IsValidPACardNO(PACardNo)
{
    format = new RegExp("^((8102)([0-9]{2,2})([0-9]{9,9}))([0-9]{1,1})$");
	matchedformat = format.exec(PACardNo);
	if(matchedformat == null)
	{		
		return false;
	}
	/*nocheck = matchedformat[1];
	prefix = matchedformat[2];	
	category = matchedformat[3];
	num = matchedformat[4];
	checkdigit = matchedformat[5];
	
	var weightage = new Array(1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1);
	var checksum = 0;
	var tmp = 0;
	for (i = weightage.length-1; i >= 0; i--)
	{
	    tmp = (weightage[i] + 1) * parseInt(nocheck.charAt(i));
	    if (tmp >= 9)
	    {
	        tmp-=9;
	    }	    
	    checksum += tmp;
	}
	var check = (checksum % 10);
	if(check == 10)
	{
	    check = 0;
	}
	else
	{
	    check = 10 - check;
	}
	
    if (check != checkdigit)
    {        
        return false;
    }*/	
	return true;	
}

function ValidatePACardNo(sender, args)
{				
	/*PACardNo = args.Value.replace(' ','');
	if(IsValidPACardNO(PACardNo) == false)
	{
		args.IsValid = false;
		return;
	}*/	
	args.IsValid = true;	
}

function SaveDOB(format)
{
	SaveDate(document.getElementById('ctl00_ContentPlaceHolder1_DOBYear'), document.getElementById('ctl00_ContentPlaceHolder1_DOBMonth'), document.getElementById('ctl00_ContentPlaceHolder1_DOBDay'), document.getElementById('ctl00_ContentPlaceHolder1_txtDateOfBirth'), format);
	ValidatorValidate(ctl00_ContentPlaceHolder1_rfvDOB);
}
function LoadDOB(format)
{
	LoadDate(100, document.getElementById('ctl00_ContentPlaceHolder1_DOBYear'), document.getElementById('ctl00_ContentPlaceHolder1_DOBMonth'), document.getElementById('ctl00_ContentPlaceHolder1_DOBDay'), document.getElementById('ctl00_ContentPlaceHolder1_txtDateOfBirth'), format);
}			
function SetValidDOB(type)
{
	if(type == 'years')
	{
		SetValidYears(100, document.getElementById('ctl00_ContentPlaceHolder1_DOBYear'), document.getElementById('ctl00_ContentPlaceHolder1_DOBMonth'), document.getElementById('ctl00_ContentPlaceHolder1_DOBDay'));	
	}
	else if(type == 'months')
	{
		SetValidMonths(document.getElementById('ctl00_ContentPlaceHolder1_DOBYear'), document.getElementById('ctl00_ContentPlaceHolder1_DOBMonth'), document.getElementById('ctl00_ContentPlaceHolder1_DOBDay'));	
	}
	else if (type == 'days')
	{
		SetValidDays(document.getElementById('ctl00_ContentPlaceHolder1_DOBYear'), document.getElementById('ctl00_ContentPlaceHolder1_DOBMonth'), document.getElementById('ctl00_ContentPlaceHolder1_DOBDay'));	
	}
}

/*** HTMLSelect date picker ***/
function SaveDate(YearSelect, MonthSelect, DaySelect, HiddenTxt, Format)
{	
	HiddenTxt.value = '';
	if((YearSelect.selectedIndex!=0) && (MonthSelect.selectedIndex!=0) && (DaySelect.selectedIndex!=0))
	{
		if(Format.toUpperCase() == "DMY")
		{
			HiddenTxt.value = DaySelect.options[DaySelect.selectedIndex].value + '/' + MonthSelect.options[MonthSelect.selectedIndex].value + '/' + YearSelect.options[YearSelect.selectedIndex].value;
		}
		else if (Format.toUpperCase() == "MDY")
		{
			HiddenTxt.value = MonthSelect.options[MonthSelect.selectedIndex].value + '/' + DaySelect.options[DaySelect.selectedIndex].value + '/' + YearSelect.options[YearSelect.selectedIndex].value;
		}
		else if (Format.toUpperCase() == "YMD")
		{
			HiddenTxt.value = YearSelect.options[YearSelect.selectedIndex].value + '/' + MonthSelect.options[MonthSelect.selectedIndex].value + '/' + DaySelect.options[DaySelect.selectedIndex].value;	
		}
		else
		{
			HiddenTxt.value = DaySelect.options[DaySelect.selectedIndex].value + '/' + MonthSelect.options[MonthSelect.selectedIndex].value + '/' + YearSelect.options[YearSelect.selectedIndex].value;		
		}
	}				
}
function LoadDate(YearsPeriod, YearSelect, MonthSelect, DaySelect, HiddenTxt, Format)
{	
	if(HiddenTxt.value != '')
	{
		var Day=null,Month=null,Year=null;
		Dates = HiddenTxt.value.split('/');		
		if(Format.toUpperCase() == "DMY")
		{
			Day = String(Dates[0]);
			Month = String(Dates[1]);
			Year = String(Dates[2]);
		}
		else if (Format.toUpperCase() == "MDY")
		{
			Month = String(Dates[0]);
			Day = String(Dates[1]);
			Year = String(Dates[2]);		
		}
		else if (Format.toUpperCase() == "YMD")
		{
			Year = String(Dates[0]);
			Month = String(Dates[1]);
			Day = String(Dates[2]);		
		}
		else
		{
			if(String(Dates[1]) < 12)
			{
				Year = String(Dates[2]);
				Month = String(Dates[1]);
				Day = String(Dates[0]);
			}
			else
			{
				Year = String(Dates[2]);
				Month = String(Dates[0]);
				Day = String(Dates[1]);			
			}
		}	
		
		Month = parseInt(Month,10);
		Day = parseInt(Day,10);		
		if(Year.length == 2)
		{
			if(Year.substring(0,1)>4)
			{
				Year = '19' + Year;
			}
			else
			{	
				Year = '20' + Year;
			}
		}
		
		if(YearSelect.length < 2)
		{
			SetValidYears(YearsPeriod, YearSelect, MonthSelect, DaySelect);
		}		
		for(i=0;i<YearSelect.length;i++)
		{
			if(YearSelect.options[i].text==Year)
			{
				YearSelect.selectedIndex=i;
				break;
			}
		}		
		if(MonthSelect.length < 2)
		{
			SetValidMonths(YearSelect, MonthSelect, DaySelect);
		}				
		for(i=0;i<MonthSelect.length;i++)
		{
			if(MonthSelect.options[i].text==Month || MonthSelect.options[i].value==Month)
			{
				MonthSelect.selectedIndex=i;
				break;
			}
		}
		if(DaySelect.length < 2)
		{
			SetValidDays(YearSelect, MonthSelect, DaySelect);
		}		
		for(i=0;i<DaySelect.length;i++)
		{
			if(DaySelect.options[i].text==Day)
			{
				DaySelect.selectedIndex=i;
				break;
			}
		}				
	}
}
function SetValidYears(YearsPeriod, YearSelect, MonthSelect, DaySelect)
{				
	YearSelect.options[0] = new Option('Year','0');							
	var CurrentYear = new Date().getFullYear();
	if(isNaN(YearsPeriod))
	{
			YearsPeriod = 100;
	}				
	for(i=CurrentYear; i>(CurrentYear-100); i--)
	{				
		YearSelect.options[YearSelect.options.length] = new Option(i,i);
	}
	SetValidMonths(YearSelect, MonthSelect, DaySelect);
}
function SetValidMonths(YearSelect, MonthSelect, DaySelect)
{
	var MaxMonth = 12;
	var SelectedMonth = MonthSelect.selectedIndex;
	var CurrentYear = new Date().getFullYear();
	var CurrentMonth = new Date().getMonth()+1;
	var MonthName = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
	if(MonthSelect.length == 0)
	{
		MonthSelect.options[0] = new Option(MonthName[0],'0');
	}
	else if(YearSelect.options[YearSelect.selectedIndex].value == CurrentYear)
	{
		MaxMonth = CurrentMonth;					
		while(MonthSelect.length-1 > MaxMonth)
		{
			MonthSelect.options[MonthSelect.length-1] = null;					
		}
	}				
	while((MonthSelect.length-1)<MaxMonth)
	{					
		MonthSelect.options[MonthSelect.length] = new Option(MonthName[MonthSelect.length-1],MonthSelect.length);					
	}
	if(SelectedMonth <= MonthSelect.options.length)
	{
		MonthSelect.options[SelectedMonth].selected = true;
	}
	SetValidDays(YearSelect, MonthSelect, DaySelect);
}
function SetValidDays(YearSelect, MonthSelect, DaySelect)
{			
	var MaxDays = 31;				
	var SelectedDay = DaySelect.selectedIndex;				
	if(DaySelect.length == 0)
	{
		DaySelect.options[0] = new Option('Day','0');
	}
	else
	{	var CurrentYear = new Date().getFullYear();
		var CurrentMonth = new Date().getMonth()+1;
		
		if(MonthSelect.selectedIndex == 2)
		{
			MaxDays = 29;
		}				
		if((YearSelect.selectedIndex != 0) && (MonthSelect.selectedIndex != 0))
		{
			if((YearSelect.options[YearSelect.selectedIndex].value == CurrentYear) && 
			(MonthSelect.options[MonthSelect.selectedIndex].value == CurrentMonth))
			{
				MaxDays = new Date().getDate();					
			}
			else
			{
				MaxDays = GetDays(new Date(YearSelect.options[YearSelect.selectedIndex].value,MonthSelect.options[MonthSelect.selectedIndex].value-1,1));
			}
		}					
	}			
	
	while(DaySelect.length-1 > MaxDays)
	{
		DaySelect.options[DaySelect.length-1] = null;
	}
	while((DaySelect.length-1)<MaxDays)
	{					
		DaySelect.options[DaySelect.length] = new Option(DaySelect.length,DaySelect.length);
		
	}
	if(SelectedDay <= DaySelect.options.length)
	{
		DaySelect.options[SelectedDay].selected = true;
	}
}			
function GetDays(TargetDate) 
{
	var tmpDate, d, m;

	tmpDate = new Date(Date.parse(TargetDate));
	m = tmpDate.getMonth();
	d = 28;
	do {
		d++;
		tmpDate.setDate(d);
	} while (tmpDate.getMonth() == m);

	return d - 1;	
}

function LoadRegPage()
{
	if(document.getElementById('ctl00_ContentPlaceHolder1_tblQuestion'))
	{		
		SetValidDOB('years');
		LoadDOB('dmy');
		document.getElementById('ctl00_ContentPlaceHolder1_btnSubmit').disabled = !document.getElementById('ctl00_ContentPlaceHolder1_chkAccept').checked;		
	}	
}
/*** end HTMLSelect date picker ***/
