Change your script as follows:
Since your SplitData using **I** variable instead of **j** variable. Also use RemoveClass method before Adding Classes. This may made your function recursively.
<script>
function highlight(list) {
var jsVariable = list;
var area = document.getElementsByTagName('area')
var ary = []
for (var zxc0 = 0; zxc0 < area.length; zxc0++) {
ary.push(area);
}
var isfound = false;
for (var i = 0; i < area.length; i++) {
isfound = false;
for (var j = 0; j < jsVariable.length; j++) {
if (area[i].getAttribute('title').trim() == jsVariable[j].trim().split(":")[0].trim()) {
isfound = true;
$(area[i]).each(function ()
{
$(this).removeClass().addClass('Highlight_' + i)
var data = {};
$('.map').maphilight();
data.alwaysOn = true;
data.fillColor = jsVariable[j].trim().split(":")[1].trim();
$(this).data('maphilight', data).trigger('alwaysOn.maphilight');
});
}
if (!isfound) {
$(area[i]).each(function ()
{
$(this).removeClass().addClass("NoHighLight");
});
}
}
}
}
</script>