var newsletter = {
	literals : new Array(),
	screen : null,
	message : null,
	bblock : null,
	email : null,
	nli : null,
	request : null,
	start : function(frm) {
		if( newsletter.screen != null ) return false;

		var field = frm[ "email" ];
		
		if( !field.value ) return false;
		
		newsletter.email = field.value;
		
	    var mask = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/;
	    if( !mask.test( newsletter.email ) ) {
	        field.style.background = "#ff0000";
	        return false;
	    }
		
		field.style.background = "#ffffff";
		
		var xy = getPageCoords( field );
		newsletter.screen = document.createElement( "DIV" );
		newsletter.screen.style.position = "absolute";
		newsletter.screen.style.left = xy.x + "px";
		newsletter.screen.style.top = (xy.y + 22) + "px";
		newsletter.screen.style.width = "268px";
		newsletter.screen.style.height = "75px";
		newsletter.screen.style.zIndex = "101";
		newsletter.screen.style.padding = "13px 32px 20px 25px";

//	    var msk = /MSIE (\d+\.\d+);/;
//    	if( msk.test(navigator.userAgent) ) {
//			newsletter.screen.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/layout/nlconfbg.png)";
//		} else {
			newsletter.screen.style.background = "url(/layout/nlconfbg.png) no-repeat";
//		}
		
		newsletter.message = document.createElement( "DIV" );
		newsletter.message.innerHTML = newsletter.literals[ "terms" ];
		newsletter.message.style.display = "block";
		newsletter.message.style.height = "51px";
		newsletter.message.style.width = "268px";
		newsletter.message.style.margin = "0px 8px 0px 0px";
		newsletter.screen.appendChild( newsletter.message );
		
		newsletter.bblock = document.createElement( "DIV" );
		newsletter.bblock.style.display = "block";
		newsletter.bblock.style.textAlign = "center";
		newsletter.bblock.style.height = "16px";
		newsletter.bblock.style.width = "268px";
		newsletter.bblock.innerHTML = "<A href=\"javascript:newsletter.confirm()\" class=\"nlyes\">" + newsletter.literals[ "yes" ] + "</a> <A href=\"javascript:newsletter.close()\" class=\"nlno\">" + newsletter.literals[ "no" ] + "</a>";
		newsletter.screen.appendChild( newsletter.bblock );
		
		document.body.appendChild( newsletter.screen );
		return false;
	},
	confirm : function() {
		newsletter.bblock.innerHTML = "<img src=\"/layout/wait.gif\" width=\"16\" height=\"16\" border=\"0\" />";
		newsletter.message.innerHTML = newsletter.literals[ "wait" ];

		if (window.XMLHttpRequest)
			newsletter.request = new XMLHttpRequest();
		else if (window.ActiveXObject)
		{
			try {
				newsletter.request = new ActiveXObject("Msxml2.XMLHTTP")
			} catch (e) {
				try{
					newsletter.request = new ActiveXObject("Microsoft.XMLHTTP")
				} catch (e) {
					return false;
				}
			}
		} else {
			return false;
		}
		
        newsletter.request.onreadystatechange = function() { newsletter.onresponse(); };
        newsletter.request.open( "POST", "/php/newsletter.php" );
		newsletter.request.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
        newsletter.request.send( "email=" + this.email + "&newsletter=" + this.nli );
	},
	close : function() {
		document.body.removeChild( newsletter.screen );
		delete newsletter.screen;
		newsletter.screen = null;
		newsletter.message = null;
		newsletter.bblock = null;
	},
	onresponse : function() {
	    if( (newsletter.request.readyState == 4) &&
            ((newsletter.request.status == 200) || (window.location.href.indexOf("http")==-1)) )
	    {
    	    var sr = this.request.responseText;
    	    if( sr == "OK" ) {
				newsletter.message.innerHTML = newsletter.literals[ "done" ];
				newsletter.bblock.innerHTML = "<A href=\"javascript:newsletter.close()\" class=\"nlclose\">" + newsletter.literals[ "close" ] + "</a>";
    	    } else {
				newsletter.message.innerHTML = newsletter.literals[ "error" ];
    	    }
		}
	}
};
