function checkName( inputStr )
{
	regExp = /^[a-zA-Z' ]+$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function isEmptyField( clientID )
{
    if (trim(document.getElementById(clientID).value) == '')
    {
        return true;
    }
    
    return false;
}

function checkPID ( inputStr )
{
	//regExp = /^[a-zA-Z0-9]+[-a-zA-Z0-9]+[a-zA-Z0-9]+$/;
	regExp = /^[a-zA-Z]{6}[\d]{2}[a-zA-Z][\d]{2}[a-zA-Z][\d]{3}[a-zA-Z]$/;
	
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function checkPhoneNumber ( inputStr )
{
	regExp = /^([+]39)?((38[{8,9}|0])|(34[{6-9}|0|3])|(36[6|8|0])|(33[{3-9}|0])|(32[{8,9}|0|3])|(37[{7}])|(39[{0-3}]))([\d]{7,8})$/

	
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}


function checkUnPw ( inputStr )
{
	regExp = /^[^<>/\\]+$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function checkStreet ( inputStr )
{
	regExp = /^[a-zA-Z0-9'. ]+$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function checkStreetNumber ( inputStr )
{
	regExp = /^[a-zA-Z0-9 ]+$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function checkAccountName ( inputStr )
{
	regExp = /^[-a-zA-Z0-9 ]+$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}

function checkMail ( inputStr )
{
	regExp = /^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/;
			
	var m = inputStr.match(regExp);
	if (m == null)
	{
		return false;
	}
	return true;
}
var _base64 = new Array('A','B','C','D','E','F','G','H',
 'I','J','K','L','M','N','O','P',
 'Q','R','S','T','U','V','W','X',
 'Y','Z','a','b','c','d','e','f',
 'g','h','i','j','k','l','m','n',
 'o','p','q','r','s','t','u','v',
 'w','x','y','z','0','1','2','3',
 '4','5','6','7','8','9','*','/');
 
 var binary = new String();
 var result = new String();
 
 function EncodeBase64(input)
 {
 
     for(i = 0; i < input.length; i++)
     {
        binary += String("00000000" + input.charCodeAt(i).toString(2)).substring(input.charCodeAt(i).toString(2).length);
     }
     for(i = 0; i < binary.length; i+=6)
     {
        var number = new Number();
        var counter = new Number();
         for(j = 0; j < binary.substring(i, i+6).length; j++)
         {
             for(k = 32; k >= 1; k-=(k/2))
            {
                if(binary.substring(i, i+6).charAt(counter++) == "1")
                {
                number += k;
                }
            }
        }
        result += _base64[number];
    }
     

     return result;
 }

 function DecodeBase64(input)
 {
    var binary = new String();
    var result = new String();
    for(i = 0; i < input.length; i++)
    {
        for(j = 0; j < _base64.length; j++)
        {
            if(input.charAt(i) == _base64[j])
            {
                binary += String("000000" + j.toString(2)).substring(j.toString(2).length);
            }
        }
    }
    for(i = 0; i < binary.length; i+=8)
    {
        var number = new Number();
        var counter = new Number();
        for(j = 0; j < binary.substring(i, i+8).length; j++)
        {
            for(k = 128; k >= 1; k-=(k/2))
            {
                if(binary.substring(i, i+8).charAt(counter++) == "1")
                {
                    number += k;
                }
            }
        }
        result += String.fromCharCode(number);
    }
 return result;
 }
