// ==UserScript==
// @name           CafeWorld Free Meals
// @namespace      de.derprogger
// @description    gets free meals
// @include        http://www.facebook.com/home.php*
// @include        http://www.facebook.com/
// ==/UserScript==

var dpMain = {
 dpFBCWMG: function(){

	var atags=document.getElementsByTagName("a");
	var turl="";
	var key="";
	var id="";
	for(i=0;i<atags.length;i++){
		turl=atags[i].href;		
		if( (turl.indexOf('/cafeworld/accept_chef_special.php')>0) || (turl.indexOf('/cafeworld/accept_taste_testing.php')>0) || (turl.indexOf('/cafeworld/accept_achievement_bonus.php')>0)|| (turl.indexOf('/cafeworld/track.php')>0) ){
			if(atags[i].innerHTML.match(/^(Get|Tempt Fate|Taste|Grab|See |Try |Be Brave)/)){
				key=turl.replace(/&amp;/g,'&');
				key=key.replace(/[^a-zA-Z0-9=.&]/g,'_');
				key=key.replace(/[_]{2,}/g,'_');
				key=key.replace(/[&=.]/g,"_");
				/*
				GM_log('Schlüssel: '+key);
				GM_log('innerHTML: '+atags[i].innerHTML);
				GM_log('Wert: '+GM_getValue(key,'NOTOK'));
				*/
				if(GM_getValue(key,'NOTOK')=='OK'){
					atags[i].innerHTML='got it before.';	
				}
				if(GM_getValue(key,'NOTOK')!='OK'){
					id="id_"+key;
					atags[i].innerHTML='<i style="color:#FF0000">getting Meal...</i>'+'<iframe src="'+turl+'" width="8" height="8" frameborder="0" style="border: 1px solid black;" onload="document.getElementById(\''+id+'\').innerHTML=\'Got it!\';"></iframe>';
					GM_setValue(key,'OK');
						window.setTimeout(dpMain.dpFBCWMG,2500);

					/*GM_xmlhttpRequest({
						method: 'GET',
						url: turl,
						onload: function(r){
							atags[i].innerHTML='<b>Got it!</b>';
							GM_setValue(key,'OK');
							dpMain.dpFBCWMG();
						},
						onerror: function(r){
							GM_log([
								response.status,
								response.statusText,
								response.readyState,
								response.responseHeaders,
								response.responseText,
								response.finalUrl,
								response.responseXML
							].join("\n"));
							atags[i].innerHTML='<b>ERROR!</b>';
							GM_setValue(key,'ERROR');
							dpMain.dpFBCWMG();
						}
					});*/
					return;
				}
			}
		}
	}

	window.setTimeout(dpMain.dpFBCWMG,25000);
}
}

function menu_futtersammler_run(){	
	dpFSMain.dpFBCWMG();
}

GM_registerMenuCommand('Futtersammler manuell ausführen', menu_futtersammler_run);

window.setTimeout(dpMain.dpFBCWMG, 3000);

window.addEventListener("load", function(){
	
	dpMain.dpFBCWMG();

}, false);

