var MYBFD_URL = 'http://my.buffed.de';
var xmlhttpResult = '';

var eventImagePath = 'http://www.buffed.de/fileadmin/mybuffed/events/halloween/full/';

var ee = null;
// Event aktivieren true | false
var ee_active = false;

var eventColors = new Array();
eventColors[1] = 'pumpkin';

var eventImages = new Array();
eventImages[1] = new Image();
eventImages[1].src = eventImagePath + eventColors[1] + '.png';

function getAjaxURL() {
	
	var d = location.hostname.split('.');

	return 'http://' + d[0] + ".buffed.de";
	
}

function getHttpRequest() {
   
	var BFD_URL = getAjaxURL();

    // Mozilla
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.open("GET", BFD_URL + '/bfdevents.php?url=' + encodeURI(location.href) + '&v=' + Math.random(), true);
    //alert(BFD_URL + '/bfdevents.php?url=' + encodeURI(location.href));
    xmlhttp.onreadystatechange = function() {
        if(xmlhttp.readyState != 4) {
        }
        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        	if(ee) {
        		ee.fechtResult(xmlhttp.responseText);
        	}
        }
    }
    xmlhttp.send(null);
}

function checkeventClick(layer) {
	
	var str = "Um an der buffed-Aktion teilnehmen zu koennen, musst du eingeloggt sein.\n";
	str += "Klicke auf \"Ok\" um dich zu registrieren und auf \"Abbrechen\" um den Ring auszublenden.";
	
	var str2 = "Moechtest du die buffed-Aktion ignorieren und die Marines auf den entsprechenden Seiten ausblenden?";
	
	var conf = confirm(str);
	
	if(conf == true) {
		document.location.href = 'http://www.buffed.de/forum/index.php?act=Reg&CODE=00';
	}
	else {
		document.getElementById('eventLayer').style.display = 'none';
	}
	
}


// Ostereier-Klasse
_bfdevent = function() {
	
	this.page;
	this.event;
	this.hash;
	this.userid;
	
	this.mainLayer;
	this.eventDiv;
	
	this.init = function() {
		
		getHttpRequest();
	}
	
	this.fechtResult = function(result) {

		if(result.search(/=/) != -1) {

			var parts = result.split('=');
			
			this.page = parts[0];
			this.event = parts[1];
			this.userid = parts[2];
			this.hash = parts[3];

			if(!this.hash) {
				this.loadeventNoLogin();
			}
			else {
				this.loadeventLoggedIn();
			}
		}		
	}
	
	this.seteventPos = function() {

		var trand = this.getRandom(1,200);
		var lrand = this.getRandom(1,100);

		this.eventDiv.setAttribute('style', 'position:fixed;top:50%;left:50%;');
		this.eventDiv.style.position = 'fixed';
		this.eventDiv.style.top = '50%';
		this.eventDiv.style.left = '50%';

	}
	
   this.getRandom = function( min, max ) {
   	
		if( min > max ) {
			return( -1 );
		}
		if( min == max ) {
			return( min );
		}
		return( min + parseInt( Math.random() * ( max-min+1 ) ) );
	}

	this.loadeventNoLogin = function() {
		this.eventDiv = document.createElement('div');
		this.eventDiv.className = 'eventLayer';
		this.eventDiv.id = 'eventLayer';

		this.seteventPos();	
		
		this.eventDiv.setAttribute('style', 'position:fixed;top:50%;left:50%;');
		this.eventDiv.style.position = 'fixed';
		this.eventDiv.style.top = '50%';
		this.eventDiv.style.left = '50%';
		
		var eventImg = document.createElement('img');
		eventImg.src=eventImages[this.event].src;

		var eventA = document.createElement('a');
		eventA.href = "javascript:checkeventClick('eventLayer')";
		
		eventA.appendChild(eventImg);
		
		this.eventDiv.appendChild(eventA);
		
		var b = document.getElementsByTagName('body')[0];
		if(!b) {
			return;
		}
		
		b.appendChild(this.eventDiv);		
	}
	
	this.loadeventLoggedIn = function() {
		
		this.eventDiv = document.createElement('div');
		this.eventDiv.className = 'eventLayer';
		
		this.seteventPos();
		
		var eventImg = document.createElement('img');
		eventImg.src=eventImages[this.event].src;

		var eventA = document.createElement('a');
		eventA.href = MYBFD_URL + "/user/"+this.userid+"/index/personal/?bfdevent=true&event="+this.event+"&page="+this.page+"&hash="+this.hash;
		eventA.onClick= "javascript:checkeventClick('eventLayer')";
		
		eventA.appendChild(eventImg);
		
		this.eventDiv.appendChild(eventA);
		
		var b = document.getElementsByTagName('body')[0];
		if(!b) {
			return;
		}
		
		b.appendChild(this.eventDiv);
		
	}
	
}

function loadBuffedEvent() {

	if(ee_active == true) {
		ee.init();
	}
}

ee = new _bfdevent();

// 
var linkhttp = new Array();
function CDNshowLink(url,name,a_id) {
	if(document.getElementById(a_id)) {
		if(document.getElementById(a_id)) {
			document.getElementById(a_id).href = url;
			document.getElementById(a_id).innerHTML = 'Download: ' + name;
		}
	}
}
function CDNgetLink(url,a_id) {

	var BFD_URL = getAjaxURL();
	linkhttp[a_id] = null;

    // Mozilla
    if (window.XMLHttpRequest) {
        linkhttp[a_id] = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        linkhttp[a_id] = new ActiveXObject("Microsoft.XMLHTTP");
    }
    
    linkhttp[a_id].open("GET", BFD_URL + '/fileadmin/event/cdn_token.php?url=' + encodeURI(url) + '&v=' + Math.random(), true);
    linkhttp[a_id].onreadystatechange = function() {
        if(linkhttp[a_id].readyState != 4) {
        }
        if(linkhttp[a_id].readyState == 4 && linkhttp[a_id].status == 200) {
        	CDNshowLink(linkhttp[a_id].responseText,url,a_id);
        }
    }
    linkhttp[a_id].send(null);
}