// 	we have to include
//	helper.js
//  validate-form.js
//  register-common.js
//  before use this file in the html page.

var a_package;
var a_filter_package = new Array();	
var tmp_filter = new Array();	
var a_package_name = new Array();	// for draw package box
var a_expired = new Array();		// for draw expired box
var a_amount = new Array();			// for draw amount box

function IsKeyExist(key, hash)
{	
	for(var i_key in hash)
	{				
		if(i_key == key)	
		{
			return true;	
		}
	}
	
	return false;
}

function __DrawPackageBox()
{
	var object_package_type_id = document.getElementById('h_package_type_id');
	var package_type_id = -1;
	if(object_package_type_id != null)
	{
		package_type_id = object_package_type_id.value;
	}
	
	var html = '';
	html += "<select id=\"package_type_id\" name=\"package_type_id\" onChange=\"PackageTypeIDChanged()\"> ";
	html += "<option value=\"-1\" >เลือก</option>";
	for (var type_id in a_package_name)
	{
		if(package_type_id == type_id )
		{
			html += "<option value=\"" + type_id + "\" selected >" + a_package_name[type_id] + "</option>";
		}
		else
		{
			html += "<option value=\"" + type_id + "\" >" + a_package_name[type_id] + "</option>";			
		}
	}
	html += "</select>";
	document.getElementById('sp_package').innerHTML = html;		
	
	if(package_type_id != -1)
	{
		PackageTypeIDChanged();	
	}
}

function __DebugPackage()
{
	for(var i in a_package)
	{
		alert('package_id : ' + a_package[i]['package_id'] + ' , amount : ' + a_package[i]['amount']);	
	}
}

$(document).ready(function()
{
   jQuery.get(document.getElementById('web_server_tak').value + "/member/GetPackageData/", {}, function(data)
  	{		
		try
		{
			//alert(data);
			a_package = JSON.parse(data);
			
			for(var i in a_package)
			{
				if(!IsKeyExist(a_package[i]['package_type_id'], a_package_name))
				{
					a_package_name[a_package[i]['package_type_id']] = a_package[i]['package_type_name'];
				}
			}
			
			//__DebugPackage();
			__DrawPackageBox();
			
		}
		catch(e)
		{
			alert(e);	
		}
		
	});    
	
});

function __DrawExpiredBox()
{
	var html = '';
	html += "<select id=\"expired\" name=\"expired\" onChange=\"ExpiredChanged()\"> ";
	html += "<option value=\"-1\" >เลือก</option>";
	for (var expired in a_expired)
	{
		html += "<option value=\"" + expired + "\" >" + a_expired[expired] + "</option>";				
	}
	html += "</select>";
	document.getElementById('sp_expired').innerHTML = html;	
	
}

function PackageTypeIDChanged()
{		
	document.getElementById('package_id').value	= '';	// clear package_id
	
	var type_id = parseInt(document.getElementById('package_type_id').value);
	//alert('type_id : ' + type_id);
	if(type_id != -1)
	{
		if(type_id == 1) // free package 
		{
			document.getElementById('package_id').value = '1';
			document.getElementById('sp_cost').innerHTML = '<b><font color="#008f00">ฟรีตลอดชีพ</font></b>';	
			document.getElementById('t_expired').style.display = 'none';
			document.getElementById('t_amount').style.display = 'none';
			return;
		}
		
		document.getElementById('t_expired').style.display = '';
		document.getElementById('t_amount').style.display = '';
		document.getElementById('sp_cost').innerHTML = '<b><font color="red">กรุณาเลือก Package ให้ถูกต้อง</font></b>';
		
		try
		{
			// clear old value
			a_filter_package = new Array();
			tmp_filter = new Array();
			a_expired = new Array();
			a_amount = new Array();
			var amount_html = "<select id=\"amount\" name=\"amount\" onChange=\"AmountChanged()\">";
			amount_html += "<option value=\"-1\" selected >เลือก</option>";
			document.getElementById('sp_amount').innerHTML = amount_html;
			
			for(var i in a_package)
			{
				//alert('type_id : ' + type_id + ' , package_type_id : ' + a_package[i]['package_type_id']);
				if(a_package[i]['package_type_id'] != type_id)
					continue;
				
				//alert(a_package[i]['amount']);
				a_filter_package.push(a_package[i]);
				
				if(!IsKeyExist(a_package[i]['package_expired'], a_expired))
				{
					var expired = parseInt(a_package[i]['package_expired']);
					if(expired > 6)
					{
						expired = expired / 12;
						expired = expired + " ปี";
					}
					else
					{
						expired = expired + " เดือน";	
					}
					a_expired[a_package[i]['package_expired']] = expired;
				}
				
				
			}
			
			__DrawExpiredBox();
		}
		catch(e)
		{
			alert(e);	
		}
	}
	else
	{		
		document.getElementById('t_expired').style.display = 'none';
		document.getElementById('t_amount').style.display = 'none';
		document.getElementById('sp_cost').innerHTML = '<b><font color="red">กรุณาเลือก Package ให้ถูกต้อง</font></b>';
	}
}

function __DrawAmountBox()
{
	var html = '';
	var html = '';
	html += "<select id=\"amount\" name=\"amount\" onChange=\"AmountChanged()\"> ";
	html += "<option value=\"-1\" >เลือก</option>";
	for (var i in a_amount)
	{
		html += "<option value=\"" + a_amount[i] + "\" >" + a_amount[i] + "</option>";				
	}
	html += "</select>";
	document.getElementById('sp_amount').innerHTML = html;
	//document.getElementById('sp_amount').style.display = '';
}

