/*=============================================================================*\
// ############################################################################||
// ## $PRODUCT NAME: vBV Universal Advertiser $ $VERSION: 2.0.0 $
// ## Copyright - DN Digits L.L.C. All Rights Reserved.                         #
// ## Website: vB Vision.com http://www.vbvision.com/<http://www.vbvision.com/> #
// ## Email: support@vbvision.com                                               #
// ## vBV Universal Advertiser is not free software
// ## This file or its derivatives may not be redistributed                     #
// ############################################################################||
\*=============================================================================*/
// some stuff to init script
YAHOO.util.Event.addListener(window, "load", vbpua_init);
var vbpua_over_ad=false;
var vbpas_unloaded=false;
var origin_url=false;
function vbpua_init()
{
	YAHOO.util.Event.addListener(document, "click", vbpua_handle_click);
	YAHOO.util.Event.addListener(window, "beforeunload", vbpua_handle_unload);
	YAHOO.util.Event.addListener(window, "unload", vbpua_handle_unload);
	// get all Ad elements
	var ads=YAHOO.util.Dom.getElementsByClassName("vbpua_ad");
	for(var i=0;i<ads.length;i++)
	{
		var iframes=YAHOO.util.Dom.getElementsBy(function(){return true;}, 'iframe', ads[i]);
		for(var k=0; k<iframes.length; k++)
		{
			YAHOO.util.Event.addListener(iframes[k], "mouseover", function(evt){vbpua_over_ad=YAHOO.util.Event.getTarget(evt);});
			YAHOO.util.Event.addListener(iframes[k], "mouseout", function(evt){vbpua_over_ad=false;});
		}
	}
}

function vbpua_handle_click (evt)
{
	if(evt.button!=0) return true;
	var link=YAHOO.util.Event.getTarget(evt);
	var i=0;
	while(link.nodeName.toUpperCase()!='A')
	{
		if(link.parentNode)
		{
			link=link.parentNode;
		}
		else
		{
			break;
		}
		i++;
		if(i>4) break;
	}
	if(link.nodeName.toUpperCase() == "A")
	{
		var ad_div=YAHOO.util.Dom.getAncestorByClassName(link, 'vbpua_ad');
		if(ad_div)
		{
			YAHOO.util.Event.preventDefault(evt);
			var time=new Date();
			// get banner id and location
			if(link.href.indexOf(vbpua_homeurl)!=-1)
			{
				var url=link.href+'&nrd=true&dateline='+time.getTime();
				var pattern=new RegExp("url=([^&]+)");
				var parsed_url=pattern.exec(url);
				origin_url=decodeURIComponent(parsed_url[1]);
			}
			else
			{
				var regexp=new RegExp('([a-z_]+)__([0-9]+)');
				var banner=regexp.exec(ad_div.id);
				origin_url=link.href;
				var url=encodeURIComponent(link.href);
				var location=banner[1];
				var id=banner[2];
				var url=vbpua_homeurl+'/vbpua_rd.php?url='+url+'&location='+location+'&id='+id+'&pageurl='+vbpua_thispage+'&dateline='+time.getTime()+'&nrd=true';
			}
			vbpas_unloaded=true;
			var request = YAHOO.util.Connect.asyncRequest('GET', url, {success:vbpua_goto_url,  failure:vbpua_goto_url});
		}
	}
}

function vbpua_goto_url(conn)
{
	if(!origin_url)
	{
		return true;
	}
	window.location=origin_url;
}

function vbpua_handle_unload (evt)
{
	// check if already done in onbeforeunload event
	if(vbpas_unloaded==true)
	{
		return;
	}
	vbpas_unloaded=true;
	if(typeof(vbpua_over_ad)=='object')
	{
		// get parent div
		ad_div=YAHOO.util.Dom.getAncestorByClassName(vbpua_over_ad, 'vbpua_ad');
		var time=new Date();
		// get banner id and location
		var regexp=new RegExp('([a-z_]+)__([0-9]+)');
		var banner=regexp.exec(ad_div.id);
		var url=vbpua_homeurl+'/vbpua_rd.php?location='+banner[1]+'&id='+banner[2]+'&pageurl='+vbpua_thispage+'&nrd=true&dateline='+time.getTime();

		// make synchronous ajax call
		// yui can not be used in this case
		var connection=false;
		var _msxml_progid=["Msxml2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
		try
		{
			connection = new XMLHttpRequest();
		}
		catch(ex1)
		{
			for(var i=0; i<_msxml_progid.length; i++)
			{
				try
				{
					connection = new ActiveXObject(this._msxml_progid[B]);
					break;
				}
				catch(ex2){}
			}
		}
		if(connection)
		{
			connection.open('GET', url, false);
			connection.send(null);
			vbpua_goto_url(connection);
		}
	}
}
/*======================================================================*\
|| ####################################################################
|| # $Date: 2009-09-09 16:35:21 +0500 (Wed, 09 Sep 2009) $
|| # $Rev: 27 $
|| ####################################################################
\*======================================================================*/