
var $message = null;
var ajax_container = null;
var TID = null;
var can_leave = true;
var leave_href = "";

function get_el(el)
{
	if(el.jquery)
		el = el[0];
	else if(typeof el == "string" && /^#.*/.test(el))
		el = el.slice(1);
	if(typeof el == "string")
		el = document.getElementById(el);
	return el;
}

function align_el(el)
{
	var ww = $(window).width();
	var wh = $(window).height();
	var el = get_el(el);
	var leftp = ((ww - el.offsetWidth) / 2)+'px';
	var topp = ((wh - el.offsetHeight) / 2)+'px';
	$(el).css('position', 'fixed');
	$(el).css('left', leftp);
	$(el).css('top', topp);
}

function remove_el(el)
{
	var $el = $(get_el(el));
	$el.remove();
	$message = null;
	$("body").removeClass("disable").find("#disable").addClass("hd");
}

function show_message(
	mess_type,           // type of message {cancel,ok,note}
	mess_ok_txt,         // ok button text
	mess_cn_txt,         // cancel button text if empty there will be only ok button
	mess_hdr,            // header text if empty will be only text message
	mess_txt,            // message
	mess_ok_func,        // bind to ok
	mess_ok_func_args,   // bind to ok
	mess_cn_func,        // bind to cancel
	mess_cn_func_args,   // bind to cancel
	mess_st_func,        // add setTimeout
	mess_st_func_args,   // add setTimeout
	mess_st_func_ms      // mileseconds for setTimeout
)
{
	if(null != $message)
		return;
	$("body").addClass("disable").find("#disable").removeClass("hd");
	$message = $("#message").clone().prependTo($("body"));
	if(mess_hdr != '')
	{
		$message.find(".container .header_text").text(mess_hdr);
		$message.find(".container .message_text").text(mess_txt);
		if(mess_type == 'cancel')
			$message.find(".container .header_text").addClass("cRed");
		else if(mess_type == 'note')
			$message.find(".container .header_text").addClass("cBlue");
		else
			$message.find(".container .header_text").addClass("cGreen");
	}
	else
	{
		$message.find(".container").text(mess_txt);
		if(mess_type == 'cancel')
			$message.find(".container").addClass("cRed");
		else if(mess_type == 'note')
			$message.find(".container").addClass("cBlue");
		else
			$message.find(".container").addClass("cGreen");
	}
	$message.find(".ok").val(mess_ok_txt);
	if(mess_cn_txt.length > 0)
		$message.find(".cn").val(mess_cn_txt).removeClass("hd");
	if($.isFunction(mess_ok_func))
		$message.find(".ok").bind("click", function(){
			mess_ok_func_args['message'] = $message;
			mess_ok_func(mess_ok_func_args);
		});
	if(mess_cn_txt.length > 0 && $.isFunction(mess_ok_func))
		$message.find(".cn").bind("click", function(){
			mess_cn_func_args['message'] = $message;
			mess_cn_func(mess_cn_func_args);
		});
	if(mess_st_func.length > 0 && mess_st_func_ms.length > 0)
		window.setTimeout(function(){
			mess_st_func_args['message'] = $message;
			mess_st_func(mess_st_func_args);
		}, mess_st_func_ms);
	$message.removeClass("hd");
	align_el($message);
}

function urlencode(str)
{
    str = (str+'').toString();
    if($.browser.msie)
    	return str.replace(/ /g, '+')
	    	.replace(/!/g, '%21').replace(/'/g, '%27')
	    	.replace(/\(/g, '%28').replace(/\)/g, '%29')
	    	.replace(/\*/g, '%2A').replace(/%20/g, '+');
    else
	    return encodeURIComponent(str)
	    	.replace(/!/g, '%21').replace(/'/g, '%27')
	    	.replace(/\(/g, '%28').replace(/\)/g, '%29')
	    	.replace(/\*/g, '%2A').replace(/%20/g, '+');
}

$(document).ready(function(){$('.png24').ifixpng('/bitrix/js/pixel.gif');});

$(document).ready(function(){
	$("a.tooltip[title]").qtip({
		position: {corner: {target: 'rightMiddle', tooltip: 'leftMiddle'}, adjust: {x: 10}},
		style: {name: 'cream', tip: true, color: '#555555', background: '#fefee9',
			border: {width: 1, radius: 1, color: '#fee0bc'}
		}
	});
});

$("#footer_layout").ready(function(){
	$("#footer_height_fix").height(($("#footer_layout").height()+60));
});