﻿// wait for the DOM to be loaded
$(document).ready(function() {

    // add alt images where there aren't any to be valid xhtml 1.0
    $("img:not([alt])").each(function() {
        $(this).attr("alt", "")
    });


    var url = encodeURIComponent(document.location.href); //encodeURIComponent(window.location);
    var encTitle = encodeURI(document.title);
    var shareTool = $("#share-tool-container");

    $("#share-facebook").attr("href", "http://www.facebook.com/sharer.php?u=" + url + "&src=sp&t=" + encTitle);
    $("#share-twitter").attr("href", "http://twitter.com/home?status=" + window.location.href);
    $("#share-digg").attr("href", "http://digg.com/submit?phase=2&url=" + url);
    $("#share-delicious").attr("href", 'http://del.icio.us/post?v=2&url=' + url + '&title=' + encTitle + ' ');
    $("#share-myspace").attr("href", 'http://www.myspace.com/index.cfm?fuseaction=postto&t=' + encTitle + '&c=' + encTitle + '&u=' + url);
    $("#share-stumbleupon").attr("href", "http://www.stumbleupon.com/submit?url=" + url + "&title=" + encTitle);
    $('a[href^=http]', shareTool).click(function() {
        window.open(this.href);
        return false;
    });
    $("#share-email").click(function() {
        $("#share-tool-body-email").toggle();
        $("#share-tool-body-email-cap").toggle();
        $("#share-tool-body-options").toggle();
        $("#share-tool-body-options-cap").toggle();
        return false;
    });
    $("#share-tool-body-email-back").click(function() {
        $("#share-tool-body-email").toggle();
        $("#share-tool-body-email-cap").toggle();
        $("#share-tool-body-options").toggle();
        $("#share-tool-body-options-cap").toggle();
        return false;
    });
    var url = window.location.href;
    $("#staf-url").val(url);

    //pretty date entry
    $('#essay_dob').dateEntry();

    // essay form stuff
    var allInputs = $('input[type="text"]');
    var body = $("#essay_body");
    var captcha = $("#recaptcha_response_field");
    allInputs.push(body);
    allInputs.push(captcha);

    $(allInputs).each(function() {
        $(this).bind("blur", function() {
            if ($(this).val() == $(this).attr("alt")) {
                $(this).removeClass("plain-text");
                $(this).addClass("error-text");
            } else if ($(this).val() == "") {
                $(this).val($(this).attr("alt"));
                $(this).addClass("error-text");
            } else if (($(this).attr("id") == "essay_email") && (!isValidEmail($(this).val()))) {
                $(this).addClass("error-text");
            } else {
                $(this).removeClass("input-validation-error");
                $(this).parents(".formRow").removeClass("input-validation-error");
                $(this).removeClass("error-text");
                $(this).addClass("plain-text");
            }
        });

        $(this).bind("focus", function() {
            if ($(this).val() == $(this).attr("alt")) {
                $(this).val("");
            }
            var alt = $(this).attr("alt");
            alt = alt.replace("*", "");
            alt = alt.replace("(", "");
            alt = alt.replace(")", "");
            if ($(this).attr("id") == "essay_body")
                window.status = "Please paste your essay here, or upload it below.";
            else
                window.status = "Please enter your " + alt + " here.";
            return true;
        });
        $(this).blur();
    });
    showEssayErrors();

    //$("#essay_filepath").css("cursor", "pointer").attr("title", "click to upload");
    //$("#budget-filetypes").addClass('error-text');
    /*$("#budget_filepath").css("cursor", "pointer").attr("title", "click to upload").bind("change",
    function() {
    $("#budget-filetypes").removeClass('error-text');
    });
    */

    // voting page
    //setEssayIntroBodyMores();

    //get and place body scores
    //var prefix = '<div class="essay-body-statistics"><h6>THIS ESSAY STATISTICS</h6><div class="red label">Percentage of all votes so far</div><img src="/images/GoodHealthGrant/good-health-grant-essay-vert_rule.gif" class="noborder noshadow" width="1" height="26px" /><div  id="essay-vote-percentage" class="red"><span  class="red" id="essay-vote-value">';
    //var suffix = '</span><sup>%</sup></div></div>';
    $(".essay-body").each(function() {
        var thisBody = $(this);
        var introId = $(this).attr("id");
        var bodyId = introId.substr(11, introId.length);
        $.getJSON("/GoodHealthGrant.aspx/GetScore/" + bodyId + "/" + new Date().getTime(), function(data) {
            //var newHtml = prefix + data.percent + suffix;
            //alert($(thisBody).attr("id") + "\n\n" + introId + "\n\n" + bodyId + "\n\n" + newHtml);
            //$("h6", $(thisBody)).after(newHtml);
            //alert(data.percent);
            $(".essay-vote-value", $(thisBody)).html(data.percent);
        });
    });

    // set essay body close button
    $("#essayCloseA").click(function(ev) {
        $("#essay-body-screen").hide();
        $("#essay-bodies").hide();
        $(".essay-body").hide();
        $(".essay-body-statistics div.label").css("border-right", "none");
        ev.preventDefault();
    });

});    //end document ready

