// ========== REQUEST ====================================================================================================
var OS_USER_TYPE = "myspace";
var SERVER_URL = "http://myspace.testsmaker.com/testmaker/";
var SERVICE_URL = SERVER_URL+"TestService";
var MAKER_URL = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=101193";
var IMG_URL = SERVER_URL+"img/";
var SURVEY_IMG_URL = SERVER_URL+"uploadedImgs/";
var USER_COUNT = 10;
var RECEIVERS_COUNT = 15;
var COMMUNITY_COUNT = 16;
var APP_COUNT = 15;
var Request = new Object();
var user;
var userId=null, userThumbnail, userName, userProfile;
var ownerName, ownerId, ownerAge, ownerGender;
var friendsData;
var allContent;
var container;
var errorDiv;
var isIE = window.ActiveXObject ? true : false;
var active;
var recently;
var creative;
var popularPlayers;
var giftGivers;
var msgTypes = ["", "", "Cup", "Book", "Medal"];//, "Applauses"];
var imgNames = ["", "", "sendCup", "sendBook", "sendMedal"];//, "applauses"];
var NOT_TYPE_CUP = 2;
var NOT_TYPE_BOOK = 3;
var NOT_TYPE_MEDAL = 4;
//var NOT_TYPE_BEER = 5;
//var NOT_TYPE_FLOWER = 6;
//var NOT_TYPE_ICECREAM = 7;
//var NOT_TYPE_SMILE = 8;
var STATUS_TIME = 900000;
var osContainer;
var selectAllBool = true;
var AD_SOCIAL_MEDIA_ID = 1;
var AD_CUBICS_ID = 2;
var AD_TATTO_ID = 3;
var AD_MAKER_ID = 4;
var AD_SURVEY_ID = 5;
var AD_ADTURNS1_ID = 6;
var AD_ADTURNS2_ID = 7;

var GENDER_MALE = 0;
var GENDER_FEMALE = 1;

var resizer = opensocial.Container.get();

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.encodeValues(data) data should be object not astring
	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);
}
var selectedTab = "";
var selectTab = function(tabName){
	errorDiv.innerHTML = "";
	$("surveyHeader").innerHTML = "";
	var tabDivs = $("tabContainer").getElementsByTagName("td");	
	for (var i=0;i<tabDivs.length;i++){
		if (tabDivs[i].getAttribute("name") == tabName){
			tabDivs[i].className = "selected";
		}else{
			tabDivs[i].className = "";
		}
	}
	selectedTab = tabName;
}
var showLoading = function(){
	container.innerHTML = "<div class=loading>Loading...</div>";
	showError("");
}
var $ = function(id){
	return document.getElementById(id);
}

function applyAds(adDiv, adHolderDiv){
    var adTop = document.getElementById(adDiv);
    if(adTop == null || adTop == "null" || typeof adTop == "undefined"){
    	 var adStr =  '<iframe frameborder="0" src = "http://adturns.com/ad.php?c=84" width="728" height="90" border="0" style="border: none; overflow: hidden" frameborder="0"  scrolling="no" ></iframe>';
    	 document.getElementById(adHolderDiv).innerHTML = adStr;
    }else{
        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=84" width="728" height="90" border="0" style="border: none; overflow: hidden" frameborder="0"  scrolling="no" ></iframe>';
        document.getElementById(adHolderDiv).innerHTML = adStr;
   }else{
	   var middleAdText = document.getElementById(adDiv).innerHTML;
	   document.getElementById(adHolderDiv).innerHTML = middleAdText;
   }
}
var roundToDecimals = function(v, decimals, noCommas) { 
     if (decimals == null)
         decimals = 2;
     var x = Math.pow(10, decimals);
     var s = String(Math.round(v * x) / x); 
     var p = s.indexOf('.');
     if (p < 0) {
         p = s.length;
         s += '.';
     }
     for (var i = s.length - p - 1; i < decimals; i++)
         s += '0';
     if (noCommas == true) // Treats null as false.
         return s;
     var arr    = s.replace('-', '').split('.');
     var result = [];
     var first  = true;
     while (arr[0].length > 0) { // LHS of decimal point.
         if (!first)
             result.unshift(',');
         result.unshift(arr[0].slice(-3));
         arr[0] = arr[0].slice(0, -3);
         first = false;
     }
     if (decimals > 0) {
         result.push('.');
         var first = true;
         while (arr[1].length > 0) { // RHS of decimal point.
             if (!first)
                 result.push(',');
             result.push(arr[1].slice(0, 3));
             arr[1] = arr[1].slice(3);
             first = false;
         }
     }
     if (v < 0)
         return '-' + result.join('');
     return result.join('');
}
////////////////////////////////////////////// SURVEYS ////////////////////////////////////////////////////
var recentlyCreatedPage = 0;
var popularPage = 0;
var todayPage = 0;
var recentlyTakenPage = 0;
var activePage = 0;
var creativePage = 0;

var getPublicTrivias = function(){
	selectTab("public");
	var str = "<div class=title>Most Popular</div>"+
			  "<div class=content id='popular'><div class=loading>Loading...</div></div>"+
			  '<div style="margin-bottom:10px;" id="ad3">'+
			  //	getAd(3)+
			  '</div>'+
			   "<div class=title>Just Taken</div>"+
			  "<div class=content id='just_taken'><div class=loading>Loading...</div></div>"+	
			  '<div style="margin-bottom:10px;"  id="ad4" >'+
			  //	getAd(4)+
			  '</div>'+
			  "<div class=title>Active Today</div>"+
			  "<div class=content id='today'><div class=loading>Loading...</div></div>"+
			  '<div style="margin-bottom:10px;"  id="ad5" >'+
			  //	getAd(5)+
			  '</div>'+
			  "<div class=title>Just Created</div>"+
			  "<div class=content id='just_created'><div class=loading>Loading...</div></div>";
			  	
	container.innerHTML = str;
    recentlyCreatedPage = 1;
    popularPage = 1;
    todayPage = 1;
	Request.sendGET(SERVICE_URL+"/allSurveys/1/"+APP_COUNT, resp_getPublicSurveys);
	Request.sendGET(SERVICE_URL+"/getRecentlyTaken/111", resp_getRecently);
	
	
	setTimeout('applyMiddleAd("adDivMiddle", "ad3"),2000');
	setTimeout('applyMiddleAd("adDivMiddle", "ad4"),3000');
	setTimeout('applyMiddleAd("adDivMiddle", "ad5"),4000');
}

