

function g_trim(inputText)
{
	var outputText = "";
	var ptr = 0;
	if (inputText.length == 0)
	{
		outputText = "";
	}
	else
	{
		outputText = inputText;
		
	// left trim
		for (ptr = 0 ; ptr <= inputText.length; ptr++)
		{
			if (inputText.charAt(ptr) == " ") // has space
			{
				outputText = inputText.substring(ptr+1,inputText.length)
			}
			else
			{
				break;
			}
		}		

	// right trim
		// reset inputText
		inputText = outputText;
		var inputTextLen = inputText.length;
		
		for (ptr = inputTextLen - 1 ; ptr >= 0 ; ptr--)
		{
			if (inputText.charAt(ptr) == " ")
			{
				outputText = inputText.substring(0,ptr)
			}
			else
			{
				break;
			}
		}
	}
//	alert("v="+outputText+"v");
	return outputText;
}

function greplace(PassInText,FindText,ReplaceText)
{
	var Len = PassInText.length;
	var FindTextLen = FindText.length;

	var ind = PassInText.indexOf(FindText,0,Len);
	
	var first_part;
	var final_string = "";
	if (PassInText.length == 0)
	{
		final_string = "";	
	}
	else
	{
		if (ind >= 0){
			while (ind >= 0){
				first_part = PassInText.substring(0,ind);
				PassInText = PassInText.substring(ind + FindTextLen, Len);								
				final_string = final_string + first_part + ReplaceText;
				ind = PassInText.indexOf(FindText,0,Len);
			}
			final_string = final_string + PassInText;
		}
		else
			final_string = PassInText;
	}

	return final_string;
}

function g_emailCheck(emailStr) {
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPat)
	if (emailStr == "") {
		return false;
	}
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false;
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
			return false
		    }
	    }
	    return true;
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	    return false;
	}

	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   return false;
	}
	if (len<2) {
	   return false;
	}
	return true;
}


function logout(){
	if (document.form_logout != null){
		document.form_logout.submit();
	}
}

function openNewWin(sURL){
    window.open(sURL,"_blank");
}

function openNewWinInMiddle(sURL, nWidth, nHeight){
            var nScreenWidth = screen.width-12;
            var nScreenHeight = screen.height - 57;
            var nLeft = (nScreenWidth - nWidth) / 2;
            var nTop = (nScreenHeight - nHeight) / 2;
            window.open(sURL,"_blank","scrollbars=yes,toolbar=no,status=yes,resizable=yes,top="+nTop+",left="+nLeft+",width="+nWidth+",height="+nHeight);
}

function openWinResizable(sURL){
     window.open(sURL, "_blank", 'left=0,top=0,toolbar=0,menubar=0,status=0,scrollbars=1,resizable=1');
}

function openFullScreen(sURL)
{
	nWidth = screen.width-12;
	nHeight = screen.height - 57;
	window.open(sURL, "_blank", "toolbar=no,status=no,scrollbars=yes,resizable=yes,top=0,left=0,width=" + nWidth + ",height=" + nHeight);
}

    
function reSubscribe(){
    document.formSubscribe.submit();
}

