Music India Online Player

By supratim Last update May 9, 2007 — Installed 1,045 times. Daily Installs: 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 1, 0
// Music India Online Hack - Opens SMIL directly on clicking on music links
// version 0.3 BETA!
// --------------------------------------------------------------------
//
//
// ==UserScript==
// @name          Music India Online Player
// @namespace     http://www.musicindiaonline.com/hackforlinux/
// @description   Bypasses the musicindia triden player and creates a link to play the songs directly in real player
// @include       http://www.musicindiaonline.com/*
// ==/UserScript==
function playSMIL2(){playSMIL(this.title);}
function playSMIL(moi_uri){
	GM_xmlhttpRequest({
	  method: 'GET',
	  url: moi_uri,
	  headers:{'User-agent': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3', 'Accept': 'application/atom+xml,application/xml,text/xml' },
	  onload: function(responseDetails){
		var re = /<frame name="player" .* src="(.*?)"/;
		if (re.test(responseDetails.responseText)){
		var uri = 'http://www.musicindiaonline.com' + re.exec(responseDetails.responseText)[1];
		GM_xmlhttpRequest({
			method: 'GET',
			url: uri,
			headers:{ 'User-agent': 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3', 'Accept': 'application/atom+xml,application/xml,text/xml'},
			onload: function(responseDetails){
			var re = /playerh\.start\('(.*?)'\);/;
			var smil = '';
			if (re.test(responseDetails.responseText)){smil = re.exec(responseDetails.responseText)[1];}
			var win= window.open(smil,'music indiaonline',"menubar=no,toolbar=no,location=no,directories=no,personalbar=no,status=no,dependent=yes,width=640,height=480");
			}
		});
	   }
	}
       });
  }
function moi_subo() {
var l='/cg/';
var w = 'sls';
var n = 'scx';
var frm = document.getElementsByName(w)[0];
u=l;did=0;for(i=0;i<frm.elements.length;i++){
if(frm.elements[i].name==n && frm.elements[i].checked){
did=1;
u += frm.elements[i].value+'/';
}}
if(did){
	this.title = 'http://www.musicindiaonline.com' + u;
	playSMIL(this.title);
}else{alert("Please select atleast one song to play")}
}
try {
	var allLinks;
	allLinks = document.evaluate( '//a[contains(@href,"/p/x/") or contains(@href,"/p/xx/")]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
	for (var i=0;i< allLinks.snapshotLength;i++){
		var thisLink = allLinks.snapshotItem(i);
		var parentLink = thisLink.parentNode;
		parentLink.removeChild(thisLink);
		var myLink = document.createElement('a');
		myLink.title = thisLink.href;
		myLink.href="#";
		myLink.innerHTML = thisLink.innerHTML;
		myLink.addEventListener('click', playSMIL2 ,true);
 		parentLink.insertBefore(myLink,parentLink.firstChild);	
	}
	var playSelected = document.getElementsByName('pss')[0];
	if (playSelected) {
		var pssParent = playSelected.parentNode; var pssValue = playSelected.value;
		pssParent.removeChild(playSelected);
		playSelected = document.createElement('input'); playSelected.type  = 'button'; playSelected.value = pssValue;
		playSelected.addEventListener('click', moi_subo,true);
		pssParent.appendChild(playSelected);
	}
	
	allLinks = document.evaluate( '//iframe', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
	for (var i=0;i< allLinks.snapshotLength;i++){
		var thisLink = allLinks.snapshotItem(i);
		thisLink.parentNode.removeChild(thisLink);
	}
	allLinks = document.evaluate( '//img[contains(@src,"728x90")]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
	for (var i=0;i< allLinks.snapshotLength;i++){
		var thisLink = allLinks.snapshotItem(i);
		thisLink.parentNode.removeChild(thisLink);
	}

	
} catch(e){
	GM_log(e);
}