﻿// Sends an email after validating the form
var sf_targeturl = "";
var sf_usetargeturl = false;

function sf_sendEmail()
{
    var sf_allok  = false;
    var sf_yourname = document.getElementById("sf_yourname");
    var sf_youremail = document.getElementById("sf_youremail");
    var sf_recipientemail = document.getElementById("sf_recipientemail");
    var sf_message = document.getElementById("sf_yourmessage");
    sf_invalidCharacters(sf_yourname);
    sf_invalidCharacters(sf_message);
    sf_validateEmail(sf_youremail);
    sf_validateMultipleEmail(sf_recipientemail);
    if(sf_invalidCharacters(sf_yourname))
    {
        if(sf_invalidCharacters(sf_message))
        {
          if(sf_validateEmail(sf_youremail))
          {
            if(sf_validateMultipleEmail(sf_recipientemail))
            {
                sf_allok = true;
            }
         }
      }     
    }
   if(sf_allok)
    {
        if(sf_usetargeturl)
        {
            sf_spath = sf_targeturl;
        }
        else 
        {
            // Grabs the path from the url
            var sf_spath = window.location.href;
        }
        
        /*
        // The email message, this can change.
        var sf_msg = "Dear Friend,<br/>"+sf_message.value+"<br/> Please click <a href='"+sf_spath.replace("#","")+"' >here</a> to check out the link.<br/>Regards,<br/>"+sf_yourname.value;
        */
        
        // replace the template items with actual values        
      
        var sf_msg = sf_emailtemplate.replace("@LINK",sf_spath.replace("#",""));
        sf_msg = sf_msg.replace("@MESSAGE",sf_message.value);
        sf_msg = sf_msg.replace("@SENDER",sf_yourname.value);
        sf_msg = sf_msg.replace("@LINK",sf_spath.replace("#",""));
        sf_subject = sf_subject.replace("@SENDER",sf_yourname.value);
        
        var st_msg = "Hello, <br/><br/>A friend has sent you the following link from Capitol Nashville Records.<br/><br/> "+
                      "  Click on the link below, or copy and paste the link into your browser, to view the content.<br/><br/>"+
                      " Message from: "+sf_yourname.value+" <br/> "+sf_message.value+
                      " <br/><br/><a href="+sf_spath.replace("#","")+" target=_blank >"+sf_spath.replace("#","")+"</a>"+
                      " <br/><br/>For more information on your favorite Country artists, or to become a Capitol Nashville VIP, visit <a href=http://www.capitolnashville.com target=_blank >www.capitolnashville.com</a>";
 
        
        //alert(sf_msg);
       
       // Displays a graphic while the email is sent 
        document.getElementById("sf_SendToFriendForm").innerHTML = "<img src='images/ajax_loading.gif' /> Sending email ... ";
        
       // Send an email using Ajax using Consumer Web services.
        SendToFriend.SendEmail(sf_yourname.value,sf_youremail.value,sf_recipientemail.value,st_msg,sf_subject,sf_sendEmail_Postback);
        
    }   
}

// Validates a single email address
function sf_validateEmail(sf_email)
{
   var sf_filter  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))*$/;
   var sf_result = true;
   if(sf_validateRequired(sf_email))
   {
       if(sf_filter.test(sf_email.value))
       {
            document.getElementById(sf_email.id+"msg").innerHTML ="";            
            sf_result = true;        
       }
       else 
       {
            document.getElementById(sf_email.id+"msg").innerHTML = "<span class='required'> Invalid Email Address format.</span>";
            sf_result = false;
       }
   }
   else 
   {
    sf_result = false;
   }
   return(sf_result);
        
}

// Required field validator.
function sf_validateRequired(sf_obj)
{
    var sf_result = true;
    if(sf_obj.value == "")
    {
        document.getElementById(sf_obj.id+"msg").innerHTML = "<span class='required'> Required</span>";
        sf_result = false;        
    }
    else 
    {
        document.getElementById(sf_obj.id+"msg").innerHTML = "";
        sf_result = true;
    }
    return(sf_result);
}

// Validates the Name and Message for invalid characters
function sf_invalidCharacters(sf_obj)
{
   
    var sf_result = true;
    /*
    var sf_filter = /^[A-Z|a-z|0-9|$_|\-|\']*$/;
    if(sf_validateRequired(sf_obj))
    {
        if (sf_filter.test(sf_obj.value))
        {
           document.getElementById(sf_obj.id+"msg").innerHTML = "";
           sf_result = true;
        }
        else 
        {
            document.getElementById(sf_obj.id+"msg").innerHTML = "<br/><span class='required'> Invalid Characters.</span>";
            sf_result = false;
        }
    }
    else 
    {
        sf_result = false;       
    }
   */
    return(sf_result);
}

