/**
 * Page loads banners into the 'banners' array and
 *      defines functions needed for rollbanners
 *
 * You must define section_id before referencing this script!
 *
 * ratko@kramfid.org, 12.4.2005
 */

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// global variables
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var banners_load_skip_domready = true;

// where to get banners?
var loc = document.location.href;

var cookie_path = ".24ur.com";    // <-- cookie path is for awstats_misc_tracker.js

// banner array
//  0: position name
//  1: position id from the 24ur.banner_location table
//  2: <DIV> id, where banner is included
//  3: banner invocation code (function banners_get fills this property)
//  4: banner type: 0: normal, 1: floater, 2: popup, 3: text, 4:normal, but do not document.write banner

if ( show_banners===undefined )
	var show_banners="";

banners = new Array(
	new Array("A" ,30 , "banner_A", "", 0, 728, 0, 0),
	new Array("G" ,36 , "banner_G", "", 0, 160, 0, 0),
	new Array("H" ,37 , "banner_H", "", 0, 300, 0, 0),
	new Array("M" ,50 , "banner_M", "", 0, 300, 0, 0),
	new Array("M2" ,51 , "banner_M", "", 0, 300, 0, 0),
	new Array("M3" ,76 , "banner_M", "", 0, 300, 0, 0),
	new Array("M4" ,77 , "banner_M", "", 0, 300, 0, 0),
	new Array("N2" ,66 , "banner_N", "", 0, 290, 0, 0),
	new Array("Y" ,33 , "banner_Y", "", 0, 650, 0, 0),
	new Array("FLOATER"   ,38 , "banner_FLOATER"  , "", 1, 0),
	new Array("PIXEL"   ,39 , "banner_PIXEL"  , "", 5, 0),
	new Array("CONTEXTUAL", 45, "banner_CONTEXTUAL"  , "", 7),
	new Array("VIDEO_PRE", 11, "banner_VIDEO_VID_PRE"  , "", 3),
	new Array("VIDEO_MID", 12, "banner_VIDEO_VID_MID"  , "", 3),
	new Array("VIDEO_POST", 13, "banner_VIDEO_VID_POST"  , "", 3),
	new Array("VIDEO_IMG_PRE", 21, "banner_VIDEO_IMG_PRE"  , "", 4, 300, 0),
	new Array("VIDEO_IMG_MID", 22, "banner_VIDEO_IMG_MID"  , "", 4, 300, 0),
	new Array("VIDEO_IMG_POST", 23, "banner_VIDEO_IMG_POST"  , "", 4, 300, 0),
	
	new Array("VIDEO_OVERLAY"   ,42 , "banner_OVERLAY"  , "", 3)
);

// rollbanner_check has reference to a rollbanner DIV that needs to be closed when mouse leaves orig banner
var rollbanner_check = false;

// rollbanner is an array filled with data needed to display rollbanner. MAX creates
//      this array and writes it into append HTML property of original banner
var rollbanner = false;

// connect_zone and connect_banner are used to connect two banners:
// if some banner exports these two variables, then only banner 1234 will be shown in zone
//      136). Banenr that exports these two variables _must_ be shown before zone 136.
var connect_zone = false;
var connect_banner = false;

// through this variable rollbanner knows who is his parent. Every DIV must fill this variable with DIV-s id
var current_div = "";

// this variable holds functions that are executed when banner calls praHide
var praHide_functions = false;

/**
 * Function returns banner array and creates invocation code for every banner
 * @param int section_id Current page section_id
 */
function banners_get(section_id)
{ 
	if ((!section_id) || (section_id=='undefined'))
		return false;

	section_id = parseInt(section_id);
	if (isNaN(section_id))
		return false;

	for (i=0; i<banners.length; i++) {
		bannerid = banners[i][7];
		banner_is_resizable = banners[i][8];
		zoneid = section_id * 100 + banners[i][1];

		// if banner is resizable and if it is supposed to display in iframe, then
		// 	change its invocation code to display in hidden div which will be moved later to proper position.
		if ( (banner_is_resizable) && (banners[i][4] == 0) ) {
			banners[i][4] = 6;
		}

		banners[i][3] = banner_get(zoneid, bannerid, banners[i] );
	}
	return banners;
}

