function shuffle(o){
    for(var j,x,i=o.length;i;j=parseInt(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);
    return o;
}
function randomString(iLen){
    var sChrs='abcdefghijklmnopqrstuvwxyz';
    var sRnd='';
    for(var i=0;i<iLen;i++){
        var randomPoz=Math.floor(Math.random()*sChrs.length);
        sRnd+=sChrs.substring(randomPoz,randomPoz+1);
    }
    return sRnd;
}
function validateEmail(elementValue){
    var emailPattern=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
    return emailPattern.test(elementValue);
}
function encodeAddress(email){
    address=email;
    if(validateEmail(address)){
        address="<a href=\"mailto:"+address+"\" class=\"email\">"+address+"</a>";
        var arr=new Array();
        for(var i=0;i<address.length;i++){
            arr[i]=i;
        }
        var shuff_arr=shuffle(arr);
        var newmail="";
        var arr_mail_varname=randomString(7);
        var arr_index_varname=randomString(7);
        while(arr_index_varname==arr_mail_varname)arr_index_varname=randomString(7);
        var arr_res_varname=randomString(7);
        while(arr_res_varname==arr_mail_varname||arr_res_varname==arr_index_varname)arr_res_varname=randomString(7);
        ;
        var str_res_mail="var "+arr_mail_varname+" = [";
        var str_res_array="var "+arr_index_varname+" = [";
        for(var i=0;i<shuff_arr.length;i++){
            str_res_mail+="'"+address.charAt(shuff_arr[i])+"',";
            str_res_array+=""+shuff_arr[i]+",";
            newmail+=address.charAt(shuff_arr[i]);
        }
        str_res_mail=str_res_mail.substr(0,str_res_mail.length-1);
        str_res_array=str_res_array.substr(0,str_res_array.length-1);
        str_res_mail+="];";
        str_res_array+="];";
        var str_code_decoder="var "+arr_res_varname+"= new Array();for(var i=0;i<"+arr_index_varname+".length;i++){"+arr_res_varname+"["+arr_index_varname+"[i]] = "+arr_mail_varname+"[i]; }for(var i=0;i<"+arr_res_varname+".length;i++){document.write("+arr_res_varname+"[i]);}";
        var cad_return="<script type=\"text/javascript\"><!--\n"
        cad_return+=str_res_mail+str_res_array+str_code_decoder+"\n";
        cad_return+="// --><\/script>\n";
        cad_return+="<noscript>Włącz obsługę JavaScript, aby zobaczyć adres e-mail</noscript>";
        return cad_return;
    } else{
        return false
    }
}