// Displays the STAF from 
function sf_showForm()
{
   try {
   //alert(sf_emailtemplate);
    if(document.getElementById("sf_SendToFriendForm").innerHTML == "")
    {    
        var sf_s = new Array();
        sf_s[sf_s.length] = "<div class='form_row' >Your Name:</div>"+
                      "<input type='text' class='input_field' id='sf_yourname' maxlength='20' onblur='sf_invalidCharacters(this);' /> <span id='sf_yournamemsg' ></span><br/><br/>"+
                      "<div class='form_row' >Your Email Address:</div>"+
                      "<input type='text' class='input_field' id='sf_youremail' onBlur='sf_validateEmail(this);' /> <span id='sf_youremailmsg' ></span><br/><br/>"+
                      "<div class='form_row' >Recipient's Email Address:</div>"+
                      "<input type='text' class='input_field' id='sf_recipientemail' onBlur='sf_validateMultipleEmail(this);' /> <span id='sf_recipientemailmsg' ></span><br/><br/>"+
                      "<div class='form_row' >Your Message:</div>"+
                      "<textarea id='sf_yourmessage' class='text_area' cols='70' rows='10'  wrap='hard' onblur='sf_invalidCharacters(this);' ></textarea> <span id='sf_yourmessagemsg' ></span><br/><br/>"+
                      "<div class='form_row' ><a  class='send' href='javascript:sf_sendEmail();'><img src='images/cn_button_send.gif' /></a></div>";
        document.getElementById("sf_SendToFriendForm").innerHTML = sf_s.join("");
        document.getElementById("sf_SendToFriendForm").className = "stf_form";
        document.getElementById("sf_link").className = "send_to_a_friend stf_form_opened";                      
    }
    else 
    {
       sf_windowClose();
    }
    }
    catch(sf_ex)
    {
        alert(sf_ex.description);
    }
    
   
         
}

// Multiple email address validation.
function sf_validateMultipleEmail(sf_email_field)
{
    var sf_filter  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))*$/;    
    var sf_result = true;
    if(sf_validateRequired(sf_email_field))
    {
        var sf_nospace = sf_removeSpaces(sf_email_field.value);
        var sf_email = sf_nospace.split(',');
        //var msg = "";
       // for(var j=0;j< email.length;j++)
       // {
       //     msg += "<br/>"+email[j];
       // }
        
       // alert(msg); 
        for (var sf_i = 0; sf_i < sf_email.length; sf_i++) 
        {
            if (!sf_filter.test(sf_email[sf_i])) 
            {
              document.getElementById(sf_email_field.id+"msg").innerHTML = "<span class='required'>Invalid Email Address format.</span>";
              return false;
            }
        }        
    }
    else 
    {
        sf_result = false;        
    }
    return(sf_result);    
}

// This method is executed after the email is sent
function sf_sendEmail_Postback(sf_response)
{
   var sf_ds = sf_response.value;
   if(sf_ds.Tables[0].Rows[0].status == "True")
   {
        document.getElementById("sf_SendToFriendForm").innerHTML = "<div ><a onclick='sf_windowClose();' style='float:right;'>X Close</a></div><br/><div class='frmfieldname'>This item has been sent. Thank you. </div>";
        
   }else 
   {
        document.getElementById("sf_SendToFriendForm").innerHTML = "<a onclick='sf_windowClose();' style='float:right;'>X Close</a><br/><div class='frmfieldname'>Due to an internal error, your email cannot be sent at this time, please try again later.</div>";    
   }
}

// Hides the div after Thank you message is displayed.
function sf_windowClose()
{
     document.getElementById("sf_SendToFriendForm").innerHTML = "";
     document.getElementById("sf_link").className = "send_to_a_friend stf_form_closed";
}

// removes spaces if mutiple email addresses are provided.
function sf_removeSpaces(sf_string) 
{
	var sf_tstring = "";
	sf_string = '' + sf_string;
	sf_splitstring = sf_string.split(" ");
	for(sf_i = 0; sf_i < sf_splitstring.length; sf_i++)
	sf_tstring += sf_splitstring[sf_i];
	return sf_tstring;
}

function sf_settargeturl(sf_url)
{
    sf_targeturl = sf_url;
    sf_usetargeturl = true;
}



