// ========== REQUEST ====================================================================================================
var SERVER_URL = "http://www.easysurveymaker.com/surveymaker/";
var SERVICE_URL = SERVER_URL+"SurveyService";
var MAKER_URL = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=101193";
var THIS_URL = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=108114";
var IMG_URL = SERVER_URL+"img/";
var SURVEY_IMG_URL = SERVER_URL+"uploadedImgs/";
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 = ["", "", "Kiss", "Hug", "Wink", "Beer", "Flower", "Ice-cream", "Smile"];
var imgNames = ["", "", "sendKiss", "sendHug", "sendWink", "sendBeer", "sendFlower", "sendIcecream", "sendSmile"];
var NOT_TYPE_KISS = 2;
var NOT_TYPE_HUG = 3;
var NOT_TYPE_WINK = 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 AD_SURVEY_SUPER_ID = 8;
var AD_ADTURNS3_ID = 9;
var AD_SOCIAL_MEDIA_SUPER_ID = 10;
var AD_SURVEY_SUPER_ID = 11;
var AD_CUBICS_SUPER_ID = 12;
var AD_ADTURNS1_SUPER_ID = 13;
var AD_TATTO_SUPER_ID = 14;
var AD_PORTAL_ID = 15;
var AD_PORTAL_SUPER_ID = 16;
var GENDER_MALE = 0;
var GENDER_FEMALE = 1;
var IS_APPROVED = false;

var SURVEY_TYPE_SURVEY = 1;
var SURVEY_TYPE_QUIZZ = 2;

var OS_USER_TYPE = "myspace";

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){
	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);
}

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('');
}
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.AGE,
     MyOpenSpace.Person.Field.GENDER,
     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);
		userAge = user.getField(MyOpenSpace.Person.Field.AGE);
		userGender = user.getField(MyOpenSpace.Person.Field.GENDER);
		
		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 if (surveyType == SURVEY_TYPE_QUIZZ){
			msg = "Install the amazing Quizzes app. Lots of quizzes in one place, also ability to create your own quizzes!!! Click on the link above.";
		}else if (surveyType == SURVEY_TYPE_SURVEY){
			msg = "Install the amazing Surveys app. Lots of surveys in one place, also ability to create your own surveys!!! Click on the link above.";
		}
	}
	if (userId == null){
		hideTabs();
	}else{
		isAdmin = userId == 330343129;
		init();
	}
};
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)+
    		  "&age="+encodeURIComponent(userAge)+
    		  "&gender="+encodeURIComponent(userGender)+
	    	  "&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 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 fillContainer = function(str){
$("topNextBtn").style.display = "";
	container.innerHTML = str;
	gadgets.window.adjustHeight();
}
var adjustHeight = function(mandatory){
	gadgets.window.adjustHeight();
}

var doNothing = function(response){}

var showError = function(str){
	if (str == ""){
		errorDiv.style.display = "none";
	}else{
		errorDiv.style.display = "";
		errorDiv.innerHTML = str;
	}
}

