// ==SiteScript==
// @siteName ナカダシeyez
// @siteUrl http://nakadashi-eyez.com/
// @author mayan
// @authorUrl
// @scriptUrl
// @description
// @date 2014/03/23
// @version 0.2
// ==/SiteScript==
function CravingSiteScript() {
this._initialize();
}
CravingSiteScript.prototype = {
_xhr: null,
_initialize: function() {},
_getXmlHttpRequest: function() {
if ( this._xhr != null ) {
return this._xhr;
}
var xhr = null;
var these = [
function() { return new XMLHttpRequest(); }
, function() { return new ActiveXObject( "Msxml2.XMLHTTP" ); }
, function() { return new ActiveXObject( "Microsoft.XMLHTTP" ); }
, function() { return new ActiveXObject( "Msxml2.XMLHTTP.4.0" ); }
];
for ( var i = 0, length = these.length; i < length; i++ ) {
var func = these[ i ];
try {
xhr = func();
break;
}
catch( e ) {}
}
this._xhr = xhr;
return this._xhr;
},
_load: function( url, data, method ) {
var req = this._getXmlHttpRequest();
var mtd = ( method == null ) ? "GET" : "POST";
req.open( mtd, url, false );
if ( mtd == "POST" ) {
req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
}
req.send( data );
return req.responseText;
},
getResponseText: function( url, data, method ) {
return this._load( url, data, method );
},
getResponseJSON: function( url, data, method ) {
var text = this._load( url, data, method );
return eval( "("+text+")" );
},
/// Math
random: function( limit ) {
return Math.floor( Math.random() * limit );
},
/// String
decodeHtml: function( str ) {
return str.replace( /&(quot|#0*34);/ig, "\"" )
.replace( /&(amp|#0*38);/ig, "&" )
.replace( /&(apos|#0*39);/ig, "'" )
.replace( /&(lt|#0*60);/ig, "<" )
.replace( /&(gt|#0*62);/ig, ">" )
.replace( /&(nbsp|#0*160);/ig, " " )
.replace( /&(frasl|#8260);/ig, "/" );
}
}
var _Param = {};
_Param.chkOld = true;
function isSiteUrl( url ) {
if ( url.match( /http:\/\/nakadashi-eyez\.com\/video\/[0-9A-Za-z]+/ ) ) return true;
//if ( url.match( /http:\/\/nakadashi-eyez\.com\/embed\/[0-9A-Za-z]+/ ) ) return true;
return false;
}
function getVideoDetail( url ) {
if ( typeof _Param != "object" ) _Param = {};
var objRet = getVideoDetail_new( url );
if ( objRet ) return objRet;
if ( _Param.chkOld ) {
objRet = chkOldSrv( url );
if ( objRet ) return objRet;
}
return null;
}
function getVideoDetail_new( url ) {
if ( url.match( /http:\/\/nakadashi-eyez\.com\/(video|embed)\/([0-9A-Za-z]+)/ ) ) {
var vid = RegExp.$2;
if ( RegExp.$1 == "embed" ) {
url = "http://nakadashi-eyez.com/video/" + vid;
}
} else {
return null;
}
var craving = new CravingSiteScript();
var objRef = { "text":"", "id":"" };
try {
objRef.text = craving.getResponseText( url );
} catch( e ) {
objRef.text = "";
}
if ( objRef.text.match( /
]*?class\s*=\s*("|')?titlebar\1[^>]*>\s*
]*)?>\s*(.*?)\s*<\/h2\s*>/im ) ) {
var title = craving.decodeHtml( RegExp.$2 );
}
if ( !title &&
objRef.text.match( /]*)?>\s*(.*?)\s*<\/title\s*>/ ) ) {
title = craving.decodeHtml( RegExp.$1.replace( /\s*[|│][^|│]*$/, "" ) );
}
if ( !title ) title = "nakaeyez_" + vid;
title = title.replace(/[\\\/:*?"<>|]/g, "_");
objRef.id = "content_video";
var arrRet = getDiv_class( objRef );
if ( !arrRet[0] || !arrRet[0].inner ) return null;
var src = "";
if ( arrRet[0].inner.match( /embedevplayer\(\s*("|')(.*?)\1\s*,\s*\d+\s*,\s*\d+\s*\)\s*;/ )
&& ("&"+RegExp.$2).match( /&mcd=([0-9a-zA-Z]{16})/ ) ) {
src = "http://ero-video.net/movie/?mcd=" + RegExp.$1;
}
if ( !src &&
arrRet[0].inner.match( /<(iframe|embed)(\s+[^>]*?src\s*=\s*("|')(.*?)\3[^>]*)>/im ) ) {
src = craving.decodeHtml( RegExp.$4 );
var tag = RegExp.$1.toLowerCase();
var attr = RegExp.$2;
if ( tag == "embed" && attr.match( /\s+flashvars\s*=\s*("|')(.*?)\1/i ) && RegExp.$2 ) {
var fvs = RegExp.$2;
src = src + ( ( src.indexOf( "?" ) < 0 )? "?":"&" ) + fvs;
}
}
if ( !src &&
arrRet[0].inner.match( /