// string function
function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

// Common Object
function JsCommon()
{
	// confirm before delete
	this.confirmURL = function(url)
	{
		var isOK = window.confirm("Do you want to continue this action?");
		if(isOK) {
			window.location.href = url;
			return true;
		}
		else {
			return false;
		}
	}

	// redirect to url
	this.redirect = function(url) {
		if (url == null) {
			return false;
		}

		window.location.href = url;
		return true;
	}

	// confirm before continue url and display message
	this.confirmMsgURL = function(url, msg)
	{
		var isOK = window.confirm(msg);
		if(isOK) {
			window.location.href = url;
			return true;
		}
		else {
			return false;
		}
	}

	// check contact form
	this.checkContactForm = function()
	{
		if(document.getElementById("MsgSubject").value == null || trim(document.getElementById("MsgSubject").value) == "")
		{
			document.getElementById("MsgSubject").value = "";
			document.getElementById("MsgSubject").focus();
			return false;
		}
		if(document.getElementById("MsgFromName").value == null || trim(document.getElementById("MsgFromName").value) == "")
		{
			document.getElementById("MsgFromName").value = "";
			document.getElementById("MsgFromName").focus();
			return false;
		}
		if(document.getElementById("MsgFrom").value == null || trim(document.getElementById("MsgFrom").value) == "")
		{
			document.getElementById("MsgFrom").value = "";
			document.getElementById("MsgFrom").focus();
			return false;
		}
		if(document.getElementById("MsgBody").value == null || trim(document.getElementById("MsgBody").value) == "")
		{
			document.getElementById("MsgBody").value = "";
			document.getElementById("MsgBody").focus();
			return false;
		}
		return true;
	}

	this.openNewWindow = function(url)
    {
        window.open(url, url, "height=" + screen.height + ",width=" + screen.width + ",toolbar=yes,resizable=yes,menubar=yes,scrollbars=yes,status=yes,location=yes");
        return false;
    }

    this.openNewWindow2 = function(url, options)
    {
    	if (options != null) {
    		window.open(url, url, "height=" + screen.height + ",width=" + screen.width + "," + options);
    	}
    	else {
        	window.open(url, url);
    	}

    	return false;
    }
}

// create new instance
var myJsCommon = new JsCommon();