/**
 * Function creates invocation code for one banner
 * This code is copied from MAX-s invocation code generator,
 *
 * @param string zoneid Tells what zone to display
 * @param strign bannerid what banner to display
 * @param int banner arary of data for banner
 */
function banner_get(zoneid, bannerid, banner) {

        var code = '';
	if(show_banners == "0")
		return "";

	var banner_type = banner[4];

        switch (banner_type) {
                case 0: // normal banner
                        code = banner_get_normal(zoneid, bannerid);
                        break;
                case 1: // flyer
                        code = banner_get_floater(zoneid, bannerid);
                        break;
                case 2: // popup
                        code = banner_get_popup(zoneid, bannerid);
                        break;
                case 3: // text banner
                        code = banner_get_text(zoneid, bannerid);
                        break;
                case 4: // normal banner, but do not document.write banner, leave it in variable only
                        code = banner_get_normal_variable(zoneid, bannerid);
                        break;
		case 5: // pixel/code banner
                        code = banner_get_code(zoneid, bannerid);
                        break;
		case 6:
                        code = banner_get_text_hidden(zoneid, bannerid, banner);
                        break;
		case 7:  // contextual banner
                        code = banner_get_contextual(zoneid, bannerid, banner);
                        break;
        }
        return code;
}


/**
 * Function returns JS for normal banner
 */
function banner_get_normal_div(zoneid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);

        if (!document.phpAds_used) document.phpAds_used = ',';

        banner  = "<div id='banner_" + zoneid + "_div'><" + "script language='JavaScript' type='text/javascript' src='";
        banner += "/adserver/adjs.php?n=" + zoneid;
        banner += "&zoneid=" + zoneid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);
        banner += "'><" + "/script></div>\n";

        return banner;
}

/**
 * Function returns JS for normal banner
 */
function banner_get_normal(zoneid, bannerid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);

        if (!document.phpAds_used) document.phpAds_used = ',';

	banner = "/adserver/adjs_i.php?n=" + zoneid;
        banner += "&zoneid=" + zoneid + "&bannerid=" + bannerid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if ( typeof(uga_seqno) !== 'undefined' )
	        banner += "&banner_type=uga&uga_seqno=" + uga_seqno + "&uga_zoneid=" + uga_zoneid;
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);

        return banner;
}

/**
 * Function returns JS for normal banner
 */
function banner_get_code(zoneid, bannerid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);

        if (!document.phpAds_used) document.phpAds_used = ',';

        banner  = "<" + "script language='JavaScript' type='text/javascript' src='";
        banner += "/adserver/adjs.php?n=" + zoneid;
        banner += "&zoneid=" + zoneid + "&bannerid=" + bannerid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);

        banner += "'><" + "/script>\n";

        return banner;
}

/**
 * Function returns JS for normal banner. JS does not document.write this banner, it is left only in 'phpadsbanner' variable.
 */
function banner_get_normal_variable(zoneid, bannerid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);

        if (!document.phpAds_used) document.phpAds_used = ',';

        banner = "/adserver/adjs_var_i.php?n=" + zoneid;
        banner += "&zoneid=" + zoneid + "&bannerid=" + bannerid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);

        return banner;
}

/**
 * Function returns JS for floating banner
 */
function banner_get_floater(zoneid, bannerid) {
        banner = "<scr" + "ipt language='JavaScript' type='text/javascript' src='/adserver/adlayer.php?" +
                 "bannerid=" + bannerid + "&zoneid=" + zoneid + "&target=_blank&layerstyle=simple&align=center&valign=middle&padding=2&closetime=15&padding=2&shifth=0&shiftv=0&closebutton=t&nobg=t&noborder=t'></scr" + "ipt>";
        return banner;
}

/**
 * Function returns JS for popup banner
 */
