function checkAgeGroup(what)
{
	var age, age_group;
	var ageyr = what.substring(0,4);
	var agemth = what.substring(5,6);
	var ageday = what.substring(7,8);
	
	age = displayage(parseInt(ageyr), parseInt(agemth), parseInt(ageday),'', 0, "rounddown", "y");
		
	if (parseInt(age) < 18)
		age_group = "ID01";
	if ((parseInt(age) >= 18) && (parseInt(age) <= 24))
		age_group = "ID02";
	if ((parseInt(age) >= 25) && (parseInt(age) <= 34))
		age_group = "ID03";
	if ((parseInt(age) >= 35) && (parseInt(age) <= 44))
		age_group = "ID04";
	if ((parseInt(age) >= 45) && (parseInt(age) <= 54))
		age_group = "ID05";
	if (parseInt(age) >= 55)
		age_group = "ID06";
		
	return age_group;
}

function checkYear(year) { 
return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
}

function Validate_RegisterInfo(form)
{
	var todaydate = year + montharray[month] + daym;
	
	document.frmRegister.date_purchased.value = document.frmRegister.dop_y.value + document.frmRegister.dop_m.value + document.frmRegister.dop_d.value;
	document.frmRegister.model_name.value = document.frmRegister.temp_model_name.value;
	
// Start - Registration Form Validation
	if (document.frmRegister.first_name.value == '')
	{
		alert("Nama Depan wajib di isi.");	
		document.frmRegister.first_name.focus();
    	return false;
	}
	
	if (document.frmRegister.last_name.value == '')
	{
		alert("Nama Belakang wajib di isi.");	
		document.frmRegister.last_name.focus();
    	return false;
	}
	
	if (document.frmRegister.id_no.value == '')
	{
		alert("Please enter your KTP/SIM/Passport No.");	
		document.frmRegister.id_no.focus();
    	return false;
	}
	
	if (!checkPassport(document.frmRegister.id_no.value))
	{
		alert("Invalid KTP/SIM/Passport No.");
		document.frmRegister.id_no.focus();
		return false;
	}
	
	//Assigned for Gender
	for (counter = 0; counter < frmRegister.temp_gender.length; counter++)
	{
		if (frmRegister.temp_gender[counter].checked)
			document.frmRegister.gender.value= frmRegister.temp_gender[counter].value; 	
	}
	
	if (document.frmRegister.gender.value == "")
	{
		alert("Please select your Gender.");
		return false;
	}
	
	if (document.frmRegister.gender_title.value == '')
	{
		alert("Please select your Gender Title.");	
		document.frmRegister.gender_title.focus();
    	return false;
	}
	
	switch(document.frmRegister.gender_title.value)
	{
		case '0002' : document.frmRegister.gender.value = "2"; break;
		case '0007' : document.frmRegister.gender.value = "1"; break;
		case '0001' : document.frmRegister.gender.value = "1"; break;
		case '0004' : document.frmRegister.gender.value = "1"; break;
		case '0005' : document.frmRegister.gender.value = "1"; break;
	}	
	
	if ( (document.frmRegister.dob_d.value == "0") || (document.frmRegister.dob_m.value == "0") || (document.frmRegister.dob_y.value == "0") )
	{
		alert("Tanggal lahir Anda salah.");
		document.frmRegister.dob_d.focus();
     	return false;
	}
	
	/*if (document.frmRegister.age_group.value == "")
	{
		alert("Please select your Age Group.");
		document.frmRegister.age_group.focus();
     	return false;
	}*/
	
	// Assigned for Age Group depend on Birthday
	document.frmRegister.birthday.value = document.frmRegister.dob_y.value + document.frmRegister.dob_m.value + document.frmRegister.dob_d.value;
	document.frmRegister.age_group.value = checkAgeGroup(document.frmRegister.birthday.value);
	
	//Assigned for Marital Status
	for (counter = 0; counter < frmRegister.temp_marital_status.length; counter++)
	{
		if (frmRegister.temp_marital_status[counter].checked)
			document.frmRegister.marital_status.value= frmRegister.temp_marital_status[counter].value; 
	}
	
	if (document.frmRegister.marital_status.value == "")
	{
		alert("Please select your Martial Status.");
		return false;
	}
	
	if (document.frmRegister.street1.value == "")
	{
		alert("Please include your Street/Apartment Name.");
		document.frmRegister.street1.focus();
     	return false;
	}
	
	if (document.frmRegister.street2.value == "")
	{
		alert("Please include your 2nd Street/Apartment Name.");
		document.frmRegister.street2.focus();
     	return false;
	}
	
	if (document.frmRegister.city.value == "")
	{
		alert("Please select the City/State which you are staying.");
		document.frmRegister.city.focus();
     	return false;
	}
	
	if (!checkPostalCode(document.frmRegister.postal_code.value))
	{
		alert("PostalCode should be more than 4 digits.");
		document.frmRegister.postal_code.focus();
     	return false;
	}
	
	if (document.frmRegister.email_id.value == "")
	{
		alert("Silakan masukkan alamat email Anda.");
		document.frmRegister.email_id.focus();
     	return false;
	}
	
	if (!checkEmail(document.frmRegister.email_id.value))
	{
		alert("Alamat email Anda salah.");
		document.frmRegister.email_id.focus();
     	return false;
	}
	
	if ((document.frmRegister.htelephone_no1.value == "")&& (document.frmRegister.otelephone_no2.value == "")&& (document.frmRegister.mtelephone_no.value == "") ) 
	{
		alert("Masukkan setidaknya SATU angka.");
		document.frmRegister.htelephone_no1.focus();
     	return false;
	}
	
	if (document.frmRegister.htelephone_no1.value != ""){ 
		if (!checkPhone(document.frmRegister.htelephone_no1.value))
		{
			alert("Your Home Telephone Number is Invalid.");
			document.frmRegister.htelephone_no1.focus();
     		return false;
		}
	}
	
	if (document.frmRegister.otelephone_no2.value != ""){
		if (!checkPhone(document.frmRegister.otelephone_no2.value))
		{
			alert("Your Office Telephone Number is Invalid.");
			document.frmRegister.otelephone_no2.focus();
     		return false;
		}
	}
	
	if (document.frmRegister.mtelephone_no.value != ""){
		if (!checkPhone(document.frmRegister.mtelephone_no.value)) 
		{
			alert("Your Mobile Phone Number is Invalid.");
			document.frmRegister.mtelephone_no.focus();
     		return false;
		}
	}
	
	//Assigned for Home Ownership
	for (counter = 0; counter < frmRegister.temp_home_ownership.length; counter++)
	{
		if (frmRegister.temp_home_ownership[counter].checked)
			document.frmRegister.home_ownership.value= frmRegister.temp_home_ownership[counter].value; 
	}
	
	//Assigned for Education
	for (counter = 0; counter < frmRegister.temp_education.length; counter++)
	{
		if (frmRegister.temp_education[counter].checked)
			document.frmRegister.education.value= frmRegister.temp_education[counter].value; 
	}
	
	//Assigned for Occupation
	for (counter = 0; counter < frmRegister.temp_occupation.length; counter++)
	{
		if (frmRegister.temp_occupation[counter].checked)
			document.frmRegister.occupation.value= frmRegister.temp_occupation[counter].value; 
	}

	//Assigned for Preferred Channel
	for (counter = 0; counter < frmRegister.temp_howto_contact.length; counter++)
	{
		if (frmRegister.temp_howto_contact[counter].checked)
			document.frmRegister.howto_contact.value= frmRegister.temp_howto_contact[counter].value; 
	}
	
	if (!checkAlphaNumeric(document.frmRegister.serial_no.value))
	{
		alert("Serial Number yang Anda masukkan salah.");
		document.frmRegister.serial_no.focus();
    	return false;
	}
	
	if (document.frmRegister.imei_no.value != "")
	{
		if (!checkAlphaNumeric(document.frmRegister.imei_no.value))
		{
			alert("IMEI yang Anda masukkan salah.");
			document.frmRegister.imei_no.focus();
    		return false;
		}
	}
	
	if (document.frmRegister.temp_model_name.value == "")
	{
		alert("Silakan pilih model yang Anda inginkan.");
		return false;
	}
	
	/*if (document.frmRegister.temp_model_name.value.charAt(0) == 'N')
	{
		if (!checkN(document.frmRegister.warr_cardno.value))
		{
			alert("Nomor Garansi Anda salah, masukkan nomor yang benar.");
			document.frmRegister.warr_cardno.focus();
			return false;
		}
	}
	else
	{
		if (!checkAlphaNumeric(document.frmRegister.warr_cardno.value))
		{
			alert("Nomor garansi Anda salah.");
			document.frmRegister.warr_cardno.focus();
			return false;
		}
	}*/
	
	if (parseFloat(document.frmRegister.date_purchased.value) > parseFloat(todaydate))
	{
		alert("Tanggal pembelian Anda salah.");
		document.frmRegister.dop_d.focus();
		return false;
	}
	
	//start - check for valid purchase date - ALOO:13.04.2006 	
	if (document.frmRegister.date_purchased.value != ''){			
		//1=31 2=28 3=31 4=30 5=31 6=30 7=31 8=31 9=30 10=31 11=30 12=31
		if ((document.frmRegister.dop_m.value == '04') || (document.frmRegister.dop_m.value == '06') || (document.frmRegister.dop_m.value == '09') || (document.frmRegister.dop_m.value == '11')){
			if (document.frmRegister.dop_d.value == '31'){		
		 		alert("Your Purchase Date is invalid.")
			 	document.frmRegister.dop_d.focus();
			 	return false;
			}
		}		
		//check if it is leap year
		if (checkYear(document.frmRegister.dop_y.value)  == '1') {
			if (((document.frmRegister.dop_d.value == '31') || (document.frmRegister.dop_d.value == '30')) && (document.frmRegister.dop_m.value == '02')){
				alert("Your Purchase Date is invalid.")
			 	document.frmRegister.dop_d.focus();
				return false;
			}
		}
		else{
			if (((document.frmRegister.dop_d.value == '29') || (document.frmRegister.dop_d.value == '31') || (document.frmRegister.dop_d.value == '30')) && (document.frmRegister.dop_m.value == '02')){
				alert("Your Purchase Date is invalid.")
			 	document.frmRegister.dop_d.focus();
				return false;
			}
		}																			
	}
	//end - check for valid purchase date

	if (document.frmRegister.store_name.value == "")
	{
		alert("Masukkan nama toko tempat Anda membeli produk Samsung.");
		document.frmRegister.store_name.focus();
     	return false;
	}
	
	if (document.frmRegister.store_city.value == "")
	{
		alert("Please select the City/State where you have purchased from.");
		document.frmRegister.store_city.focus();
     	return false;
	}
	
	// 1: Samsung, 2:Disallowed, 4:Partner
	/*if (document.frmRegister.temp_permission.checked)
		document.frmRegister.permission.value = "4";
	else
		document.frmRegister.permission.value = "2";
	*/
	
	return true;
}
// End- Registration Form Validation