
var kitd = window['kitd'] || {}; // namespace

kitd.VOD = kitd.VOD || {};
kitd.VOD.isiOS = /(ipad|iphone)/i.test(navigator.userAgent.toLowerCase());
kitd.VOD.isiPhone = /(iphone)/i.test(navigator.userAgent.toLowerCase());

kitd.html5loader = kitd.VOD.loader = function(id) {
	id = id || null;
	var node = false;
	
	if (window.ActiveXObject) {
		var control = false;
		try {
			var control = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
		} catch (e) {}

		if (control) {return false;}
	} 
	else {
		var p  = navigator.plugins;
		for (var i in p) {
			if (p.hasOwnProperty(i)) {
				if (/shockwave flash/i.test(p[i].name)) {return false;}
			}
		}
	}

	if (!document.createElement('video').canPlayType) {
		return false;
	};

	if (id != null) {
		node = document.getElementById(id); 
	} 
	else {
		var scripts = document.getElementsByTagName("script");
		node = ((scripts[scripts.length-1]).parentNode.parentNode);
	}

	if (!node) {
		return false;
	}

	var
		v = ((node.getElementsByTagName('video'))[0]).cloneNode(true), 
		p = document.createElement('div'),
		P = document.createElement('div'),
		o = node.getElementsByTagName('object')[0];

	node.style.position = "relative";
	p.className = "playButton";
	P.className = "iPhonePoster";
	p.style.position = P.style.position = "absolute";
	p.style.top = P.style.top = 0;
	p.style.width = p.style.height = P.style.height = P.style.width = "100%";

	p.style.background = "url(" + kitd.VOD.assets.playButton + ") no-repeat scroll 50% 50% transparent";
	P.style.background = "url(" + v.getAttribute('poster') + ") no-repeat scroll 0 0 transparent";

	if (kitd.VOD.isiOS) {
		v.controls = false;
		node.removeChild(o);
		node.appendChild(v);
	};
	

	if (node.addEventListener) {
		node.addEventListener('click', kitd.VOD.handler, false);
		node.addEventListener('touchstart', kitd.VOD.handler, false);
	} 
	else {
		if (node.attachEvent) {
			node.addEventListener('onclick', kitd.VOD.handler, false);
		}
	}

	if (kitd.VOD.isiPhone) {
		v.height = 0;
		node.appendChild(P);
	};


	node.appendChild(p);


	return true;
};

kitd.html5handler = kitd.VOD.handler = function(e) {

	var node = (e.currentTarget) ? e.currentTarget : e.srcElement;

	if (node.removeEventListener) {
		node.removeEventListener('click', kitd.VOD.handler);
		node.removeEventListener('touchend', kitd.VOD.handler);
	}
	else {
		if (node.detachEvent) {
			node.detachEvent('onclick', kitd.VOD.handler);
		};
	};

	try {
		node.removeChild((node.querySelectorAll('.playButton'))[0]);
		node.removeChild((node.querySelectorAll('.iPhonePoster'))[0]);
	} catch(e) {}

	var v = (node.getElementsByTagName('video'))[0], 
		config={}, pair=[], parts={}, domain = "";
	var
		urlParams = (((v.getAttribute('poster')).split('?'))[1]).split('&'),
		e = /(|http(|s)(|:))\/\/(.+?)\//;

	if (kitd.VOD.isiPhone) {
		v.height = parseInt(node.style.height);
	};

	if (v.getAttribute('poster').match(e)) {
		domain = RegExp.$4;
	}
	else {
		return false;
	} 

	var proto = (/https:/.test(v.getAttribute('poster')))?'https:':'http:';


	if (v.getElementsByTagName('source').length > 0) {
		return false;
	};

	for (var pair, i=0, l=urlParams.length; i < l; i++) {
		pair = urlParams[i].split('=');
		config[pair[0]] = pair[1];
	};

	var	i,l,sig  = node.getAttribute('data-sig') || config.sig,
		playerKey = node.getAttribute('data-playerkey') || config.playerKey,
		baseUrl   = proto + "//" + domain + "/video/getHTML5Stream/",
		formats   = [
			{format: 'webm', mime:'video/webm'},
			{format: 'normal', mime: 'video/mp4'},
			{format: 'ogg', mime: 'video/ogg'}
		],
		formatURL = function(k, s, f) {
			return baseUrl + '?playerKey=' + k + '&sig=' + s + '&format=' + f;
		};

	var addSource = function(u, f) {
		var s = document.createElement('source');
		s.setAttribute('src', u);
		for (var i = 0; i < formats.length; i++) {
			if (formats[i].format == f) {
				if (f == "normal") {
					s.setAttribute('src', u.replace('getHTML5Stream', 'getStream'));
				};
				s.setAttribute('type', formats[i].mime);
				break;
			}
		};
		v.appendChild(s);
	};
   
	if (kitd.VOD.isiOS) {
		addSource(formatURL(playerKey, sig, 'iphone'), 'normal');
	} 
	else {
		while (v.firstChild) {v.removeChild(v.firstChild);};
		for (i=0, l=formats.length; i < l; i++ ) {
			addSource(formatURL(playerKey, sig, formats[i].format), formats[i].format);
		}
	}

	v.controls = true;
	v.load();
	v.play();
};

kitd.VOD.assets = {};
kitd.VOD.assets.playButton = "data:image/png;base64,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";

