/*[AdSide/DOCLIX image ad unit: first tier]*/
if (typeof doclix_pid == 'undefined') doclix_pid = 0;
if (typeof doclix_demo_mode == 'undefined') doclix_demo_mode = false;

var doclix_image = {
	/*[common]*/
	_iD : function (s) {
		var e, d = document, i = 'getElementById';
		d[i](s) ? e = d[i](s) : e = false; return e;
	},
	_css : function (obj, css_s, css_s_ie) { /*[read CSS properties]*/
		var w = window, gcs = 'getComputedStyle', cs = 'currentStyle';
		if (w[gcs]) {
			return w[gcs](obj, null).getPropertyValue(css_s);
		} else if (obj[cs]) {
			return css_s_ie ? obj[cs][css_s_ie] : obj[cs][css_s];
		}
	},
	cookie : {
		_write : function (name, value, hours) {
			if (hours) {
				var date = new Date();
				date.setTime(date.getTime() + (hours*60*60*1000));
				var expires = '; expires=' + date.toGMTString();
			}
			else var expires = '';
			document.cookie = name + '=' + value + expires + '; path=/';
		},
		_read : function (name) {
			var name_eq = name + '=';
			var ca = document.cookie.split(';');
			for (var i = 0; i < ca.length; i++) {
				var c = ca[i];
				while (c.charAt(0) == ' ') c = c.substring(1, c.length);
				if (c.indexOf(name_eq) == 0) return c.substring(name_eq.length, c.length);
			}
			return null;
		}
	},
	_find : function (obj) { !obj ? obj = doclix_image._iD('iu_image') : obj = obj;
		var dx_i = doclix_image, init_obj = obj, sA = 'setAttribute', pN = 'parentNode', oP = 'offsetParent', oL = 'offsetLeft', oT = 'offsetTop', sL = 'scrollLeft', sT = 'scrollTop';
		var o_x = o_y = ps_x = ps_y = 0;
		if (obj[oP]) {
			do {
				if (!isNaN(obj[oL])) o_x += obj[oL];
				if (!isNaN(obj[oT])) o_y += obj[oT];
				if (obj[pN] && !(obj[pN].nodeName == 'BODY') && !(obj[pN].nodeName == 'HTML')) {
					if (!isNaN(obj[pN][sL])) ps_x += obj[pN][sL];
					if (!isNaN(obj[pN][sT])) ps_y += obj[pN][sT];
				}
			} while (obj = obj[oP]);
		}
		o_x -= ps_x;
		o_y -= ps_y;
		init_obj[sA]('obj_x', o_x);
		init_obj[sA]('obj_y', o_y);
	},
	_add_event : function (obj, et, fcall, capture) {
		var aEL = 'addEventListener', aE = 'attachEvent';
		if (obj[aEL]) {
			obj[aEL](et, fcall, capture); 
		} else if (obj[aE]) { 
			obj[aE]('on' + et, fcall);
		} else { 
			et = 'on' + et;
			if (typeof obj[et] == 'function') {
				var oe = obj[et]; 
				obj[et] = function () {
					oe(); return fcall(); 
				} 
			} else { 
				obj[et] = fcall; 
			}
		}
	},
	_reload : function () {
		var dx_i = doclix_image;
		if (dx_i.cookie._read('doclix_image_ads') == null) {if (typeof dx_i._build == 'function') dx_i._build();}
	},
	_collect : function (imgs, sweep) {
		var d = document, dx_i = doclix_image, tN = 'getElementsByTagName', gA ='getAttribute', sA = 'setAttribute', imgs = imgs || d[tN]('img'), sweep = sweep || 0, s_i = 0;
		for (var i = 0; i < imgs.length; i++) {
			var img = imgs[i];
			if (img.width && img.height && !img[gA]('sized')) {
				if (img.width >= 215 && img.height >= 100) {
					img[sA]('n', i);
					img[sA]('obj_w', img.width);
					img[sA]('obj_h', img.height);
					dx_i._find(img);
					dx_i.ad_imgs.push(img);
				}
				img[sA]('sized', 'yes'); s_i++;
			} else if (img[gA]('sized')) {
				s_i++;
			}
		}
		sweep++;
		if (s_i == imgs.length || sweep > 10 || d.ads_pub_ad_setup) /*[no need to track on a setup page]*/ {
			//if (dx_i.ad_imgs.length == 1) {dx_i._add_event(dx_i.ad_imgs[0], 'load', dx_i._reload, false);}
			dx_i._get_ads();
		} else {
			setTimeout(function () {
				dx_i._collect(imgs, sweep);
			}, 1000);
		}
	},
	_track : function (obj) {
		var d = document, dx_i = doclix_image, w = window, dE = 'documentElement', sA = 'setAttribute', gA = 'getAttribute', cH = 'clientHeight', cW = 'clientWidth', iH = 'innerHeight', iW = 'innerWidth', sT = 'scrollTop', sL = 'scrollLeft';
		var s_x, s_y, wk_s_x, wk_s_y;
		dx_i._find(obj);
		if (d[cH] && d[cW]) {
			v_w = d[cW], v_h = d[cH];
		} else if (w[iH] && w[iW]) {
			v_w = w[iW], v_h = w[iH];
		} else if (d[dE] && (d[dE][cW] || d[dE][cH])) {
			v_w = d[dE][cW], v_h = d[dE][cH];
		} else if (d.body && (d.body[cW] || d.body[cH])) {
			v_w = d.body[cW], v_h = d.body[cH];
		}
		var o_x = parseInt(obj[gA]('obj_x')), o_y = parseInt(obj[gA]('obj_y')), o_w = parseInt(obj[gA]('obj_w')), o_h = parseInt(obj[gA]('obj_h'));
		if (dx_i.ua == 'iPhone'||dx_i.ua == 'iPod'||dx_i.ua == 'iPad') {
			var pYO = 'pageYOffset', pXO = 'pageXOffset';
			s_x = w[pXO], s_y = w[pYO], v_w = w[iW], v_h = w[iH];
			switch (dx_i.pin) {
				case '1': /*[top left]*/
					if ((o_x < s_x)||(o_y < s_y)||(o_x > v_w + s_x)||(o_y > v_h + s_y)) {return false;} else {return true;}
					break;
				case '2': /*[top right]*/
					if ((o_x + o_w < s_x)||(o_y < s_y)||(o_x + o_w > v_w + s_x)||(o_y > v_h + s_y)) {return false;} else {return true;}
					break;
				case '3': /*[bottom right]*/
					if ((o_x + o_w < s_x)||(o_y + o_h < s_y)||(o_x + o_w > v_w + s_x)||(o_y + o_h > v_h + s_y)) {return false;} else {return true;}
					break;
				case '4': /*[bottom left]*/
					if ((o_x < s_x)||(o_y + o_h < s_y)||(o_x > v_w + s_x)||(o_y + o_h > v_h + s_y)) {return false;} else {return true;}
					break;
			}
		} else {
			if (dx_i._css(obj, 'position') == 'fixed') {
				if (o_x >= 0 && o_x + o_w <= v_w && o_y >= 0 && o_y + o_h <= v_h) {return true;} else {return false;}
			} else {
				wk_s_x = wk_s_y = 0, s_x = Math.max(d.body[sL], d[dE][sL]), s_y = Math.max(d.body[sT], d[dE][sT]);
			}
			switch (dx_i.pin) {
				case '1': /*[top left]*/
					if ((o_x < s_x)||(o_y < s_y)||(o_x > v_w + s_x)||(o_y > v_h + s_y)) {return false;} else {return true;}
					break;
				case '2': /*[top right]*/
					if ((o_x + o_w < s_x)||(o_y < s_y)||(o_x + o_w > v_w + s_x)||(o_y > v_h + s_y)) {return false;} else {return true;}
					break;
				case '3':
					if ((o_x + o_w < s_x)||(o_y + o_h < s_y)||(o_x + o_w > v_w + s_x)||(o_y + o_h > v_h + s_y)) {return false;} else {return true;}
					break;
				case '4': /*[bottom left]*/
					if ((o_x < s_x)||(o_y + o_h < s_y)||(o_x > v_w + s_x)||(o_y + o_h > v_h + s_y)) {return false;} else {return true;}
					break;
			}
		}
	},
	ua : (function () {
		var n = navigator, uA = 'userAgent', aN = 'appName', iO = 'indexOf';
		if (n[uA][iO]('iPod')!=-1) {
			bro = 'iPod';
		} else if (n[uA][iO]('iPad')!=-1) {
			bro = 'iPad';
		} else if (n[uA][iO]('iPhone')!=-1) {
			bro = 'iPhone';
		} else if (n[aN] == 'Opera') {
			bro = 'Opera';
		} else if (n[aN] == 'Microsoft Internet Explorer') {
			bro = 'IE';
			var re = new RegExp('MSIE ([0-9]{1,}[\.0-9]{0,})');
			if (re.exec(n[uA]) != null) v = parseFloat(RegExp.$1);
			if (v < 7.0) bro = 'IE6-';
			if (v >= 7.0 && v < 8.0) bro = 'IE7';
			if (v >= 8.0) bro = 'IE8';
		} else {
			if ((n[uA][iO]('Firefox')!=-1) && !(n[uA][iO]('Navigator')!=-1)) bro = 'Firefox';
			if (n[uA][iO]('Safari')!=-1)  bro = 'Safari';
			if (n[uA][iO]('Chrome')!=-1)  bro = 'Chrome';
			if (n[uA][iO]('Navigator')!=-1)  bro = 'Navigator';
		} return bro;
	})(),
	quirks : (function () {
		var d = document, cM = 'compatMode';
		d[cM] && d[cM] == 'BackCompat' ? qm = true : qm = false; return qm;
		})(),
	params : (function () {
		var str = 'pid='+doclix_pid;
		if (typeof doclix_cid_image != 'undefined') {
			str += '&codeId='+doclix_cid_image;
		} else if (typeof doclix_cid != 'undefined') {
			str += '&codeId='+doclix_cid;
		}
		return str;
	})(),
	min_ads : 5,
	_get_ads : function () {
		var d = document, dx_i = doclix_image, gT = 'getElementsByTagName', cE = 'createElement', sA = 'setAttribute', aC = 'appendChild', ef = d[cE]('script'), numAds;
		/*[get all the images]*/
		ef[sA]('type', 'text/javascript');
		numAds = Math.max(dx_i.ad_imgs.length, dx_i.min_ads);
		ef[sA]('src', 'http://ads.doclix.com/adserver/serve/js/ad_image.jsp?' + dx_i.params + '&numAds='+numAds);
		ef[sA]('defer', true);
		ef[sA]('async', true);
		ef[sA]('charset', 'utf-8');
		if (d[gT]('head').length > 0) {
			d[gT]('head')[0][aC](ef);
		} else {
			d[aC](ef);
		}
	},

	ad_imgs :		[],
	ad_domain_imgs :[],
	ad_target_imgs :[],
	
	ad_frms :	[],
	ad_mats :	[],
	ad_overs :	[],
	ad_unts :	[],
	ad_lnks :	[],
	ad_msgs :	[],
	ad_ttls :	[],
	ad_dscs :	[],
	ad_prevs :	[],
	ad_nexts :	[],
	ad_xs :		[],
	ad_hms :	[],
	ad_t_imgs :	[],

	_init : function () {
		var d = document, dx_i = doclix_image, gT = 'getElementsByTagName', cE = 'createElement', cT = 'createTextNode', sA = 'setAttribute', aC = 'appendChild';
		var s =	'.doclix_overlay * {border:none;background-color:transparent!important;}\n' +
				'.doclix_overlay *:hover {border:none;background-color:transparent!important;}\n' +
				'.doclix_x {background-position:0 0!important;}\n' +
				'.doclix_x:hover {background-position:0 -14px!important;}\n' +
				'.doclix_home {background-position:0 0!important;}\n' +
				'.doclix_home:hover {background-position:0 -14px!important;}\n';
		var css = d[cE]('style');
		css[sA]('type', 'text/css');
		css[sA]('media', 'screen');
		if (css.styleSheet) {
			css.styleSheet.cssText = s;
		} else {
			css[aC](d[cT](s));
		}
		if (d[gT]('head').length > 0) {
			d[gT]('head')[0][aC](css);
		} else {
			d[aC](css);
		}
		dx_i._collect();
	},
	pos :		[],
	trans :		[],	/*[timeouts holder]*/
	timeout :	[],	/*[timeouts holder]*/
	release :	[],	/*[timeouts holder]*/
	uptime :	5000,	/*[uptime timer, ms]*/
	modes :		[],	/*[on|off]*/
	states :	[],
	_trace : function (n, type) {
		if (!doclix_demo_mode) {
			dx_i.ad_t_imgs[n].src = '';
			dx_i.reload_mode ? y = dx_i.current_i : y = n;
			var	t_url = doclix_image.ad_target_urls[y];
				t_url = unescape(t_url);
				t_url = t_url.substr(t_url.indexOf('redir.jsp?p=')+10);
				r = Math.floor(Math.random()*10001);
			switch (type) {
				case 'message':
					dx_i.ad_t_imgs[n].src = 'http://ads.doclix.com/adserver/CntImprImg?type=msg&' + t_url +'&r=' + r;
					break;
				case 'ad':
					dx_i.ad_t_imgs[n].src = 'http://ads.doclix.com/adserver/CntImprImg?type=ad&' + t_url +'&r=' + r;
					break;
			}
		}
	},
	ad_m_heights :	[],
	ad_t_heights :	[],
	ad_d_heights :	[],
	img_w_treshold : 390, /*[image width treshold for switching ad size]*/
	_move : function (n, position) {
		var dx_i = doclix_image, min_step = 2, step = 2, t = 10, s = 'style', pin = doclix_image.pin_y, d = new Date(), last_time = d.getTime();
		var ad_travel_up_down = 30, ad_time_up_down = 300, ad_travel_in_out = 35, ad_time_in_out = 300;
		var p_in_down, p_up, p_out;
		if (parseInt(dx_i.ad_target_imgs[n].getAttribute('obj_w')) < dx_i.img_w_treshold) {
			dx_i.ad_m_heights[n] < 15 ? p_in_down = -35 : p_in_down = dx_i.pos_s_in_down; /*[one-line message]*/
			if (dx_i.pin_y == 'top' && dx_i.ad_m_heights[n] < 15) {
				if (dx_i.ua == 'IE6-' || ((dx_i.ua == 'IE7' || doclix_image.ua == 'IE8') && dx_i.quirks)) {
					dx_i.ad_msgs[n][s].marginTop = '35px';
				} else {
					dx_i.ad_msgs[n][s].marginTop = '33px';
				}
			}
			dx_i.ad_d_heights[n] < 30 ? p_up = -10 : p_up = dx_i.pos_s_up; /*[ove vs two-line description case]*/
			p_out = dx_i.pos_s_out;
		} else {
			p_in_down = dx_i.pos_in_down;
			dx_i.ad_d_heights[n] < 20 ? p_up = -15 : p_up = dx_i.pos_up; /*[ove vs two-line description case]*/
			p_out = dx_i.pos_out;
		}
		dx_i.trans[n] = window.setInterval(function () {
			switch (position) {
				case 'in':
					d = new Date();
					var delta_time = d.getTime() - last_time;
					last_time = d.getTime();
					step = Math.max(parseInt(ad_travel_in_out * (delta_time / ad_time_in_out)), min_step);
					if (dx_i.pos[n] <= p_in_down - step) {
						dx_i.ad_overs[n][s][pin] = dx_i.pos[n] + step + 'px';
						dx_i.pos[n] = dx_i.pos[n] + step;
					} else {
						window.clearInterval(dx_i.trans[n]);
						window.setTimeout( function () {
							if (dx_i.ad_hms[n]) dx_i.ad_hms[n][s].display = 'none';
						}, 100);
						dx_i.ad_overs[n][s][pin] = p_in_down + 'px';
						dx_i.transition.fade._show(dx_i.ad_msgs[n], '', n);
						if (dx_i.states[n] != 'in') dx_i._trace(n, 'message');/*[only call once per state change]*/
						dx_i.states[n] = 'in';
					}
					step = min_step;
					break;
				case 'up':
					d = new Date();
					var delta_time = d.getTime() - last_time;
					last_time = d.getTime();
					step = Math.max(parseInt(ad_travel_up_down * (delta_time / ad_time_up_down)), min_step);
					if (dx_i.pos[n] <= p_up - step) {
						dx_i.ad_overs[n][s][pin] = dx_i.pos[n] + step + 'px';
						dx_i.pos[n] = dx_i.pos[n] + step;
					} else {
						window.clearInterval(dx_i.trans[n]);
						window.setTimeout( function () {
							if (dx_i.ad_hms[n]) dx_i.ad_hms[n][s].display = 'block';
						}, 100);
						dx_i.ad_overs[n][s][pin] = p_up + 'px';
						dx_i.transition.fade._hide(dx_i.ad_msgs[n], dx_i.ad_lnks[n], n);
						if (dx_i.ad_hms[n]) dx_i.ad_hms[n][s].display = 'block';
						if (dx_i.states[n] != 'up') dx_i._trace(n, 'ad');/*[only call once per state change]*/
						dx_i.states[n] = 'up';
					}
					step = min_step;
					break;
				case 'down':
					d = new Date();
					var delta_time = d.getTime() - last_time;
					last_time = d.getTime();
					step = Math.max(parseInt(ad_travel_up_down * (delta_time / ad_time_up_down)), min_step);
					if (dx_i.pos[n] >= p_in_down + step) {
						dx_i.ad_overs[n][s][pin] = dx_i.pos[n] - step + 'px';
						dx_i.pos[n] = dx_i.pos[n] - step;
					} else {
						window.clearInterval(dx_i.trans[n]);
						window.setTimeout( function () {
							if (dx_i.ad_hms[n]) dx_i.ad_hms[n][s].display = 'none';
						}, 100);
						dx_i.ad_overs[n][s][pin] = p_in_down + 'px';
						dx_i.transition.fade._hide(dx_i.ad_lnks[n], dx_i.ad_msgs[n], n);
						dx_i.states[n] = 'down';
					}
					step = min_step;
					break;
				case 'out':
					d = new Date();
					var delta_time = d.getTime() - last_time;
					last_time = d.getTime();
					step = Math.max(parseInt(ad_travel_in_out * (delta_time / ad_time_in_out)), min_step);
					try {
						if (dx_i.pos[n] >= p_out + step) {
							dx_i.ad_overs[n][s][pin] = dx_i.pos[n] - step + 'px';
							dx_i.pos[n] = dx_i.pos[n] - step;
						} else {
							window.clearInterval(dx_i.trans[n]);
							if (dx_i.ad_hms[n]) dx_i.ad_hms[n][s].display = 'none';
							dx_i.ad_overs[n][s][pin] = p_out + 'px';
							dx_i.transition._set_op(dx_i.ad_msgs[n], 0);
							dx_i.transition._set_op(dx_i.ad_lnks[n], 0);
							dx_i.states[n] = 'out';
						}
					} catch (e) {/*[safety switch for the case if the image was removed after the scripts started]*/}
					step = min_step;
					break;
				}
			}, t);
	},
	transition : {
		fade : {
			step : 0.2,	/*[fade in/out opacity increment [0> number <1]]*/
			rate : 20,	/*[fade in/out frame length [ms]]*/
			fade_in : [],
			fade_out : [],
			_show : function (obj, relay, x) {
				var dx_i_t = doclix_image.transition;
				window.clearInterval(dx_i_t.fade.fade_in[x]);
				window.clearInterval(dx_i_t.fade.fade_out[x]);
				obj.style.display = 'block';
				dx_i_t.fade.fade_in[x] = window.setInterval(function () {
					dx_i_t.fade._show_inc(obj, relay, x);
				}, dx_i_t.fade.rate);
			},
			_show_inc : function (obj, relay, x) {
				var dx_i_t = doclix_image.transition;
				if (obj.op < 1) {
					dx_i_t._set_op(obj, Math.min(parseFloat(obj.op) + dx_i_t.fade.step, 1));
				} else {
					dx_i_t._set_op(obj, 1);
					window.clearInterval(dx_i_t.fade.fade_in[x]);
					if (relay) {dx_i_t.fade._hide(relay, '', x);}
				}
			},
			_hide : function (obj, relay, x) {
				var dx_i_t = doclix_image.transition;
				window.clearInterval(dx_i_t.fade.fade_out[x]);
				window.clearInterval(dx_i_t.fade.fade_in[x]);
				dx_i_t.fade.fade_out[x] = window.setInterval(function () {
					dx_i_t.fade._hide_inc(obj, relay, x);
				}, dx_i_t.fade.rate);
			},
			_hide_inc : function (obj, relay, x) {
				var dx_i_t = doclix_image.transition;
				if (obj.op > 0) {
					dx_i_t._set_op(obj, Math.max(parseFloat(obj.op) - dx_i_t.fade.step, 0));
				} else {
					dx_i_t._set_op(obj, 0);
					window.clearInterval(dx_i_t.fade.fade_out[x]);
					obj.style.display = 'none';
					if (relay) {dx_i_t.fade._show(relay, '', x);}
				}
			}
		},
		_set_op : function (obj, val) {
			var dx_i = doclix_image, s = 'style';
			obj.op = val;
			if (dx_i.ua == 'IE6-' || dx_i.ua == 'IE7' || dx_i.ua == 'IE8') {
				obj[s].zoom = 1;
				obj[s].filter = 'alpha(opacity='+parseInt(val*100)+')';
			} else {
				obj[s].opacity = val;
			}
		}
	},
	_extract : function (str) {
		var dx_i = doclix_image, iO = 'indexOf';
		if (dx_i.setup && dx_i.setup[iO](str)!=-1) {
			var	val_str = dx_i.setup.substr(dx_i.setup[iO](str)+str.length+1);
			val_str = val_str.substr(0, val_str[iO]('|'));
			return val_str;
		} else {return false;}
	},
	setup : '',
	_launch : function () {
		var dx_i = doclix_image;
		if (doclix_demo_mode && document.ads_pub_ad_setup) {
			dx_i._init();
		} else if (dx_i.ua == 'IE6-' || dx_i.ua == 'IE7' || dx_i.ua == 'IE8') {
			(function () {
		      var tempNode = document.createElement('document:ready');
		      try {
		        tempNode.doScroll('left');
		        dx_i._init();
		        tempNode = null;
		      } catch (e) {setTimeout(arguments.callee, 0);}
		    })();
		} else {
			dx_i._init();
		}
	}
};

/*[adjust for user agent]*/
if ((doclix_image.ua == 'IE6-' || doclix_image.ua == 'IE7' || doclix_image.ua == 'IE8') && doclix_image.quirks) {
	doclix_image.pos_out = -73;
	doclix_image.pos_in_down = -40;
	doclix_image.pos_up = -10;
	doclix_image.pos_s_out = -73;
	doclix_image.pos_s_in_down = -20;
	doclix_image.pos_s_up = -3;
} else {
	doclix_image.pos_out = -70;
	doclix_image.pos_in_down = -30;
	doclix_image.pos_up = 0;	
	doclix_image.pos_s_out = -70;
	doclix_image.pos_s_in_down = -21;
	doclix_image.pos_s_up = 0;
}

/*[create elements]*/
if (doclix_image.cookie._read('doclix_image_ads') == null) {doclix_image._launch();}

/*[end AdSide/DOCLIX image ad unit: first tier]*/