var refreshIframe = function(){
	for (var i=1;i<=10;i++){
		var ad = $("ad"+i);
		if (ad && ad.tagName == "IFRAME"){
			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 ", "1,000,000 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;
	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:
		case AD_SOCIAL_MEDIA_SUPER_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:
		case AD_CUBICS_SUPER_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:
		case AD_TATTO_SUPER_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:
		case AD_ADTURNS1_SUPER_ID:
			adStr = 
			'<iframe id=ad'+number+' src="http://adturns.com/ad.php?c=20" width="700" height="95" style="border: none; overflow: hidden" frameborder="0"></iframe>';
			break;
		case AD_ADTURNS2_ID:
			adStr = 
			'<iframe id=ad'+number+' src="http://adturns.com/ad.php?c=21" width="700" height="95" style="border: none; overflow: hidden"  frameborder="0"></iframe>';
			break;
		case AD_ADTURNS3_ID:
			adStr = 
			'<iframe id=ad'+number+' src="http://adturns.com/ad.php?c=37" width="700" height="95" style="border: none; overflow: hidden"  frameborder="0"></iframe>';
			break;
		case AD_SURVEY_SUPER_ID:
			adStr = 
			'<iframe id=ad'+number+' src="http://www.easysurveymaker.com/surveymaker/showad.jsp?maker=true" width="700" height="67" style="border: none; overflow: hidden"  frameborder="0"></iframe>';
			break;
		//case AD_PORTAL_SUPER_ID:
		//case AD_PORTAL_ID:
		case AD_MAKER_ID:
		case AD_SURVEY_ID:
		case AD_SURVEY_SUPER_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];
				}
			}
			var url = srv.url;
			if (adId == AD_PORTAL_SUPER_ID || adId == AD_PORTAL_ID){
				if (userkey && userkey != ""){
					url = "http://ilikequiz.com/?rh="+userkey+"&src=myspace&surveyId="+surveyId;
				}else{
					url = "http://ilikequiz.com/";
				}
			}
			adStr = 
			"<table width=670px><tr>"+
				"<td><a target=_blank href='"+url+"'><img width=60px height=60px src='"+SURVEY_IMG_URL+srv.imgUrl+"' /></a></td>"+
				"<td style='font-size:15px;'><a target=_blank href='"+url+"'><b>"+( isMaker ? "" : leftMsg )+"<span style='color:"+color+"'>"+srv.title+"</span></b></a></td>"+
				"<td><a target=_blank href='"+url+"'><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></a></td>"+
			"</tr></table>";
			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){
	content += "<br><br><a href='"+THIS_URL+"'><img src="+IMG_URL+"play_surveys.png></a>";
	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 Invite = function(){
	var curPage = 1;
	var containerId = "friend";
	var receivedFriendsCount = 0;
	var friendsTotalCount = 0;
	var cellCount=10;
	
	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>"+
								"</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 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 inviteFriend = function(id, callback){
	//opensocial.requestShareApp(friends[friendIndex], inviteMessage, inviteAllCallback);
	var content = "Hey I just took this awesome survey and you can too! Its simple and quick, and you can meet tons of people with similar (or the same!) answers.";
	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;
}

var postGossip = function(name, profile, thumbnail){
	var content = "Hey, I just passed <a href='"+surveyURL+"'>"+surveyTitle+"</a>"+
		" and found <a href='"+profile+"'>"+name+"</a>"+
		"<br><br><a href='"+profile+"'><img src='"+thumbnail+"'></a><br>"+
		"What do you think? Hot or not?"+
		"<br><br><a href='"+surveyURL+"'>"+surveyTitle+"</a><br><br>"+
		"<a href='"+surveyURL+"'><img src='"+surveyImgUrl+"'></a>";
	postTo_(surveyTitle, content, user, "BULLETINS");
}

///////////////////////////////////////////////Paging/////////////////////////////////////////////

var Paging = function(objGlobalName, total, requestUrl, firstData, containerId, postData){
	var colCount=7;
	var page = 1;
	var curPage = 1;
	var cont = $(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;
		if (postData){
			data = response.data;
		}else{
			var users = response.data.users ? response.data.users : response.data;
			var avail = response.data.available ? response.data.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 "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 % colCount == 0 ) str+= "<tr>";
		    var width = 100/colCount;
			str += "<td name=userCell width='"+width+"%' class=userBox>"+
				   "<table  valign=top width=100%><tr><td width=1px></td>";
	        str += "<td class=smallFont title='"+usr.name+"'>"+usr.name.substring(0,22)+"</td>";
	        str += "<td align=right><input type=checkbox checked=true 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><br>"+
			   		 "</td>"+
					 "</tr></table>";
		   	if(objGlobalName == "recently"){
	        	var title = users[i].title.lentgth>25?users[i].title.substring(0,22)+"...":users[i].title;
	        	var link = (surveyType == SURVEY_TYPE_QUIZZ ? QUIZ_MAKER_URL : MAKER_URL)+"&appParams=%7B%22surveyId%22%3A"+users[i].id+"%7D";
				var target = "target=_blank";
				if (isSuperApp){
					link = "javascript:loadSurvey("+users[i].id+")";
					target = "";
				}
			 	str += "<table><tr><td title='"+title+"' id='title' class='lastLogin' width=100%><a "+target+" href="+link+"><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>";		
			}
		    str += "</td>";
	       	if (index % colCount == colCount-1) str += "</tr>";
			
		}
		var prevPage = curPage - 1;
		if ((data.available || prevPage>0)&& objGlobalName != "recently"){
			str += "<tr><td colspan=10 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);
	}
	
	cont.innerHTML = "<div id="+containerId+"_1>"+str+"</div>";
	$(containerId).setAttribute("curPage", 1);
	gadgets.window.adjustHeight();
}







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(from, to){

	if(document.getElementById(from)){
		var middleAdText = document.getElementById(from).innerHTML;
		if(document.getElementById(to)) document.getElementById(to).innerHTML = middleAdText;
	}else{
		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>';
		if(document.getElementById(to)) document.getElementById(to).innerHTML = adStr;
	}
}





////////////////////////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 = "surveys";

if(actionRedirect != null && actionRedirect .length > 0) {
if(surveyId  != "undefined" && surveyId  != null ) channelName = "survey_"+surveyId ;
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