Cam4 Clean

removes all add's

As of 2016-03-08. See the latest version.

// ==UserScript==
// @name		   Cam4 Clean
// @description    removes all add's
// @namespace	   cam4_goes_droopy
// @version		   1.6
// @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+"&nbsp</h2>"}else{
			banner.innerHTML="<h2 style='font-size:small'>Add Free by ladroop.&nbsp 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)}
	},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);