function MTVNPlayerPreload(){
	this.playUpUrl = 'http://media.mtvnservices.com/player/images/Button_playBig_upSkin.png';
	this.playOverUrl = 'http://media.mtvnservices.com/player/images/Button_playBig_overSkin.png';
	this.playButtonWidth = 92;
	this.playButtonHeight = 70;
	this.embedCount = 0;
	
	this.getElementsByClassName = function(elementType,swapClass){
		var retnode = [];
		var myclass = new RegExp('\\b'+swapClass+'\\b');
		var elem = document.getElementsByTagName(elementType);
		for (var i = 0; i < elem.length; i++) {
			var classes = elem[i].className;
			if (myclass.test(classes)) retnode.push(elem[i]);
		}
		return retnode;
	}
	
	this.attachClickToWrappers = function(swapDivName,h,w){
		var holders = this.getElementsByClassName("div",swapDivName);	
		for (var i=0;i<holders.length;i++) {
			var currentHolder = holders[i];
			this.onClickWrapper(currentHolder,h,w);
		}
	}
	
	this.attachToWrappers = function(swapDivName,h,w){
		var holders = this.getElementsByClassName("div",swapDivName);	
		for (var i=0;i<holders.length;i++) {
			var currentHolder = holders[i];
			this.attachToWrapper(currentHolder,h,w);
		}
	}
	
	this.attachToWrapper = function(swapDivO,h,w){
		var embedCount = this.embedCount;
		var upName = "pUp"+this.embedCount;
		var overName = "pOver"+this.embedCount;
		var images = swapDivO.getElementsByTagName('img');
	 	var placeHolder = images[0];
	 	swapDivO.style.position ="relative";
	 	
	 	var playOver = document.createElement('img');		
		playOver.src = this.playOverUrl;
		playOver.style.position = "absolute";
		playOver.style.zIndex = 15;
		playOver.style.left = placeHolder.width/2 - this.playButtonWidth/2;
		playOver.style.top = placeHolder.height/2 - this.playButtonHeight/2;
		playOver.style.display="none";
		playOver.className = "pOver";
		playOver.id = overName;	
			
	 	var playUp = document.createElement('img');
		playUp.src = this.playUpUrl;
		playUp.style.position = "absolute";
		playUp.style.zIndex = 15;
		playUp.style.left = placeHolder.width/2 - this.playButtonWidth/2;
		playUp.style.top = placeHolder.height/2 - this.playButtonHeight/2;
		playUp.style.display="block";
		playUp.className = "pUp";
		playUp.id = upName;

		swapDivO.m = new Object();
		swapDivO.m.idNumber = embedCount;
		swapDivO.m.overIdName = overName;	
		swapDivO.m.upIdName = upName;
		
		swapDivO.appendChild(playOver);
		swapDivO.appendChild(playUp);

		this.onClickWrapper(swapDivO,h,w);
		this.onEnterWrapper(swapDivO);
		this.onExitWrapper(swapDivO);
		
		this.embedCount ++;
	
	}
	
	this.onEnterWrapper = function(o){
		o.onmouseover = function(){
			var overId = this.m["overIdName"];
			var pOver = document.getElementById(overId);
			pOver.style.display = "block";
			
			var upId = this.m["upIdName"];
			var pUp = document.getElementById(upId);
			pUp.style.display = "none";	
		}
	}
	
	this.onExitWrapper = function(o){
		o.onmouseout = function(){
			var overId = this.m["overIdName"];
			var pOver = document.getElementById(overId);
			pOver.style.display = "none";
			
			var upId = this.m["upIdName"];
			var pUp = document.getElementById(upId);
			pUp.style.display = "block";		
		}
	}	
	
	this.createEmbedTag = function(id,h,w,flashVars){
		var embed = document.createElement('embed');
		embed.setAttribute('src','http://media.mtvnservices.com/'+id);
		embed.setAttribute('height',h);
		embed.setAttribute('width',w);
		embed.setAttribute('id',id);
		embed.setAttribute('flashVars',flashVars);
		embed.setAttribute('wmode','window');
		embed.setAttribute('allowFullScreen',true);
		embed.setAttribute('allowScriptAccess','always');
		embed.setAttribute('type','application/x-shockwave-flash');
		embed.style.backgroundColor = 'black';
		return embed;
	}
	

	
	this.onClickWrapper = function(o,h,w){
		o.onclick = function(){
			var id= this.id;
			var flashVars;
			if (this.getElementsByTagName('q').length > 0){
				var qValue = this.getElementsByTagName('q');
				flashVars = qValue[0].innerHTML;
			}
			
			if (this.getAttribute('flashVars')){
				flashVars = this.getAttribute('flashVars');
			}
			
			if (typeof(siteSectionId) == "string" && (siteSectionId != "" && siteSectionId != null)) { 
				flashVars += "&sid=" + siteSectionId;
			}

			if (h == 0){
				var elemArray = this.getElementsByTagName('img');
				var elem = elemArray[0];
				h = elem.height;
				w = elem.width;
			}

			var overId = this.m["overIdName"];
			pOver = document.getElementById(overId);
	        this.removeChild(pOver);
	        var upId = this.m["upIdName"];
			pUp = document.getElementById(upId);
	        this.removeChild(pUp);

			var images = this.getElementsByTagName('img');	        
	        for(var i = 0; i < images.length; i++){	
   				var dropNode = images[i];
   				this.removeChild(dropNode);	        
	        }
	        
	        var embed = MTVNPlayerPreload.createEmbedTag(id,h,w,flashVars);
			this.appendChild(embed); 
	        
	        o.onmouseout = function(){};
	        o.onmouseover = function(){};
	        o.onclick = function(){};			
		}
	}
}
MTVNPlayerPreload = new MTVNPlayerPreload();
