var GLOBAL_DEBUGGING=true;
var aS=new Array();
var bz=new Array();
var appname = "Social Blok";
var canvasurl = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=115318";
var callbackurl = "http://socialblok.simplesquid.net/myspace";
var bulletin_title = "Join my Social Blok Team!";
var bulletin_msg= '
'
+'
Come play this addicting Multiplayer Puzzle Game, and join my team! Or try to beat my score :)
Add Social Blok';
var confirm_text = "It looks like there was an error popping up the form. We'd like to refresh your page to try and fix it.";
function isValid(aO){
return(aO!=undefined&&aO!=null);
};
function isDebugging(){
try{
return(isValid(GLOBAL_DEBUGGING)&&GLOBAL_DEBUGGING);
}catch(err){return false;}
};
function dbg_out(as){
try{
if(isDebugging()){
var debugElement=document.getElementById('debugOutput');
if(isValid(debugElement)&&isValid(debugElement.style)&&debugElement.style.display!="none"){
debugElement.innerHTML += as + '
';
}
}
}catch(err){};
};
function init() {
makePOSTRequest();
};
function makePOSTRequest() {
var viewerName = gadgets.views.getParams().ownerid;
var params = {};
params[opensocial.ContentRequestParameters.AUTHORIZATION] = opensocial.ContentRequestParameters.AuthorizationType.SIGNED;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues({uid :viewerName });
var url = callbackurl + "/";
gadgets.io.makeRequest(url, response, params);
};
function response(obj) {
//obj.text contains the text of the page that was requested
var str = obj.text;
if(!isValid(str)) {
str = "Not responed. Please refresh the page again. refresh";
}
document.getElementById('message').innerHTML = str;
gadgets.window.adjustHeight();
};
function view_get(view,submode) {
var viewerName = gadgets.views.getParams().ownerid;
var url = "";
var params = {};
params[opensocial.ContentRequestParameters.AUTHORIZATION] = opensocial.ContentRequestParameters.AuthorizationType.SIGNED;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues({uid :viewerName });
if(submode == null || submode == 0 || submode == "" || submode == "undefined") {
url = callbackurl + "/?mode=" + view;
}else{
url = callbackurl + "/?mode=" + view + "&submode="+ submode;
}
gadgets.io.makeRequest(url, response, params);
}
function post_bulletin()
{
var message = opensocial.newMessage(bulletin_msg);
message.setField(opensocial.Message.Field.TITLE, bulletin_title);
message.setField(opensocial.Message.Field.TYPE, MyOpenSpace.PostTo.Targets.BULLETINS);
opensocial.Container.get().postTo(MyOpenSpace.MySpaceContainer.OSToken, message, null, function(ret){
if(ret==MyOpenSpace.PostTo.Result.SUCCESS) {
view_get('play');
dbg_out("success");
}else{
dbg_out("cancel");
}
}
);
}
function sendInvite(uid,func){
var message = opensocial.newMessage("[sender] would like to challenge you in this Multiplayer Puzzle Game -[app]! Check it out. :) ");
opensocial.requestShareApp(uid, message, func );
}
/*
function send_notify(score) {
var title = "I got a high score of " + score + " in "+appname+" !";
var body = "I got a high score of " + score + " in "+appname+" !";
var message = opensocial.newMessage(body);
message.setField(opensocial.Message.Field.TITLE, title);
message.setField(opensocial.Message.Field.TYPE, MyOpenSpace.PostTo.Targets.BULLETINS);
opensocial.Container.get().postTo(MyOpenSpace.MySpaceContainer.OSToken, message, null, function(){
}
);
}*/
function sel_over(item) {
if(!item.selected){
item.style.backgroundColor="#bdc7d8";
}
}
function sel_out(item) {
if(!item.selected){
item.style.backgroundColor="#ffffff";
}
}
function find_tag(item, str) {
var i;
if(!isValid(item) || !isValid(item.tagName)) {
return null;
}
if(item.tagName==str) {
return item;
}
var cnt = item.childNodes.length;
if(!isValid(cnt) || cnt==0 ) {
return null;
}
for(i=0; i < cnt ; i++) {
var ii = find_tag(item.childNodes[i], str);
if(isValid(ii)) {
return ii;
};
}
return null;
}
function sel_all(sel) {
var chks = document.getElementsByTagName("INPUT");
var ss = (sel==1)? true:false;
for(i=0; i < chks.length; i++) {
var chk = chks[i];
if(chk.name=="pickFriend" && isValid(chk.value)){
chk.checked = ss;
var tr = chk.parentNode.parentNode.parentNode.parentNode;
tr.style.backgroundColor= ss? "#3b5998":"#ffffff";
tr.style.color= ss? "white":"black";
tr.selected = ss;
}
}
}
function sel_click(item) {
var chk = find_tag(item, "INPUT");
if(!item.selected) {
item.style.backgroundColor="#3b5998";
item.style.color="white";
item.selected = true;
if(isValid(chk))
chk.checked = true;
}else{
item.style.backgroundColor="#ffffff";
item.style.color="black";
item.selected = false;
if(isValid(chk))
chk.checked = false;
}
}
function send_invites() {
var dS=new Array();
aS=new Array();
bz=new Array();
var chks = document.getElementsByTagName("INPUT");
for(i=0; i < chks.length; i++) {
var chk = chks[i];
if(chk.checked && isValid(chk.value)){
dS.push(chk.value);
}
}
proc_invite(dS,0);
}
function proc_invite(dS,eR){
var R=dS[eR];
var pm=function(eI){
if(eI>0){
aS.push(R); //ok
}else if(eI== -1){
bz.push(R); //error
aS.push(R);
}
var ev=eR+1;
if(ev < dS.length){
proc_invite(dS,ev);
}else{
finishSending(dS);
}
};
sendInvite(R,pm);
}
function finishSending(dS){
if(bz.length==dS.length && !(bz.length==1 && bz[0] == 6221 )) {
if(confirm(confirm_text)) {
window.open(canvasurl,"_top");
return;
}
}
var viewerName = gadgets.views.getParams().ownerid;
var params = {};
params[opensocial.ContentRequestParameters.AUTHORIZATION] = opensocial.ContentRequestParameters.AuthorizationType.SIGNED;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues({ invites:aS.toString(),uid:viewerName });
var url = callbackurl+"/?mode=invite";
gadgets.io.makeRequest( url, response, params);
}
function show_invite(obj) {
var uid = obj.name;
var tr_obj = obj.parentNode.parentNode;
tr_obj.style.display = "none";
sendInvite(
uid,
function(eI){
if(eI>0){ //ok
var params = {};
params[opensocial.ContentRequestParameters.AUTHORIZATION] = opensocial.ContentRequestParameters.AuthorizationType.SIGNED;
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues({ invite_id:uid });
var url = callbackurl+"/proc_invite.php";
gadgets.io.makeRequest( url, null, params);
}else if(eI== -1){ //error
if(confirm(confirm_text)) {
window.open(canvasurl,"_top");
return;
}
}else{ //cancel
//
}
dbg_out("eI="+eI+"; uid="+uid);
}
);
}
init();