var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var thchar = 'กะขาคิงีจุฉูเชแซโฌไญใฎ่ฏ้ฐ๊ฑ๋ฒ์ณ็ด์ตัถทธนบปผฝพฟภมยรลวศษสหฬอฮ๑๒๓๔๕๖๗๘๙๐';
var spc = '\ \@\.\-\_';

function isNum(parm) { return isValid(parm,numb); }
function isLower(parm) { return isValid(parm,lwr); }
function isUpper(parm) { return isValid(parm,upr); }
function isAlpha(parm) { return isValid(parm,lwr+upr); }
function isAlphanum(parm) { return isValid(parm,lwr+upr+numb); }

function res(t,v) {
	var w = "";
	
	for (i=0; i < t.value.length; i++) {
		var x = t.value.charAt(i);
		
		if (v.indexOf(x,0) != -1) {
			w += x;
		}
	}
	
	t.value = w;
}

function checkValidFormat(format, val) {
	for (i=0; i<val.length; i++) {
		if (format.indexOf(val.charAt(i)) == -1) return false;
	}
	
	return true;
}

function _g(namex){   
	if (document.getElementById) {
		return document.getElementById(namex);
	} else if (document.all) {
		return document.all[namex];   
	} else {
		return null;
	}
}

function detectClientBrowser() {
	var nAgt = navigator.userAgent;
	var sBrowserName  = navigator.appName;
	var sFullVersion  = ''+parseFloat(navigator.appVersion); 
	
	if((verOffset = nAgt.indexOf("MSIE"))!=-1) {
		sBrowserName = "IE";
		sFullVersion = nAgt.substring(verOffset+5);
	} else if((verOffset = nAgt.indexOf("Opera"))!=-1) {
		sBrowserName = "Opera";
		sFullVersion = nAgt.substring(verOffset+6);
	} else if((verOffset = nAgt.indexOf("Chrome"))!=-1) {
		sBrowserName = "Chrome";
		sFullVersion = nAgt.substring(verOffset+7);
	} else if((verOffset = nAgt.indexOf("Safari"))!=-1) {
		sBrowserName = "Safari";
		sFullVersion = nAgt.substring(verOffset+7);
	} else if((verOffset = nAgt.indexOf("Firefox"))!=-1) {
		sBrowserName = "Firefox";
		sFullVersion = nAgt.substring(verOffset+8);
	} else if((nameOffset = nAgt.lastIndexOf(' ')+1) < (verOffset = nAgt.lastIndexOf('/'))) {
		sBrowserName = nAgt.substring(nameOffset,verOffset);
		sFullVersion = nAgt.substring(verOffset+1);
		
		if (sBrowserName.toLowerCase() == sBrowserName.toUpperCase()) {
			sBrowserName = navigator.appName;
		}
	}
	
	return [sBrowserName, sFullVersion];
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			
			func();
		}
	}
}

function isDefined(variable) {
	return eval("(typeof(" + variable + ") != \"undefined\");");
}

function JSTrim(str) {
	return str.replace(/^\s+|\s+$/g, '');
}

function getRelativePos(obj) {
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	var pos = {offsetLeft:0,offsetTop:0};
	
	while(obj!=null){
		pos.offsetLeft += obj.offsetLeft;
		pos.offsetTop += obj.offsetTop;
		obj = isIE ? obj.parentElement : obj.offsetParent;
	}
	return pos;
}

function toggleTextDefault(obj, mode) {
	var sValue = obj.value.replace(/^\s+|\s+$/g, '');
	var sDefaultValue = obj.defaultValue;
	
	if (obj.type == 'text') {
		if (sValue == '' || sValue == sDefaultValue) {
			obj.value = (mode == 1) ? '' : sDefaultValue;
		}
	} else if (obj.type == 'textarea') {
		if (sValue == '' || sValue.indexOf(sDefaultValue) > -1) {
			obj.value = (mode == 1) ? '' : sDefaultValue;
		}
	}
}

/* Textarea limit */

function limitChars(obj, limit) {
	var text = obj.value;	
	var textlength = text.length;

	if(textlength > limit) {
		obj.value = text.substr(0,limit);
		return false;
	} else {
		return true;
	}
}

function randomString(len) {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var string_length = (typeof(len) !== "undefined") ? len : 10;
	
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	
	return randomstring;
}

function checkValidEmailFormat(str){
	var exclude = /[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check = /@[\w\-]+\./;
	var checkend = /\.[a-zA-Z]{2,3}$/;

	// Check email format
	if (!(!exclude.test(str) && check.test(str) && checkend.test(str))) {
		return false;
	} 	else {
		return true;
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkContactForm(form) {
	var sName = JSTrim(form.elements['name'].value);
	var sEmail = JSTrim(form.elements['email'].value);
	var sMessage = JSTrim(form.elements['message'].value);
	
	if(sName.length < 2) {
		alert('please fill "Name"');
		form.elements['name'].focus();
		return false;
	} else if(!checkValidEmailFormat(sEmail)) {
		alert('please fill valid "E-mail"');
		form.elements['email'].focus();
		return false;
	} else if(sMessage.length < 10) {
		alert('please fill "Message"');
		form.elements['message'].focus();
		return false;
	}
	
	var oSecure = form.elements['securecode'];
	if(oSecure) {
		var sSecure = JSTrim(form.elements['securecode'].value);
		
		if(sSecure.length != 6) {
			alert('please enter letters from image');
			form.elements['securecode'].focus();
			return false;
		}
	}
	
	return true;
}

function doBack() {
	if(document.referer) {
		window.location.href = document.referer;
	}
}

function changeSecurityImage() {
	var oImg = _g('security_image').src = '/contact/captcha/captcha.php?' + Math.random()*10;
}
