﻿function mailboxOpen()
{
    document.getElementById('divsend').style.display=='none'?document.getElementById('divsend').style.display='block':document.getElementById('divsend').style.display='none';
    document.getElementById('sendMailBtn').disabled = true;
    return false;
}

function closeMail()
{
    //document.getElementById('mailfronTXT').value ="";
    //document.getElementById('mailtoTXT').value ="";
    //document.getElementById('subjectTXT').value="";
    document.getElementById('divsend').style.display='none';
    document.getElementById('sendMailBtn').disabled = false;
    return false;
}

function checkMail()
{
    var flag=true;
    if(document.getElementById('mailfronTXT').value ==null || trimAll(document.getElementById('mailfronTXT').value)=="") 
    {
        alert('please enter mail from');
        document.getElementById('mailfronTXT').focus();
        flag=false;
        return false;
    }
    if(document.getElementById('mailfronTXT').value !=null || trimAll(document.getElementById('mailfronTXT').value)!="") 
    {
        var email = document.getElementById('mailfronTXT');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (!filter.test(email.value)) 
        {
             alert('Please provide a valid email address');
             document.getElementById('mailfronTXT').focus();
             flag=false;
             return false;
        }          
    }
    if(document.getElementById('mailtoTXT').value ==null || trimAll(document.getElementById('mailtoTXT').value)=="") 
    {
        alert('please enter mail to');
        document.getElementById('mailtoTXT').focus();
        flag=false;
        return false;
    }
    if(document.getElementById('mailtoTXT').value !=null || trimAll(document.getElementById('mailtoTXT').value)!="") 
    {
        var email = document.getElementById('mailtoTXT');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var allMail = email.value.split(",");
        for(var i=0;i<allMail.length;i++)
        {
            if (!filter.test(allMail[i]))
            {
                 alert('Please provide a valid email address:' + allMail[i]);
                 document.getElementById('mailtoTXT').focus();
                 flag=false;
                 return false;
            }
        }
    }
    if(document.getElementById('subjectTXT').value ==null || trimAll(document.getElementById('subjectTXT').value)=="") 
    {
        alert('please enter subject');
        document.getElementById('subjectTXT').focus();
        flag=false;
        return false;
    }
    if(flag==false)
    {
        return false;
    }
    else
    {
        sendEmailsWithBody();
    }
 }


function sendEmailsWithBody()
{
    var oReq = zXmlHttp.createRequest();
    var mailFrom= document.getElementById('mailfronTXT').value ;
    var mailto=document.getElementById('mailtoTXT').value ;
    var subject=document.getElementById('subjectTXT').value ;
    var bodytext=document.getElementById('myTextArea').value; 
    bodytext=removeHTMLString(bodytext);
    var param = "MAILFROM=" + mailFrom + "&MAILTO=" + mailto + "&SUBJECT=" + subject+"&BODYTEXT="+bodytext;
    var oReqHandler = zXmlHttp.createRequest();
    oReqHandler.onreadystatechange = function () {
	    if (oReqHandler.readyState == 4) {
	        if (oReqHandler.status == 200) {
                processMail(oReqHandler.responseText);
            }
        }
    };
    var currentURl = location.href;
    currentURl = currentURl.replace(currentURl.substring(currentURl.lastIndexOf('/') + 1),"");
    var handlerURL = currentURl + "eIndica-Adv/mailHandler.ashx";
    oReqHandler.open("POST", handlerURL, true);
    oReqHandler.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");  // new
    oReqHandler.setRequestHeader("Cache-Control", "no-cache"); // new
    oReqHandler.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    oReqHandler.setRequestHeader("Content-length", param.length);
    oReqHandler.setRequestHeader("Connection", "close");
    oReqHandler.send(param);
}

function processMail(result)
{
 alert(result);
}

function removeHTMLString(str)
{
    str = str.replace(/<span([^>])*>(&nbsp;)*\s*<\/span>/gi, '');
    str = str.replace(/<span[^>]*>/gi, '');
    str = str.replace(/<\/span[^>]*>/gi, '');
    str = str.replace(/<p([^>])*>(&nbsp;)*\s*<\/p>/gi, '');
    str = str.replace(/<p[^>]*>/gi, '');
    str = str.replace(/<\/p[^>]*>/gi, '');
    str = str.replace(/<h([^>])[0-9]>(&nbsp;)*\s*<\/h>/gi, '');
    str = str.replace(/<h[^>][0-9]>/gi, '');
    str = str.replace(/<\/h[^>][0-9]>/gi, ''); 
    str = str.replace (/<B [^>]*>/ig, '<b>');
    str = str.replace (/<DIV[^>]*>/ig, '');
    str = str.replace (/<\/DIV>/gi, '');
    str = str.replace (/<[\/\w?]+:[^>]*>/ig, '');
    str = str.replace (/(&nbsp;){2,}/ig, '&nbsp;');
    str = str.replace (/<STRONG>/ig, '');
    str = str.replace (/<\/STRONG>/ig, '');
    str = str.replace (/<TT>/ig, '');
    str = str.replace (/<\/TT>/ig, '');
    str = str.replace (/<FONT [^>]*>/ig, '');
    str = str.replace (/<\/FONT>/ig, '');
    str = str.replace (/STYLE=\"[^\"]*\"/ig, '');
    str = str.replace(/<([\w]+) class=([^ |>]*)([^>]*)/gi, '<$1$3');
    str = str.replace(/<([\w]+) style="([^"]*)"([^>]*)/gi, '<$1$3'); 
    str = str.replace(/width=([^ |>]*)([^>]*)/gi, '');
    str = str.replace(/classname=([^ |>]*)([^>]*)/gi, '');
    str = str.replace(/align=([^ |>]*)([^>]*)/gi, '');
    str = str.replace(/valign=([^ |>]*)([^>]*)/gi, '');
    str = str.replace(/<\\?\??xml[^>]>/gi, '');
    str = str.replace(/<\/?\w+:[^>]*>/gi, '');
    str = str.replace(/<st1:.*?>/gi, '');
    str = str.replace(/o:/gi, ''); 
    str = str.replace(/<!--([^>])*>(&nbsp;)*\s*<\/-->/gi, '');
    str = str.replace(/<!--[^>]*>/gi, '');
    str = str.replace(/<\/--[^>]*>/gi, '');
    str = str.replace(/\r\n/ig, '<br>');
    str = str.replace(/&nbsp;/ig, '');
    return str;
}