function banner_get_popup(zoneid, bannerid) {
        banner = "<scr" + "ipt language='JavaScript' type='text/javascript' src='/adserver/adpopup.php?" +
                 "n=" + zoneid + "&bannerid=" + bannerid + "&zoneid=" + zoneid + "&target=_blank&left=200&top=300&timeout=15&delay=2'></scr" + "ipt>";
        return banner;
}

/**
 * Function returns JS for text banner
 */
function banner_get_text(zoneid, bannerid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);
        if (!document.phpAds_used) document.phpAds_used = ',';

        banner  = "<" + "script language='JavaScript' type='text/javascript' src='";
        banner += "/adserver/adjs.php?n=" + zoneid + "";
        banner += "&bannerid=" + bannerid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);
        banner += "'><" + "/script>";

        return banner;
}

/**
 * Function returns JS for contextual banner
 */
function banner_get_contextual(zoneid, bannerid) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);
        if (!document.phpAds_used) document.phpAds_used = ',';

        banner  = "<" + "script language='JavaScript' type='text/javascript' src='";
        banner += "/adserver/adjs_contextual.php?n=" + zoneid + "";
        banner += "&bannerid=" + bannerid + "&target=_blank";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);
        banner += "'><" + "/script>";

        return banner;
}

/**
 * Function returns banner invocation code in a hidden DIV
 */
function banner_get_text_hidden( zoneid, bannerid, banner_data ) {

        var awrz_rnd = Math.floor(Math.random()*99999999999);
        if (!document.phpAds_used) document.phpAds_used = ',';

        banner  = "<" + "script language='JavaScript' type='text/javascript' src='";
        banner += "/adserver/adjs_div.php?n=" + zoneid + "";
        banner += "&bannerid=" + bannerid + "&target=_blank";
        banner += "&zonename=" + banner_data[0] + "&zoneid=" + zoneid + "";
        banner += "&exclude=" + document.phpAds_used;
        banner += "&loc=" + escape(window.location);
        if (document.referrer)
                banner += "&referer=" + escape(document.referrer);
        banner += '&r=' + awrz_rnd;
        banner += "&ct0=" + escape(document.phpAds_ct0);
        banner += "'><" + "/script>";

	return banner;
}

/**
 * Returns bannerid if some other banner has connected this zone with a certain banner
 */
function banner_zone_is_connected( zoneid ) {
        if ( !connect_zone || !connect_banner )
                return false;

        if ( connect_zone == zoneid )
                return connect_banner;

	connect_zone = connect_zone + '';

        if ( connect_zone.indexOf(',') != -1 ) {
                var tmp = ',' + connect_zone + ',';
                if ( tmp.indexOf(',' + zoneid + ',') >= 0 )
                        return connect_banner;
        }

        return false;
}


/**
 * Function returns banner invocation code for certain position
 *
 * @param string position One position from banners array that inv. code will be returned for.
 */
function banner_show(position) {
	for (i=0; i<banners.length; i++) {
		if (banners[i][0]==position)
		{
			return banners[i][3];
		}
	}
	return "";
}

/**
 * Function returns DIV object reference
 */
function banner_find_div(div_name) {
        if (!div_name) return false;

        var div_element = document.getElementById(div_name);

        if (!div_element) return false;
        if (div_element == "undefined") return false;

        return div_element;
}

/**
 * These functions can be fired by flash when mouse exits flash banner
 */
function praNoAct() {}

function praHide() {

        if (!praHide_functions) return;

        for (i=0; i<praHide_functions.length; i++) {

                funct_name = praHide_functions[i][0];
                params     = praHide_functions[i][1];

                if (eval('typeof(' + funct_name + ')') == "function") {
                        eval(funct_name + "(" + params + ")");
                }
        }

        return;
}
function prahide() { praHide(); }

/**
 * This function registers handlers (functions) that are being called when banenr issues praHide()
 */
function register_praHide(func_name, params) {

        if (!praHide_functions)
                praHide_functions = new Array( new Array(func_name, params) );
        else
                praHide_functions[praHide_functions.length] = new Array(func_name, params);
}

/**
 * This function is executed, when mouse enters flash rollbanner space.
 * Function fills rollbanner div with rollbanner HTML and sets it's visibiliti to 'visible'.
 */
