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 (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();
