# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - Email Address Insertion macro

    EmailScript(name=my.name, dom=the.domain.com)

    Inserts a JavaScript snippet such that the user sees an html mailto link
    but browsers such as spambots, that don't generally run JS, dont.
    Note that it matters how the lines containing script and /script are
    formatted.

    Copyright (c) 2007 by Ruth Ivimey-Cook
    
"""


import os

def execute(macro, args):
    request=macro.request

    data = u''
    if args:
        # Arguments are comma delimited key=value pairs
        sargs = args.split(',')
	params = {}
        for item in sargs:
            sitem = item.split('=')
        
            if len(sitem) == 2:
                key, value = sitem[0], sitem[1]
                params[key.strip()] = value.strip()

	name = params.get('name', 'user')
	dom = params.get('dom', 'host')
        
	data =        u'<script language="JavaScript"><!--\n'
	data = data + u'var n = "%s"; var d = "%s";\n'  % (name, dom)
	data = data + u'document.write(\'<a href=\"mailto:\' + n + \'@\' + d + \'\\\">\');\n'
	data = data + u'document.write(n + \'@\' + d + \'</a>\');\n'
	data = data + u'// --></script>\n'

    return data
