Cufon.replace('h1,h2,h3,h4,h5,h6,.font', {
    hover: true
});

jQuery(function(){
	
	jQuery("input[type=submit], input[type=reset] ,input[type=button], button").button();
	jQuery("#btnAdd").button({ icons: {primary:'ui-icon-document'} });
	jQuery("#btnEdit").button({ icons: {primary:'ui-icon-pencil'} });	
	jQuery("#btnDelete").button({ icons: {primary:'ui-icon-trash'} });	
	jQuery("#btnSearch").button({ icons: {primary:'ui-icon-search'} });


	jQuery('ul.sf-menu').superfish();

	bind_checkbox_click();
	
	$('#edit-popup input, #edit-popup select, #edit-popup textarea').live('keypress', function(e) {
		if(e.which == 13) {
			$(this).parents('.ui-dialog').find("button:contains('บันทึก')").trigger('click');
		}
	});
});

function bind_checkbox_click()
{
	jQuery('.cb-column input:checkbox').bind('click', function() {
			var status = jQuery(this).prop("checked");
			jQuery(this).parents('table').find('tr input[type=checkbox]').prop('checked', status);			
	});
}


function validate_thai_citizen_id(id)
{
	id = id.replace('-','');
    var b = 0;
    if (id.length < 13) return false;
    checksum = id.substring(12, 13);
    for (var i = 0; i < 12; i++)
    {
        b += parseInt(id.substring(i, i+1)) * (13 - i);
    }
    tmp = 11 - (b % 11);
    switch(tmp)
    {
        case 11: check = 1; break;
        case 10: check = 0; break;
        default: check = tmp;
    }
    return (check == checksum);
}

function check_citizen_pattern(id) {
}


/**
* หาค่าวันโดยใส่ปี ค.ศ ลงไป
* @param int เลขเดือน (Zero-based)
* @return int วันในเดือนนั้นๆ
*/
function getMonthDays(month) {
    monthDays = new Array();
    monthDays[0] = 31;
    monthDays[1] = 28;
    monthDays[2] = 31;
    monthDays[3] = 30;
    monthDays[4] = 31;
    monthDays[5] = 30;
    monthDays[6] = 31;
    monthDays[7] = 31;
    monthDays[8] = 30;
    monthDays[9] = 31;
    monthDays[10] = 30;
    monthDays[11] = 31;
    var d = new Date();
    if (d.getFullYear() % 4 == 0) {
        monthDays[2] = 29;
    }
    return monthDays[month];
}

/**
* คืนค่าวันเดือนปีในรูปแบบไทย (dd/MM/yyyy) 
* @param Date Date Object ที่ต้องการแปลงเป็น String
* @return string วันเดือนปีในรูปแบบไทย
*/
function getThaiDate(d) {
    return d.getDate() + "/" + eval(d.getMonth() + 1) + "/" + d.getFullYear();
}

/**
* แปลง Date Object ที่มาจาก JSon ให้เป็น Date Object ที่ใช้ใน Javascript ได้
* @param string Date String from Json
* @return Date Date Object ที่ได้รับการแปลงค่าแล้ว
*/
function parseDateFromString(datestr) {
    return eval(datestr.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
}

/**
*   Get Absolute Path of this site
*   Also see: http://www.codeproject.com/Questions/192023/Getting-absolute-path-with-JavaScript.aspx?pageflow=FixedWidth
*   @return string  Root Path
*/
function getSiteRoot() {
    var rootPath = window.location.protocol + "//" + window.location.host;
        if (window.location.hostname == "localhost") {
            var path = window.location.pathname;
            if (path.indexOf("/") == 0) {
            path = path.substring(1);
            }
            path = path.split("/", 1);
            if (path != "") {
            rootPath = rootPath + "/" + path;
        }
    }
    return rootPath;
}

function getUrl(url) {
    return getSiteRoot() + "/" + url;
}

function pad(number, length) {
   
    var str = '' + number;
    while (str.length < length) {
        str = '0' + str;
    }
   
    return str;

}

/**
* Show Confirm Dialog
*/
function showConfirmDialog(title, msg, callback) {
	$('body').append('<div class="confirm-dialog"><p><span class="ui-icon ui-icon-alert"></span><span class="confirm-dialog-message"></span></p></div>');
	$('.confirm-dialog').attr('title', title);
	$('.confirm-dialog .confirm-dialog-message').html(msg);
	$('.confirm-dialog').dialog({
		modal: true,
		buttons: {
			'OK': function() {
				if(callback != null)
				{
					callback();
				}
				$(this).remove();
			},
			'Cancel': function() {
				$(this).remove();
			}
		}
	});
}

$.extend($.jgrid.defaults, {
	datatype: "json",
   	rowNum:20,
   	rowList:[10,20,30,50,100],
   	pager: '#grid-pager',
    viewrecords: true,
    sortorder: "desc",
    width: 960,
    shrinkToFit: true,
    caption:"Grid",
	gridComplete: function() {
		var objRows = $(this).find(".jqgrow:eq(0) td"); 
		var objHeader = $(this).parents('.ui-jqgrid').find(".ui-jqgrid-htable th"); 
		if (objRows.length > 0) { 
			for (i = 0; i < objRows.length; i++) {
				$(objHeader[i]).css('text-align', $(objRows[i]).css('text-align'));
			}
		}
	}
});

jQuery.extend(jQuery.validator.messages, {
    required: "*",
    remote: "Please fix this field.",
    email: "Please enter a valid email address.",
    url: "Please enter a valid URL.",
    date: "Please enter a valid date.",
    dateISO: "Please enter a valid date (ISO).",
    number: "กรุณากรอกตัวเลข",
    digits: "กรุณากรอกเฉพาะตัวเลข",
    creditcard: "Please enter a valid credit card number.",
    equalTo: "Please enter the same value again.",
    accept: "Please enter a value with a valid extension.",
    maxlength: jQuery.validator.format("Please enter no more than {0} characters."),
    minlength: jQuery.validator.format("Please enter at least {0} characters."),
    rangelength: jQuery.validator.format("Please enter a value between {0} and {1} characters long."),
    range: jQuery.validator.format("Please enter a value between {0} and {1}."),
    max: jQuery.validator.format("Please enter a value less than or equal to {0}."),
    min: jQuery.validator.format("Please enter a value greater than or equal to {0}.")
});
