var SERVER_URL =  "http://gt.doflirt.com/friend_bex/";
var IMG_URL = SERVER_URL+"images/";
var APP_NAME = "Mustache Maker";
var SWF_NAME = "faceMaker.swf";
var Request = new Object();
var user;
var userId = null, userName, userThumbnail, userProfile;
var randomFriendId = null, randomFriendName, randomFriendThumbnail, randomFriendProfile;
var container;
var allFriends = [];
var friendsCounter = 0;
var receivedFriendsCount = 0;
var friendsTotalCount;
var sendingImage = "";
var canvas_url = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=132600";
var loading_friends_page = 1;

function getUser() {
	osContainer = opensocial.Container.get();
	var req = opensocial.newDataRequest();
   
	var paramViewer = {};
	paramViewer[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
			[MyOpenSpace.Person.Field.PROFILE_URL,
			 MyOpenSpace.Person.Field.NAME,
			 MyOpenSpace.Person.Field.THUMBNAIL_URL];
     
	var paramOwner = {};
	paramOwner[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
			[MyOpenSpace.Person.Field.NAME];
     
	req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, paramViewer), "viewer");
	req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER, paramOwner), "owner");
	req.send(resp_getUser);
}

function resp_getUser(data) {
    try{
        user = data.get("viewer").getData();
        userId = user.getId();
        userName = user.getField(opensocial.Person.Field.NAME);
        userProfile = user.getField(opensocial.Person.Field.PROFILE_URL);
        userThumbnail = user.getField(opensocial.Person.Field.THUMBNAIL_URL);
        
        var owner = data.get("owner").getData(); 
		ownerId = owner.getId();
		
        if (userId == null || userId=="null"){
     	   showMask();
        }else{
        	fillHomeHTML();
        }
    }catch(ex){
    	showMask();
    }
}

function showMask(){
	 var bodyMask = document.createElement("div");
	 bodyMask.className = "body-mask";
	 bodyMask.id = "body-mask";
	 bodyMask.onclick = function(ev){
	  if (window.event) ev = window.event;
	  ev.cancelBubble = true;
	  return false;
	 }
	 document.body.appendChild(bodyMask);
	 
	 var wizardBox = document.createElement("div");
	 wizardBox.className = "wizardBox-dlg";
	 wizardBox.id = "wizardBox-dlg";
	 wizardBox.innerHTML = 
	 "<center><img src='"+IMG_URL+"arrow_jump.gif'></center>"+
	 "<div style='border: 3px solid blue; padding:13px'>"+
	 "Add / Install this App to start using Test ! .</div>";
	 document.body.appendChild(wizardBox);
}


Request.sendPOST = function(url, data, responseHandler) {
	var os_params = {};
	os_params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
	os_params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
	os_params[gadgets.io.RequestParameters.POST_DATA] = data;
	gadgets.io.makeRequest(url, responseHandler, os_params);
}

function loadFriends(page) {
	_$("saved_image_td").innerHTML = "";
	var req = opensocial.newDataRequest();
	MyOpenSpace.DefaultPageSize = 40;
	var params = {};
	params[opensocial.DataRequest.PeopleRequestFields.FIRST] = (page-1)*MyOpenSpace.DefaultPageSize;
	req.add(req.newFetchPeopleRequest("VIEWER_FRIENDS", params), "friends");
	req.send(onLoadFriends);
	  
}

function onLoadFriends(response) {
	var friends = response.get("friends").getData().asArray();
	friendsTotalCount = response.get('friends').getData().getTotalSize();
	receivedFriendsCount += friends.length;
	allFriends = allFriends.concat(friends);
	getRandomFriend();
}

var postTo_ = function(subject, content, receiver, postWhere, ptCallback){
	var postType = MyOpenSpace.PostTo.Targets[postWhere];
	var os_token = MyOpenSpace.MySpaceContainer.OSToken;
	var message = opensocial.newMessage(content);
	message.setField(opensocial.Message.Field.TITLE, subject);
	message.setField(opensocial.Message.Field.TYPE, postType);
	osContainer.postTo(os_token, message, receiver, ptCallback);
}


var getFriendById = function(id){
	for (var i=0;i<allFriends.length;i++){
		if (allFriends[i].getId() == id) return allFriends[i];
	}
}