var popup_callback_url = "http://www.seksgezocht.com/js/hyves/callback.htm";
var oOAuthConsumer = new OAuthConsumer("NTU1MF80yDogMG4Tsw569826OKkm", "NTU1MF-Ih386tzvrmCviMB1i91iy");
var oGenusApis = new GenusApis(oOAuthConsumer, exceptionHandler, "1.2.1");
var oOAuthToken = null;

function authorize() {
	
	var email = $('#registerForm input:text[name=email]').val();
	var password = $('#registerForm input:text[name=password]').val();
	
	if(validator("email",email)&&validator("password",password)) {
		oGenusApis.retrieveRequesttoken(new Array("users.get"), null, gotRequesttoken);
	}
}

function gotRequesttoken(oOAuthRequestToken) {
	oOAuthToken = oOAuthRequestToken;
	
	//window.open(oGenusApis.getAuthorizeUrl(oOAuthToken, popup_callback_url), "_GA_popupWindow", "width=900,height=700,scrollbars=no,status=no,toolbar=no,location=yes");
	var content = '<iframe id="hyves" scrolling="no" width="550" height="500" src="'+oGenusApis.getAuthorizeUrl(oOAuthToken, popup_callback_url)+'"></iframe>';
	makePopup(content,"registreer met je hyves account",575);
}

function callbackFromPopup(oauth_token) {
	if (oauth_token === oOAuthToken.getKey()) {
		oGenusApis.retrieveAccesstoken(oOAuthToken, gotAccesstoken);
	} else {
		exceptionHandler(new GeneralException("oauth_token from callback unknown."));
	}
}

function gotAccesstoken(oOAuthAccessToken) {
	oOAuthToken = oOAuthAccessToken;
	users();
}

function friends() {
	document.getElementById('result').innerHTML = "Loading data..";
	oGenusApis.doMethod("friends.get", {}, callbackResponse, oOAuthToken);
}

function users() {
	//document.getElementById('result').innerHTML = "Loading data..";
	oGenusApis.doMethod("users.get", { userid : oOAuthToken.getUserid() }, callbackResponse, oOAuthToken);
}

function usersresponsefields() {
	document.getElementById('result').innerHTML = "Loading data..";
	oGenusApis.doMethod("users.get", { userid : oOAuthToken.getUserid(), ha_responsefields : "profilepicture,whitespaces" }, callbackResponse, oOAuthToken);
}

function mediaalbums() {
	document.getElementById('result').innerHTML = "Loading data..";
	oGenusApis.doMethod("albums.getByUser", { userid : oOAuthToken.getUserid() }, callbackResponse, oOAuthToken);
}

function callbackResponse(data) {
	
	$.post("servlet.php", $.extend({formName: "hyves"},data.user[0].birthday,data.user[0]) ,function(content) {
		$('#popup').html(content);
    });

	//alert(dataStructureToHtml("results", data));
}

function exceptionHandler(e) {
	if (e.getType() == 'HyvesApiException') {
		var domResult = document.getElementById('result');
		domResult.innerHTML = dataStructureToHtml("results", e.getResponse());
	}
	alert("Exception occured! (" + e.getCode() + ") " + e.getMessage());
}

function dataStructureToHtml(key, data) {
	var string = "\"" + key + "\" : ";
	if (data == null) {
		string += "null<br>";
	} else if (typeof(data) == "object") {
		string += "<br>{<br>";
		for (x in data) {
			string += dataStructureToHtml(x, data[x]);
		}
		string += "}<br>";
	} else if (typeof(data) == "number") {
		string += data + "<br>";
	} else {
		string += "\"" + data + "\"<br>";
	}
	return string;
}