var resp_getPublicSurveys =  function(response){
	if (selectedTab != "public") return;
	var data = response.data;
	var str = getSurveysHTML(data.recently, "req_getRecentlyCreatedSurveys", "recentSrv1", null, 2);
	$("just_created").innerHTML = "<div id=recentSrv1>"+str+"</div>";
	var str = getSurveysHTML(data.popular, "req_getPopularSurveys", "popularSrv1", null, 2);
	$("popular").innerHTML = "<div id=popularSrv1>"+str+"</div>";
	var str = getSurveysHTML(data.today, "req_getTodaySurveys", "todaySrv1", null, 2);
	$("today").innerHTML = "<div id=todaySrv1>"+str+"</div>";
	selectTab("public");
	gadgets.window.adjustHeight();	
}

var resp_getRecently = function(response){
	var str = "<table width=100%>";
	var taken = response.data.recently.users;
	var obj;
	for (var i=0;i<taken.length;i++){
		obj = taken[i];
		if (i % 3 == 0) str+= "<tr>";
		str += "<td width=30%>"+
					"<table><tr>"+
						"<td class='img' class='smallImg'>"+
							(obj.user.thumbnail ? "<a href='' ><img class=smallImg src='"+obj.user.thumbnail+"' /></a>" : "&nbsp;" ) +
						"</td>"+
						"<td>"+
							"<div><a href='javascript:takeThisTest("+obj.id+")' >"+obj.title+"</a>"+
							"<div>User: <a target='_blank' title='"+obj.user.name+"' href='"+obj.user.profile+"' >"+obj.user.name.substring(0,40)+"</a><div>"+
						"</td>"+	
					"</tr></table>"+
				"</td>";
		if (i % 3 == 2) str+= "</tr>";
	}
	str += "</table>";
	$("just_taken").innerHTML = "<div>"+str+"</div>";
}

var req_getRecentlyCreatedSurveys = function(nextPage){
	if ($("recentSrv"+nextPage)){
		$("recentSrv"+nextPage).style.display = "";
		$("recentSrv"+(nextPage-1)).style.display = "none";
	}else{
		$("recentSrv"+recentlyCreatedPage).style.display = "none";
		recentlyCreatedPage++;
		$("just_created").innerHTML += "<div id=recentSrv"+recentlyCreatedPage+">Loading...</div>";
		Request.sendGET(SERVICE_URL+"/recentlyCreatedSurveys/"+recentlyCreatedPage+"/"+APP_COUNT, resp_getRecentlyCreatedSurveys);
	}
}

var req_getPopularSurveys = function(nextPage){
	if ($("popularSrv"+nextPage)){
		$("popularSrv"+nextPage).style.display = "";
		$("popularSrv"+(nextPage-1)).style.display = "none";
	}else{
		$("popularSrv"+popularPage).style.display = "none";
		popularPage++;
		$("popular").innerHTML += "<div id=popularSrv"+popularPage+">Loading...</div>";
		Request.sendGET(SERVICE_URL+"/popularSurveys/"+popularPage+"/"+APP_COUNT, resp_getPopularSurveys);
	}
}

var req_getTodaySurveys = function(nextPage){
	if ($("todaySrv"+nextPage)){
		$("todaySrv"+nextPage).style.display = "";
		$("todaySrv"+(nextPage-1)).style.display = "none";
	}else{
		$("todaySrv"+todayPage).style.display = "none";
		todayPage++;
		$("today").innerHTML += "<div id=todaySrv"+todayPage+">Loading...</div>";
		Request.sendGET(SERVICE_URL+"/todaySurveys/"+todayPage+"/"+APP_COUNT, resp_getTodaySurveys);
	}
}

var resp_getRecentlyCreatedSurveys = function(response){
	if (selectedTab != "public") return;
	var data = response.data;
	var prevId = recentlyCreatedPage>1 ? "recentSrv"+(recentlyCreatedPage-1) : null;
	var str = getSurveysHTML(data, "req_getRecentlyCreatedSurveys", "recentSrv"+recentlyCreatedPage, prevId, recentlyCreatedPage+1);
	$("recentSrv"+recentlyCreatedPage).innerHTML = str;
}

var resp_getPopularSurveys = function(response){
	var data = response.data;
	var prevId = popularPage>1 ? "popularSrv"+(popularPage-1) : null;
	var str = getSurveysHTML(data, "req_getPopularSurveys", "popularSrv"+popularPage, prevId, popularPage+1);
	$("popularSrv"+popularPage).innerHTML = str;
}

var resp_getTodaySurveys = function(response){
	if (selectedTab != "public") return;
	var data = response.data;
	var prevId = todayPage>1 ? "todaySrv"+(todayPage-1) : null;
	var str = getSurveysHTML(data, "req_getTodaySurveys", "todaySrv"+todayPage, prevId, todayPage+1);
	$("todaySrv"+todayPage).innerHTML = str;
}

var getSurveysHTML = function(data, handler, curId, prevId, nextPage){
	var srv;
	var str = "<table width=100%>";
	var surveys = data.surveys;
	var creator, date, male;
	for (var i=0;i<surveys.length;i++){
		srv = surveys[i];
		if (i % 3 == 0) str+= "<tr>";
		male = Math.round(srv.male*100/srv.popularity);
		str += "<td width=33%>"+
					"<table><tr>"+
						"<td class='img' class='smallImg'>"+
							(srv.imgUrl ? "<a href='"+srv.url+"' ><img class=smallImg src='"+SURVEY_IMG_URL+srv.imgUrl+"' /></a>" : "&nbsp;" ) +
						"</td>"+
						"<td>"+
							"<div><a  href='javascript:takeThisTest("+srv.id+")' >"+srv.title+"</a>"+
							"<div>Taken: <span style='color:#3B5998'>"+srv.popularity+"</span><div>"+
//							"<div>Male: <span style='color:#3B5998'>"+male+"%</span>  Female: <span style='color:#3B5998'>"+(100-male)+"%</span></div>"+
						"</td>"+	
					"</tr></table>"+
				"</td>";
		if (i % 3 == 2) str+= "</tr>";
	}
	if (data.available || prevId){
		str += "<tr><td colspan=3 align=right>";
					if (prevId)
					str+=
					"<a href='javascript:prevPage(\""+curId+"\" , \""+prevId+"\")' style='margin-right: 10px;'>Previous</a>";
					if (data.available)
					str+=
					"<a href='javascript:"+handler+"("+nextPage+")' style='margin-right: 10px;'>Next</a>"+
				"</td></tr>";
	}
	str += "</table>";
	return str;
}