function praShow() {

        if (rollbanner_check != false) return;
        if (!rollbanner) return;
        if (!banners) return;

        pop = document.getElementById("popbox");

        var orig = banner_find_div(rollbanner[0]);
        if (!orig) return;

        if (isNaN(parseInt(rollbanner[4])) || (rollbanner[4]==-1))
                rollbanner[4] = banner_position_x(orig);
        if (isNaN(parseInt(rollbanner[5])) || (rollbanner[5]==-1))
                rollbanner[5] = banner_position_y(orig);

        pop.innerHTML = rollbanner[3];
        pop.style.border = '';
        pop.style.width = rollbanner[1] + "px";
        pop.style.height = rollbanner[2] + "px";
        pop.style.padding = "0px";
        pop.style.background = "#F0F0F0";
        pop.style.left = rollbanner[4] + "px";
        pop.style.top  = rollbanner[5] + "px";
        pop.style.visibility = "visible";

        rollbanner_check = pop;
        document.onmousemove = banner_mousemove;
}

/**
 * Function returns object dimensions (top left and bottom right points)
 */
function banner_get_dimensions(obj) {
        var x1, x2, y1, y2;

        x1 = banner_position_x(obj);
        y1 = banner_position_y(obj);
        x2 = x1 + parseInt(obj.offsetWidth);
        y2 = y1 + parseInt(obj.offsetHeight);

        return new Array(x1,y1,x2,y2);
}

/**
 * Function returns true, if mouse pointer (pos_x & pos_y) is inside banner space (dim)
 */
function banner_is_inside(dim, pos_x, pos_y) {
        return (dim[0] < pos_x) && (dim[2] > pos_x) && (dim[1] < pos_y) && (dim[3] > pos_y);
}

/**
 * This function is executed, when mouse exits banner space.
 * Function hides rollbanner div.
 */
function banner_mousemove(evt) {

        if (typeof(rollbanner_check) == 'undefined') return;

        if (rollbanner_check) {
                var orig = banner_find_div(rollbanner[0]);

                orig_dim = banner_get_dimensions(orig);
                roll_dim = banner_get_dimensions(rollbanner_check);

                if (document.all) {
                        if (document.documentElement.scrollTop) sy = document.documentElement.scrollTop;
                        else sy = document.body.scrollTop;

                        x = event.clientX+document.documentElement.scrollLeft;
                        y = event.clientY+sy;

                } else {
                        x = evt.pageX;
                        y = evt.pageY;
                }

                if (!banner_is_inside(orig_dim, x, y) && !banner_is_inside(roll_dim, x, y)) {

                        document.onmousemove = null;

                        rollbanner_check.style.visibility = "hidden";
                        rollbanner_check.style.left = "0px";
                        rollbanner_check.style.top = "0px";
                        rollbanner_check.style.width = "0px";
                        rollbanner_check.style.height = "0px";

                        rollbanner_check = false;
                        if (!document.all) orig.innerHTML = orig.innerHTML;
                }
        }
}

/**
 * Function returns object's absolute X position
 */
function banner_position_x(obj) {
        var x = 0;
        while (obj.offsetParent) {
                x = x + obj.offsetLeft
                obj = obj.offsetParent;
        }
        return x;
}

/**
 * Function returns object's absolute Y position
 */
function banner_position_y(obj) {
        var y = 0;
        while (obj.offsetParent) {
                y = y + obj.offsetTop
                obj = obj.offsetParent;
        }
        return y;
}


/**
 * Function loads MAX page for banner text
 */
