//playerloader.js Version 1.86
var cl_aktiv = new Array(100);
var cl_picture = new Array(100);
var cl_file = new Array(100);
var cl_image = new Array(100);
var cl_buyImage = new Array(100);
var cl_BuyLink = new Array(100);
var cl_vHeight = new Array(100);
var cl_vWidth = new Array(100);
var cl_autoplay = new Array(100);
var cl_bWidth = new Array(100);
var cl_bHeight = new Array(100);
var cl_shopId = new Array(100);
var cl_trackInfo = new Array(100);

var cl_loaded = true;

function clBuildMain(rootBannerDiv,BannerId) {
    
	var zindex = 90+BannerId;
	var mainDiv = document.createElement("div");
	cl_jq(mainDiv).css({position:"absolute",left:"0px",top:"0px",zIndex:zindex});
	mainDiv.setAttribute("id", "mainClipDiv"+BannerId, 1);
	mainDiv.innerHTML = "";
	rootBannerDiv.appendChild(mainDiv);
	
	zindex = 20 + BannerId;
	var bannerDiv = document.createElement("div");
	cl_jq(bannerDiv).css({position:"absolute",left:"0px",top:"0px",zIndex:zindex});
    bannerDiv.onmouseover = new Function("clearTimeout(cl_aktiv["+BannerId+"]);");
	bannerDiv.onmouseout = new Function("clClosePlayer("+BannerId+");");
	bannerDiv.setAttribute("id", "ClBanner"+BannerId, 5);
	bannerDiv.innerHTML = "";
	rootBannerDiv.appendChild(bannerDiv);
	
	zindex = 1 + BannerId;
	var picDiv = document.createElement("div");
	cl_jq(picDiv).css({position:"absolute",left:"0px",top:"0px",zIndex:zindex});
	picDiv.setAttribute("id", "BannerPic"+BannerId, 7);
	picDiv.innerHTML = "";
	rootBannerDiv.appendChild(picDiv);

	var bannerImg = document.createElement("img");
	bannerImg.setAttribute("id", "Bannerimg"+BannerId, 8);
	bannerImg.setAttribute("src", cl_picture[BannerId], 9);
	picDiv.appendChild(bannerImg);

	clLoadBanner(BannerId);
};

function clLoadBanner(BannerId) {
	 clearTimeout(cl_aktiv[BannerId]);
	 var BannerObj = new SWFObject("Banner.swf", "player", cl_bWidth[BannerId], cl_bHeight[BannerId], "8", "#ffffff");
	 BannerObj.addParam("allowScriptAccess", "always");
	 BannerObj.addParam('flashvars','&bannerid='+BannerId+'&Picture='+cl_picture[BannerId]+'&file='+cl_file[BannerId]+'&image='+cl_image[BannerId]+'&buyImage='+cl_buyImage[BannerId]+'&showfsbutton=true&BuyLink='+cl_BuyLink[BannerId]+'&vHeight='+cl_vHeight[BannerId]+'&vWidth='+cl_vWidth[BannerId]+'&autoplay='+cl_autoplay[BannerId]);
	 BannerObj.addParam("wmode", "transparent"); 
	 BannerObj.write("ClBanner"+BannerId);
	 clearTimeout(cl_aktiv[BannerId]);
};

function clBuildMovieDiv(BannerId) {
	var mainDiv = document.getElementById('mainClipDiv'+BannerId);
	var zindex = 99 + BannerId;
	var videoDiv = document.createElement("div");
	cl_jq(videoDiv).css({position:"absolute",left:"0px",top:"0px",zIndex:zindex});

	videoDiv.setAttribute("id", "BannerVideo"+BannerId, 11);
	
	videoDiv.onmouseover = new Function("clearTimeout(cl_aktiv["+BannerId+"]);");
	videoDiv.onmouseout = new Function("clClosePlayer("+BannerId+");");
	videoDiv.innerHTML = "";
	mainDiv.appendChild(videoDiv);
}


function clPlayMovie(VideoFile,VideoImage,VideoBuyImage,VideoShowButton,VideoBuyLink,VideoWidth,VideoHeight,AutoPlay,BannerId)
{
	clearTimeout(cl_aktiv[BannerId]);
	clBuildMovieDiv(BannerId);
	var obj = document.getElementById('ClBanner'+BannerId);
	var pos = clGetAbsPosition(obj);
	var startX = (cl_jq(obj).width() / 2);
	var startY = (cl_jq(obj).height() / 2);
	var startX2 = pos.x + startX;
	var startY2 = pos.y + startY;
	
	if (startX2 > document.body.clientWidth / 2) startX -= VideoWidth;
	if (startY2 > document.body.clientHeight / 2) startY -= VideoHeight;

	var VideoObj = new SWFObject('flvplayer3.swf', 'affiliate', VideoHeight, VideoWidth, '9');
	
	VideoObj.addParam('allowscriptaccess',   'always');
	VideoObj.addParam('allowfullscreen',     'true');   
	VideoObj.addParam("wmode", "transparent"); 
	VideoObj.addParam('swliveconnect','true');
	VideoObj.addParam('flashvars','&shopId='+cl_shopId[BannerId]+'&trackInfo='+cl_trackInfo[BannerId]+'&playertype=BannerPlayer&bannerid='+BannerId+'&showplay=true&autostart=' + AutoPlay + '&file=' + VideoFile + '&image=' + VideoImage + '&buyImage=' + VideoBuyImage + '&showfsbutton=' + VideoShowButton + '&BuyLink=' + VideoBuyLink);
	VideoObj.write('BannerVideo'+BannerId);
	cl_jq('#BannerVideo'+BannerId).css('width',VideoWidth);
	cl_jq('#BannerVideo'+BannerId).css('height',VideoHeight);
	cl_jq('#BannerVideo'+BannerId).css('left', startX); 
	cl_jq('#BannerVideo'+BannerId).css('top', startY); 
	cl_jq('#BannerVideo'+BannerId).show();
	clearTimeout(cl_aktiv[BannerId]);
};