var prevPage = function(curId, prevId){
	try{
		$(curId).style.display = "none";
		$(prevId).style.display = "";
	}catch(e){}
}
//////////////////////////////////////// USERS /////////////////////////////////////////////
var getUsers = function(){
	selectTab("users");
	showLoading();
	var str = "<div class=title>Most Creative</div>"+
			  "<div class=usrcontent><div id='creative'><div class=loading>Loading...</div></div></div>"+
			  '<div style="margin-bottom:10px;" id="ad3" ></div>'+
			 // '<div style="margin-bottom:10px;">'+getAd(3)+'</div>'+
			  "<table width='820px' style='background:#d8deee'><tbody><tr><td>"+
			  "<div class=title>Generous Giftgivers</div></td>"+
			  "<td><div class='href'>"+
			  	"<a href='javascript:changeTab(\"giver\", \"total\")' id='giver_total' class='choosed' onclick='a_onclick(\"total\",\"giver\")'>View all</a>&nbsp&nbsp"+
			  	"<a href='javascript:changeTab(\"giver\", \"weekly\")' id='giver_weekly' class='weekly' onclick='a_onclick(\"weekly\",\"giver\")'>Per last week</a></div>"+
			  "</td></tr></tbody></table>"+
			  "<div class=usrcontent><div id='giftGivers'><div class=loading>Loading...</div></div></div>"+
			  '<div style="margin-bottom:10px;" id="ad4" ></div>'+
			  //    '<div style="margin-bottom:10px;">'+getAd(4)+'</div>'+
	          "<div class=title>Recently Taken</div>"+
			  "<div class=usrcontent ><div id='just_taken'><div class=loading>Loading...</div></div></div>"+
			  '<div style="margin-bottom:10px;" id="ad5" ></div>'+
			  //'<div style="margin-bottom:10px;">'+getAd(5)+'</div>'+
			  "<table width='820px' style='background:#d8deee'><tbody><tr><td>"+
			  "<div class=title>Most Popular Giftreceivers</div></td>"+
			  "<td><div class='href'>"+
			    "<a href='javascript:changeTab(\"player\", \"total\")' id='player_total' class='choosed' onclick='a_onclick(\"total\",\"player\")'>View all</a>&nbsp&nbsp"+
			  	"<a href='javascript:changeTab(\"player\", \"weekly\")' id='player_weekly' class='weekly' onclick='a_onclick(\"weekly\",\"player\")'>Per last week</a></div>"+
			  "</td></tr></tbody></table>"+
			  "<div class=usrcontent ><div id='popularPlayers'><div class=loading>Loading...</div></div></div>";		
	container.innerHTML = str;
	activePage = 1;
	creativePage = 1;
	Request.sendGET(SERVICE_URL+"/bestUsers/"+USER_COUNT, resp_getBestUsers);
	Request.sendGET(SERVICE_URL+"/allUsers/"+USER_COUNT, resp_getUsers);
}

var resp_getBestUsers = function(response){
    var popularPlayersData = response.data.popularPlayers;
	var giftGiversData = response.data.giftGivers;
//	type_giver = response.data.type_giver;
//	type_player = response.data.type_player;
    popularPlayers = new Paging("popularPlayers", popularPlayersData.users.length,SERVICE_URL+"/popularplayers/"+USER_COUNT+"/total", popularPlayersData, "popularPlayers");
	giftGivers = new Paging("giftGivers", giftGiversData.users.length, SERVICE_URL+"/giftGivers/"+USER_COUNT+"/total", giftGiversData, "giftGivers");	
	
	
	setTimeout('applyMiddleAd("adDivMiddle", "ad3"),2000');
	setTimeout('applyMiddleAd("adDivMiddle", "ad4"),3000');
	setTimeout('applyMiddleAd("adDivMiddle", "ad5"),4000');
	
	gadgets.window.adjustHeight();
}

var resp_getUsers = function(response){
    //var activeData = response.data.active;
	var recentlyData = response.data.recently;
	var creativeData = response.data.creative;
	
	//active = new Paging("active", activeData.users.length, SERVICE_URL+"/activeUsers/"+USER_COUNT+(surveyId==1 ? "" : "/"+surveyId), activeData, "active");
	recently = new Paging("recently", recentlyData.users.length, "", recentlyData, "just_taken");	
	creative = new Paging("creative", creativeData.users.length, SERVICE_URL+"/creativeUsers/"+USER_COUNT, creativeData, "creative");		
	gadgets.window.adjustHeight();	
}

var user = null;
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.PROFILE_URL];
     
     var paramOwner = {};
     paramOwner[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
    [MyOpenSpace.Person.Field.NAME, 
     MyOpenSpace.Person.Field.AGE,
     MyOpenSpace.Person.Field.GENDER];
     
    req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, paramViewer), "viewer");
    req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER, paramOwner), "owner");
    req.send(resp_getUser);
	
	checkPromotion();
};

function resp_getUser(data) {
	var msg = null;
	try{
	  	user = data.get("viewer").getData(); 
		userId = user.getId();
		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);
		userThumbnail = user.getField(opensocial.Person.Field.THUMBNAIL_URL);
		userName 	= user.getField(opensocial.Person.Field.NAME);
		userProfile = user.getField(opensocial.Person.Field.PROFILE_URL);
		
		var owner = data.get("owner").getData(); 
		ownerId = owner.getId();
		ownerName = owner.getField(opensocial.Person.Field.NAME);
		ownerAge = owner.getField(MyOpenSpace.Person.Field.AGE);
		ownerGender = owner.getField(MyOpenSpace.Person.Field.GENDER);
		ownerGender = ownerGender=="Female" ? 1 : 0;
		if (ownerAge<14){
			ownerAge = 0;
		}else if (ownerAge<17){
			ownerAge = 1;
		}else if (ownerAge<20){
			ownerAge = 2;
		}else if (ownerAge<26){
			ownerAge = 3;
		}else if (ownerAge<35){
			ownerAge = 4;
		}else if (ownerAge<46){
			ownerAge = 5;
		}else{
			ownerAge = 6;
		}
	}catch(ex){
		if (surveyId != 1){
			msg = "To load the \""+surveyTitle+"\" survey you should add this application. Click on the link above.";
		}else{
			msg = "Add Survey Maker to your app list. Create surveys and enjoy !!! Click on the link above.";
		}
	}
	if (userId == null){
		if (msg == null){
			msg = "User authorization failed. Check if you are logged in and refresh the page.";
		}
		hideTabs(msg);
	}else{
		init();
	}
};
var a_onclick = function(type, player_type){
	if(player_type == "giver"){
		var a_total = $("giver_total");
		var a_weekly = $("giver_weekly");
	}else if(player_type == "player"){
		var a_total = $("player_total");
		var a_weekly = $("player_weekly");
	}
	if(type == "total"){
		a_total.className = "choosed";
		a_weekly.className = "weekly";
	}else if(type == "weekly"){
		a_weekly.className = "choosed";
		a_total.className = "weekly";		
	}
}
var resp_changeTab_givers = function(response){
	var	kind = response.data.type;
	var giftGiversData = response.data.giftGivers;		
	giftGivers = new Paging("giftGivers", giftGiversData.users.length, SERVICE_URL+"/giftGivers/"+USER_COUNT+"/"+kind, giftGiversData, "giftGivers");	
}

