function show_help(event, help_text) {
    if(!event) event = window.event;
    var element = event.target || event.srcElement;
    var div = document.getElementById("help_div");
    if (element && div) {
        var coor = get_position(element);
        div.innerHTML="<a onclick=\"return clear_help()\" href=\"\"><img src=http://img.mail.ru/mail/ru/images/blogs/close_help.gif height=7 width=7 border=0 align=right></a><br>"+help_text;
        div.className="help_div";
        div.style.top = (coor.top+element.offsetHeight)+"px";
        div.style.left = coor.left+"px";
        div.style.display = "none";
        div.style.display = "block";
        div.style.visibility = "visible";
        event.cancelBubble = true;
    }
    return false;
}

function show_error(event, text, right) { 
    if (!event) {
        event = window.event;
    }
    var element = event.target || event.srcElement;
    var div = document.getElementById("help_div");
    if (element && div) {
        var coor = get_position(element);
        div.innerHTML = "<a onclick=\"return clear_help()\" href=\"\"><img src=http://img.mail.ru/mail/ru/images/blogs/close_help.gif height=7 width=7 border=0 align=right></a><br />" + text;
        div.className = "error_div";
        div.style.top = coor.top + element.offsetHeight + "px";
        div.style.display = "none";
        div.style.display = "block";
        div.style.visibility = "visible";
        if (right)
            div.style.left = (coor.left - div.offsetWidth + element.offsetWidth)+"px";
        else
            div.style.left = coor.left + "px";
        event.cancelBubble = true;
    }
    return false;
}

function show_help_2(event, help_text) {
    if (!event) event = window.event;
    var element = event.target || event.srcElement;
    var div = document.getElementById("help_div");
    if (element && div) {
        var coor = get_position(element);
        div.innerHTML="<a onclick=\"return clear_help()\" href=\"\"><img src=http://img.mail.ru/mail/ru/images/blogs/close_help.gif height=7 width=7 border=0 align=right></a><br>"+help_text;
        div.className="help_div";
        div.style.top = (coor.top+element.offsetHeight)+"px";
        div.style.display = "none";
        div.style.display = "block";
        div.style.visibility = "visible";
        div.style.left = (coor.left - div.offsetWidth + element.offsetWidth)+"px";
        event.cancelBubble = true;
    }
    return false;
}

function clear_help() {
    var div = document.getElementById("help_div");
    if (div) {
        div.className = "help_div";
        div.style.display = "none";
    }
    return false;
}

function get_position(el) { return getElemPos(el) }

function hide_help (event){
    var check_f = document.getElementById("help_div");
    if (check_f) {
        var event = (event) ? event : ((window.event) ? event : null );
        var element = (event && event.target) ? event.target : ((event && event.srcElement) ? event.srcElement : null);
        if (element && element.id != "help_div" && element.tagName != "A") {
            check_f.style.display = "none";
        }
    }
}