function clExitPlayer(BannerId) {
	cl_jq('#BannerVideo'+BannerId).remove();
	clLoadBanner(BannerId);
};


function clExitPlayerDelay(BannerId) {
	cl_jq('#BannerVideo'+BannerId).remove();
	clearTimeout(cl_aktiv[BannerId]);
	var cl_ExitDelay = setTimeout("clExitPlayer("+BannerId+")",1000); //Die Zahl gibt in ms an wann der Banner wieder refreshed
};


function clClosePlayer(BannerId) {
	clearTimeout(cl_aktiv[BannerId]);
	cl_aktiv[BannerId] = setTimeout("clExitPlayer("+BannerId+")",1000);
};

function clGetFlashMovieObject(movieName)
	{
	  if (window.document[movieName]) 
	  {
		return window.document[movieName];
	  }
	  if (navigator.appName.indexOf("Microsoft Internet")==-1)
	  {
		if (document.embeds && document.embeds[movieName])
		  return document.embeds[movieName]; 
	  }
	  else //if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	  {
		return document.getElementById(movieName);
	  }
}

function clGetAbsPosition(element, xVal, yVal) {
	if (xVal == undefined) xVal = 0;
	if (yVal == undefined) yVal = 0;
	
	var x = element.offsetLeft;
	var y = element.offsetTop;
	var parent = element.offsetParent;
	
	if (parent != null) {
		var nextVals = clGetAbsPosition(parent, x, y);
		xVal += nextVals.x;
		yVal += nextVals.y;
	}
	return {x: xVal, y: yVal};
}

function clCryptLink(myValue) {
	var search = "";


	search = new RegExp("["+String.fromCharCode(63)+"]", "g");
	myValue = myValue.replace(search, "1grfDh1"); // ?

	search = new RegExp("["+String.fromCharCode(38)+"]", "g");
	myValue = myValue.replace(search, "1kfmDh1"); // &


	search = new RegExp("["+String.fromCharCode(37)+"]", "g");
	myValue = myValue.replace(search, "1przDh1"); // %

	search = new RegExp("["+String.fromCharCode(58)+"]", "g");
	myValue = myValue.replace(search, "1dpDh1");  // :

	search = new RegExp("["+String.fromCharCode(61)+"]", "g");
	myValue = myValue.replace(search, "1glDh1");  // =

	search = new RegExp("["+String.fromCharCode(45)+"]", "g");
	myValue = myValue.replace(search, "1lnDh1");  // -
	
	
	search = new RegExp("["+String.fromCharCode(43)+"]", "g");
	myValue = myValue.replace(search, "1plDh1");  // +
	
	return myValue;
};

function clSendTracking(shop_id, session_id, position, tracktype, info) {
	var url = 'http://track.mycliplister.com/track/' + shop_id + '/' + session_id + '-' + position + '-' + tracktype + '-' + info;
	var trackId = 'track_' + Math.random().toString().substr(3, 5);
	cl_jq('body').append('<img src="' + url + '" id="' + trackId + '" class="clTracker" style="display: none;" />');
	setTimeout("cl_jq('img#" + trackId + "').remove()",3000);
};

function clOpenLinkURL(URL,target) {
	var sBrowser = navigator.userAgent;
	if (sBrowser.toLowerCase().indexOf('firefox') > 0) {
		sBrowser="FF"
	};
	if (sBrowser.toLowerCase().indexOf('msie') > 0) {
		sBrowser="IE";
	};

	if (sBrowser == "FF") {
		window.onclick = function()
		{
			window.open(URL, target)
			window.onclick = null;
		};
	} else if (sBrowser == "IE") {
		window.open(URL, target)
		window.onclick = null;
	} else {
		window.open(URL, target)
		window.onclick = null;
	};
};

function stopError(){return true;};
onerror = stopError;









function clBanner() {
	this.instanceNum = this.instances.length;
	this.instances.push(this)
}

