$(document).ready(function(){
    
    // create sharing window
    $("body").append('<div id="sharePop">\n\
                    <div class="area">\n\
                        <h1>Share the DVD</h1>\n\
                        <p>Your name: * &nbsp;<input type="text" name="email" size="21" id="nameField" /></p>\n\
                        <p>Friend\'s email: * &nbsp;<input type="text" name="email" size="19" id="emailField" /></p>\n\
                        <p>Subject: * &nbsp;<input type="text" name="subject" value="The Promised Land DVD" size="23" id="subjectField" /></p>\n\
                        <p>Message: <span id="defaultMsg">Hi, <br /><br />I thought you might be interested in this documentary called "The Promised Land." <br /><br /> Go to http://swapnabhumi.com to find out more.</span></p>\n\
                        <p>Your additional notes:</p>\n\
                        <p><textarea name="note" rows="3" cols="29" id="noteField"></textarea></p>\n\
                        <p class="sharePopCtrls">\n\
                            <input type="button" value="Send" id="shareSubmitBtn" />\n\
                            <input type="button" value="Cancel" id="shareCancelBtn" />\n\
                        </p>\n\
                        <p class="sharePopLoader"><img src="img/emailLoader.gif" title="Sending email..." alt="Sending email..." /></p>\n\
                    </div>\n\
                    <img src="img/sharePopArrow.gif" alt="" title="" class="arrow" />\n\
                </div>');
    
    
    $("#bLink").click(function () {
        $("#bServices").slideToggle();
    });

    $("#bServices > a").click(function() {
        
        var service = $(this).attr("href");
        var url = escape(document.URL.substr(0, document.URL.indexOf("#")));
        var title = escape(document.title);
        
        
        switch (service) {
            case "#digg":
                document.location.href = "http://digg.com/submit?phase=2&url="+url+"&title="+title;
                break;
            case "#google":
                document.location.href = "http://www.google.com/bookmarks/mark?op=edit&bkmk="+url+"&title="+title;
                break;
            case "#delicious":
                document.location.href = "http://del.icio.us/post?url="+url+"&title="+title;
                break;
            case "#newsvine":
                document.location.href = "http://www.newsvine.com/_tools/seed&save?popoff=0&u="+url+"&h="+title;
                break;
            case "#facebook":
                document.location.href = "http://www.facebook.com/share.php?u="+url;
                break;
            case "#reddit":
                document.location.href = "http://reddit.com/submit?url="+url+"&title="+title;
                break;
            case "#yahoo":
                document.location.href = "http://myweb2.search.yahoo.com/myresults/bookmarklet?u="+url+"&t="+title;
                break;
            case "#stumbleupon":
                document.location.href = "http://www.stumbleupon.com/submit?url="+url+"&title="+title;
                break;
            case "#livejournal":
                document.location.href = "http://www.livejournal.com/update.bml?subject="+url;
                break;
            case "#blinklist":
                document.location.href = "http://blinklist.com/index.php?Action=Blink/addblink.php&Url="+url+"&Title="+title;
                break;
        }
        
        // slide back up before user gets off the page
        $("#bServices").slideUp("normal");
    });

    $("#shareLink").click(function () {
        $("#sharePop").slideToggle();
    });
    
    $("#shareSubmitBtn").click(function() {
        
        $(".error").hide();
        var hasError = false;
        
        var nameValue = $("#nameField").val();
        if(nameValue == '') {
            $("#nameField").after('<p class="error">Plese enter your name.</p>');
            hasError = true;
        }
        
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
        var emailValue = $("#emailField").val();
        if(emailValue == '') {
            $("#emailField").after('<p class="error">Please enter the email of a friend.</p>');
            hasError = true;
        } else if(!emailReg.test(emailValue)) {
            $("#emailField").after('<p class="error">Invalid email address. Please fix.</p>');
            hasError = true;
        }
        
        var subjectValue = escape($("#subjectField").val());
        if(subjectValue == '') {
            $("#subjectField").after('<p class="error">Please enter the subject.</p>');
            hasError = true;
        }
        
        if(hasError == false) {
            // parse data
            var rawMsg = $("#defaultMsg").html();
            var msg = escape(rawMsg.replace(/<br \/>/g, '\n').replace(/<br>/g, '\n') + "\n\n" + $("#noteField").val());
            $.post("share.php",
                   {from:nameValue, to:emailValue, subject:subjectValue, message:msg},
                       function(data, textStatus) {
                            $("#sharePop .area > p").slideToggle('fast');
                            var linkOffset = $("#shareLink").offset();
                            $("#sharePop").animate({'top':linkOffset.top-15});
                            $("#sharePop .arrow").animate({'paddingTop':'13'});
                            $("#shareSubmitBtn").toggle();
                            $("#shareCancelBtn").val('Close');
                            $("#shareCancelBtn").removeAttr('disabled');
                           if (textStatus == 'success') {
                               if (data.Success) { 
                                   var resultHTML = '<p class="msg">'+data.Success+'</p>';
                                   $("#shareCancelBtn").after('<input type="button" value="Send another" id="shareAgainBtn" />');
                                   $("#shareAgainBtn").click(function() { window.location.reload(); });
                               } else {
                                   var resultHTML = '<p class="error">'+data.Error+'</p>';
                               }
                           } else {
                               var resultHTML = '<p class="error">Program failure!</p>'
                           }
                           $("#sharePop .area > h1").after(resultHTML);
                       }
                ,'json');
            $("#sharePop .area > p > input").attr('disabled','disabled');
            $("#noteField").attr('disabled','disabled');
            $("#sharePop .area .sharePopCtrls").toggle();
            $("#sharePop .area .sharePopLoader").toggle();
        }
        return false;   
    });
    
    $("#shareCancelBtn").click(function() {
        $("#sharePop").slideUp();
    });
    
    
    // see if we have to display share box right off
    if (document.URL.indexOf('#share') != -1) {
        $("#shareLink").trigger('click');
    }
    
    // preload rollover images in the menu
    MM_preloadImages(menuItems);
    
    // position the share window
    var linkOffset = $("#shareLink").offset();
    var popWidth = $("#sharePop").width();
    var padding = 20;
    // set pop to a proper position
    $("#sharePop").css({'top':linkOffset.top - 225, 'left':linkOffset.left - popWidth - padding});
});