var ajaxfacebook = createXmlHttpRequestObject();
var showErrors = false;
function createXmlHttpRequestObject() {
	// Referenz zu Ajax
	var xmlHttp;
	// Für alle Browsers (außer IE6 und älter)
	try {
		// Erstellt Ajax
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		// Dann wohl älter...
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
				"MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
				"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP");
		// So lange bis es funktioniert
		for ( var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				// Versucht die Verbindung aufzustellen
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			} catch (e) {
			} // Erstmal Fehler ignorieren
		}
	}
	// return Ajax oder den Fehler
	if (!xmlHttp)
		displayError("Error creating the XMLHttpRequest object.");
	else
		return xmlHttp;
}

function encode(uri) {
	if (encodeURIComponent) {
		return encodeURIComponent(uri);
	}

	if (escape) {
		return escape(uri);
	}
}

function displayError($message) {
	// ignore errors if showErrors is false
	if (showErrors) {
		// turn error displaying Off
		showErrors = false;
		// display error message

		alert("Error encountered: \n" + $message);
		// retry validation after 10 seconds
	}
}
function weiterleitung_zum_profil() {
	var tempcache = '';
	//document.getElementById('facebook_user').style.display = 'none';
	
}

function HoleDatenVonFacebook(){
	StyleOverlay();
	tempcache = '';
	try {
	FB.Facebook.apiClient.users_getInfo(new Array(FB.Facebook.apiClient.get_session().uid), ["first_name","name","proxied_email","profile_url", "pic_big_with_logo","about_me"], 
			function(result, ex) {
				if(result.length > 0) {
					tempcache = "first_name=" +encode(result[0].first_name)
								+"&name=" + encode(result[0].name)
								+"&proxied_email="+encode(result[0].proxied_email)
								+"&profile_url="+encode(result[0].profile_url)
								+"&pic_big_with_logo="+encode(result[0].pic_big_with_logo)
								+"&about_me="+encode(result[0].about_me);
					setDatenInDBvonFacebook(tempcache);
				}
			});	
	}catch (e) {
		document.getElementById('span_ausgabe').style.marginLeft='-74px';
		document.getElementById('span_ausgabe').innerHTML = 'Leider müssen Sie sich nocheinmal anmelden';
		

		FB.Connect.logout();
		kurzwarten();
		
	}
}
var kurzwarte = 0;
function kurzwarten(){
	if(kurzwarte <=1)
	{
		kurzwarte++;
		window.setTimeout("kurzwarten()", 2000);
	} else {
		OverlayWert = 9;
		NochmalEinloggen();
	}
}
function NochmalEinloggen(){
	if (OverlayWert >= 0) { 
		OverlayWert--;
		var Overlay = document.getElementById('OverlayContainer');
		if (window.ActiveXObject) {
			Overlay.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="
					+ OverlayWert + "0)";
		}
		Overlay.style.opacity = '0.' + OverlayWert;
		window.setTimeout("NochmalEinloggen()", 40);
	} else {
		OverlayWert = 0;
		document.getElementById('OverlayContainer').style.display = 'none';
	}
}
function setDatenInDBvonFacebook(tempache) {
	if (ajaxfacebook) {

		
		
		try {
			// continue only if the XMLHttpRequest object isn't busy
			// and the cache is not empty
			if ((ajaxfacebook.readyState == 4 || ajaxfacebook.readyState == 0)) {
				// make a server request to validate the extracted data
				ajaxfacebook.open("POST", "http://ssmss.de/siss/facebookconnect/setUserData.php",true);
				ajaxfacebook.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				ajaxfacebook.onreadystatechange = handleRequestofajaxfacebookRequest;
				ajaxfacebook.send(tempcache);

			}
		} catch (e) {
			// display an error when failing to connect to the server
			displayError(e.toString());

		}
	}
	/*
	 * var Knoten = document.getElementsByTagName("body")[0].firstChild;
	 * document.getElementsByTagName("body")[0].removeChild(Knoten); var Knoten =
	 * document.getElementsByTagName("body")[0].firstChild;
	 * document.getElementsByTagName("body")[0].removeChild(Knoten); var Knoten =
	 * document.getElementsByTagName("body")[0].firstChild;
	 * document.getElementsByTagName("body")[0].removeChild(Knoten); var
	 * facebookbox = document.createElement("div"); facebookbox.id='test';
	 * alert('test');
	 * document.getElementsByTagName("body")[0].appendChild(facebookbox);
	 */

	/*
	 * var userbox = document.getElementById('facebook_user'); userbox.innerHTML = '<fb:profile-pic
	 * uid="loggedinuser" facebook-logo="true"></fb:profile-pic>'; var fields =
	 * new Array(); fields[0] = "name"; fields[1] = "birthday"; var usr = new
	 * Array(1); usr[0]=FB.Facebook.apiClient.get_session().uid;
	 */

	/*
	 * FB.Facebook.apiClient.users_getInfo(new
	 * Array(FB.Facebook.apiClient.get_session().uid), ["name","proxied_email",
	 * "profile_url", "pic_small","username"], function(result, ex) {
	 * if(result.length > 0) {
	 * 
	 * document.getElementById('user_screen_name').value= result[0].name;
	 * 
	 * alert('Noch im Aufbau...'); } } );
	 */
	// FB.XFBML.Host.parseDomTree();

}
function handleRequestofajaxfacebookRequest()
{
	  // when readyState is 4, we read the server response
	  if (ajaxfacebook.readyState == 4) 
	  {
	    // continue only if HTTP status is "OK"
	    if (ajaxfacebook.status == 200) 
	    {
	      try
	      {
	        // read the response from the server
			
	        readRequestofajaxfacebookRequest();
	      }
	      catch(e)
	 
	      {
	        // display error message
	        displayError(e.toString());
			
	      }
	    }
	    else
	    {
	      // display error message
		 
	      displayError(ajaxfacebook.statusText);
	    }
	  }			
}
function readRequestofajaxfacebookRequest()
{
	var response        = ajaxfacebook.responseText;
	setTimeout("self.location.href='"+response+"'",0);
}
var OverlayWert = 0;
var CreateOverlay = false;
var StyleOldForm = '';
function StyleOverlay() {
	if (OverlayWert < 8) {
		OverlayWert++;
		if (CreateOverlay == false) {
			var body = document.getElementsByTagName('body')[0];
			var erstesEle  = document.getElementById('siss_menu');
			var OverlayContainer = document.createElement('div');
			var StyleContainer = document.createElement('div');
			var StyleLoader = document.createElement('img');
			var Overlay = document.createElement('div');
			Overlay.id = 'StyleOverlay';
			OverlayContainer.id = 'OverlayContainer';
			StyleContainer.id = 'StyleContainer';
			StyleLoader.src = '/images/upload.gif';
			StyleLoader.alt = 'Bitte warten Sie';
			StyleLoader.style.margin = '0 0 0 37px';
			//body.appendChild(OverlayContainer);
			body.insertBefore(OverlayContainer,erstesEle);
			OverlayContainer.appendChild(Overlay);
			OverlayContainer.appendChild(StyleContainer);
			StyleContainer.appendChild(StyleLoader);
			StyleContainer.innerHTML = StyleContainer.innerHTML + '<br /><span id="span_ausgabe" style="color: #fff">Bitte warten Sie</span>';
			CreateOverlay = true;
			StyleOldForm = StyleContainer.innerHTML;
		}
		if (document.getElementById('OverlayContainer').style.display == 'none') {
			document.getElementById('StyleContainer').innerHTML = StyleOldForm;
			document.getElementById('StyleContainer').style.marginLeft = '';
			document.getElementById('OverlayContainer').style.display = 'block';
		}
		var Overlay = document.getElementById('OverlayContainer');
		if (window.ActiveXObject) {
			Overlay.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="
					+ OverlayWert + "0)";
		}
		Overlay.style.opacity = '0.' + OverlayWert;
		window.setTimeout("StyleOverlay()", 40);
	} else {
		var root = document.getElementsByTagName('body')[0];
	}
}