function __DebugCurrentPackage()
{
	for(var	i in a_filter_package)
	{
		alert('package_id : ' + a_filter_package[i]['package_id'] + '\r\n' +
			  'month : ' + a_filter_package[i]['package_expired'] + '\r\n' + 										 
			  'amount : ' + a_filter_package[i]['amount'] + '\r\n' +
			  'cost : ' + a_filter_package[i]['package_cost']);
	}
}

function ExpiredChanged()
{
	var type_id = parseInt(document.getElementById('package_type_id').value);
	var month = parseInt(document.getElementById('expired').value);
	
	if(type_id == -1)
		return;
	
	if(month == -1)
		return;
	
	//alert('month : ' + month);
	
	if(tmp_filter.length != 0)
	{
		a_filter_package = tmp_filter;
	}
	else
	{
		tmp_filter = a_filter_package;
	}
	//clear old value
	a_amount = new Array();
	var tmp_package = new Array();
	
	for(var i in a_filter_package)
	{
		if(a_filter_package[i]['package_type_id'] != type_id)
			continue;
		
		if(a_filter_package[i]['package_expired'] != month)
			continue;
		
		//alert('push : ' + a_filter_package[i]['package_id']);
		
		tmp_package.push(a_filter_package[i]);
		if(a_filter_package[i]['amount'] == null)
		{			
			a_amount[0] = 'ไม่จำกัด';
		}
		else
		{
			a_amount[a_filter_package[i]['amount']] = a_filter_package[i]['amount'];
		}
		
	}	
		
	a_filter_package = tmp_package;
	//__DebugCurrentPackage();
	
	__DrawAmountBox();
}



function AmountChanged()
{
	var type_id = parseInt(document.getElementById('package_type_id').value);
	var month = parseInt(document.getElementById('expired').value);
	var amount = null;
	
	if(type_id == -1)
		return;
	
	if(month == -1)
		return;
		
	if(amount == -1)
		return;	
	
	if(document.getElementById('amount').value == 'ไม่จำกัด')
	{
		//alert('amount = ไม่จำกัด');
	}
	else
	{
		amount = parseInt(document.getElementById('amount').value);	
	}
	
	
	for(var	i in a_filter_package)
	{		
		if(a_filter_package[i]['amount'] != amount)
			continue;		
		
		document.getElementById('package_id').value = a_filter_package[i]['package_id'];
		document.getElementById('sp_cost').innerHTML = '<b><font color="#008f00">' + 
		a_filter_package[i]['package_cost'] + '  บาท</font></b>';
		
	}
}

function UseMemberAddressChanged()
{
	if(document.getElementById('use_member_address').checked)
	{
		document.getElementById('address_table').style.display = 'none';		
	}
	else
	{
		document.getElementById('address_table').style.display = '';		
	}
}

function ValidateForm(is_postback)
{
	if(!is_postback)
	{
		var chb_accept = document.getElementById('chb_accept');	
		if(!chb_accept.checked)
		{
			alert("กรุณาคลิก 'ยอมรับเงื่อนไขการสมัครสมาชิก'");
			return false;
		}
		
	}
		
	if(document.getElementById('package_id').value == '')
	{
		alert('กรุณาเลือกแพคเกจให้ถูกต้องด้วยค่ะ');
		return false;
	}
		
	var email = document.getElementById('email');	
	var nickname = document.getElementById('nickname');
	
	var name = document.getElementById('name');
	var lastname =  document.getElementById('lastname');
	var address =  document.getElementById('address');
	var postcode =  document.getElementById('postcode');
	var telephone = document.getElementById('telephone');
	
	var identity_id = document.getElementById('identity_id');
	var shop_name = document.getElementById('shop_name');
	var shop_address = document.getElementById('shop_address');
	var shop_postcode = document.getElementById('shop_postcode');
	
	var is_complete = true;
	var flag = false;
	flag = CheckEmail(email);	
	if(!flag)	
		is_complete = false;	
	
	flag = CheckNickname(nickname);
	if(!flag)	
		is_complete = false;	
		
	flag = CheckPassword();
	if(!flag)	
		is_complete = false;
		
	flag = CheckConfirmPassword();
	if(!flag)	
		is_complete = false;
		
	flag = checkrequire(name);
	if(!flag)	
		is_complete = false;	
		
	flag = checkrequire(lastname);
	if(!flag)	
		is_complete = false;	
		
	flag = checkrequire(address,20);
	if(!flag)	
		is_complete = false;	
		
	flag = CheckBirthday();
	if(!flag)	
		is_complete = false;
		
	flag = 	checkrequire(postcode,5);
	if(!flag)	
		is_complete = false;
		
	flag = 	checkrequire(telephone,9);
	if(!flag)	
		is_complete = false;	
	
	flag = CheckThaiIdentityID(identity_id);
	if(!flag)	
		is_complete = false;
		
	flag = checkrequire(shop_name);
	if(!flag)	
		is_complete = false;	
				
	if(document.getElementById('use_member_address').checked == false)
	{
		flag = checkrequire(shop_address,20);
		if(!flag)	
			is_complete = false;	
		
		flag = 	checkrequire(shop_postcode,5);
		if(!flag)	
			is_complete = false;
	}
		
	if(is_complete)
	{
		//alert('true');
		return true;	
	}
	else
	{
		//alert('false');
		if(is_postback)
		{
			// Goto the error 
			window.location.hash = "error_main";
		}
		else
		{
			alert(txt_alert['main']);
		}
		return false;
	}
}


