addLoadEvent(setupMap);


function setupMap()
{
	var map;
	map = getElement('usamap');
    if (!map) return;

	for (i = 0; i < map.childNodes.length; i++)
	{
		setNodeAttribute(map.childNodes[i], 'href', 'javascript: getState(\'' + getNodeAttribute(map.childNodes[i], 'alt')+ '\')');
	}
	appendChildNodes(currentDocument().body, removeElement($('state')));


	var print;
	print = getElement('print');
	setStyle(print, {'color': '#fff'});

	connect(print, 'onclick', function () {
		setNodeAttribute(this, 'href', 'javascript:{}');
		window.open(base_url + 'assets/snippets/locator/map/getstate.php?id=' + $('stateAbbr').value + '&doc=full');
	});

	var close;
	close = getElement('close');
	setStyle(close, {'color': '#fff'});
	connect(close, 'onclick', function () {
		setNodeAttribute(this, 'href', 'javascript:{}');
		hideElement('state');
		return false;
	});
}

function getState(str)
{
	var d =	doSimpleXMLHttpRequest(base_url + "assets/snippets/locator/map/getstate.php", {id: str});
	$('stateAbbr').value = str;
	d.addCallback(showState);
}

function showState(data)
{
	var e;
	e = getElement('locations');
	e.innerHTML = data.responseText;
	var vp = getViewportPosition();
	var vd = getViewportDimensions();
	var lp = new Coordinates(vp.x + vd.w / 2 - 165, vp.y + vd.h / 4 - 20);
	var l;

	l = getElement('state');


	if (getStyle(l, 'display') == 'block')
	{
	}
	else
	{
		setElementPosition(l, lp);
		showElement(l);
        showEA();
	}

}

function showEA() {
    var ea = $$('span._ea');
    var id = '';
    for (i = 0; i < ea.length; i++) {
        id = 'id[]=' + ea[i].id.substr(3) + '&' + id;
    }

    var data = id + 'js=1';
    var d = doXHR(base_url + "assets/libs/locator/getE.php", {'method': 'post', 
                                                                'sendContent': data, 
                                                                'mimeType': 'application/x-www-form-urlencoded',
                                                                'headers': {'content-type': 'application/x-www-form-urlencoded'}
                                                            });
    d.addCallback(processEA);
}

var _ea;
function processEA(data) {
    _ea = eval('(' + data.responseText + ')');
    var spans = $$('span._ea');
    for (i = 0; i < spans.length; i++) {
        spans[i].innerHTML = sss(_ea[spans[i].id.substr(3)]['emailaddress'], _ea[spans[i].id.substr(3)]['n'], false);
    }

    var anchors = $$('a._ea');
    for (i = 0; i < anchors.length; i++) {
        setNodeAttribute(anchors[i], 'href', 'mailto:' + sss(_ea[anchors[i].id.substr(2)]['emailaddress'], _ea[anchors[i].id.substr(2)]['n'], true));
    }

    var spans = $$('span._ea2');
    for (i = 0; i < spans.length; i++) {
        spans[i].innerHTML = sss(_ea[spans[i].id.substr(4)]['emailaddress2'], _ea[spans[i].id.substr(4)]['n'], false);
    }

    var anchors = $$('a._ea2');
    for (i = 0; i < anchors.length; i++) {
        setNodeAttribute(anchors[i], 'href', 'mailto:' + sss(_ea[anchors[i].id.substr(3)]['emailaddress2'], _ea[anchors[i].id.substr(3)]['n'], true));
    }
}

function sss(str, n, urlEncode) {
    var s = new String();
    str = new String(str);
    for (var i = 0; i < str.length; i++) {
        if (urlEncode) {
            s = s.concat(String.fromCharCode(str.charCodeAt(i) - n));
        } else {
            s = s.concat('&#' + (str.charCodeAt(i) - n));
        }

    }
    return s;
}

function setupMT(id, second) {
    var data = 'id[]=' + id + '&js=1';
    var d = doXHR(base_url + "assets/libs/locator/getE.php", {'method': 'post', 
                                                                'sendContent': data, 
                                                                'mimeType': 'application/x-www-form-urlencoded',
                                                                'headers': {'content-type': 'application/x-www-form-urlencoded'}
                                                            });
    d.addCallback(function(dat) {
        var _ea = eval('(' + dat.responseText + ')');

        if (!second) {
            setNodeAttribute($('a_' + id), 'href', 'mailto:' + _ea[id]['emailaddress']);
        } else {
            setNodeAttribute($('a2_' + id), 'href', 'mailto:' + _ea[id]['emailaddress2']);

        }

    });
}