// voting page & results page
function setEssayIntroBodyMores() {
    var anchors = $(".essay-intro-copy p a");
    //alert(anchors.length);
    $(".essay-intro-copy p a").each(function() {
        //$("a.more").each(function() {
        var teaseParent = $(this).parents(".essay-intro");
        //alert($(teaseParent).attr("id"));        
        // adding click to anchor
        $(this, teaseParent).click(function(ev) {
            var introId = $(teaseParent).attr("id");
            var label = $("label", teaseParent).html();
            //alert("/grant_voting/register/vote_more/" + escape(label));
            _gaq.push(['_trackPageview', "/grant_voting/register/vote_more/" + escape(label)]);
            var bodyId = introId.substr(6, introId.length);
            $("#essay-body-screen").show();
            $("#essay-bodies").show();
            var thisBody = $("#" + bodyId);
            //$("#output").show().append($(thisBody).attr("id")+"<br>");
            $(thisBody).show();
            $(".essay-body-statistics div.label", thisBody).css("border-right", "1px solid #C33731");
            ev.preventDefault();
        });
    });
}
 
        
// do essay validation UI
function showEssayErrors() {    
    $("#grant .formRow").removeClass("input-validation-error");
    $("input.input-validation-error").each(function() {
        //alert($(this).attr("id"));
        $(this).parents(".formRow").not(".state").not(".terms").addClass("input-validation-error");
    }); 
}

// essay grant submission
function doEssaySubmit(frm)
{
    var allInputs = $('input[type="text"]',frm);
    var body = $("#essay_body",frm);
    allInputs.push(body);  
    // clear out default values before submitting.
    //      the server will reject required blank ones.      
    $(allInputs).each(function() { 
        if ($(this).val()==$(this).attr("alt")){
            $(this).val("");
        }
    });
    return true;    
}

function validateZipCode(elementValue){
    var zipCodePattern = /(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)/;
    return zipCodePattern.test(elementValue);
}
function isValidEmail(str) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(str);    
}
function validate(jqForm) {
    if (jqForm.context.id=="staf")
        return validateSTAFForm();
    else return validateNewsletterForm();
}

function validateSTAFForm() {
    var thisForm = document.getElementById('staf');
    var actor_email = document.getElementById('actor_email');
    var actor_name = document.getElementById('actor_name');
    var recipient_email = document.getElementById('recipient_email');
    var recipient_name = document.getElementById('recipient_name');
    var actor_emailFail = 'Please enter a valid email address.';
    var actor_nameFail = 'Please enter your name.';
    var recipient_emailFail = 'Please enter a valid recipient email address.';
    var recipient_nameFail = 'Please enter a recipient name.';
    var test = true;

    if (!isValidEmail(actor_email.value)) {
        $("#sender-email-label").addClass("req").addClass("bold");
        actor_email.focus();
        test = false;
    } else {
        $("#sender-email-label").removeClass("req").removeClass("bold");
    }
    if (actor_name.value =="") {
        $("#sender-name-label").addClass("req").addClass("bold");
        actor_name.focus();
        test = false;
    }else {
        $("#sender-name-label").removeClass("req").removeClass("bold");    
    }
    if (!isValidEmail(recipient_email.value)) {
        $("#recipient-email-label").addClass("req").addClass("bold");
        recipient_email.focus();
        test = false;
    } else {
        $("#recipient-email-label").removeClass("req").removeClass("bold");
    }
    if (recipient_name.value =="") {
        $("#recipient-name-label").addClass("req").addClass("bold");
        recipient_name.focus();
        test = false;
    } else {
        $("#recipient-name-label").removeClass("req").removeClass("bold");    
    }
    if (!test) $("#req-fail-staf").show();
    else {
        $("#req-fail-staf").hide();
        
        // reset share tool form
        $("#share-tool-body-email").toggle();
        $("#share-tool-body-email-cap").toggle();
        $("#share-tool-body-options").toggle();
        $("#share-tool-body-options-cap").toggle();
    }
    return test;
}

function successCallbackFn(msg){
    if (msg=='Error! Please try again later.') {
        alert("That email address has already been registered");
        $("#email").focus();
        return false;
    }            
    if (msg.indexOf('You have successfully submitted your information.') != -1) {
        alert("You have successfully submitted your information");
        $("#newsletter").fadeOut(3000);
        return false;
    }  else {
        // this is for friggin firefox....
        alert("You have successfully submitted your information");
        $("#newsletter").fadeOut(3000);
        return false;                
    }
     //do something with the returned data
}
function errorCallbackFn(msg){
    alert("error:\n\n"+msg);
     //do something with the returned data
}

// wrapper for flash tracking
function flashTracking(tag)  
{  
	_gaq.push(['_trackPageview',tag]) 
}  


// jQuery Google Analytics Loading....
var ga = document.createElement('script');
ga.src = ('https:' == document.location.protocol ?
        'https://ssl' : 'http://www') +
        '.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);

var _gaq = _gaq || [];
_gaq.push(function() {
    var pageTracker = _gaq._createAsyncTracker('UA-11590487-1');
    pageTracker._setDetectTitle(false);
});