// ==UserScript==
// @name Cam4 Clean
// @description removes all add's
// @namespace cam4_goes_droopy
// @version 1.61
// @include http://*.cam4.*/*
// @include http://*.cam4s.com/*
// @include http://*.sex.co.uk/*
// @include http://*.lesbiansex.com/*
// @include http://*.pornografico.com/*
// @include http://*.pornografia.com/*
// @grant GM_xmlhttpRequest
// @grant GM_info
// @run-at document-start
// ==/UserScript==
function do_script() {
version = Number(GM_info.script.version);
createCookie("bannerPops","under-exit",1);
createCookie("DirPageCount",11,1);
// check for updates once per session 5 seconds after load if logged in
if ((!readCookie("updatecheck"))&&(document.getElementById('mini-mail_pic'))){
setTimeout(function(){update()}, 5000);
}
//remove add's that may or may not be there
//empty add space and change id so it can not be filled again
banner=document.getElementById("loading_ads");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("subfoot");
if (banner){banner.parentNode.removeChild(banner)}
// new layout
if (!document.getElementsByClassName('pod')[0]){
banner=document.getElementById("right-content");
if (banner){banner.parentNode.removeChild(banner)}
}else{
banner = document.getElementsByClassName('skyscraper-ad')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("rssSectionWrapper");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("digest-signupHome");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("profileStatus");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("profileStatus_questionnaire");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("quick-filter-profile-page-three");
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('sponsorAd')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('sponsorAd')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('sponsorAd')[0];
if (banner){banner.parentNode.removeChild(banner)}
document.getElementById("main-content").className = "";
}
banner=document.getElementById("tippingJarDiv");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("goldNavbar");
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('supershowBanner')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('profileDisclaimer')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('campaign-icon')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("besideBroadcastingContainer");
if (banner){banner.parentNode.removeChild(banner)}
// re-useable add space
banner=document.getElementById("headerBanner");
if (banner){
if (document.getElementById("broadcastingApp")){
banner.innerHTML="<h2 style='font-size:small'>"+document.title+" </h2>"}else{
banner.innerHTML="<h2 style='font-size:small'>Add Free by ladroop.  V"+version.toFixed(1)+"</h2>"}
}
//inserted stuff
t=setInterval(function(){
banner=document.getElementById("directoryDiv");
if (banner){
Users = banner.getElementsByClassName('profileBox');
for (var i = 0; i < Users.length; i++) {
if (!Users[i].getElementsByTagName('a')[0].href){
Users[i].setAttribute("style","display: none !important;");
}
}
}
banner = document.getElementsByClassName('xmlAdsTitle')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementsByClassName('xmlAdsWrapper')[0];
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementById('imFloatingAd');
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementById('Cam4DialogContainer');
if (banner){banner.parentNode.removeChild(banner)}
banner = document.getElementById('directoryHtml');
if (banner){banner.className=""}
},500)
// skip age confirm screen with one second delay
setTimeout(function(){
hit=document.getElementsByClassName("nopop btn iagree closeOverlayJquery")[0];
if(hit){click(hit)}
},1000);
// remove spam from menubar, remove supershow , contest, cam4shop and fuckdate
if (document.getElementById("headerMenuOptions")){
lioptions=document.getElementById("headerMenuOptions").getElementsByTagName('li');
for (i=lioptions.length-1;i!=0;i--){
h=lioptions[i].innerHTML;
if ((h.indexOf("super")!=-1)||(h.indexOf("contest")!=-1)||(h.indexOf("cam4shop")!=-1)||(h.indexOf("dropkick")!=-1)){
lioptions[i].parentNode.removeChild(lioptions[i]);
}
}
}
// remove premium from dropdown
if (document.getElementsByClassName('dropDownList')[2]){
drops=document.getElementsByClassName('dropDownList')[2].getElementsByTagName('a');
for (i=0; i<drops.length; i++){
if (drops[i].href.indexOf("cam4ultimate")!=-1){
drops[i].parentNode.style.display="none";
}
}
}
// on profile , cam or no cam
if (document.getElementById("profileHeaderShare")){
// votes count
if (document.getElementById("hiddenvotes")){
if (document.getElementById("rating_status")){
document.getElementById("rating_status").innerHTML=document.getElementById("hiddenvotes").innerHTML+" people voted";
}
}
// on profile with cam
if (document.getElementById("broadcastingApp")){
// move cam 80px right and make it expandable
if (document.getElementById("camPaneBig")){
document.getElementById("camPaneBig").style.margin="0px 0px 0px 80px";
}
// zoom settings
setTimeout(function(){// wait for video
if (document.getElementById("mini-mail_pic")){// only if logged in
if (!document.getElementsByClassName("ui-resizable-handle")[0]){// only if cam4's own rezise is not active
holder=document.getElementById("broadcastingApp");
pheight=parseInt(document.getElementById("Cam4VChat").height)+40;
if (!document.getElementById("containerFirebase").style.paddingLeft){
document.getElementById("containerFirebase").style.paddingLeft="586px"
}
ratio=parseInt(document.getElementById("containerFirebase").style.paddingLeft)/document.getElementById("Cam4VChat").height;
document.getElementById("containerFirebase").style.height="100%";
document.getElementById("chat_main").style.height="100%";
document.getElementById("chatUsersList").style.height="100%";
document.getElementById("chatFriendsList").style.height="100%";
document.getElementById("chatFriendsOnlineList").style.height="100%";
document.getElementById("chatFavoritesList").style.height="100%";
document.getElementById("chatFavoritesOnlineList").style.height="100%";
document.getElementById("Cam4VChat").style.height="100%";
document.getElementById("Cam4VChat").style.width="100%";
holder.setAttribute("style","margin-left:0px;margin-top:0px;margin-bottom:0px;resize:vertical;overflow:hidden;width: 100%;height:"+pheight+"px ");
newdiv=document.createElement('div');
newdiv.setAttribute("style","margin-left:100%;width: 100px;height:100px;visibility:visble;position:absolute; left:-50px;bottom:150px;");
newdiv.id="trigger";
newdiv.addEventListener("mouseenter", function(){document.getElementById("trigger").style.visibility="hidden";holder.addEventListener("mousemove",adjplayer, false)});
document.getElementById("camPaneBig").appendChild(newdiv);
holder.addEventListener("mouseout", function(){document.getElementById("trigger").style.visibility="visible";holder.removeEventListener("mousemove",adjplayer, false)});
adjplayer();
}
}
// activate full screen option
banner=document.getElementById("fullscreen");
if (banner){
banner.innerHTML="Full Screen";
banner.addEventListener('click',function(){fullcam()}, false);
}
}, 10000);
//remove icons below cam
banner=document.getElementById("tipMenu");
if (banner){
banner=document.getElementById("li5");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("li4");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("li3");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("li2");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("li1");
if (banner){banner.parentNode.removeChild(banner)}
banner=document.getElementById("liveHelpButton");
if (banner){banner.parentNode.removeChild(banner)}
}
//new full screen button
newli=document.createElement('li');
newli.id="fullscreen";
newli.className="btn btn-orange";
newli.innerHTML="Please Wait";
document.getElementById("NSBar").appendChild(newli);
}
}
}//end main
// full screen
function fullcam(){
document.getElementById("Cam4VChat").style.position="fixed";
document.getElementById("Cam4VChat").style.left="0px";
document.getElementById("Cam4VChat").style.top="0px";
document.getElementById("Cam4VChat").style.zIndex="999";
document.getElementsByTagName("body")[0].style.overflow="hidden";
document.getElementById("broadcastingApp").style.resize="none";
document.getElementById("Cam4VChat").addEventListener('click',function(){exitfullcam()}, false);
}
function exitfullcam(){
document.getElementById("Cam4VChat").removeEventListener('click',function(){exitfullcam()}, false);
document.getElementById("Cam4VChat").style.position="static";
document.getElementsByTagName("body")[0].style.overflow="visible";
document.getElementById("broadcastingApp").style.resize="vertical";
}
//auto clicker
function click(elm) {
var evt = document.createEvent('MouseEvents');
evt.initEvent("click", true, false);
elm.dispatchEvent(evt);
}
// update function
function update(){
createCookie("updatecheck","1",1);
infolink= "https://greasyfork.org/scripts/10272-cam4-clean.json";
GM_xmlhttpRequest({
method: 'GET',
url: infolink,
onload: function(response) {
data = response.responseText;
nversion=Number(JSON.parse(data).version);
if (nversion>version){
upurl=JSON.parse(data).code_url;
if (confirm("There is a new version of the cam4 script available. Do you want to install it?")){
window.open(unescape(upurl), '_top')}
}
}
});
}
// adjust player and chat size
function adjplayer(){
frameh=document.getElementById("broadcastingApp").style.height;
pframeh=parseInt(frameh);
if (pframeh <250){pframeh=250;document.getElementById("broadcastingApp").style.height=pframeh+"px"}
pframeh=pframeh-40;
pframew=parseInt(pframeh*ratio);
document.getElementsByClassName("chatlessPlayer")[0].style.height=pframeh+"px";
document.getElementsByClassName("chatlessPlayer")[0].style.width=pframew+"px";
document.getElementById("containerFirebase").style.paddingLeft=pframew+"px";
document.getElementById("fakechatDiv").style.height=pframeh+8+"px";
document.getElementById("tab1C").style.height=pframeh-71+"px";
document.getElementById("tab2C").style.height=pframeh-22+"px";
document.getElementById("lists").style.height=pframeh-52+"px";
document.getElementById("GSTabPanel").style.maxHeight=pframeh-85+"px";
document.getElementById("chatPanelTemplate").style.maxHeight=pframeh-85+"px";
}
//cookie functions
function createCookie(name,value,days,domain){
if (domain){
var domain=";domain=."+domain;
}else var domain = "";
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}else var expires = "";
document.cookie = name+"="+value+expires+"; path=/"+domain;
}
function eraseCookie(name,domain){
createCookie(name,"",-1,domain);
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function do_script1(){
window.removeEventListener("DOMContentLoaded", this, false);
if (document.getElementsByTagName('head')[0].innerHTML.indexOf("icra") != -1){ // no running on other cam4 pages like iframes
if (document.getElementsByTagName('head')[0].innerHTML.indexOf("edgecast.cam4s.com") != -1){ // run only on real cam4 domains
do_script();
}
}
}
window.addEventListener("DOMContentLoaded", function() { do_script1() }, false);