var PerlVar_ActiveID = PerlVar_ActiveID ? PerlVar_ActiveID : 'ActiveID';
var Helps = [];
var helpData = {
    'challenge-plus10': '<h2 class="fl pr5">В десятку!</h2><a href="/megavote">Подробнее</a><div class="mb5 mt5 cl_b"><span class="gr_999">Возможность ставить оценку +10 в течение 1 часа.</span><br>Для участия отправьте SMS</div><div class="code">с кодом</div><div class="right_code"><b class="orange">51+' + PerlVar_ActiveID + '</b></div><div class="code">на номер</div><div class="right_code"><div class="fll orange" style="height: 30px; width: 40px;"><b id="UserShortNumber">4446</b></div>Если вы находитесь в <span id="UserCountry">России</span><br><a onclick="return newHelp(event, \'challenge-country\', 180, { top: 0, left: 0 });" href="#" noclose=1>Другая страна</a></div><div class="mt5">Стоимость услуги: 0,99 у.е. без НДС.<br><a href="http://rates.mail.ru/">Условия предоставления услуги</a></div>',	
    'challenge-x2': '<h2 class="fl pr5">Двустволка</h2><a href="/double">Подробнее</a><div class="mb5 mt5 cl_b"><span class="gr_999">Все голоса за вас умножаются в течении 1 часа.</span><br>Для участия отправьте SMS</div><div class="code">с кодом</div><div class="right_code"><b class="orange">35+' + PerlVar_ActiveID + '</b></div><div class="code">на номер</div><div class="right_code"><div class="fll orange" style="height: 30px; width: 40px;"><b id="UserShortNumber">4446</b></div>Если вы находитесь в <span id="UserCountry">России</span><br><a onclick="return newHelp(event, \'challenge-country\', 180, { top: 0, left: 0 });" href="#" noclose=1>Другая страна</a></div><div class="mt5">Стоимость услуги: 0,99 у.е. без НДС.<br><a href="http://rates.mail.ru/">Условия предоставления услуги</a></div>',
	'challenge-country' : '<table class="code_counties"><tr> <td class="w-50 gr_999 pb3">Номер</td><td class="gr_999 pb3">Страна</td></tr><tr><td></td><td><div class="code_bord"></div></td></tr><tr><td class="bb">4446</td><td class="code_bord"><ul><li onclick="setCountry(event, \'ru\');">Россия</li><li onclick="setCountry(event, \'ua\');">Украина</li><li onclick="setCountry(event, \'kz\');">Казахстан</li><li onclick="setCountry(event, \'am\');">Армения</li><li onclick="setCountry(event, \'ge\');">Грузия</li><li onclick="setCountry(event, \'tj\');">Таджикистан</li><li onclick="setCountry(event, \'az\');">Азербайджан</li><li onclick="setCountry(event, \'uz\');">Узбекистан</li></ul></td></tr><tr><td></td><td><div class="code_bord"></div></td></tr><tr><td class="bb">1824</td><td><ul><li onclick="setCountry(event, \'lv\');">Латвия</li></ul></td></tr><tr><td class="bb">1624</td><td><ul><li onclick="setCountry(event, \'lt\');">Литва</li></ul></td></tr><tr><td class="bb">1302</td><td><ul><li onclick="setCountry(event, \'ee\');">Эстония</li></ul></td></tr><tr><td class="bb">82300</td><td><ul><li onclick="setCountry(event, \'de\');">Германия</li></ul></td></tr><tr><td class="bb">4070</td><td><ul><li onclick="setCountry(event, \'il\');">Израиль</li></ul></td></tr><tr><td class="bb"></td><td><ul></ul></td></tr></table>'
};

function newHelp(event, code, width, shift) {
    event = event || window.event;
    var element = event.target || event.srcElement;
	if(gebi("help_div_"+code)) closeHelp(event, 1);
    if (element) {
		element.blur();
        var div = document.createElement('div');
        div.innerHTML = '<div class="helpDivIn" id="help_div_' + code + '"><i class="break" onclick="return closeHelp(event, 1);"></i>' + helpData[code] + '</div>';
        div.className = 'helpDiv';
        if (width) div.style.width = width + 'px';
        var coor = getElemPos(element);
        shift.top = shift.top || 0;
        shift.left = shift.left || 0;
        div.style.top = coor.top + shift.top + 'px';
        div.style.left = coor.left + shift.left + 'px';

        Helps.push(div);
		
        cancelEvent(event);
        document.body.appendChild(div);
    }
    return false;
}

function closeHelp(event, close) {
    if (!Helps.length) return;
    event = event || window.event;
    var element = event.target || event.srcElement;
	if ($(element).getAttribute('noclose')) return;
    if (!checkParent(element) || close) {
		var helpdiv = Helps.pop();
		if(helpdiv) helpdiv.parentNode.removeChild(helpdiv);
		return false;
    }
    return true;
}

addHandler(document, 'click', closeHelp);

function checkParent(element) {
    var reg = /^help_div_\w/;
    if(reg.test(element.id)) return 1;
    while(element.parentNode) {
	element = element.parentNode;
	if(reg.test(element.id)) return 1;
    }
    return 0;
}

function setCountry(event, cut) {
    var Countries = {
	"ru":['России',4446], 
	"ua":['Украине',4446], 
	"kz":['Казахстане',4446], 
	"am":['Армении',4446], 
	"ge":['Грузии',4446], 
	"tj":['Таджикистане',4446], 
	"az":['Азербайджане',4446], 
	"uz":['Узбекистане',4446], 
	"lv":['Латвии',1824], 
	"lt":['Литве',1624], 
	"ee":['Эстонии',1302], 
	"de":['Германии',82300], 
	"il":['Израиле',4070]
    };
    $('UserCountry').innerHTML = Countries[cut][0];
    $('UserShortNumber').innerHTML = Countries[cut][1];
    closeHelp(event, 1);
    return false;
}