var resp_changeTab_players = function(response){
	var	kind = response.data.type;
	var popularPlayersData = response.data.popularPlayers;
	popularPlayers = new Paging("popularPlayers", popularPlayersData.users.length,SERVICE_URL+"/popularplayers/"+USER_COUNT+"/"+kind, popularPlayersData, "popularPlayers");
}


var getUserPostData = function(){
	var str = "userName="+encodeURIComponent(userName)+
			  "&thumbnail="+encodeURIComponent(userThumbnail)+
			  "&country="+encodeURIComponent(userCountry)+
			  "&city="+encodeURIComponent(userCity)+
			  "&region="+encodeURIComponent(userRegion)+
	    	  "&postalCode="+encodeURIComponent(userPostalCode)+
    		  "&profile="+encodeURIComponent(userProfile)+
	    	  "&userId="+userId;
	return str;
}

var mailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

var getFriendById = function(id){
	var friends = friendsData.get("friends").getData().asArray();
	for (var i=0;i<friends.length;i++){
		if (friends[i].getId() == id) return friends[i];		
	}
}
	
var removePopUp = function(ev){
	var div = $("popUpCont");
   	var ev = (ev) ? ev : window.event;
	var target = ev.srcElement || ev.target;
    if(div.innerHTML != "" && target.name != "popup"){
       div.innerHTML = "";
       document.onclick = null;
  	}
}

var curPage = 1;
var page = 1;

var sendMsgToUser = function(msgType, obj, id, containerId){
	var count = 1;
	var handler;
	var infoCell = $(containerId+"_info");
	
	var resp_sendMsg = function(response){
		try{
			obj.onlclick = handler;
			var div = $("popUpCont");
			div.innerHTML = "";
	        document.onclick = null;
	        infoCell.innerHTML = "";
	    }catch(e){
	    	;
	    }
	}
		
	if (containerId == "friend"){
		var friend = getFriendById(id);
		var content = "Hey "+friend.getField(opensocial.Person.Field.NAME)+"<br>"+
		"<b>Take this "+msgTypes[msgType]+" from me</b><br>"+
		"<img src='"+IMG_URL+msgTypes[msgType]+".jpg' >"+
		"<b>You are suuuper awesome person!!!</b><br<br>"+
		"Connections are great....but boys and girls are better. "+
		"Take the <a href='"+surveyURL+"'>"+surveyTitle+"</a> to see new people that answered "+
		"similar to me, and make some new friends in the process.<br>"+
		"<a href='"+surveyURL+"'><img src='"+surveyImgUrl+"'></a>";
		postTo_("Take this gift from me :)", content, friend, "COMMENTS", resp_sendMsg);
	}else{
		var data = "query=sendMsg&userId="+userId+"&surveyId="+surveyId+"&msgType="+msgType+"&userIds="+id;
		if (count>0 && userId != null){
			infoCell.innerHTML = "Sending...";
			Request.sendPOST(SERVICE_URL, data, resp_sendMsg);
		}
	}
}

var selectAll = function(checked, id){
	var page = $(id).getAttribute("curPage");
	var checkboxes = $(id+"_"+page).getElementsByTagName("input");
	for(var i=0;i<checkboxes.length;i++){
	   checkboxes[i].checked = checked;
	}
}

var sendMsg = function(msgType, obj, containerId){
	var userIds = "";
	var count = 0;
	var handler;
	var infoCell = $(containerId+"_info");
	var resp_sendMsg = function(response){
		obj.onlclick = handler;
		infoCell.innerHTML = "";
	}
	var pg = $(containerId).getAttribute("curPage");
	var inputs = $(containerId+"_"+pg).getElementsByTagName("input");
	for (var i=0; i<inputs.length; i++){
		if (inputs[i].checked == true){
			userIds += inputs[i].id+",";
			count++;
		}
	}
	userIds = userIds.substring(0, userIds.length-1);
	var data = "query=sendMsg&userId="+userId+"&surveyId="+surveyId+"&msgType="+msgType+"&userIds="+userIds;
	if (count>0 && userId != null){
		infoCell.innerHTML = "Sending...";
		Request.sendPOST(SERVICE_URL, data, resp_sendMsg);
	}
}

var getNotifications = function(id, obj, containerId){
    document.onclick = this.removePopUp; 
   	var top_ = findPosY(obj);
   	var left_ = findPosX(obj);
   	
   	var str = "<table background='"+IMG_URL+"panelBackground.png'><tr>"+
	                "<td  class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_SMILE+",this,"+id+", \""+containerId+"\")'>"+
	                   "<img name='popup' src='"+IMG_URL+"smile.png'/>"+
	                "</td>"+
	                "<td  class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_WINK+",this,"+id+", \""+containerId+"\")'>"+
	                   "<img name='popup' src='"+IMG_URL+"wink.png' />"+
	                "</td>"+
	                "<td class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_HUG+",this,"+id+", \""+containerId+"\")'>"+
	                   "<img name='popup' src='"+IMG_URL+"hug.png' />"+
	                "</td>"+
	                "<td class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_KISS+",this,"+id+", \""+containerId+"\")'>"+
	                   "<img name='popup' src='"+IMG_URL+"kiss.png' />"+
	                "</td></tr></table>"+
	           "<table background='"+IMG_URL+"panelBackground.png'><tr>"+
	                "<td><img name='popup' src='"+IMG_URL+"smile.png' /><img name='popup' src='"+IMG_URL+"topslaq.png' /></td>"+
	           "</tr></table>";
	          
   	var div = $("popUpCont");
   	div.style.top = top_ -30 + "px";
   	div.style.left = left_ + "px";
   	div.innerHTML = str;
}

