private void ShowModalPreviewDialog(int itemId)
        {
            isPreview = true;
            ProgressBar pb = null;
            ImageButton ib = null;
            ModalPreviewDialog = new Dialog(this, Resource.Style.lightbox_dialog);
            if (packType == LOLCodeLibrary.GenericEnumsContentPackType.Emoticon)
            {
                ModalPreviewDialog.SetContentView(Resource.Layout.ModalPreviewGIFDialog);
                if (wowZapp.LaffOutOut.Singleton.resizeFonts)
                {
                    layouts [0] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout1));
                    layouts [1] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout2));
                    layouts [3] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout3));
                    layouts [2] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout4));
                    previewWebImage = ((WebView)ModalPreviewDialog.FindViewById(Resource.Id.webPreview));
                }
                ((WebView)ModalPreviewDialog.FindViewById(Resource.Id.webPreview)).VerticalScrollBarEnabled = false;
                ((WebView)ModalPreviewDialog.FindViewById(Resource.Id.webPreview)).HorizontalScrollBarEnabled = false;
                ((WebView)ModalPreviewDialog.FindViewById(Resource.Id.webPreview)).LoadDataWithBaseURL(null,
                "<body style=\"margin:0;padding:0;background:#8e8f8f;\"><div style=\"margin:10px;\">Loading...</div></body>", "text/html", "UTF-8", null);
                LOLConnectClient connect = new LOLConnectClient(LOLConstants.DefaultHttpBinding, LOLConstants.LOLConnectEndpoint);
                connect.ContentPackItemGetDataCompleted += new EventHandler<ContentPackItemGetDataCompletedEventArgs>(connect_ContentPackItemGetDataCompleted);
                connect.ContentPackItemGetDataAsync(result [itemId].ContentPackItemID, ContentPackItem.ItemSize.Small, AndroidData.CurrentUser.AccountID, new Guid(AndroidData.ServiceAuthToken));
            } else
            {
                ModalPreviewDialog.SetContentView(Resource.Layout.ModalPreviewDialog);
                pb = ((ProgressBar)ModalPreviewDialog.FindViewById(Resource.Id.timerBar));
                ib = ((ImageButton)ModalPreviewDialog.FindViewById(Resource.Id.playButton));
                if (packType != LOLCodeLibrary.GenericEnumsContentPackType.Comicon && packType != LOLCodeLibrary.GenericEnumsContentPackType.SoundFX)
                    pb.Visibility = ib.Visibility = ViewStates.Invisible;
                else
                    ib.Click += delegate
                    {
                        playAudio(pb, packType);
                    };

                if (wowZapp.LaffOutOut.Singleton.resizeFonts)
                {
                    layouts [0] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout1));
                    layouts [1] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout2));
                    layouts [3] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout3));
                    layouts [2] = ((LinearLayout)ModalPreviewDialog.FindViewById(Resource.Id.linearLayout4));
                    previewImage = ((ImageView)ModalPreviewDialog.FindViewById(Resource.Id.imgItemPic));
                }
                using (MemoryStream stream = new MemoryStream (result [itemId].ContentPackItemIcon))
                {
                    using (Android.Graphics.Drawables.Drawable draw = Android.Graphics.Drawables.Drawable.CreateFromStream (stream, "Profile"))
                    {
                        ((ImageView)ModalPreviewDialog.FindViewById(Resource.Id.imgItemPic)).SetImageDrawable(draw);
                    }
                }
            }

            ((TextView)ModalPreviewDialog.FindViewById(Resource.Id.txtItemTitle)).Text = result [itemId].ContentItemTitle;

            ((Button)ModalPreviewDialog.FindViewById(Resource.Id.btnAdd)).Click += delegate
            {
                if (!isAnimation)
                {
                    MessageStep msgStep = new MessageStep();
                    switch (packType)
                    {
                        case LOLCodeLibrary.GenericEnumsContentPackType.Comicon:
                            msgStep.StepType = MessageStep.StepTypes.Comicon;
                            break;
                        case LOLCodeLibrary.GenericEnumsContentPackType.Comix:
                            msgStep.StepType = MessageStep.StepTypes.Comix;
                            break;
                        case LOLCodeLibrary.GenericEnumsContentPackType.Emoticon:
                            msgStep.StepType = MessageStep.StepTypes.Emoticon;
                            break;
                        case LOLCodeLibrary.GenericEnumsContentPackType.SoundFX:
                            msgStep.StepType = MessageStep.StepTypes.SoundFX;
                            break;
                    }
                    ComposeMessageMainUtil.contentPackID [currentStep] = msgStep.ContentPackItemID = ContentPackItemsUtil.contentPackItemID = result [itemId].ContentPackItemID;

                    if (currentStep > ComposeMessageMainUtil.msgSteps.Count)
                    {
                        msgStep.StepNumber = ComposeMessageMainUtil.msgSteps.Count + 1;
                        ComposeMessageMainUtil.msgSteps.Add(msgStep);

                    } else
                    {
                        msgStep.StepNumber = currentStep;
                        ComposeMessageMainUtil.msgSteps [currentStep - 1] = msgStep;
                    }

                    ContentPackItemsUtil.content = result [itemId].ContentPackItemIcon;
                    if (currentStep == 1)
                    {
                        DismissModalPreviewDialog();
                        isSet = true;
                        sendBack();
                    } else
                    {
                        DismissModalPreviewDialog();
                        isSet = true;
                        isPreview = false;
                        sendBack();
                    }
                } else
                {
                    DismissModalPreviewDialog();
                    isSet = true;
                    sendBack();
                }
            };
            ((Button)ModalPreviewDialog.FindViewById(Resource.Id.btnCancel)).Click += delegate
            {
                DismissModalPreviewDialog();
            };

            ModalPreviewDialog.Show();

            if (packType == LOLCodeLibrary.GenericEnumsContentPackType.Comicon ||
                packType == LOLCodeLibrary.GenericEnumsContentPackType.SoundFX)
            {
                LOLConnectClient connect = new LOLConnectClient(LOLConstants.DefaultHttpBinding, LOLConstants.LOLConnectEndpoint);
                connect.ContentPackItemGetDataCompleted += new EventHandler<ContentPackItemGetDataCompletedEventArgs>(connect_ContentPackItemGetDataCompleted);
                connect.ContentPackItemGetDataAsync(result [itemId].ContentPackItemID, ContentPackItem.ItemSize.Small, AndroidData.CurrentUser.AccountID, new Guid(AndroidData.ServiceAuthToken));
            }
        }