

if (!ask) var ask = {};
if (!ask.qotd) ask.qotd = {};

ask.qotd.SendMailController = {
     signUp: function(){
        var form = document.getElementById("signUpQOTD");
        var email = form["Email"];
        var terms = form["terms"];
        var isEmailValid = ask.qotd.SendMailController.emailValidate(email.value);
        if((ask.qotd.SendMailController.trim(email.value) != "") && terms.checked  && isEmailValid){
            document.domain="ask.com";
            form.action =  "http://" + GlobalNav.Constants.askDomain + "/cgi-bin/mail_qotd.py";
            form.submit();
            return false;

        }else{
            document.getElementById("errMsg").style.display = "block";
            document.getElementById("successMsg").style.display = "none";
        }
        return false;
    },

     emailValidate: function(str) {

        var at='@';
        var dot=".";
        var lat=str.indexOf(at);
        var lstr=str.length ;
        var ldot=str.indexOf(dot);

        if (str.indexOf(at)==-1){
           return false  ;
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
           return false;
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            return false;
        }

         if (str.indexOf(at,(lat+1))!=-1){
            return false;
         }

         if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            return false;
         }

         if (str.indexOf(dot,(lat+2))==-1){
            return false;
         }

         if (str.indexOf(" ")!=-1){
           return false;
         }

         return true;
    },

    afterMailSend: function(data) {
         if(data.status == 'success') {
             document.getElementById("errMsg").style.display = "none";
             document.getElementById("successMsg").style.display = "block";
            return;
        }
        document.getElementById("errMsg").style.display = "block";

     },

     setFocus: function(obj){
        var cond = true;
        var val = (obj.name == "Email") ? "Email Address" : "First and Last Name";
        if(obj.value == val)
            cond = false;
        if(!cond){
            obj.value = "";
        }
     },

     resetFocus: function(obj){
        if(obj.value == ""){
            var val = (obj.name == "Email") ? "Email Address" : "First and Last Name";
            obj.value = val;
        }
    },

    trim: function(s) {
       return s.replace(/^\s+/g, '').replace(/\s+$/g, '');
    },

    ismaxlength: function(obj){
        var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
        if(obj.getAttribute("id")!= null && obj.getAttribute("id") == "textAreapdiv"){
            if (obj.getAttribute && obj.innerHTML.length>mlength){
                obj.innerHTML=obj.innerHTML.substring(0,mlength);
            }
        }else{
            if (obj.getAttribute && obj.value.length>mlength){
                obj.value=obj.value.substring(0,mlength);
            }
        }
    },

    showval: function (){
        var message = $('message');
        var textareadiv= $('textAreapdiv');
        if(textareadiv){
            message.value = textareadiv.innerHTML;
        }
        ask.qotd.SendMailController.setRecaptchaFocusOnTab();
    },

    wrapMessage: function(){
        if($('message') == null || $('message').value == null){
            return;
        }
        var msg = $('message').value;
        var msgtext = 0;
        var endtext = msgtext + 21;
        while(endtext < msg.length ){
            if (msg.substring(msgtext,endtext + 1).indexOf(" ") > -1){
                msgtext = msgtext + msg.substring( msgtext, endtext + 1).indexOf(" ") + 1;
                endtext = msgtext + 21;
            }
            else{
                msg = msg.substring(0,msgtext) + msg.substring( msgtext, endtext) + " " + msg.substring(endtext,msg.length);
                msgtext = endtext + 1;
                endtext = msgtext + 21;
                $('message').value = msg;
           }
        }
     },

    iframeLoad: function(){
         if (document.getElementById('firstLoad').value == "true") {
             document.getElementById('qotdName').focus();
             document.getElementById('firstLoad').value = "false";
         } else {
             ask.qotd.SendMailController.setRecaptchaFocus();
         }
    },

    setRecaptchaFocus: function(){
        if (a10.browser.isFirefox() || a10.browser.isOpera())
        {
            $('recaptcha').contentWindow.document.getElementById('recaptcha_response_field').focus();
        } else {
            var fr = frames['recaptcha'].document.forms[0];
            fr['recaptcha_response_field'].focus();
        }
     },

    setRecaptchaFocusOnTab: function(evt){
        var evt = (evt) ? evt : ((event) ? event : null);
        if(evt.keyCode == 9 && !(evt.shiftKey)) {
            ask.qotd.SendMailController.setRecaptchaFocus();
            if(a10.browser.isSafari() || a10.browser.isFirefox() || a10.browser.isOpera()){
                evt.stopPropagation();
                evt.preventDefault();
            }else if(a10.browser.isIE()){
                window.event.returnValue = false;
            }
            return false;
        }
    },    

    createURLParam : function(){
        var form = $('qotdform');
        var urlParam = "";
        var formElements = form.getElementsByTagName("input");
        var k = 0;
        for(var i = 0; i < formElements.length; i++){
            if(i == 0){
                urlParam = urlParam + formElements[i].name + "=" + escape(formElements[i].value);
            }else{
                urlParam = urlParam + "&" + formElements[i].name + "=" + escape(formElements[i].value);
            }
            k = 1;
        }
        formElements = form.getElementsByTagName("textarea");
        for(var i = 0; i < formElements.length; i++){
            if(k == 1){
                urlParam = urlParam + "&" + formElements[i].name + "=" + escape(formElements[i].value);
            }else{
                urlParam = urlParam + formElements[i].name + "=" + escape(formElements[i].value);
            }
        }
        return urlParam;
    },

    submitFeedback : function () {
        var form = $('qotdform');
        var email = this.trim(form.Email.value);
        var message = this.trim(form.message.value);
        document.domain="ask.com";

        this.removeError();

        var messageError = message == "";
        var emailError = !this.emailValidate(email);
        var error = messageError || emailError;

        if(emailError){
            form.Email.focus();
            this.showError($('email'), $('emailWarning'));
        }
        if(messageError){
            form.message.focus();
            this.showError($('message'), $('messageWarning'));
        }
        if (error) {
            this.displayError(GlobalNav.Messages.sendtomailsa_fromto_error);
            return false;
        }

        if (a10.browser.isFirefox() || a10.browser.isOpera() )
        {
           if($('recaptcha') && $('recaptcha') != null && $('recaptcha').contentWindow != null && $('recaptcha').contentWindow.document != null )
            {
               try{
                    if($('recaptcha').contentWindow.document.getElementById('recaptcha_response_field') != null && $('recaptcha').contentWindow.document.getElementById('recaptcha_challenge_field') != null){
                            $('recaptchaResponse').value = $('recaptcha').contentWindow.document.getElementById('recaptcha_response_field').value;
                            $('recaptchaImage').value = $('recaptcha').contentWindow.document.getElementById('recaptcha_challenge_field').value;
                      }
                }
                catch(e){
                }
            }
        } else {
           try{
              if(frames['recaptcha'] != null && frames['recaptcha'].document != null && frames['recaptcha'].document.forms != null && frames['recaptcha'].document.forms[0] != null){
                var fr = frames['recaptcha'].document.forms[0];
                if(fr['recaptcha_challenge_field'] != null && fr['recaptcha_response_field'] != null){
                    $('recaptchaImage').value = fr['recaptcha_challenge_field'].value;
                    $('recaptchaResponse').value = fr['recaptcha_response_field'].value;
                 }
              }
            }catch(e){
            }
        }

        var urlParam = this.createURLParam();
        var actionURL = form.action;

        a10.ajax.post( actionURL, urlParam, onSuccess, onFailure);

        function onSuccess(response) {
            if(response.responseText.indexOf("success_sendtomail") > -1){
                var resp = response.responseText;
                resp = resp.replace("success_sendtomail","");
                $('qotd_content').innerHTML=resp;
                return;
            }else if (response.responseText.indexOf("Recaptcha Failure") > -1){
                ask.qotd.SendMailController.displayError(GlobalNav.Messages.sendtomailsa_recaptcha_error);
                ask.qotd.SendMailController.showError($('antispam'),$('antispamWarning'));
                var f = document.getElementById('recaptcha');
                f.src = f.src;
                return;
            }
            ask.qotd.SendMailController.displayError(GlobalNav.Messages.sendtomailsa_server_not_available);
        }

        function onFailure(response) {
            ask.qotd.SendMailController.displayError(GlobalNav.Messages.sendtomailsa_server_not_available);
        }
      return false;
    },

    showError: function(errLabel,errIco) {
        errLabel.className = "T14";
        errIco.style.display = "block";
    },

    trim : function(s) {
        return s.replace(/^\s+/g, '').replace(/\s+$/g, '');
    },

    displayError: function(err) {
        if($('qotdError') != null) {
            $('qotdError').innerHTML = err;
            $('qotdError').style.display= "block";
            $('qotdErrorWarning').style.display = "block";
        }
    },

    removeError: function() {
        $('qotdError').style.display= "none";
        $('qotdErrorWarning').style.display = "none";
        $('antispam').className = "T1";
        $('antispamWarning').style.display = "none";
        $('email').className = "T1";
        $('emailWarning').style.display = "none";
        $('message').className = "T1";
        $('messageWarning').style.display = "none";
    }

};