var getGifts= function(id, obj, containerId ){
    document.onclick = this.removePopUp;
	var top_ = findPosY(obj);
   	var left_ = findPosX(obj);        
	var str =  "<table background='"+IMG_URL+"panelBackground.png'><tr>"+
                    "<td ><img name='popup' src='"+IMG_URL+"beer.png'/><img src='"+IMG_URL+"bottomslaq.png'/></td>"+
                 "</tr></table>"+
                 "<table background='"+IMG_URL+"panelBackground.png'><tr>"+
                   "<td  class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_BEER+",this,"+id+", \""+containerId+"\")'>"+
                   "<img name='popup' src='"+IMG_URL+"beer.png'/></td>"+
                 "<td class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_FLOWER+",this,"+id+", \""+containerId+"\")'>"+
                   "<img  name='popup' src='"+IMG_URL+"flower.png'/></td>"+
                 "<td class='tdPadding' onclick='sendMsgToUser("+NOT_TYPE_ICECREAM+",this,"+id+", \""+containerId+"\")'>"+
                   "<img name='popup' src='"+IMG_URL+"icecream.png'/></td>"+
                 "</tr></table>";
    var div = $("popUpCont");
    div.style.top = top_  + "px";
    div.style.left = left_ + "px";
    div.innerHTML = str;
}	
///////////////////////////////////////////////Paging/////////////////////////////////////////////

var Paging = function(objGlobalName, total, requestUrl, firstData, containerId, postData){
	var page = 1;
	var curPage = 1;
	var containerlocal = $(containerId);
	var self = this;
	var sendCont, infoCell, checkBox;
	
	this.prev = function(){
		$(containerId+"_"+curPage).style.display = "none";
		$(containerId+"_"+(curPage-1)).style.display = "";
		curPage--;
		$(containerId).setAttribute("curPage", curPage);
	}
		
	this.next = function(){
		var nextPage = curPage + 1;
		if ($(containerId+"_"+nextPage)){
			$(containerId+"_"+nextPage).style.display = "";
			$(containerId+"_"+(nextPage-1)).style.display = "none";
		}else{
			var height = $(containerId+"_"+page).offsetHeight;
			$(containerId+"_"+page).style.display = "none";
			page++;
			$(containerId).innerHTML += "<div id="+containerId+"_"+page+"><div class=loading style='height:"+height+"px;'>Loading...</div></div>";
			if (postData){
				var data = postData+"&page="+page+"&userCount="+USER_COUNT;
				Request.sendPOST(requestUrl, data, this.resp_next);
			}else{
				Request.sendGET(requestUrl+"/"+page, this.resp_next);
			}
		}
		curPage++;
		$(containerId).setAttribute("curPage", curPage);
	}
	
	this.resp_next = function(response){
		var data = null;
		var tmp=response.data;
		if (postData){
			data = tmp.table;
		}else{
			var users = tmp.table.users ? tmp.table.users : tmp.table;
			var avail = tmp.table.available ? tmp.table.available : ((total - page*USER_COUNT) > 0);
            data = {users: users, available: avail};
		}
		var str = self.getUsersHTML(data);
		$(containerId+"_"+page).innerHTML = str;
	}
	
	this.getUsersHTML = function(data){
		var str = "<table class=matchUser>";
		var users = data.users;
		var usr, limit;
		var label = null;
		switch(objGlobalName){
			case "mostcreative":
			case "mostactive":
			case "absolutebest":
			case "testPaging":
			case "likeMePaging": limit = LIKEME_USER_COUNT; break;
			case "recently": limit = RECEIVERS_COUNT; break;
			case "popularPlayers": label = "Received";limit = RECEIVERS_COUNT; break;
			case "giftGivers": label = "Sent"; limit = RECEIVERS_COUNT; break;
			case "creative": label = "Created"; limit = USER_COUNT; break;
			default: limit = USER_COUNT; break;
		}
		var index = -1;
		for (var i=0; i<users.length && i<limit; i++){
		    usr = users[i].user ? users[i].user : users[i];
		    if (usr.name == null) {
				continue;
			}else{
				index++;
			}
		    if (index % 5 == 0 ) str+= "<tr>";
			str += "<td name=userCell width=20% class='userBox'>"+
				   "<table  valign=top><tr><td width=1px></td>";
	        str += "<td class=smallFont title='"+usr.name+"'><div style='width:80px;overflow:hidden'>"+usr.name.substring(0,25)+"</div></td>";
	        str += "<td align=right style='padding-left:20px'><input type=checkbox  name='checkBox' id='"+usr.id+"' /></td></tr></table>";
            str += "<table><tr>"+    
			   		 "<td><a target='_blank' href='"+usr.profile+"'><img class=smallImg src='"+usr.thumbnail+"' /></a></td>"+
					 "<td>"+
					    "<table><tr>"+
					       "<td id='getNot"+usr.id+"'><img name='popup' width='20px' height='20px' title='Send cup' padding='center' src='"+IMG_URL+"cup.gif' style='cursor:pointer' onclick='sendMsgToUser("+NOT_TYPE_CUP+",this,"+usr.id+", \""+containerId+"\")' /></td>"+
					      "</tr><tr>"+
					         "<td id='getGift"+usr.id+"'><img name='popup' width='20px' height='20px' title='Send book' src='"+IMG_URL+"book.gif' style='cursor:pointer' onclick='sendMsgToUser("+NOT_TYPE_BOOK+",this,"+usr.id+", \""+containerId+"\")' /></td>"+
						  "</tr><tr>"+
					         "<td id='getGift"+usr.id+"'><img name='popup' width='20px' height='20px' title='Send medal' src='"+IMG_URL+"medal.gif' style='cursor:pointer' onclick='sendMsgToUser("+NOT_TYPE_MEDAL+",this,"+usr.id+", \""+containerId+"\")' /></td>"+
					      "</tr>"+		
					    "</table>"+ 
					 "</td>"+  
			        "</tr></table>";
		   	if(objGlobalName == "recently"){
	        	var title = users[i].title;
			 	str += "<table><tr><td title='"+title+"' id='title' class='lastLogin' width=100%><a target=_blank href="+users[i].url+"><b>"+title+"</b></a></td></tr></table>";		
		  	}
	     	if(label != null){
				var best_receiver = users[i].count;
				str += "<table><tr><td  id='best_receiver' class='lastLogin' width=100%><div class='statistics'>"+label+": <text class='statistics'>"+users[i].count +"</text></td></tr></table>";		
			}
			 if(objGlobalName == "testPaging"){
		  		str += "<table><tr><td>Score "+users[i].score+"</td></tr></table>";
		  	}
		  	 if(objGlobalName == "absolutebest"){
		  		str += "<table><tr><td>Right answers "+users[i].avgpercent+"%</td></tr></table>";
		  	}
		  	if(objGlobalName == "mostactive"){
		  	str += "<table><tr><td>Plays Count "+users[i].cnt+"</td></tr></table>";
		  	}
		  	if(objGlobalName == "mostcreative"){
		  	str += "<table><tr><td>Create Count "+users[i].cnt+"</td></tr></table>";
		  	}
		    str += "</td>";
	       	if (index % 5 == 4) str += "</tr>";
			
		}
		var prevPage = curPage - 1;
		if ((data.available || prevPage>0)&& objGlobalName != "recently"){
			str += "<tr><td colspan=5 align=right>";
						if (prevPage>0)
						str+=
						"<a href='javascript:"+objGlobalName+".prev"+"()' style='margin-right: 10px;'>Previous</a>";
						if (data.available)
						str+=
						"<a href='javascript:"+objGlobalName+".next"+"()' style='margin-right: 10px;'>Next</a>"+
					"</td></tr>";
		}
		str += "</table>";
		return str;
	}
	

	var str = "";
	if (total > 0){
		str = this.getUsersHTML(firstData);
		if(!$(containerId+"_pagingPart")){
		send_str = "<table class=sendMsgPanel id="+containerId+"_pagingPart >" +
						"<tbody id="+containerId+"_pagingPartTbody><tr>"+
							"<td>"+
								"<input type=checkbox onclick='selectAll(this.checked, \""+containerId+"\")' />Select all" +
							"</td>"+
							"<td>";
								for (var type=2;type<msgTypes.length;type++){
									send_str += "<img type="+type+" class=sendButton src="+IMG_URL+imgNames[type]+".png onclick='sendMsg(\""+type+"\", this, \""+containerId+"\")' />";
								}
				send_str += "</td>"+
						"</tr>"+
						"<tr>"+
							"<td colspan=2 class=msgSent id="+containerId+"_info >"+
							"</td>"+
						"</tr>"+
					"</tbody>"+
				"</table>";
					
		 }

	}
	if($(containerId+"_1") != null){
		containerlocal.removeChild(containerlocal.lastChild);
	}
	if(containerlocal.id == "scoreRes"){
		containerlocal.innerHTML = "<div id="+containerId+"_1>"+str+"</div>";
		if(str != ""){
			containerlocal.innerHTML += send_str;
		}else{
			containerlocal.innerHTML = "<h1>There are no people that match your criteria</h1>";
		}
	}
	else{
		containerlocal.innerHTML = "<div id="+containerId+"_1>"+str+"</div>";
		if(str != ""){
		containerlocal.innerHTML += send_str;
		}
	}
	$(containerId).setAttribute("curPage", 1);
	
	
	gadgets.window.adjustHeight();
}

