if(typeof yume_flash_callback == "undefined")
{
	function yume_flash_callback(command, arg1, arg2, arg3)
	{
		if(command == 'companionbanner/iframe') 
		{
			if (arg3=="cb1" || arg3=="cb_medrect1") 
			{
				if(typeof lrDisplayCompanionMR != "undefined") lrDisplayCompanionMR("iframe", arg1);
			}
			else if (arg3=="cb_leaderboard1") 
			{
				if(typeof lrDisplayCompanionLB != "undefined") lrDisplayCompanionLB("iframe", arg1);
			}
		}
		else if(command == 'companionbanner/image') 
		{
			if (arg3=="cb1" || arg3=="cb_medrect1") 
			{
				if(typeof lrDisplayCompanionMR != "undefined") lrDisplayCompanionMR("image", arg1);
			}
			else if (arg3=="cb_leaderboard1") 
			{
				if(typeof lrDisplayCompanionLB != "undefined") lrDisplayCompanionLB("image", arg1);
			}
		}
	}
}

function lrDisplayCompanionWS(type, content)
{
	if(!document.getElementById) return false;
	
	var stracking = "";
	var splits = content.split("#LIVERAILDELIMITER#");
	if(splits.length>1)
	{
		for(i=0; i<splits.length-1; i++)
		{
			var tracking = splits[i];
			if(tracking!="")
			{
				stracking += "<img src='"+tracking+"' width='1' height='1' style='display: none; visibility: hidden;' />";
			}
		}
		content = splits[splits.length-1];
	}
	
	var cwidth = 160;
	var cheight = 600;
	
	var fr;
	if(document.frames) 
	{ 
		fr = document.all.lr_comp_ws; 
	}
	else 
	{ 
		fr = document.getElementById("lr_comp_ws"); 
	}
	// if the iframe was previously hidden, display the iframe
	fr.style.display = "inline";
	
	lrDefaultCompanionWS = fr.src;
	
	content = 'BASE64'+base64_encode(content);
	
	fr.src = "http://static.liverail.com/js/companions/?type="+type+"&tracking="+escape(stracking)+"&width="+cwidth+"&height="+cheight+"&content="+encodeURIComponent(content)+"&cb="+Math.random();
	
	return true;
}

function lr2DisplayCompanionWS(type, content, clickthru, trackers)
{
	if(!document.getElementById) return false;
	
	var stracking = "";
	for(i=0; i<trackers.length; i++)
	{
		var tracker = trackers[i];
		if(tracker!="")
		{
			stracking += "<img src='"+tracker+"' width='1' height='1' style='display: none; visibility: hidden;' />";
		}
	}
	if(clickthru) content = content + "\n" + clickthru;
	
	var cwidth = 160;
	var cheight = 600;
	
	var fr;
	if(document.frames) 
	{ 
		fr = document.all.lr_comp_ws; 
	}
	else 
	{ 
		fr = document.getElementById("lr_comp_ws"); 
	}
	// if the iframe was previously hidden, display the iframe
	fr.style.display = "inline";
	
	lrDefaultCompanionWS = fr.src;
	
	content = 'BASE64'+base64_encode(content);
	
	fr.src = "http://static.liverail.com/js/companions/?type="+type+"&tracking="+escape(stracking)+"&width="+cwidth+"&height="+cheight+"&content="+encodeURIComponent(content)+"&cb="+Math.random();
	
	return true;
}

function base64_encode(data) 
{
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];

    if (!data) return data;

    //data = utf8_encode(data+'');
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);

        bits = o1<<16 | o2<<8 | o3;

        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;

        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }

    return enc;
}