
	function systemAlert(message, callbackFunction, caption, attr)
     {
		 if (!caption) caption = 'Message';
		 if (!attr) attr = '';
         var divContent = '<div id="system_message_background"></div><div id="system_message" '+attr+'><div id="system_message_title">'+caption+'</div><div id="system_message_content"></div><div id="system_message_buttons" class="forum_back"><span id="system_message_button"><span>OK</span></span></div></div>';
         var isDrag = false;
         var difX = 0;
         var difY = 0;
         var callbackFunction = callbackFunction;
         var hideWindow = function (){
            $('#system_message_background').hide();
            $('#system_message').hide();
         };

         if ($('#system_message').length == 0) {
            $('body').append(divContent);
            $('#system_message_button').click(hideWindow);
            $('#system_message_button').click(function()
            {
                if (typeof(callbackFunction) == 'function') {
                    callbackFunction();
                }
            });

            styles = {left : 0,
                      top : 0,
                      position : 'absolute',
                      background: '#FFF',
                      zIndex: 1000,
                      opacity: 0.5};
            $('#system_message_background').css(styles);

            $('#system_message_title').mousedown(function(e){
                isDrag = true;
                var offset = $(this).offset();
                difX = e.pageX - offset.left;
                difY = e.pageY - offset.top;
            }).mouseup(function(){
                isDrag = false;
            }).mouseout(function(){
                isDrag = false;
            }).mousemove(function(e){
                if (isDrag) {
                    $('#system_message').css({'left':(e.pageX - difX), 'top':(e.pageY - difY)});
                }
            });
         }

         $('#system_message_content').html(message);
         $('#system_message_background').css({width : $('body').width(), height : $('body').height()})
                                        .show();
         $('#system_message').css('z-index', 1001)
                             .center()
                             .show();


     };
     
     function systemConfirm(message, callbackOkFunction, callbackCancelFunction)
     {
    	 //var divContent = '<div id="system_message_background"></div><div id="system_message"><div id="system_message_title">Message</div><div id="system_message_content"></div><div id="system_message_buttons" class="forum_back"><span id="system_message_button" style="float: left; padding-right: 10px;"><span>OK</span></span><span id="system_message_button_cancel" style="float: right;"><span>Cancel</span></span><style="clear:both;"></style></div></div>';
    	   var divContent = '<div id="system_message_background"></div><div id="system_message"><div id="system_message_title">Message</div><div id="system_message_content"></div><div id="system_message_buttons" class="forum_back"><span id="system_message_button"><span>OK</span></span><span id="system_message_button_cancel"><span>Cancel</span></span></div></div>';
    	 var isDrag = false;
    	 var difX = 0;
    	 var difY = 0;
    	 var callbackOkFunction = callbackOkFunction;
    	 var callbackCancelFunction = callbackCancelFunction;
    	 var hideWindow = function (){
    		 $('#system_message_background').hide();
    		 $('#system_message').hide();
    	 };
    	 
    	 if ($('#system_message').length == 0) {
    		 $('body').append(divContent);
    		 $('#system_message_button').click(hideWindow);
    		 $('#system_message_button').click(function()
    		 {
    			  if (typeof(callbackOkFunction) == 'function') callbackOkFunction();
    		 });
    		 $('#system_message_button_cancel').click(hideWindow);
    		 $('#system_message_button_cancel').click(function()
    		 {
    			 if (typeof(callbackCancelFunction) == 'function') callbackCancelFunction();
    		 });
    		 
    		 var styles = {left : 0,
    				 top : 0,
    				 position : 'absolute',
    				 background: '#FFF',
    				 zIndex: 1000,
    				 opacity: 0.5};
    		 $('#system_message_background').css(styles);
    		 
    		 $('#system_message_title').mousedown(function(e){
    			 isDrag = true;
    			 var offset = $(this).offset();
    			 difX = e.pageX - offset.left;
    			 difY = e.pageY - offset.top;
    		 }).mouseup(function(){
    			 isDrag = false;
    		 }).mouseout(function(){
    			 isDrag = false;
    		 }).mousemove(function(e){
    			 if (isDrag) {
    				 $('#system_message').css({'left':(e.pageX - difX), 'top':(e.pageY - difY)});
    			 }
    		 });
    	 }
    	 
    	 $('#system_message_content').text(message);
    	 $('#system_message_background').css({width : $('body').width(), height : $('body').height()})
    	 .show();
    	 $('#system_message').css('z-index', 1001)
    	 .center()
    	 .show();
     };

     /*function systemConfirm(message, callbackOkFunction, callbackCancelFunction)
     {
         systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemConfirm', message, callbackOkFunction, callbackCancelFunction);
         systemConfirmMessageBox.initScreenPosition();
         systemConfirmMessageBox.initDragAndDrop();
         systemConfirmMessageBox.showModal();
     };*/

     function systemWait(message)
     {
         systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemWait', message);
         systemConfirmMessageBox.initScreenPosition();
         systemConfirmMessageBox.initDragAndDrop();
         systemConfirmMessageBox.showModal();
     };

     var vCallbackOkFunction = false;
     
     function systemConfirmRegister(message, callbackOkFunction)
     {
    	 var postLogin = function() 
    	 {
 	        jQuery.post(urlPopupRegister, 
	        		   {screenName: jQuery('#popupScreenName').val(),
	        			email: jQuery('#popupEmail').val(),
	        			password: jQuery('#popupPassword').val(),
	        			confirmPassword: jQuery('#popupConfirmPassword').val(),
	        			newsletter: document.getElementById('popupNewsletter').checked ? 1 : 0},
	        			function(data)
	        			{
	        			     if (parseInt(data.Error.Code))
	        			     {
	        			    	 jQuery('#winError_divSystemConfirmRegister').html(data.Error.Message);
	        			     }
	        			     else
	        			     {
	        			    	 pageTracker._trackPageview('/register-success/');
	        			    	 
	        			    	 jQuery('#divSystemConfirmRegister_content').html('Confirm you registration!');
	        			    	 jQuery('#winError_divSystemConfirmRegister').html('You have successfully registered!');
	        			    	 jQuery('#divSystemConfirmRegister_ok').hide();
	        			    	 jQuery('#winForm_divSystemConfirmRegister').hide();
	        			    	 systemConfirmMessageBox.close();
	        			    	 if (typeof(vCallbackOkFunction) == 'function') vCallbackOkFunction();
	        			    	 
	        			     }
	        			}, 'json');
	        return true;
    	 };
    	 
    	 systemConfirmMessageBox.close();
    	 //var vCallbackOkFunction = callbackOkFunction;
    	 var reload = false;
         systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemConfirmRegister', message, 
        		 function ()
        		 {
        	 		return postLogin();
        		 }, function () {if (reload) document.location.reload();});
         
    	 jQuery('#popupScreenName').setEnterHandler(function(){postLogin();});
    	 jQuery('#popupEmail').setEnterHandler(function(){postLogin();});
    	 jQuery('#popupPassword').setEnterHandler(function(){postLogin();});
    	 jQuery('#popupConfirmPassword').setEnterHandler(function(){postLogin();});
         
         systemConfirmMessageBox.initScreenPosition();
         systemConfirmMessageBox.initDragAndDrop();
         systemConfirmMessageBox.showModal();
         jQuery('#popupScreenName').focus();
     };

     function systemConfirmLogin(message, callbackOkFunction)
     {
    	 var postLogin = function() 
    	 {
    		 jQuery.post(urlPopupLogin, 
    				 {email: jQuery('#popupLoginEmail').val(),
    			      password: jQuery('#popupLoginPassword').val()},
    			 function(data)
    			 {
    				 if (parseInt(data.Error.Code))
    				 {
    					 jQuery('#winError_divSystemConfirmLogin').html(data.Error.Message);
    				 }
    				 else
    				 {
    					 jQuery('#divSystemConfirmLogin_ok').hide();
    					 jQuery('#winForm_divSystemConfirmLogin').hide();
    					 systemConfirmMessageBox.close();
    					 if (typeof(vCallbackOkFunction) == 'function') vCallbackOkFunction();
    				 }
    			 }, 'json');
    		 return true;
    	 };
    	 
    	 vCallbackOkFunction = callbackOkFunction;
    	 var reload = false;
    	 systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemConfirmLogin', message, 
    			 function () {return postLogin();}, 
    			 function () {if (reload) document.location.reload();});
    	 var content = jQuery('#divSystemConfirmLogin').html();
    	 
    	 jQuery('#popupLoginEmail').setEnterHandler(function(){postLogin();});
    	 jQuery('#popupLoginPassword').setEnterHandler(function(){postLogin();});
    	 systemConfirmMessageBox.initScreenPosition();
    	 systemConfirmMessageBox.initDragAndDrop();
    	 systemConfirmMessageBox.showModal();
    	 jQuery('#popupLoginEmail').focus();
     };
     
     function systemConfirmSubmit(message, callbackOkFunction, callbackCancelFunction)
     {
    	 systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemConfirmSubmit', message, callbackOkFunction, callbackCancelFunction);
    	 systemConfirmMessageBox.initScreenPosition();
    	 systemConfirmMessageBox.initDragAndDrop();
    	 systemConfirmMessageBox.showModal();
     };
     
     function systemConfirmRelease(message, callbackOkFunction, callbackCancelFunction)
     {
         systemConfirmMessageBox = new PHP2Controls.MessageBoxConfirm('divSystemConfirmRelease', message, callbackOkFunction, callbackCancelFunction);
         systemConfirmMessageBox.initScreenPosition();
         systemConfirmMessageBox.initDragAndDrop();
         systemConfirmMessageBox.showModal();
     };

