// JavaScript Document
/*
CONSTANT
*/
/**
* Ket qua Query False
*/
var CTP_ERR_DB = -1;
/**
* Cac Error bat thuong khac
*/
var CTP_ERR_ORTHER = -2;
/**
* Ket qua Query OK
*/
var CTP_OK = 1;

/**
*@author: PhongCT
*valid object
*@param object ObjValid: id cua doi tuong can valid
*@param int type: Xac dinh kieu valid
*@param stringAlert: Thong bao hien ra neu not valid
*return boolean
*/
function validdate(ObjValid, type, stringAlert) {
	
	if(type == undefined || ObjValid == undefined || document.getElementById(ObjValid) == undefined) {
		alert(ObjValid + 'is' + undefined);
		return true;
	}
	
	if(stringAlert == undefined)
		stringAlert = ObjValid + ' not ' + type + '!';
	
	
	var valueObj = document.getElementById(ObjValid).value.trim();
	var stateFalse = 0;
	
	if(type == 'null') { // valid null
		if(valueObj == '')  stateFalse = 1;
	}
	else if(type == 'number') { // valid number
		
	}
	else if(type == 'email') { // valid email
		
	}
	else if(type == 'email') { // valid email
		
	}
	else if(type == 'minChar') { // valid string
		
	}
	else if(type == 'maxChar') { // valid string
		
	}
	
	if(stateFalse == 1) {
		alert(stringAlert);
		document.getElementById(ObjValid).focus();
		return false;
	}
	
	return true;
	
}

function jumpLink(targ,selObj,restore){ //v3.0
	if(selObj.options[selObj.selectedIndex].value != '')
	window.open(selObj.options[selObj.selectedIndex].value);
  
}
 
function getTextColor(backColor) {
	function d2h(d) {return d.toString(16);}
	function h2d(h) {return parseInt(h,16);}

	backColor = String(backColor);
	var indexOf = backColor.indexOf("#");
	if (indexOf >= 0) {
		backColor = backColor.substr(indexOf + 1, backColor.length - 1)
	}

	var tmp = h2d(backColor);
	var R = tmp >> 16;
	var G = (tmp >> 8) & 255;
	var B = tmp & 255;

	var Y = 0.299 * R + 0.587 * G + 0.114 * B;

	if (Y > 105) {
		R = 0;
		G = 0;
		B = 0;
	} else {
		R = 255;
		G = 255;
		B = 255;
	}

	return 'rgb(' + [R, G, B].join(",") +')';
}
 
function toPage(url) {
	window.location = url;
}


function popUp(URL) {
 
	var day = new Date();
	var id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=0,resizable=1,left = 0,top = 0');");
}


function link(url, tg, opt)
{
	string = '';
	if (url == '') {
		return;
	}
	if (!opt) {
		disabledBTN();
	}
	var form = document.createElement('form');
	var items = url.split('?');
	action = items[0];
	if (items.length > 1) {
		string = items[1];
	}

	encoded = encodeURIComponent('&');
	regexp = new RegExp('&' + "|" + encoded);
	varArray = string.split(regexp);
	for (i = 0; i < varArray.length; i++){
		urlVars = varArray[i].split("=");
		var input = document.createElement('input');
		input.type = 'hidden';
		input.name = urlVars[0];
		input.value = urlVars[1];
		form.appendChild(input);
	}

	document.body.appendChild(form);
	form.action = action;
	form.method = 'POST';
	if (tg) {
		form.target = tg;
	}
	form.submit();
	return false;
}

function disabledBTN() {
	var dObj = document.forms;
	var num = dObj.length;
	for(var i=0; i < num; i++) {
		var fObj = dObj[i];
		if (fObj.tagName == 'FORM') {
			for (var j=0; j < fObj.length; j++) {
				if (!(fObj[j].disabled) && (fObj[j].type == 'button' || fObj[j].type == 'submit')) {
					fObj[j].disabled = true;
				}
			}
		}
	}
	return true;

}

function enabledBTN() {
	var dObj = document.forms;
	var num = dObj.length;
	for(var i=0; i < num; i++) {
		var fObj = dObj[i];
		if (fObj.tagName == 'FORM') {
			for (var j=0; j < fObj.length; j++) {
				if (!(fObj[j].disabled) && (fObj[j].type == 'button' || fObj[j].type == 'submit')) {
					fObj[j].disabled = true;
				}
			}
		}
	}
	return true;

}

function fade(id) {
	var o = document.getElementById(id);
	o.style.display = 'none';
}
function fadeDelay(id, str, delay) {
	if (!delay) {
		delay = 3000;
	}
	var o = document.getElementById(id);
	o.style.display = '';
	if (str && str != '') {
		o.innerHTML = '<font color=blue>'+str+'</font>';
	}
	else {
		o.innerHTML = '<font color=blue>設定は正常に更新されました。</font>';
	}
	setTimeout("fade('"+id+"');", delay);
}

function viewLog() {
	var block_debug = document.getElementById('block_debug');
	if (block_debug.style.display == 'none') {
		block_debug.style.cssText = 'background-color: #b0b0b0;padding: 1px;position:absolute;display:block;';
	}
	else {
		block_debug.style.cssText = 'display:none;';
	}
	return false;
}

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;
}

String.prototype.htmlspecialchars = function () {
	var str = "";
	str = this.replace(/&/gi, '&amp;');
	str = str.replace(/\"/gi, '&quot;');
	str = str.replace(/\'/gi, '&#039;');
	str = str.replace(/</gi, '&lt;');
	str = str.replace(/>/gi, '&gt;');
	return str;
}

String.prototype.htmlentities = function () {
	var str = "";
	str = this.replace(/&amp;/gi, '&');
	str = str.replace(/&quot;/gi, '"');
	str = str.replace(/&#039;/gi, '\'');
	str = str.replace(/&lt;/gi, '<');
	str = str.replace(/&gt;/gi, '>');
	return str;
}

String.prototype.pad = function(l, s, t){
	return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
		+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
		+ this + s.substr(0, l - t) : this;
};

String.prototype.trim = function() {
	var s = this.replace(/^\s+/, "");
	s = s.replace(/\s+$/, "");
	s = s.replace(/^　+/, "");
	s = s.replace(/　+$/, "");
	return s;
};

/* dungbq dinh nghia them de fix bug */
function removeAllChild (o) {
	if (!o) return;
	if (!o) return;
	var items = o.childNodes;
	if (items.length <= 0) return;
	for (var i = items.length - 1; i >= 0; i--) {
		o.removeChild(items[i]);
	}
}

function dump(obj) {
	var str = '';
	for(i in obj) str += i + ' , ';
	alert(str)
}; 