function banner_video_flash()
{
	var zoneid = "" + section_id + "41";
	var banner = "";
	
	connected_banner = banner_zone_is_connected( zoneid );
	
	if ( connected_banner )
		search_str = "&bannerid=" + connected_banner;
	else
		search_str = "&zoneid=" + zoneid;
	
	var awrz_rnd = Math.floor(Math.random()*99999999999);
	
	//banner  = "<" + "script language='JavaScript' type='text/javascript' src='";
	banner = "/adserver/adjs_flash.php?n=" + zoneid;
	banner += search_str + "&target=_blank";
	banner += "&exclude=" + document.phpAds_used;
	banner += "&loc=" + escape(window.location);
	if (document.referrer)
		banner += "&referer=" + escape(document.referrer);
	banner += '&r=' + awrz_rnd;
	banner += "&ct0=" + escape(document.phpAds_ct0);
	//banner += "'><" + "/script>";
	return banner;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Rollbanner will be shown inside this DIV
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
document.write('<DIV id="popbox" style="POSITION: absolute; TOP: 0px; LEFT: 0px; VISIBILITY: hidden; Z-INDEX: 100; "></DIV>');
document.write('<DIV id="banner_contextual" style="POSITION: absolute; TOP: 0px; LEFT: 0px; DISPLAY: none; Z-INDEX: 100;" class="banner_context" onmouseover="banner_contextual_clear_timeout(); return false;" onmouseout="banner_contextual_hide(); return false;">Loading...</DIV>');

//-->


function load_banner(banner_location)
{
	var banner_index = -1;
	
	for (i=0; i<banners.length; i++)
	{
		if (banners[i][0] == banner_location)
		{
			banner_index = i;
			banner_width = banners[i][5];
			banner_height = banners[i][6];
			if (banners[i][3] == '')
				return false;
		}
	}
	
	try {
		if ( (show_banners != "0") && (banner_index > -1) ) {
			// banners[banner_index][8] can be:
			// 	0: show as iframe banner
			//	1: show as a banner inside DIV
			if ( banners[banner_index][8] == 0 ) {
				$('div_banner_'+banner_location).innerHTML = '<iframe id="i_banner_' + banner_location + '" name="i_banner_'+banner_location+ '_' + banners[banner_index][7] +'" src="'+banner_show(banner_location) + '&banner_location='+banner_location+'" width="' + banner_width + '" height="' + banner_height + '" marginheight="0" marginwidth="0" frameborder="0" scrolling="no" allowtransparency="true"></iframe>';
			} else {
				// raztegljiv oglas
				document.write( banner_show(banner_location) );
			}
		}
	} catch(error) {
		return 0; 
	}
}

/**
 * This is called after page loads.
 * Loads all banners in a single call. It also shows video player, because it needs to be called
 * 	after we have banners (so that player knows what banner to show)
 *
 * **** Not used ****
 */
function load_banners()
{
        var url = '/adserver/adall.php?positions=' + escape(positions);

	// if video_on_page is not set, MAX will not return banners that are linked with video banners
        if ( video_player_on_page === false )
       		url += "&video_on_page=0";
	else
       		url += "&video_on_page=1";

        var request = new Ajax(url, {
		                onComplete: load_banners_finish,
		                method: 'get'
		        }).request();
}

/**
 * Returns ID of banner positions that are active for current site
 */
function banner_positions() {
	var positions = "";

	for (i=0; i<banners.length; i++)
	{
		switch ( banners[i][1] ) {
			case 11:
			case 12:
			case 13:
			case 21:
			case 22:
			case 23:
			case 40:
			case 41:
			case 42:
				// skip position if video will not be rendered on this page
				if ( video_player_on_page === false )
					continue;
				positions += section_id + "" + banners[i][1] + ",";
				break;
			default:
				positions += section_id + "" + banners[i][1] + ",";
		}
	}

	return positions;
}

/**
 * Function returns URL to the adall.php script for banners
 */
function banner_adall_url() {
	var url = "/adserver/adall.php?js=1&positions=" + escape(banner_positions());

	if ( video_player_on_page === false )
		url += "&video_on_page=0";
	else
		url += "&video_on_page=1";

	return url;
}

/**
 * This function gets called after we get IDs of banners to show.
 * Calls functins to draw banners on site,
 */
function load_banners_finish( json_data )
{
	var data = new Json.evaluate( json_data );

	// see what banners we got
	banners_retrieved( data );

	// Initializating function (sets banner array)
	banners_get(section_id);
	
	load_banner('A');
	load_banner('G');
	load_banner('H');
	load_banner('M');
	load_banner('M2');
	load_banner('M3');
	load_banner('M4');
	load_banner('N2');
	load_banner('Y');
	
	banner_flashvar = json_data;
	video_player_setup();

	data = banners_remove_video_banners( data );
	banner_flashvar = Json.toString(data);
}

/**
 * Move X40, X41 and X42 video positions to the denyed
 */
function banners_remove_video_banners( data )
{
	if ( typeof(data["zone_" + section_id + "40"]) != "undefined" )
		if ( typeof(data["zone_" + section_id + "40"]["bannerid"]) != "undefined" )
			data["zone_" + section_id + "40"]["bannerid"] = -1;
			
	if ( typeof(data["zone_" + section_id + "41"]) != "undefined" )
		if ( typeof(data["zone_" + section_id + "41"]["bannerid"]) != "undefined" )
			data["zone_" + section_id + "41"]["bannerid"] = -1;
	
	if ( typeof(data["zone_" + section_id + "42"]) != "undefined" )
		if ( typeof(data["zone_" + section_id + "42"]["bannerid"]) != "undefined" )
			data["zone_" + section_id + "42"]["bannerid"] = -1;

	return data;
}

/**
 * Function fills banners array with values from AJAX call.
 */
function banners_retrieved( data )
{
	for (i=0; i<banners.length; i++) {
		zoneid = section_id + "" + banners[i][1];

		if ( typeof(data["zone_"+zoneid]) == "undefined" )
			continue;
		if ( typeof(data["zone_"+zoneid]["bannerid"]) == "undefined" )
			continue;
		
		banners[i][7] = data["zone_"+zoneid]["bannerid"];
		banners[i][8] = 0;
	
		if ( typeof(data["zone_"+zoneid]["resizable"]) != "undefined" ) {
			if ( data["zone_"+zoneid]["resizable"] == 1 )
				banners[i][8] = 1;
		}
	}
}

//functions for rolldown banners
function banner_get_location_from_zoneid(zoneid)
{
	for (i=0; i<banners.length; i++) {
		if(banners[i][1] == zoneid)
			return banners[i][0];
	}
}
function banner_rolldown_show(zoneid, banner_height)
{
	banner_location = banner_get_location_from_zoneid(zoneid);

	banner_rolldown_showing = setTimeout("show_banner_rolldown('"+banner_location+"', "+banner_height+")", 2000);
}
function show_banner_rolldown(zoneid, banner_height)
{
	$('div_banner_'+banner_location).style.height = banner_height+'px';
	$('i_banner_'+banner_location).style.height = banner_height+'px';
}
function banner_rolldown_hide(zoneid, banner_height)
{
	banner_location = banner_get_location_from_zoneid(zoneid);
	clearInterval(banner_rolldown_showing);
	$('div_banner_'+banner_location).style.height = banner_height+'px';
	$('i_banner_'+banner_location).style.height = banner_height+'px';
}


// banner for new flash video player
function pplayer_show_banner()
{
	if (flash_version == 9)
	{
		var pbanner = new SWFObject("/static/shared/app/MediaCenter_banner.swf", "MediaCenter_banner", "180", "240", "9"); 
		pbanner.addParam('allowfullscreen', 'true');
		pbanner.addVariable('bit', get_cookie('bit'));
		pbanner.write("pplayer_banner");
	}
	else
	{
		$('pplayer_banner').innerHTML = '<a href="/bin/simple.php?name=flash_install"><img src="/static/shared/img/MediaCenter_banner.jpg" border="0"></a>';
	}
}

var phpadsbanner_flash_beacon = "";
var phpadsbanner_flash = "";
var video_flash_banner_id = "";
var connect_banner="";
var connect_zone="";

// we remove video+flash ad from page and reset variables
function banner_remove_video_flash()
{
	phpadsbanner_flash_beacon = "";
	phpadsbanner_flash = "";
	video_flash_banner_id = "";
	connect_banner="";
	connect_zone="";
	$('div_banner_VIDEO_IMG').empty();
}
function banner_video_flash_render()
{
	// we load video flash banner which is sometimes connected to video ads
	if (typeof(video_flash_banner_id) !== 'undefined' && video_flash_banner_id != '')
		 load_banner('VIDEO_IMG');

	// we insert beacon adlog for video banner
	if ( phpadsbanner_flash_beacon != "" )
		$('phpads_beacon').setHTML(phpadsbanner_flash_beacon);
}
function change_element_style(el, el_style_name, el_style_value)
{
	if ( $(el) )
		$(el).setStyle(el_style_name, el_style_value);
}

// sets class name
function change_element_classname(el, el_class_name)
{
	$(el).addClass(el_class_name);
}

/**
 * Resizable banner calls this function when it is about to be collapsed back to normal size
 */
function collapse()
{
	if ( document.getElementById('resizable_banner') )
		document.getElementById('resizable_banner').style.clip=resizable_banner_clip_collapsed;
}

/**
 * Resizable banner calls this function when it is about to be expanded
 */
function explode()
{
	if ( document.getElementById('resizable_banner') )
		document.getElementById('resizable_banner').style.clip=resizable_banner_clip_exploded;
}

/**
 * CONTEXTUAL BANNER: Underlines words in article text and makes them links to contextual banner
 */
function banner_contextual_mark()
{
	var elt = document.getElementById('content');
	if ( !elt )
		return;
	
	var txt = elt.innerHTML;
	if ( !txt )
		return;	
	
	var words = banner_contextual_words.split(',');

	for ( i=0; i<words.length; i++ ) {
		banner_contextual_mark_word( words[i], elt );
	}
}

/**
 * CONTEXTUAL BANNER: Checnges given word with a link to contextual banner box
 */
function banner_contextual_mark_word( word, content )
{
	word = word.trim();

	if ( word == "" )
		return;

//	var matches = content.innerHTML.match( new RegExp( " " + word + "[\.,\s]", "ig") ) ;
	var matches = content.innerHTML.match( new RegExp( word, "ig") ) ;

	if ( !matches )
		return;
	
	for ( j=0; j<matches.length; j++ ) {
		if ( content.innerHTML.indexOf(matches[j]) > -1 )
			content.innerHTML = content.innerHTML.replace( matches[j], "<a href='#' onmouseover='banner_contextual_display(event); return false;' onmouseout='banner_contextual_hide(); return false;'>" + matches[j] + "</a>" );
	}
}

/**
 * CONTEXTUAL BANNER: Shows contextual banner over the marked word
 */
function banner_contextual_display( e, elt_link, a )
{
	if ( banner_contextual_timer ) {
		clearTimeout( banner_contextual_timer );
		return;
	}

	if (!e)
		var e = window.event;
	
        var elt = document.getElementById("banner_contextual");
	if ( !elt )
		return;

	if ( elt.style.display == "" )
		return;

        elt.innerHTML = banner_contextual_html;
        elt.style.display = "";

	if ( typeof( window.pageYOffset ) == 'number' ) {
	        elt.style.left = (e.clientX + window.pageXOffset - 60) + "px";
        	elt.style.top  = (e.clientY + window.pageYOffset - 115) + "px";
	} else {
	        elt.style.left = (e.clientX + document.documentElement.scrollLeft - 60) + "px";
        	elt.style.top  = (e.clientY + document.documentElement.scrollTop - 115) + "px";
	}
	
	return;
}

var banner_contextual_timer;

function banner_contextual_close()
{
	banner_contextual_timer = null;
	
        var elt = document.getElementById("banner_contextual");
	if ( !elt )
		return;

        elt.innerHTML = "";
        elt.style.display = "none";
        elt.style.left = "0px";
        elt.style.top  = "0px";
	
	return;
}

function banner_contextual_clear_timeout()
{
	if ( banner_contextual_timer )
		clearTimeout( banner_contextual_timer );
}

/**
 * CONTEXTUAL BANNER: Hides contextual banner
 * Actually calls timer that will close it some microsecods later
 */
function banner_contextual_hide()
{
	banner_contextual_timer = setTimeout( "banner_contextual_close();", 500 );
}

