var newwin;
function launchwin(winurl,winname,winfeatures)
{
	newwin = window.open(winurl,winname,winfeatures);
	if(javascript_version > 1.0) {
		setTimeout('newwin.focus();',250);
	}
}
function ValidateNoHTML(theinput)
{
	s=theinput.value
	if(s.length==0) return true;
	var ht = new RegExp(/http\:\/\/|https\:\/\/|ftp\:\/\//i);
	var re = new RegExp("<[^<>]+>");
	if (s.match(re)) {
		return false
	} else if (s.match(ht)) {
		return false
	} else {
		return true
	}
}
function ValidateEmailOrNull(theinput)
{
	s=theinput.value
	if(s.length==0) return true;
	if(s.search)
	{
		return (s.search(new RegExp("^([-!#$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}$","gi"))>=0)
	}
	if(s.indexOf)
	{
		at_character=s.indexOf('@')
		if(at_character<=0 || at_character+4>s.length)
			return false
	}
	if(s.length<6)
		return false
	else
		return true
}

function ValidatePostcodeNLBEOrNull(theinput)
{
	var _p=theinput.value;
	var newValue = _p.toUpperCase();
	theinput.value=newValue;
	s=theinput.value;
	if(s.length==0) return true;
	var x=theinput.value
	var y=x.replace(/ /g,'');
	if(y.length>4) theinput.value=reformat(y,"",4," ",2);
	s = theinput.value;

	var RegExp = /^[1-9][0-9]{3}[ ][a-zA-Z]{2}$|^[1-9][0-9]{3}[a-zA-Z]{2}$|^[1-9]{1}[0-9]{3}$/;
    if(RegExp.test(s)){ 
        return true;
    } else {
        return false;
    } 	
}
function ValidatePhoneNLOrNull(theinput)
{

	var _p=theinput.value;
	if(_p.length==0) return true;
	var y=_p.replace(/ /g,'');
	y = y.replace(/-/g,'');
	y = y.replace(/\./g,'');
	y = y.replace(/\//g,'');
	theinput.value = y;

	var RegExp = /(^\+[3]{1}[1]{1}|^\+[3]{1}[1]{1}\(0\)|^\(\+[3]{1}[1]{1}\)\(0\)|^00[3]{1}[1]{1}|^0)([0-9]{9}$)/;
    if(RegExp.test(y)){ 
        return true;
    } else {
        return false;
    } 	
}
function ValidatePhoneBEOrNull(theinput)
{

	var _p=theinput.value;
	if(_p.length==0) return true;
	var y=_p.replace(/ /g,'');
	y = y.replace(/-/g,'');
	y = y.replace(/\./g,'');
	y = y.replace(/\//g,'');
	theinput.value = y;

	var RegExp = /(^\+[3]{1}[2]{1}|^\+[3]{1}[2]{1}\(0\)|^\(\+[3]{1}[2]{1}\)\(0\)|^00[3]{1}[2]{1}|^0)([0-9]{8}$)/;
    if(RegExp.test(y)){ 
        return true;
    } else {
        return false;
    } 	
}
function ValidatePhoneNLBEOrNull(theinput)
{

	var _p=theinput.value;
	if(_p.length==0) return true;
	var y=_p.replace(/ /g,'');
	y = y.replace(/-/g,'');
	y = y.replace(/\./g,'');
	y = y.replace(/\//g,'');
	theinput.value = y;

	var RegExp = /(^\+[3]{1}[1]{1}\(0\)|^0)([0-9]{9}$)/;
	var RegExp2 = /(^\+[3]{1}[2]{1}\(0\)|^0)([0-9]{8}$)/;
 	var RegExp3 = /(^\+[3]{1}[2]{1}\(0\)|^0)[4]{1}([0-9]{8}$)/;
   if(RegExp.test(y)){ 
        return true;
    } else if(RegExp2.test(y)){ 
        return true;
     } else if(RegExp3.test(y)){ 
        return true;
   } else {
        return false;
    } 	
}
function ValidateHyperlinkOrNull(theinput)
{
	s=theinput.value
	if(s.length==0) return true;

	var RegExp = /^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.{0,1}[A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?/i;
				
    if(RegExp.test(s)){ 
        return true;
    }else{
        return false;
    } 	
}

function ValidateEmailOrPhone(theinput)
{
	s=theinput.value
	if(theinput.form.phone.value.length!=0) return true;
	if(s.search)
	{
		return (s.search(new RegExp("^([-!#$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}$","gi"))>=0)
	}
	if(s.indexOf)
	{
		at_character=s.indexOf('@')
		if(at_character<=0 || at_character+4>s.length)
			return false
	}
	if(s.length<6)
		return false
	else
		return true
}

function editImage(image) 
{
	var url = "/lib/ImageManager/editor.php?img="+image;
	Dialog(url, function(param) 
	{
		if (!param) // user must have pressed Cancel
			return false;
		else
		{
			return true;
		}
	}, null);		
}

function ta_hover(id) {
	document.getElementById('row_' + id).style.background='#fff';
}
function ta_unhover(id) {
	document.getElementById('row_' + id).style.background='#eee';
}

function reformat (s)

{   var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}
function ValidatePhone(theinput)
{

	var _p=theinput.value;
	var RegExp1= /[^\d]/g;
	var x=_p.replace(RegExp1,'');
	var RegExp2= /^(\d{3})(\d{3})(\d{4})$/;
	if(x.match(RegExp2))
	{
	  theinput.value=reformat(x,"",3,"",3,"",4);
	  return true;
	}
	else
	return false;
}
function Capitalize(theinput)
{
	var _p=theinput.value;
	var newValue = '';
	firstChar = _p.substring(0,1);
	remainChar = _p.substring(1);

	// convert case
	firstChar = firstChar.toUpperCase(); 
	// remainChar = remainChar.toLowerCase();

	newValue = firstChar + remainChar;
	theinput.value=newValue;
	return true;
}

function LowerCase(theinput)
{
	var _p=theinput.value;
	var newValue = _p.toLowerCase();
	theinput.value=newValue;
	return true;
}
function UpperCase(theinput)
{
	var _p=theinput.value;
	var newValue = _p.toUpperCase();
	theinput.value=newValue;
	return true;
}
function ValidateNumberOrNull(theinput)
{
	var _p=theinput.value;
	if(_p.length==0) return true;
	var RegExp1= /[^\d]/g;
	var RegExp2= /^[0-9]{1,}$/;
	var x=_p.replace(RegExp1,'');
	if(_p.match(RegExp2))
	{
	theinput.value=x;
	  return true;
	}
	else {
	theinput.value=x;
	return false;
	}
}

