/**
Rofl Ad Delivery System
Note: Uses JQuery for Ajax Requests
*/


var rofl = new Rofl();

function Rofl() {
	this.zone = function(zone_name)
	{
		$.post("/classes/rofl.php", {zone_name: zone_name}, 
			function(data)
			{
				if(data == "false")
				{
					document.getElementById(zone_name).innerHTML = ("Undeclared Ad Zone: " + zone_name);
				}
				else
				{
					document.getElementById(zone_name).innerHTML = (data);
					rofl.externalLinks();
					rofl.addZoneName(zone_name);
				}
			}
		);	
	}

	this.addZoneName = function(zone_name)
	{
		var $kids = $("#" + zone_name).children();
		var m = $kids.attr("href");
		$kids.attr("href", m + "&zone_name=" + zone_name);
	}

	this.externalLinks = function() 
	{
		if (!document.getElementsByTagName) 
			return;
		
		var anchors = document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) 
		{
			var anchor = anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
				anchor.target = "_blank";
		}
	}

	this.expander = function(zone_name, width, height, mode, direction)
	{
		var element = document.getElementById(zone_name);

		// mode refers to either open or close. direction refers to which direction the ad opens (up, down, left, right)
		if(mode == 'collapse')
		{
			element.style.position = 'relative';
			element.style.zIndex = '0';
			element.style.width = width;
			element.style.height = height;
			element.style.marginLeft = '0';
			element.style.marginTop = '0';
		}
		else
		{
			element.style.position = 'absolute';
			element.style.zIndex = '999';
			element.style.width = width;
			element.style.height = height;

			if(direction == 'left')
				element.style.marginLeft = '-' + width;
			else if(direction =='up')
				element.style.marginTop = '-' + height;
			else if(direction == 'up_left')
			{
				element.style.marginTop = '-' + height;
				element.style.marginLeft = '-' + width;
			}
		}
	}

}