var fillContainer = function(str){
	container.innerHTML = str;
	gadgets.window.adjustHeight();
}
var adjustHeight = function(mandatory){
	if (allContent.offsetHeight > 800 || mandatory){
		resizer.resizePanel(allContent.offsetHeight+200);
	}
}

var doNothing = function(response){}

var showError = function(str){
	if (str == ""){
		errorDiv.style.display = "none";
	}else{
		errorDiv.style.display = "";
		errorDiv.innerHTML = str;
	}
}

var refreshIframe = function(){
	var ad;
	for (var i=1;i<=10;i++){
		ad = $("ad"+i);
		if (ad) ad.src = ad.src;
	}
}

var enableEmail = function(){
	Request.sendGET(SERVICE_URL+"/enableEmail/"+userId, resp_enableEmail);
} 

var resp_enableEmail = function(response){
	if (response.text == "ok"){
		$("enableMail").innerHTML = "Email enabled."
	}
}

var AD_LEFT_SIDE_MSGS = ["Play ", "Find your Match at ", "Pass ", "Find Friends on ", "XXX profiles at "];
var AD_BUTTON_COLORS = ["#67A54B", "#47577B", "#FF6E4C", "#0066CC"];
var AD_BUTTON_MSGS = ["Add Application", "Continue", "Next", "Match!", "Play!"];

var getRandomElement = function(ar, limit){
	var limit = limit ? limit : ar.length; 
	return ar[Math.floor(Math.random()*(limit-1))];
}

