SwagTv script

this script will automatically fetch and go to the next video after the meter goes up.

Verzia zo dňa 29.05.2014. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name 	SwagTv script
// @namespace 	swagtv
// @description	this script will automatically fetch and go to the next video after the meter goes up. 
// @version 0.31
// @include	http://video.swagbucks.com/*
// @include http://www.swagbucks.com/?cmd=cp-get-captcha-image*
// @require https://greasyfork.org/scripts/1706-gocr-library/code/GOCR%20Library.js?version=4235
// ==/UserScript==
//
// --------------------------------------------------------------------


if (window.opener != null && window.location.href.indexOf("mumbojumbo") > -1) {
    console.log("in");
    console.log(window.opener);
    window.opener.postMessage("Child Frame Loaded", "*");
    var pic = document.getElementsByTagName("img")[0];
    var image = getBase64Image(pic);
    var ocrString = GOCR(image);
    console.log(ocrString.toUpperCase());
    window.opener.postMessage({magicword: "mumbojumbo", string: ocrString}, "*");
}

else{
    var iLoops = 0;
    window.setInterval(reloadTimer,1000);
    var doc = document.getElementById("feed-ajax-div");
    var notes = false;
    var _class = document.getElementsByClassName("thumb-container");
    
    /*for (var i = 0; i < _class.length; i++) {
        if (_class[i].className == "thumb-container active") {
                var k = i;
                break;			
        }
            
    } */
    var k = getK();
            
    var video = document.getElementById("video-title");
    video.parentNode.removeChild(video);
    var comment = document.getElementById("commentsCont");
    comment.parentNode.removeChild(comment);
    
    
    
    var randomNum = 0;
    var strPercentStart = null;
    var link = null;
    var div = null;
}

function getK(){
	for (var i = 0; i < _class.length; i++) {
        if (_class[i].className == "thumb-container active") {
                var k = i;
                break;			
        }
            
    }
    return k
}

function reloadTimer(){
	iLoops++;
	if (iLoops%5==0)
        console.log(iLoops);
	if (iLoops == 5) {
        console.log("k: "+k);
		strPercentStart = document.getElementById("meterNumber").innerHTML;
		div = document.getElementById("meterDuplicateVideo");
		
		if (div.style.display == 'none') {
			randomNum = Math.floor(Math.random()*15 + 50);
		}
		else {
			randomNum = 8;
		};
		if (k == null) {
            console.log("In K=3");
			//var clickEvent = document.createEvent('MouseEvents');
			//clickEvent.initEvent('click', true, true);
			//document.getElementsByClassName("feed-ajax-next")[0].dispatchEvent(clickEvent);
            if (!document.getElementsByClassName("feed-ajax-next")[0])
          		notes = true;
            else
                document.getElementsByClassName("feed-ajax-next")[0].click();
			k = -1;
		}
		
	};
	
	if (iLoops == randomNum){
        	//console.log(k);
		if (document.getElementById("sbvd_capText")) {
		    //alert('Captcha');
                    pic = document.getElementById("sbvdcapimg");
                    //pic.crossOrigin = 'anonymous';
                    var string = getCaptchaText(pic);
	        }
		else {
                    if (notes)
                        alert("Pick a new category");
                    else{
			link = document.getElementsByClassName("thumb-link")[k+1].href;
			window.location.href = link;
                    }
		}
	}
			
		
};
var childWindow = null;
function getCaptchaText(pic){
	var pic = document.getElementById("sbvdcapimg");
    childWindow = window.open(pic.src+"&magicword=mumbojumbo");
}

if (window.opener != null && window.location.href.indexOf("mumbojumbo") > -1) {
    console.log("in");
    window.opener.postMessage("Child Frame Loaded", "*");
    var pic = document.getElementsByTagName("img")[0];
    console.log(pic);
    ocrString = ""
    if (pic){     
        setTimeout(function(){
            var image = getBase64Image(pic);
            console.log(image);
            var imageData = image[0];
            var ocrString = GOCR(imageData);
            console.log(ocrString.toUpperCase());
        },500);
    }
    window.opener.postMessage({magicword: "mumbojumbo", string: ocrString}, "*");
    window.opener=window;
	window.close();
    top.window.close();
}

window.addEventListener("message", function(e) {
         if (e.data.magicword === "mumbojumbo") {
             console.log("Message Received");
             console.log(e.data);
             var ocrString = e.data.string.toUpperCase();
             console.log("string");
             console.log(ocrString);
             console.log("string");
             if (childWindow)
             	childWindow.close();
             if (ocrString.indexOf('_') === -1){
                 if (document.getElementById("sbvd_capText")){
                 	 document.getElementById("sbvd_capText").value = ocrString;
                 	 document.getElementsByClassName("btnClaim")[0].click();
                     setTimeout(function() {
                         if (!document.getElementById("sbvd_capText")){                     
                             k=getK();
                             if (k == null)
                                 k=-1;
                             link = document.getElementsByClassName("thumb-link")[k+1].href;
                             //alert("NEXT");
                             window.location.href = link;
                        }
                        else{
                            //alert("Opened 1");
                            var pic = document.getElementById("sbvdcapimg");
                            childWindow = window.open(pic.src+"&magicword=mumbojumbo");
                        }
                     }, 1000);
                 }
                                
             }
             else{
                //alert("Opened 2");
                var pic = document.getElementById("sbvdcapimg");
    			childWindow = window.open(pic.src+"&magicword=mumbojumbo");
             }
         }
          else{
              console.log("Also message received");
              console.log(e.data);
          }
      }, false);

function getBase64Image(img) {
   /* // Create an empty canvas element
    var pic = document.createElement("img");
    pic.src = img;
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
    ctx.drawImage(pic, 0, 0);
    var pic2 = document.createElement("img");
    pic2.src=canvas.toDataURL("image/png");
    console.log(canvas.toDataURL("image/png"));
    ctx.drawImage(pic2,0,0);

    // Get the data-URL formatted image
    // Firefox supports PNG and JPEG. You could check img.src to
    // guess the original format, but be aware the using "image/jpg"
    // will re-encode the image.
    var dataURL = ctx.getImageData(0,0,canvas.width,canvas.height);

    return dataURL;//.replace(/^data:image\/(png|jpg);base64,/, "");*/
    // Create an empty canvas element
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    // Get the data-URL formatted image
    // Firefox supports PNG and JPEG. You could check img.src to
    // guess the original format, but be aware the using "image/jpg"
    // will re-encode the image.
    var dataURL = ctx.getImageData(0,0,canvas.width,canvas.height);

    return dataURL;//.replace(/^data:image\/(png|jpg);base64,/, "");
}