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_openURL(sURL)
{
	nWidth = screen.width-12;
	nHeight = screen.height - 57;
	window.open(sURL, "_blank", "toolbar=no,status=no,resizable=yes,top=0,left=0,width=" + nWidth + ",height=" + nHeight);
}


function g_StartSOEz(szQueryString)
{
//alert(szQueryString);
	var bObject;
	var bOpen;
	var bSave;
	bObject = true;
	try
	{
		var Util = new ActiveXObject("SOEzWeb.Util");
	}
	catch(e)
	{
		window.alert("If you want to create Shipping Order from this link,\nplease contact Hong Kong Shipping Gazette at 28809555.")
		bObject = false;
	}
	if (bObject)
	{
		szQueryString = greplace(szQueryString,'chr22','"')

	    bSave = Util.SaveXML(szQueryString);
		bOpen = Util.StartSOEz("http://soez.schednet.com/steve/soezweb.xml");
		if (bOpen < 0)
		{
			window.alert("SOEz not found");
		}
		else
		{
			e = document.all.item("loadingmsg");	
			e.style.left = document.body.scrollLeft + window.event.x - e.style.pixelWidth/2;
			e.style.top = document.body.scrollTop + window.event.y - e.style.pixelHeight/2;
			e.style.display="block";
			window.setTimeout(hideMsg, 10000);
		}
	}
}

function hideMsg()
{
 document.all.item("loadingmsg").style.display="none";
}


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 (matchArray==null) {
	//	alert("Email address seems incorrect (check @ and .'s)")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	//    alert("The username doesn't seem to be valid.")
	    return false
	}

	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
	//	        alert("Destination IP address is invalid!")
			return false
		    }
	    }
	    return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
	//	alert("The domain name doesn't seem to be valid.")
	    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) {

	//   alert("The address must end in a three-letter domain, or two letter country.")
	   return false
	}
	if (len<2) {
	   var errStr="This address is missing a hostname!"
	//   alert(errStr)
	   return false
	}
	return true;
}