var getAd = function(number){
	var adStr = "";
	var maxIndex = 0;
	var adId = AD_SOCIAL_MEDIA_ID;

	 //overwrite 
         if(true){
	         adStr = '<iframe frameborder="0" src = "http://adturns.com/ad.php?c=84" width="728" height="90" border="0" style="border: none; overflow: hidden" frameborder="0"  scrolling="no" ></iframe>';
	         return adStr;
	}

	if (surveyId != 1 && totalTakenCount>100){
		var rnd = Math.floor(Math.random()*100);
		var sum = 0;
		for (var i=0;i<ADS_DATA.length;i++){
			sum += ADS_DATA[i].percent;
			if (rnd <= sum) {
				adId = ADS_DATA[i].id;
				break;
			}
		}
		switch(adId){
			case AD_SOCIAL_MEDIA_ID:
				adStr = '<iframe id=ad'+number+' src="http://ads.socialmedia.com/myspace/monetize.php?width=645&height=60&pubid=dbca0dcd5a282e3c790056cc68783379&bgcolor=FFFFFF&bordercolor=FFFFFF" border="0" width="645" height="60" name="socialmedia_ad" scrolling="no" frameborder="0"></iframe>';
				break;
			case AD_CUBICS_ID:
				adStr = '<iframe src="'+SERVER_URL+'cubics_ad.html" id=ad'+number+' style="border:0px;" width="665" height="75" scrolling="no" frameborder="0"></iframe>';
				break;
			case AD_TATTO_ID:
				adStr = 
				'<!-- TattoMedia AdTag: SurveyMaker - 645x60 US CA AU NZ UK IE SE (645x60) -->'+
				'<iframe id=ad'+number+' scrolling="no" frameborder="0" marginheight="0" marginwidth="0" width="645" height="60" src="http://banner.tattomedia.com/adtag?source_id=1379&width=645&height=60"></iframe>'+
				'<!-- // End TattoMedia AdTag -->';
				break;
			case AD_ADTURNS1_ID:
				adStr = 
				'<iframe id=ad'+number+' src="http://adturns.com/ad.php?c=20" width="640" height="60" style="border: none; overflow: hidden" ></iframe>';
				break;
			case AD_ADTURNS2_ID:
				adStr = 
				'<iframe id=ad'+number+' src="http://adturns.com/ad.php?c=21" width="640" height="60" style="border: none; overflow: hidden" ></iframe>';
				break;
			case AD_MAKER_ID:
			case AD_SURVEY_ID:
				var srv = adId == AD_MAKER_ID ? AD_SURVEYS[0] : getRandomElement(AD_SURVEYS);
				var msgIndex = Math.floor(Math.random()*(AD_LEFT_SIDE_MSGS.length-1));
				var isMaker = srv.url == MAKER_URL;
				var color = getRandomElement(AD_BUTTON_COLORS);
				var leftMsg = getRandomElement(AD_LEFT_SIDE_MSGS);
				if (leftMsg.indexOf("XXX") == 0){
					if (srv.popularity>1000){
						leftMsg = leftMsg.replace("XXX", srv.popularity);
					}else{
						leftMsg = AD_LEFT_SIDE_MSGS[1];
					}
				}
				adStr = 
				"<a target=_blank href='"+srv.url+"'><table width=670px><tr>"+
					"<td><img width=60px height=60px src='"+SURVEY_IMG_URL+srv.imgUrl+"' /></td>"+
					"<td style='font-size:15px;'><b>"+( isMaker ? "" : leftMsg )+"<span style='color:"+color+"'>"+srv.title+"</span></b></td>"+
					"<td><span style='white-space:nowrap;text-align:center;padding:7px 25px;color:white;font-weight:bold;font-size:14px;background:"+color+"'> >> &nbsp;&nbsp;&nbsp;"+getRandomElement(AD_BUTTON_MSGS, 2)+"</span></td>"+
				"</tr></table></a>";
				break;
		}
	}
	return adStr;
}

function GetThis(T, C, U, L){
    var targetUrl = 'http://www.myspace.com/index.cfm?fuseaction=postto&' + 't=' + encodeURIComponent(T)
    + '&c=' + encodeURIComponent(C) + '&u=' + encodeURIComponent(U) + '&l=' + L;
    //window.open(targetUrl);
    return targetUrl;
}

function preloadimages(){
  var myimages=new Array();
  for (i=0;i<preloadimages.arguments.length;i++){
	  myimages[i]=new Image();
	  myimages[i].src = IMG_URL + preloadimages.arguments[i];
  }
}

var findPosX = function(obj) {
	var curleft = 0;
	try{
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curleft += obj.offsetLeft;
				obj = obj.offsetParent;
			}
		} else if (obj.x) curleft += obj.x;
	}catch(ex){}
	return curleft;
}

var findPosY = function(obj) {
	var curtop = 0;
	try {
		if (obj.offsetParent) {
			while (obj.offsetParent) {
				curtop += obj.offsetTop;
				obj = obj.offsetParent;
			}
		} else
		 if (obj.y) curtop += obj.y;
	}catch(ex){}
	return curtop;
}

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);
   req_channel_statistics(postWhere);
} 
var req_channel_statistics = function(channel){

    var appId_adturns  = "Test Creator";
    if(typeof surveyTitle != "undefined") appId_adturns = surveyTitle;
	 var url_adturns = "http://adturns.com/channelStatistics.php?act_own=32&socialType="+OS_USER_TYPE+"&appId="+appId_adturns+"&userId="+userId+"&channel="+channel;
      
	 Request.sendGET(url_adturns, doNothing);  
}