clBanner.prototype = {
	active			: false,
	img				: '',
	width			: 0,
	height			: 0,
	playerConfig	: {
		cliplist		: '',
		skin 			: '',
		width			: '',
		height 			: '',
		trackInfo		: '',
		shopID			: ''
	},
	playerFile		: 'categoryplayer.swf',
	closeBtnCSS		: {
		'position'		: 'absolute',
		'right'			: 0,
		'top'			: 0,
		'width'			: '15px',
		'height'		: '15px',
		'background'	: '#ffffff',
		'z-index'		: 100,
		'cursor'		: 'pointer'
	},
	
	instanceNum		: 0,
	instances		: new Array(),
	container		: '',
	removeInterval	: 0,
	intervalTime	: 1000,
	
	
	start : function(containerID, BannerId) {
		var instance = this;
		var img = cl_jq('<img src="'+ this.img +'" />');
		img
			.mouseover(function() {
				if (!instance.active) {
					instance.startPlayer();
				} else {
					instance.stopDelayedRemove();
				}
			})
			.mouseout(function() {
				if (instance.active)
					instance.removePlayerDelayed();
			})
		
		cl_jq('#' + containerID).append(img);
		
		this.container = cl_jq('#' + containerID);
	},
	
	removePlayer : function() {
		var instance = this;
		clRemoveInstance = this;
		var playerContainer = cl_jq('#clbannerplayer' + this.instanceNum);
		playerContainer.remove();
		
		setTimeout(function() {
			clRemoveInstance.active = false;
		}, this.intervalTime);
	},
	
	removePlayerDelayed : function() {
		clRemoveInstance = this;
		clearInterval(this.removeInterval);
		this.removeInterval = setInterval(function() {
			var bannerInst = clRemoveInstance
			clearInterval(bannerInst.removeInterval);
			bannerInst.removePlayer();
		}, this.intervalTime);
	},
	
	stopDelayedRemove : function() {
		clearInterval(this.removeInterval);
	},
	
	startPlayer : function() {
		var instance = this;
		/*
		var pos = clGetAbsPosition( this.container[0] );
		var mid = {x: document.body.clientWidth / 2, y: document.body.clientHeight / 2};
		var startPos = {x: mid.x / 2, y: mid.y / 2};
		if (pos.x > mid.x) startPos.x += this.playerConfig.width;
		if (pos.y > mid.y) startPos.y += this.playerConfig.height;
		*/
	
		var pos = clGetAbsPosition(this.container[0]);
		var startX = this.container.width() / 2 + pos.x;
		var startY = this.container.height() / 2 + pos.y;
		var startX2 = pos.x + startX + 10;
		var startY2 = pos.y + startY + 10;
		if (startX2 > document.body.clientWidth / 2) startX -= this.playerConfig.width;
		if (startY2 > document.body.clientHeight / 2) startY -= this.playerConfig.height;
		
		var pContainerID = 'clbannerplayer' + this.instanceNum;
		var playerContainer = cl_jq('<div id="' + pContainerID + '"></div>');
		playerContainer
			.css({
				'position'	: 'absolute',
				'z-index'	: 999,
				'width'		: this.playerConfig.width + 'px',
				'height'	: this.playerConfig.height + 'px',
				'left'		: startX,
				'top'		: startY
			})
			.mouseout(function() {
				instance.removePlayerDelayed();
			})
			.mouseover(function() {
				instance.stopDelayedRemove();
			})
		
		var closeBtnContainer = cl_jq('<div class="cl_close"></div>');
		closeBtnContainer.css(this.closeBtnCSS);
		closeBtnContainer.css('font-size', '1px');
		closeBtnContainer
			.click(function() {
				instance.removePlayer();
			})
		
		cl_jq('body').append(playerContainer[0]);
		
		this.active = true;
		
		var player = new clPlayer();
		player.config = this.playerConfig;
		player.playerFile = this.playerFile;
		player.start(pContainerID);
		
		playerContainer.append(closeBtnContainer);
	}
}


function clPlayer() {
	
}

clPlayer.prototype = {
	config : {
		cliplist		: '',
		skin 			: '',
		width			: '',
		height 			: '',
		trackInfo		: '',
		shopID			: ''
	},
	playerFile : 'categoryplayer.swf',
	
	start : function(containerID) {
		var swfObj = new SWFObject(this.playerFile, 'cliplistervideo', this.config.width, this.config.height, '9');
		var flashVars = '';
		flashVars += 'CliplistXML=' + this.config.cliplist + '?nocache=' + Math.random();
		flashVars += '&PlayerDesginXML=' + this.config.skin;
		flashVars += '&trackInfo=' + this.config.trackInfo;
		flashVars += '&shopID=' + this.config.shopID;
		
		swfObj.addParam('allowscriptaccess',   'always');
		swfObj.addParam('allowfullscreen',     'true');   
		swfObj.addParam("wmode", "transparent"); 
		swfObj.addParam('swliveconnect','true');
		swfObj.addParam('flashvars', flashVars);
		swfObj.write(containerID);
	}
}




