jQuery.validator.setDefaults({
	debug: true,
	success: "valid"
});

$(document).ready(function(){
	var dupUsername = 0;
	var debug = new $.debug({
		maxParseDepth : 4,
		posTo : { x:'right', y:'top' },
		y: '100px',
		width: '40em',
		height: '20em',
		listDOM : 'props-only'
	});

	$("#frmRegister").validate({
		rules: {
			firstname: "required",
			lastname: "required",
			address1: "required",
			home_phone_no: "required",
			mobile_no: "required",
			bank_ac_name: "required",
			bank_name: "required",
			bank_branch: "required",
			postcode: {
				number: true,
				required: true,
				minlength: 5
			},
			id_card_no: {
				number: true,
				required: true,
				minlength: 13
			},
			company_license_id: {
				number: true,
				minlength: 12
			},
			bank_ac_no: {
				number: true,
				required: true,
				minlength: 10
			},
			username: {
				required: true,
				minlength: 2
			},
			passwd: {
				required: true,
				minlength: 5
			},
			passwd2: {
				required: true,
				minlength: 5,
				equalTo: "#passwd"
			},
			email: {
				required: true,
				email: true
			},
			email2: {
				required: true,
				email: true,
				equalTo: "#email"
			}
		},
		messages: {
			firstname: "กรุณาป้อนชื่อ",
			lastname: "กรุณาป้อนนามสกุล",
			address1: "กรุณาป้อนที่อยู่",
			mobile_no: "กรุณาป้อนหมายเลขโทรศัพท์มือถือ",
			bank_ac_name: "กรุณาป้อนชื่อบัญชี",
			bank_name: "กรุณาป้อนชื่อธนาคาร",
			bank_branch: "กรุณาป้อนชื่อสาขา",
			home_phone_no: "กรุณาป้อนหมายเลขโทรศัพท์บ้าน/ที่ทำงาน",
			agreement_accept: "กรุณาเลือกยอมรับเงื่อนไขข้อตกลงเพื่อดำเนินการขั้นต่อไป",
			username: {
				required: "กรุณาป้อนชื่อเรียก",
				minlength: "ชื่อเรียกต้องประกอบด้วยตัวอักษรอย่างน้อย 2 ตัว"
			},
			passwd: {
				required: "กรุณาป้อนพาสเวิร์ด",
				minlength: "พาสเวิร์ดต้องประกอบด้วยตัวอักษรอย่างน้อย 5 ตัวอักษร"
			},
			passwd2: {
				required: "กรุณาป้อนพาสเวิร์ด",
				minlength: "พาสเวิร์ดต้องประกอบด้วยตัวอักษรอย่างน้อย 5 ตัวอักษร",
				equalTo: "รหัสผ่านต้องเหมือนกันทั้ง 2 ช่อง"
			},
			email: "กรุณาป้อนอีเมล์ที่ถูกต้อง",
			email2: {
				required: "กรุณาป้อนอีเมล์ที่ถูกต้อง",
				equalTo: "อีเมล์ต้องเหมือนกันทั้ง 2 ช่อง"
			},
			postcode: {
				required: "กรุณาป้อนรหัสไปรษณีย์",
				minlength: "กรุณาป้อนรหัสไปรษณีย์เป็นเลข 5 หลัก",
				number: "ป้อนเฉพาะตัวเลขเท่านั้น"
			},
			id_card_no: {
				required: "กรุณาป้อนหมายเลขบัตรประชาชน",
				number: "ป้อนเฉพาะตัวเลขเท่านั้น",
				minlength: "กรุณาป้อนตัวเลข 13 หลัก"
			},
			company_license_id: {
				number: "ป้อนเฉพาะตัวเลขเท่านั้น",
				minlength: "กรุณาป้อนตัวเลข 12 หลัก"
			},
			bank_ac_no: {
				required: "กรุณาป้อนเลขที่บัญชี",
				number: "ป้อนเฉพาะตัวเลขเท่านั้น",
				minlength: "กรุณาป้อนตัวเลข 10 หลัก"
			}
		}
	});

	$("#company_table").hide();
	$('#username_warning').hide();
	$('#id_card_no_warning').hide();
	$('#company_license_id_warning').hide();

	$("#member_type2").click(function() {
		$("#company_table").show('slow');
	});

	$("#member_type").click(function() {
		$("#company_table").hide('slow');
	});

	$("#passwd").blur(function() {
		$("#passwd2").valid();
	});

    $('#birthday').datepicker({
        inline: true,
        dateFormat: 'd-m-yy',
        yearRange: '-100:-15',
        changeMonth: true,
        changeYear: true,
        firstDay:1,
        gotoCurrent: true,
        dayNamesMin:['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'],
        monthNames:['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
        monthNamesShort:['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.'],
        onClose: function(text_date, inst) {
            var curr = new Date();
            arr_date = text_date.split("-");
            date = arr_date[0];
            month = parseInt(arr_date[1])-1;
            year = arr_date[2];
            var sel_date = new Date(year, month, date);
            int_age = curr.getFullYear() - sel_date.getFullYear();
            $('#age').html(int_age);
        }
    });


	$("#btnSubmit").click(function() {
	   // alert("Valid: " + $("#frmRegister").valid());
       // debug.dump($("#frmRegister").valid());
	   if($("#frmRegister").valid() == true) {

			var data = new Object();
			data.username = $('#username').val();
			data.id_card_no = $('#id_card_no').val();
			data.company_license_id = $('#company_license_id').val();
			data.company_name = $('#company_name').val();
			data.firstname = $('#firstname').val();
			data.lastname = $('#lastname').val();
			data.member_type = $('#member_type').val();


			var dataString = $.toJSON(data);
            // debug.dump(dataString);
			$.post('/member/checkregister/', {data: dataString}, function(res){
				//debug.dump(res);
				var objJson = $.evalJSON(res);
				if(objJson.error==1) {
					if(objJson.username_warning != '') {
						$('#username_warning').show();
					}
					if(objJson.company_license_id_warning != '') {
						$('#company_license_id_warning').show();
					}
					if(objJson.id_card_no_warning != '') {
						$('#id_card_no_warning').show();
					}
				}
				else {
                    // debug.dump(objJson);
                    if ($.browser.safari) {
                       document.getElementById('frmRegister').submit();
                    }
                    if ($.browser.mozilla) {
                       document.frmRegister.submit(); 
                       // document.forms[0].submit(); 
                    }
                    if ($.browser.msie) {
                       document.forms["frmRegister"].submit();
                    }
                    
                    // $('#frmRegister').submit();
				}
			});


	   }
	   else
	   		return false;
				// $("form:first").submit();
	});

	$("#btnCancel").click(function() {
		var validator = $("#frmRegister").validate();
		validator.resetForm();
	});

	$("#username").blur(function() {
		// alert('register_username_ckeck_button click');
		var data = new Object();
		data.username = $('#username').val();
		var dataString = $.toJSON(data);

		$.post('/member/checkusername/', {data: dataString}, function(res){
			// debug.dump(res);
			var objJson = $.evalJSON(res);
			if(objJson.ok==1) {
				$('#username_warning').hide();
				dupUsername = 0;
			}
			else {
				dupUsername = 1;
				$('#username_warning').show('slow');
				$('#username_warning').prev().hide();
				$('#username').focus().select();
			}
		});

	});

	$("#id_card_no").blur(function() {
		// alert('register_username_ckeck_button click');
		var data = new Object();
		data.id_card_no = $('#id_card_no').val();
		var dataString = $.toJSON(data);

		$.post('/member/checkblacklist/', {data: dataString}, function(res){
			// debug.dump(res);
			var objJson = $.evalJSON(res);
			if(objJson.ok==1) {
				$('#id_card_no_warning').hide();
				dupUsername = 0;
			}
			else {
				dupUsername = 1;
				$('#id_card_no_warning').show('slow');
				$('#id_card_no_warning').prev().hide();
				$('#id_card_no').focus().select();
			}
			// debug.dump(res);
		});

	});

	$("#company_license_id").blur(function() {
		// alert('register_username_ckeck_button click');
		var data = new Object();
		data.id_card_no = $('#company_license_id').val();
		var dataString = $.toJSON(data);

		$.post('/member/checkblacklist/', {data: dataString}, function(res){
			// debug.dump(res);
			var objJson = $.evalJSON(res);
			if(objJson.ok==1) {
				$('#company_license_id_warning').hide();
				dupUsername = 0;
			}
			else {
				dupUsername = 1;
				$('#company_license_id_warning').show('slow');
				$('#company_license_id_warning').prev().hide();
				$('#company_license_id').focus().select();
			}
			// debug.dump(res);
		});

	});
	/*
	$.fn.validate = (function() {
		var passwd, passwd2, email, email2;
		var result=1;

		passwd = $("#passwd").val();
		passwd2 = $("#passwd2").val();

		if(passwd != passwd2) {
			$('#passwd2_warning').show('slow');
			$('#passwd2').focus().select();
			result = 0;
		}

		email = $("#email").val();
		email2 = $("#email2").val();

		if(email != email2) {
			$('#email2_warning').show('slow');
			$('#email2').focus().select();
			result = 0;
		}

		return result;
	}); */
});