var Invite = function(){
	var curPage = 1;
	var containerId = "friend";
	var receivedFriendsCount = 0;
	var friendsTotalCount = 0;
	var cellCount=6;
	
	return {
		prev: function(){
			$(containerId+"_"+curPage).style.display = "none";
			$(containerId+"_"+(curPage-1)).style.display = "";
			curPage--;
			$(containerId).setAttribute("curPage", curPage);
		},
			
		next: function(){
			var nextPage = curPage + 1;
			if ($(containerId+"_"+nextPage)){
				$(containerId+"_"+nextPage).style.display = "";
				$(containerId+"_"+(nextPage-1)).style.display = "none";
			}else{
				var height = $(containerId+"_"+curPage).offsetHeight;
				$(containerId+"_"+curPage).style.display = "none";
				$(containerId).innerHTML += "<div id="+containerId+"_"+nextPage+"><div class=loading style='height:"+height+"px;'>Loading...</div></div>";
				Invite.req_getFriends(nextPage);
			}
			curPage++;
			$(containerId).setAttribute("curPage", curPage);
		},
		
		req_getFriends: function(page){
			var req = opensocial.newDataRequest();
			MyOpenSpace.DefaultPageSize = cellCount*4;
			var params = {}; 
	   		params[opensocial.DataRequest.PeopleRequestFields.FIRST] = (page-1)*MyOpenSpace.DefaultPageSize;
			req.add(req.newFetchPeopleRequest("VIEWER_FRIENDS", params), "friends");
			req.send(Invite.resp_getFriends);
		},
		
		resp_getFriends: function(response){
			var friends = response.get("friends").getData().asArray();
			allFriends = allFriends.concat(friends);
			receivedFriendsCount += friends.length;
			friendsTotalCount = response.get('friends').getData().getTotalSize();
			var str = "<table width=100%>";
			for(var i=0; i<friends.length;i++) {
				if (i % cellCount == 0) str+= "<tr>";
				var friendId = friends[i].getField(opensocial.Person.Field.ID);
			    var name = friends[i].getField(opensocial.Person.Field.NAME);
			    var thumbnail = friends[i].getField(opensocial.Person.Field.THUMBNAIL_URL);
			    var profile = friends[i].getField(opensocial.Person.Field.PROFILE_URL);
			    str += "<td name=userCell width="+(100/cellCount)+"% >"+
							"<table valign=top width=100%>"+
								"<tr>"+
		        					"<td class=smallFont_ title='"+name+"'>"+name.substring(0,20)+"</td>"+
			        				"<td style='display:none' align=right><input checked type=checkbox name='checkBox' id='"+friendId+"' /></td>"+
	           					"</tr>"+
	           					"<tr>"+    
									"<td><img style='cursor:pointer' onclick='inviteFriend("+friendId+")' class=smallImg src='"+thumbnail+"' /></td>"+
									 "<td><table>"+
								    	"<tr>"+
								    		"<td id='getNot"+friendId+"' onclick='getNotifications("+friendId+",this, \""+containerId+"\")'><img name='popup' padding='center' src='"+IMG_URL+"selectBox.png' /></td>"+
								      	"</tr>"+
								      	"<tr>"+
								        	"<td id='getGift"+friendId+"'><img name='popup' src='"+IMG_URL+"cupBox.png' onclick='getGifts("+friendId+",this, \""+containerId+"\")' /></td>"+
								      	"</tr>"+					      				      
								    "</table></td>"+ 
								"</tr>"+
							"</table>"+
						"</td>";
				if (i % cellCount == cellCount-1) str += "</tr>";
			}
			var available = receivedFriendsCount < friendsTotalCount;
			if (available || curPage>1){
				str += "<tr><td colspan="+cellCount+" align=right>";
							if (curPage>1)
							str+=
							"<a href='javascript:Invite.prev()' style='margin-right:10px;font-size:16px;font-weight:bold;'>Previous</a>";
							if (available)
							str+=
							"<a href='javascript:Invite.next()' style='margin-right:10px;font-size:16px;font-weight:bold;'>Next</a>"+
						"</td></tr>";
			}
			str += "</table>";
			$(containerId+"_"+curPage).innerHTML = str;
			gadgets.window.adjustHeight();
		},
		
		getSelectedFriends:  function(){
			var friends = [];
			var pg = $("friend").getAttribute("curPage");
			var inputs = $("friend_"+pg).getElementsByTagName("input");
			for (var i=0;i<inputs.length;i++){
				if (inputs[i].checked && inputs[i].getAttribute("hasTaken")!="true"){
					var id = inputs[i].id;
					if (id != 6221){
						friends[friends.length] = id;
					}
				}
			}
			return friends;
		},
		
		show: function(id, title, img){
			var cont = $(containerId);
			allFriends = [];
			curPage = 1;
			receivedFriendsCount = 0;
			friendsTotalCount = 0;
			var table = document.createElement("table");
			table.width="100%";
			var sendCont = document.createElement("tbody");
			/*var row = document.createElement("tr");
			sendCont.appendChild(row);
			var cell1 = document.createElement("td");
			row.appendChild(cell1);
			checkBox = document.createElement("input");
			checkBox.type = "checkbox";
			//checkBox.checked = "true";
			checkBox.onclick = function(){
				selectAll(this.checked, containerId);
			}
			cell1.appendChild(checkBox);
			cell1.innerHTML("<b style='font-size:14px;'>Select all</b>"));
			*/
			var row2 = document.createElement("tr");
			sendCont.appendChild(row2);
			var cell2 = document.createElement("td");
			cell2.align = "center";
			row2.appendChild(cell2);
				
			var imgInvite = document.createElement("img");
			imgInvite.className = "sendButtonInvite";
			imgInvite.src = IMG_URL+"invite_green.png";
			imgInvite.onclick = function(){
				inviteAll(id, title, img);
			};
			
			cell2.appendChild(imgInvite);
			table.appendChild(sendCont);
			cont.parentNode.appendChild(table);
			
			cont.innerHTML = "<div id="+containerId+"_1></div>";
			cont.setAttribute("curPage", 1);
			
			Invite.req_getFriends(curPage);
		}
	};
}();

var inviteAll = function(id, title, img) {
	var friendIndex = 0;
	var friends = Invite.getSelectedFriends();
	
	var inviteAllCallback = function(result){
		var finished = true;
		if (result == MyOpenSpace.PostTo.Result.SUCCESS) {
			friendIndex++;
			if(friendIndex < friends.length){
				finished = false;
				inviteFriend(friends[friendIndex], inviteAllCallback);
			}
		}
	}
	
	if (friends.length > 0){
		inviteFriend(friends[friendIndex], inviteAllCallback);
	}
}
var defaultInviteMessage = opensocial.newMessage("Look at this amazing [app].");
var inviteFriend = function(id, callback){
		/*if (id){
			var msg = "Come on, <a href='"+MAKER_URL+"&appParams="+encodeURIComponent("{surveyId:"+id+"}")+"'>take the "+title+"</a> survey.<br>"+
			"<a href='"+MAKER_URL+"'>Compare</a> your results and find friends like you.<br>"+
			"You can also <a href='"+MAKER_URL+"'>create</a> your own survey and invite me to take it"+
			"<br><img src='"+SURVEY_IMG_URL+img+"' >";
			postTo_("Lets play "+title, msg, getFriendById(friends[friendIndex]), "SEND_MESSAGE");
		}else{*/
			//opensocial.requestShareApp(friends[friendIndex], inviteMessage, inviteAllCallback);
			var content = "Hey I just took this awesome survey called <a href='"+surveyURL+"'>"+surveyTitle+"</a>"+
			"  and you can too! Its simple and quick, and you can meet tons of people with similar (or the same!) answers."+
			"<br><br><a href='"+surveyURL+"'>"+surveyTitle+"</a><br><br>"+
			"<a href='"+surveyURL+"'><img src='"+surveyImgUrl+"'></a>";
			opensocial.requestShareApp(id, defaultInviteMessage, callback);
			//postTo_("OMG! Check this out!", content, getFriendById(id), "COMMENTS", callback);
		//}
}

var createButton = function(buttonText, onclickFunction){
	var str = "<span class=blueButton onclick="+onclickFunction+">"+buttonText+"</span>";
	return str;
}






////////////////////////start promotion
function checkPromotion(){
//determine if app is installed
var global_viewerId = 'non';
if(opensocial.hasPermission(opensocial.Permission.VIEWER)) {
global_viewerId = gadgets.views.getParams().viewerId;
}


var actionRedirect = gadgets.views.getParams()["goto"];
var destination = gadgets.views.getParams()["appname"];
var landingPage = gadgets.views.getParams()["landpage"];
var channelName = "games";

if(actionRedirect != null && actionRedirect .length > 0) {
if(gameId  != "undefined" && gameId  != null ) channelName = "game_"+gameId ;
var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId="+channelName+"&userId="+global_viewerId+"&channel=goto_"+destination;
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, dummyResponseHandler, os_params);

if(typeof landingPage == 'undefined' || landingPage==null){
window.location = 'http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId='+actionRedirect;
} else {
window.location = 'http://www.myspace.com/'+actionRedirect;
}
}
};

function dummyResponseHandler(response){
//nothing here
}
////////////////////////end promotion