var serverURL = "http://mp.playgamesite.com/fungames/";
var serviceURL = serverURL+"GameService";
var IMG_URL = serverURL+"img/";
var SUPER_GAME_URL = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=129779";
var user = null;
var userId = null;
var allContent;
var userThumbnail, userName, userProfile, userCountry, userCity,
	userRegion, userPostalCode, userAge, userGender;
var isApproved = false;

var _$ = function(id){
	return document.getElementById(id);
}



var fillBody = function(){
	

	allContent = _$("allContent");
	allContent.innerHTML = 
	'<div id="topAd" class="newAdStyle" ></div><br>'+  
	
	'<table><tr>'+
	'<td class="tabTD">'+
	   '<a	class="tabLink"	href="javascript:postBulletin()">Post Bulletin</a>'+
	'</td>'+
	'<td class="tabTD">'+
	   '<a	class="tabLink" href="'+SUPER_GAME_URL+'" target="_blank">Play More Games</a>'+
	'</td'+
	'</tr></table><br/>'+
	
	//'<a style="margin-bottom:10px;color:#3B5998; font-size:20px;text-decoration:none" href="javascript:postBulletin()">Post Bulletin</a>'+
	//'<a style="margin-left:50px;color:#E73535; font-size:20px;text-decoration:none" href="'+SUPER_GAME_URL+'" target="_blank">For more Games, Click Here!!</a><br/>'+

	'<iframe id=gameframe src="http://playgamesite.com/playgame1.php?getgame='+gameId+'" width="100%" height="700" name="game" scrolling="no" frameborder="0"></iframe>'+
	'<div id="bottomAd" class="newAdStyle"></div><br>'; 

	getUser();
	getApp();
}


var getApp = function(){
	if(gameId == null) return;
    Request.sendGET(serviceURL+"/getApp/"+gameId, resp_getApp);
}
var resp_getApp = function(response){
	  if (response.errorCode){
			return;
		}else{
		   var json = response.data;
           isApproved = json.status == 2 ? true : false;
		   if(isApproved)
			   loadAds();
		}	
}
var loadAds = function(){
	try{
    	applyAds('adDivTop', 'topAd');
		applyAds('adDivBottom', 'bottomAd');
	    sr_gof();
		
    }catch(ex){

    }
    gadgets.window.adjustHeight();	
}
var postBulletin = function(){
	var content = "I've found this cool game. ADIIIIIICTIVE! <br><br>"+
		"<a target='_blank' href='"+canvas_url+"'><img src='"+gameImgUrl+"'></a><br><br>"+
		"<a target='_blank' href='"+canvas_url+"'>Play now!</a><br>"+
		"<a target='_blank' href='"+canvas_url+"'><img src='"+IMG_URL+"/playgame.png'/></a>";

	postTo_(gameName, content, user, "BULLETINS", null);
}

var postTo_ = function(subject, content, receiver, postWhere, ptCallback){
	osContainer = opensocial.Container.get();
	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);
} 

function getUser() {
	osContainer = opensocial.Container.get();
    var req = opensocial.newDataRequest();
	var paramViewer = {};
    paramViewer[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
    [MyOpenSpace.Person.Field.COUNTRY,
     MyOpenSpace.Person.Field.CITY,
     MyOpenSpace.Person.Field.POSTALCODE,
     MyOpenSpace.Person.Field.REGION, 
     MyOpenSpace.Person.Field.THUMBNAIL_URL, 
     MyOpenSpace.Person.Field.NAME, 
     MyOpenSpace.Person.Field.AGE,
     MyOpenSpace.Person.Field.GENDER,
     MyOpenSpace.Person.Field.PROFILE_URL];
     req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, paramViewer), "viewer");
    req.send(resp_getUser);
}

function resp_getUser(data) {
	try{
		user = data.get("viewer").getData();
		userId = user.getId();
		userThumbnail = user.getField(opensocial.Person.Field.THUMBNAIL_URL);
		userName = user.getField(opensocial.Person.Field.NAME);
		userProfile = user.getField(opensocial.Person.Field.PROFILE_URL);
		userCountry = user.getField(MyOpenSpace.Person.Field.COUNTRY);
		userCity = user.getField(MyOpenSpace.Person.Field.CITY);
		userRegion = user.getField(MyOpenSpace.Person.Field.REGION);
		userPostalCode = user.getField(MyOpenSpace.Person.Field.POSTALCODE);
		userAge = user.getField(MyOpenSpace.Person.Field.AGE);
		userGender = user.getField(MyOpenSpace.Person.Field.GENDER); 
		if (typeof userAge == "undefined"){
			userAge = 0;
		}
		if (typeof userGender == "undefined"){
			userGender = 0;
		}else{
			userGender = userGender == "Male" ? 0 : 1;
		}
		if (userId == null || userId=="null"){
			showMask();
		}
		var data="query=adduser&"+getUserPostData()+"&appId="+gameId;
		Request.sendPOST(serviceURL, data, resp_addUser);
	}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.style.left = (75+gameName.length*10)+"px";
	wizardBox.innerHTML = 
	"<center><img src='"+IMG_URL+"arrow_jump.gif'></center>"+
	"<div style='border: 3px solid red; padding:13px'>"+
	"Add / Install this App to start using "+gameName+"</div>";
	document.body.appendChild(wizardBox);
	allContent.innerHTML = "";
}

var getUserPostData = function(){
	var str = "userName="+encodeURIComponent(userName)+
			  "&thumbnail="+userThumbnail+
			  "&country="+encodeURIComponent(userCountry)+
			  "&city="+encodeURIComponent(userCity)+
			  "&region="+encodeURIComponent(userRegion)+
	    	  "&postalCode="+encodeURIComponent(userPostalCode)+
    		  "&profile="+userProfile+
    		  "&gender="+userGender+
    		  "&age="+userAge+
	    	  "&userId="+userId;
	return str;
}

var resp_addUser=function(response){

}

var Request = {};

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);
}

Request.sendGET = function(url, responseHandler) {
	var os_params = {};
	os_params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
	os_params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
	gadgets.io.makeRequest(url, responseHandler, os_params);
}




function applyAds(adDiv, adHolderDiv){
    var adTop = document.getElementById(adDiv);
        adTop.parentNode.removeChild(adTop);
	    var adHolder = document.getElementById(adHolderDiv);
	    adHolder.appendChild(adTop);
	    adTop.style.display='block';
    
}

var applyMiddleAd = function(adDiv, adHolderDiv){
   var adMiddle = document.getElementById(adDiv);
   if(adMiddle == null || adMiddle == "null" || typeof adMiddle == "undefined"){
       var adStr = "<iframe frameborder='0' src = 'http://adturns.com/ad.php?c=67' width = '728' height = '90' border='0' style = 'border: none; overflow: hidden' frameborder='0'  scrolling='no' ></iframe>";
        document.getElementById(adHolderDiv).innerHTML = adStr;
   }else{
    	var middleAdText = adMiddle.innerHTML;
	    if(document.getElementById(adHolderDiv)) document.getElementById(adHolderDiv).innerHTML = middleAdText;
   }	
}


