﻿//=============================================================================
var sendMailFrmValidator = null;

var gAction;
var gTrekID;
var gEnforceReceipientValidation = false;

var valFromReadonly = "";
var valFrom         = "";
var valToReadonly   = "";
var valTo           = "";
var valSubject      = "";
var valBody         = "";
//=============================================================================
function sendMailPopupInit()
{
    //hideTooltip();
    //try{_ToolTip.setContainer("toolTipPopup");_ToolTip.hide();}catch(e){}
    sendMailFrmValidator = new Validator("SendMailForm");
    sendMailFrmValidator.addValidation("txtFrom",  "required");
    sendMailFrmValidator.addValidation("txtFrom",  "email");
    sendMailFrmValidator.addEvent("txtFrom", "onblur", "email");  
    sendMailFrmValidator.addEvent("txtFrom", "onkeypress");
            
    if(gEnforceReceipientValidation)
    {
         sendMailFrmValidator.addValidation("txtTo",  "required");
         sendMailFrmValidator.addValidation("txtTo",  "email");
         sendMailFrmValidator.addEvent("txtTo", "onblur", "email");  
         sendMailFrmValidator.addEvent("txtTo", "onkeypress");  
         $("txtTo").setAttribute('multipleEmails', 'multiple');
         //$("txtTo").setAttribute('multipleEmails', 'single');  
    }
    
    sendMailFrmValidator.addValidation("txtSubject", "required");
    sendMailFrmValidator.addEvent("txtSubject", "onkeypress");    
    
    sendMailFrmValidator.addValidation("txtBody", "required");
    sendMailFrmValidator.addEvent("txtBody", "onkeypress");    
        
    $("txtFrom").setAttribute('toolTipPlaceHolder', 'toolTipPopup');
    $("txtTo").setAttribute('toolTipPlaceHolder', 'toolTipPopup');
    $("txtSubject").setAttribute('toolTipPlaceHolder', 'toolTipPopup');
    $("txtBody").setAttribute('toolTipPlaceHolder', 'toolTipPopup');
        
    //addEvent(document, "keypress", sendMailCheckEvent); 
    //addEvent(document, "keydown", sendMailCheckEventBackspace);
        
    $("txtTo").focus();
}
//=============================================================================
function initFromFields(fromEmailAddress)
{
    valFrom = fromEmailAddress;
    if(fromEmailAddress.length > 0)
    {
         valFromReadonly = "readonly=\"readonly\" ";
    }
}
//=============================================================================
function initToFields()
{
    var text           = "";
    var disableEditing = true;
    switch(gAction)
    {
         case "privacy":
         case "copyright":
              text = "TrekinU Legal Department";
              break;
         case "contactus":
              text = "TrekinU Team";
              break;
         case "share":
              disableEditing = false;
              break;
         default:
              break;
    }
    valTo = text;
    valToReadonly = disableEditing ? "readonly=\"readonly\" " : "";
}
//=============================================================================
function initSubjectField()
{
    var text = "";
    switch(gAction)
    {
         case "privacy":
              text = "Privacy Policy Inquiry";
              break;
         case "copyright":
              text = "Copyright Violation Report";
              break;
         case "contactus":
              text = "General Inquiry";
              break;
         case "share":
              text = "Watch this! " + getTrekLink();
              break;
         default:
              break;
    }
    valSubject = text;
}
//=============================================================================
function initMessageField()
{
    var text = "";
    switch(gAction)
    {
         case "privacy":
         case "copyright":
         case "contactus":
              break;
         case "share":
              text = "Watch this trek";
              break;
         default:
              break;
    }
    valBody = text;
}
//=============================================================================
function getTrekLink()
{
    return "http://www.trekinu.com/viewtrek.aspx?trkid=" + gTrekID;
}
//=============================================================================
function sendMailSendMail()
{
    if(sendMailFrmValidator.formobj.onsubmit())
    {
         var request = new Ajax.Request(Ajax.RequestMethod.Post, "/api/mailhandler.ashx", handleSendMailResults, true);
         request.AddParam("TrekID", gTrekID);
         request.AddParam("ContactType", gAction);
         request.AddParam("From",    $("txtFrom").value);
         request.AddParam("To",      $("txtTo").value);
         request.AddParam("Subject", $("txtSubject").value);
         request.AddParam("Body",    $("txtBody").value);
         var requests   = new Ajax.PageRequests(request);
         var connection = new Ajax.Connection(requests);
         connection.Open();
    }
}
//=============================================================================     
function handleSendMailResults(src)
{
    if(src.ReadyState == 4)
    {
         if(src.Status == 200)
         { 
              if(enforceLoginByResponse(src.ResponseText)) 
              {
                   return;
              }
              if(src.ResponseText == "<Result>Ok</Result>")
              {
                   handleResponse(1);
              }
              else
              {
                   handleResponse(0);
              }
         }
    }
}
//=============================================================================
/*function sendMailCheckEventBackspace(e)
{
     if (e && isBackspaceClicked(e) && !sendMailCheckBackspaceID((e.srcElement || e.target).id))
         return false;
}*/
//=============================================================================
/*function sendMailCheckBackspaceID(id)
{
    if (gEnforceReceipientValidation)
         return (new Array("txtTo", "txtSubject", "txtBody")).IndexOf(id) != -1;
    else
         return (new Array("txtSubject", "txtBody")).IndexOf(id) != -1;    
}*/
//=============================================================================
/*function sendMailCheckEvent(e)
{
    if (e && isEnterClicked(e) && (e.srcElement || e.target).id != "txtBody")
        sendMailSendMail();
        
    if (e && isEscClicked(e))
    {
        try
        {
            _ToolTip.setContainer("toolTipPopup");
            (_ToolTip && _ToolTip.isVisible()) ? _ToolTip.hide() : window.top.hidePopWin();
        }
        catch(e){}
    }
}*/
//=============================================================================
/*function sendMailPopupFinalize()
{
    try{_ToolTip.clear();}catch(e){}
}*/   
//=============================================================================
function buildSendMailPopupHTML(action, trekID, loggedinEmail)
{
    gAction = action;
    gTrekID = trekID;
    gEnforceReceipientValidation = (gAction == "share")
    
    initFromFields(loggedinEmail);
    initToFields();
    initSubjectField();
    initMessageField();    
    
    return  '<form id="SendMailForm" method="post" class="dialog">' +
                '<table border="0" cellspacing="0" cellpadding="4" class="dialog">' +
                    '<tr>' +
                        '<td class="dialog_title">* Your Email:</td>' +
                        '<td class="dialog_wide"><input type="text" id="txtFrom" class="dialog_wide" ' + valFromReadonly + ' value="' + valFrom + '" /></td>' +
                    '</tr>' +
                    '<tr>' +
                        '<td class="dialog_title">To:</td>' +
                        '<td class="dialog_wide"><input type="text" id="txtTo" class="dialog_wide" ' + valToReadonly + ' value="' + valTo + '" /></td>' +
                    '</tr>' +
                    '<tr>' +
                        '<td class="dialog_title">Subject:</td>' +
                        '<td class="dialog_wide"><input type="text" id="txtSubject" class="dialog_wide" value="' + valSubject + '" /></td>' +
                    '</tr>' +
                    '<tr>' +
                        '<td class="dialog_title">Message:</td>' +
                        '<td class="dialog_textarea"><textarea id="txtBody" class="dialog">' + valBody + '</textarea></td>' +
                    '</tr>' +
                    '<tr>' +
    					'<td>* Required Field</td>' +
					    '<td><a href="javascript:sendMailSendMail();" title="Send Email">Send Email</a></td>' +
				    '</tr>' +
                '</table>' +
            '</form>';
}
