	var loading = "<img src=icons/loading.gif> <span class=ajaxlogin> Please wait..<span class=ajaxlogin>";

	function Request_Backjax(){
		try{return new ActiveXObject( "Msxml2.XMLHTTP" );}
		catch ( e ){};
		try{return new ActiveXObject( "Microsoft.XMLHTTP" );}
		catch ( e ){};
		try{return new XMLHttpRequest();}
		catch ( e ){};
		alert( "XMLHttpRequest not supported" );
		return null;
	}

	function Backjax(url,param,ByID,loadgif,showalert){
		var Req = Request_Backjax();
		//Req.setRequestHeader("Content-type", 'application/x-www-form-urlencoded;charset=windows-874');
		Req.onreadystatechange = function() {
			if(Req.readyState == 4){
				if(showalert==true){
					alert(Req.responseText);
					var ResultArea =	 document.getElementById(ByID);
					ResultArea.innerHTML = '';
				}else{
					var ResultArea =	 document.getElementById(ByID);
					ResultArea.innerHTML = Req.responseText;
				}
			}else{
				var ResultArea =	 document.getElementById(ByID);
				if(loadgif==true){
					ResultArea.innerHTML = loading;
				}else{
					ResultArea.innerHTML = '';
				}
			}
		}		
		var Str;
		Str =	 Math.random();
		var Data = "Str="+Str+"&"+param;
		Req.open("GET", url+"?"+Data, true);
		Req.send(null);	
	}

		function FormError(text){
		var Error	 =	 "<span style=color:#FF0000>"+text+"</span>";
		return Error;
	}

	function FormSucces(text){
		var Succes	 =	 "<span style=color:#FF0000>"+text+"</span>";
		return Succes;
	}

	function getElement(id,text){
		var ResultArea =	 document.getElementById(''+id);
		ResultArea.innerHTML = "<span style=color:#FF0000>"+text+"</span>";
		return ResultArea.innerHTML;
	}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}
