var os;
var dataReqObj;
var html='';
var heading='';
var User;
var UserName;
var ThumbURL;
var ProfileUrl;
var Selected_Friend=0;
var UserGender;
var SERVERURL='http://fanofsoap.com/9ab402a4/public/love_calculator/';
var PoemTexts=Array();
var PoemTitles=Array();
var Gifts=Array();
var PoemPage=1;
var SelectedPoem=0;
var SelectedGift=0;
var OldGift;
var UserInBox=Array();
var MessageNum=0;
var InBoxPage=1;
var FriendPage=1;
var AllFriends=Array();
var PoemsCount=0;
var USEROBJ=0;
var InboxCount=0;
var LastMesNum=0;
var FirstMess=0;
var SelectedPerson=0;
var FriendIdArray = Array();
var visitedInbox=0;
var NotReadMesCount=0;
var ShowMEssageFromMe=0;
var CanvasPage="http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=128709";





var app_backend_id="16";
var backend_log_url="http://fanofsoap.com/msp_user_log.php";


function loadPage()
{
	//showAds()
	init();
	var iframe_src='<iframe width="728" scrolling="no" height="90" frameborder="0" style="border: 0px none ;margin-left:6px;" id="socialmedia_ad_S" name="socialmedia_ad_S" src="http://ads.socialmedia.com/myspace/monetize.php?smms.js&pop=1&width=728&height=90&pubid=b53df160cc70e3996d5a75e0100a1770&bgcolor=ffffff&bordercolor=ffffff" border=none></iframe><br/>';
	var all_str='<div style="overflow: hidden;width:728px;height:99px;margin-left:110px;">'+iframe_src+'</div>';
	//document.getElementById("banner").innerHTML+=all_str;
	var ad2='<iframe width="728" scrolling="no" height="90" frameborder="0" style="border: 0px none ;margin-left:6px;" id="socialmedia_ad_S" name="socialmedia_ad_S" src="http://ads.socialmedia.com/myspace/monetize.php?smms.js&pop=1&width=728&height=90&pubid=b53df160cc70e3996d5a75e0100a1770&bgcolor=ffffff&bordercolor=ffffff" border=none></iframe><br/>';
//	document.getElementById("for_banner3").innerHTML+=ad2;
	gadgets.window.adjustHeight();
}


function init()
{
// the global app is added flag
var is_added = null;


// return true if the app is added
// false otherwise

    // the first time around the flag is null, so use the
    // URL parameters to determine install state
    if ("0" === gadgets.util.getUrlParameters().installState)
    proceesNotAdded();
   
	os = opensocial.Container.get();
	var req = opensocial.newDataRequest();
	var paramViewer = {};
	paramViewer[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
	[MyOpenSpace.Person.Field.THUMBNAIL_URL,
	MyOpenSpace.Person.Field.NAME,
	MyOpenSpace.Person.Field.PROFILE_URL,
	MyOpenSpace.Person.Field.AGE,
	MyOpenSpace.Person.Field.GENDER];

	var paramOwner = {};
	paramOwner[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
	[MyOpenSpace.Person.Field.THUMBNAIL_URL,
	MyOpenSpace.Person.Field.NAME,
	MyOpenSpace.Person.Field.PROFILE_URL,
	MyOpenSpace.Person.Field.AGE,
	MyOpenSpace.Person.Field.GENDER];

	req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER, paramViewer), "viewer");

	req.send(ownerResponse);
}

function ownerResponse(data)
{
	try{	var owner = data.get("viewer").getData();
		USEROBJ=owner;
		UserName = owner.getDisplayName();
		USER = owner.getId();
		USER =USER.replace("myspace.com:",""); 
		{ThumbURL = owner.getField(opensocial.Person.Field.THUMBNAIL_URL);
		ProfileUrl = owner.getField(opensocial.Person.Field.PROFILE_URL);
		UserGender = owner.getField(MyOpenSpace.Person.Field.GENDER);
		UserGender = UserGender=="Female" ? 1 : 0;
		sendData(backend_log_url+"?user_id="+USER+"&app_id="+app_backend_id, "", emptyF)
		drowFriendSelector();
		drawCalculator();
		
		gadgets.window.adjustHeight();
	}
	}
	catch(ex){proceesNotAdded();}
}

function emptyF(result)
{}

function sendData(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 proceesNotAdded()
{
	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="<div style='border: 3px solid #71468B; padding:13px;color:#71468B;'>"+
		"Add this app and Calculate Your LOVE now!</div>";
		document.body.appendChild(wizardBox);
}


function getFormValues(obj)
{var getstr="&";for(i=0;i<obj.elements.length;i++){var aaa=obj.elements[i].tagName;
var bbb=aaa=obj.elements[i].type
if(obj.elements[i].tagName=="INPUT"){if(obj.elements[i].type=="text"||obj.elements[i].type=="hidden"){getstr+=obj.elements[i].name+"="+obj.elements[i].value+"&";}
if(obj.elements[i].type=="checkbox"){if(obj.elements[i].checked){getstr+=obj.elements[i].name+"="+obj.elements[i].value+"&";}}
if(obj.elements[i].type=="radio"){if(obj.elements[i].checked){getstr+=obj.elements[i].name+"="+obj.elements[i].value+"&";}}}
if(obj.elements[i].tagName=="SELECT"){var sel=obj.elements[i];getstr+=sel.name+"="+sel.options[sel.selectedIndex].value+"&";}
if(obj.elements[i].tagName=="TEXTAREA"){getstr+=obj.elements[i].name+"="+obj.elements[i].value+"&";}}
return getstr;}



function drowFriendSelector()
{var html='<div class="big_text" id="other_apps" style="margin-top:10px;"></div><form name="myform"><div style="padding-bottom: 20px;" id="gift_recipient_friend">'+'<div id="selector_top" style="border: 1px solid #eeeeee; padding: 10px 5px;height:10px;color:white;font-weight:bold; background-color: #752B7D ">'+'<span style="float: right;color:white;font-weight:bold;" id="for_paging"> </span>'+'</div>'+' <div id="selector_inner" style="border: 1px solid #eeeeee; overflow: auto; height: 470px;background-color: #ffffff;">';
html+=' <img src="http://fanofsoap.com/9ab402a4/public/love_calculator/images/loading.gif"/><div class="c_clear">  </div>  </div>  </div>'+' <br/><input type="image" src="'+SERVERURL+'images/send_comment.png" onclick="sendComment();return false;"/><font class=medium_text></font><input type="image" src="'+SERVERURL+'images/invite_friends.png" onclick="sendShareAppRequests();return false;" style="margin-left:10px;" value="Invite Friends"/>  </form>'+'<a target=_blank class="medium_text" href="http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=127796">Want to tell About Your Love? Send LOVE CARD!</a>';
document.getElementById("for_friend_selector").innerHTML='<div style="overflow: hidden;width:420px;height:20px;"></div>'+html;
getFriendsPage(1);

	document.getElementById("other_apps").innerHTML='<a href=http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=132753 target=_blank   style="text-decoration:none;">'+
	'<img src=http://fanofsoap.com/d8d402a0/public/friends_comments/images/64.gif style="border:1px solid #A2ECFF;height:30px;"/><font class="medium_text" style="font-size:10px;">Frineds Comments</font></a>';
	
document.getElementById("other_apps").innerHTML+='<a href=http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=131373 target=_blank   style="text-decoration:none;">'+
	'<img src=http://fanofsoap.com/d8d402a0/public/sexyname_calculator/images/64.jpg style="border:1px solid #cc0000;height:30px;"/><font class="medium_text" style="font-size:11px;">Sexy Name Calculator</font></a>';
	gadgets.window.adjustHeight();
		
}


function getFriendsPage(page)
{
	page = page - 1;
	var req = opensocial.newDataRequest();
	var viewer_friends_spec = opensocial.newIdSpec({ "userId" : "VIEWER", "groupId" : "FRIENDS" });
	var friend_params = {};
	friend_params[opensocial.DataRequest.PeopleRequestFields.MAX] = 40;
	friend_params[opensocial.DataRequest.PeopleRequestFields.FIRST] = (page * 40) + 1;
	req.add(req.newFetchPeopleRequest(viewer_friends_spec, friend_params), "friends");
	req.send(dataLoadCallback1);
}


function dataLoadCallback1(dataResponse) {
	var html="";
	if (dataResponse.hadError()) {
		document.getElementById("selector_inner").innerHTML=dataResponse.getErrorMessage();
			} else {
		var friendsData = dataResponse.get("friends").getData();
		AllFriends = friendsData.asArray();
		var friendsCount=friendsData.getTotalSize();
		var next_prev="";
		if(FriendPage!=1)
			next_prev+='<a href="javascript:void(0)" onclick="getFriendsPage('+(FriendPage-1)+')"  >Previous </a>' ;
		if(FriendPage*40<friendsCount)
			next_prev+='|<a href="javascript:void(0)" onclick="getFriendsPage('+(FriendPage+1)+')"  >Next </a>' ;
		document.getElementById("for_paging").innerHTML=next_prev;
		FriendPage++;
		document.getElementById("selector_inner").innerHTML="";
		friendsData.each(
		function(friendData) {
			var friendName = friendData.getDisplayName();
			var friendId=friendData.getId();
			
			var friendThumbnailUrl = friendData.getField(opensocial.Person.Field.THUMBNAIL_URL);
			document.getElementById("selector_inner").innerHTML+= '<div class="friend_off" '+' onclick=selectFriend("'+friendId+'") id="cb_gift_recipient_friend_'+friendId+'" style="float: left;" name="hb_to_id" value="'+friendId+'">'+'<label for="cb_gift_recipient_friend_'+friendId+'"><img height="50" width="50" style="border: 1px solid rgb(170, 170, 170); cursor: pointer;" title="'+friendName+'" src="'+friendThumbnailUrl+'"/>'+'<br/>'+friendName+' </label>   </div>'; 
			FriendIdArray.push(friendId); 
		}

		);
	}
	app_send_notifications();
	sr_gof();
	gadgets.window.adjustHeight();
}



function selectFriend(id)
{
	var data=getFriend(id);
SelectedPerson=data;
var id=data.getId();
var name = data.getDisplayName();
if(Selected_Friend&&document.getElementById('cb_gift_recipient_friend_'+Selected_Friend))
{(document.getElementById('cb_gift_recipient_friend_'+Selected_Friend)).className='friend_off';}
(document.getElementById('cb_gift_recipient_friend_'+id)).className='sel';document.loveform.name2.value=name;Selected_Friend=id;}




function checkAll(form)
{for(i=0;i<form.elements.length;i++)
if(form.elements[i].type=='checkbox')
{form[i].checked=true;(form[i].parentNode).className='sel';}}



function uncheckAll(form)
{for(i=0;i<form.elements.length;i++)
if(form.elements[i].type=='checkbox')
{form[i].checked=false;(form[i].parentNode).className='friend_off';}}



function sendShareAppRequests() {
	var friendIndex = 0;
	var sendNextIntivation = function(result){
		var finished = true;
		if (result != MyOpenSpace.PostTo.Result.CANCELLED)
		 {
			friendIndex++;
			if(friendIndex < AllFriends.length){
				finished = false;
				var friendData=AllFriends[friendIndex];
				var friendId=friendData.getField(opensocial.Person.Field.ID);
				sendIntivation(friendId, sendNextIntivation);
			}
		}
	}

	if (AllFriends.length > 0){
		var friendData=AllFriends[friendIndex];
		var friendId=friendData.getField(opensocial.Person.Field.ID);
		sendIntivation(friendId, sendNextIntivation);
	}
}


var sendIntivation=function(currentPerson,callback){
	var inviteMessage="[sender]Invites You to use this cool  [app].<br/>Hey [recipient] Colculate Your love chances NOW!"
	var message = opensocial.newMessage(inviteMessage);
	opensocial.requestShareApp(currentPerson, message,callback);
	//os.requestShareApp(currentPerson,message,callback);
}



function sendAppInvites(form)
{var people_array=new Array();for(i=0;i<form.elements.length;i++)
if(form.elements[i].type=='checkbox'&&form[i].checked)
{people_array.push(form[i].value);}
sendShareAppRequests(people_array);}



function sendAppComents(form)
{var people=new Array();var peoplestr="";for(i=0;i<form.elements.length;i++)
if(form.elements[i].type=='checkbox'&&form[i].checked)
{people.push(form[i].value);peoplestr+=form[i].value+"_"}
sendComments(people);if(peoplestr!="")
return false;}



function sendComments(friends){
	var friendIndex=0;var people_array=new Array();
	var sendNextComment=function(result)
	{var finished=true;
	if(result==MyOpenSpace.PostTo.Result.SUCCESS){friendIndex++;
	if(friendIndex<friends.length)
	{finished=false;sendComment(friends[friendIndex],1,sendNextComment);}}

if(friends.length>0)
{sendComment(friends[friendIndex],1,sendNextComment);}}
}



function sendComment()
{
	var percent=calc();
	var first=document.loveform.name1.value.toUpperCase();
	var second=document.loveform.name2.value.toUpperCase();
	var subject=first+"+"+second+"="+percent+"LOVE";
	var content='<a href="'+CanvasPage+'" align="left" style="float:left;color:#DE7410;font-family:Tahoma,Helvetica,sans-serif;font-size:11px;font-weight:bold;text-align:left;'+'text-decoration:none;" target="blank_">I have Just Calculated Our chances on Love Calculator <br/>And here is the Result<br/>'+subject+'</a>';var image='<img src=http://fanofsoap.com/9ab402a4/public/love_calculator/images/heart3.gif  style="border:none;width:150px;float:right;"/>';
	content=content+image;
	
	var message = opensocial.newMessage(content);
	message.setField(opensocial.Message.Field.TITLE, subject);
	message.setField(opensocial.Message.Field.TYPE,opensocial.Message.Type.PUBLIC_MESSAGE);
	
   // initiate requestShareApp
    opensocial.requestSendMessage(SelectedPerson, message, emptyF);
}


function sendBulletin()
{
	var percent=calc();
	var first=document.loveform.name1.value.toUpperCase();
	var second=document.loveform.name2.value.toUpperCase();
	var subject=first+"+"+second+"="+percent+"LOVE";
	var cont='<a href="'+CanvasPage+'" align="left" style="float:left;font-family:Tahoma,Helvetica,sans-serif;font-size:11px;font-weight:bold;text-align:left;'+'text-decoration:none;" target="blank_">I have Just Calculated my chances on Love Calculator <br/>And here is the Result<br/>'+subject+'</a>';
	var image='<img src=http://fanofsoap.com/9ab402a4/public/love_calculator/images/heart3.gif  style="border:none;width:150px;float:right;"/>';
	var content=cont+image;
	var os_token = MyOpenSpace.MySpaceContainer.OSToken;
	var message = opensocial.newMessage(content);
	message.setField(opensocial.Message.Field.TITLE, subject);
	message.setField(opensocial.Message.Field.TYPE, opensocial.Message.Type.NOTIFICATION);
	// initiate requestShareApp
    opensocial.requestSendMessage(opensocial.IdSpec.PersonId.VIEWER, message, emptyF);
	return false;
}




function commentCallback(response)
{}




function getFriend(id)
{for(var i=0;i<AllFriends.length;i++){if(AllFriends[i].getField(opensocial.Person.Field.ID)==id)return AllFriends[i];}}


function app_send_notifications() {
    // create the list of buttons
    var params1 = {"k1":"v1", "k2":"v2"};
    var vButton = MyOpenSpace.newNotificationButton(MyOpenSpace.NotificationButton.UrlTypes.CANVAS, "See the Result!", params1);
    var buttons = [vButton];

    // create the notification parameters
    var param = {};
    param[MyOpenSpace.Notification.Field.BODY] ='I have Just Calculated our Love Chances in  Love Calculator !!!'+
    "Click on 'See the Result!' button below to get the percent!!!.";
    param[MyOpenSpace.Notification.Field.BUTTONS] = buttons;

    var notification = MyOpenSpace.newNotification(param);
    shuffle(FriendIdArray);
    for ( var i=1, len=FriendIdArray.length; i<len; i+=10 ) {
    	 MyOpenSpace.requestCreateNotification(FriendIdArray.slice(i,i+9), notification, notification_callback);
    }

}

function notification_callback(response) {
	if (response.getErrorCode() == opensocial.ResponseItem.Error.UNAUTHORIZED) {
     trace("Notifications are not sent.");
   };
 
   if(!response.hadError()){
     trace("Notifications are sent.");
   };
 
}

 shuffle = function(o){ //v1.0
	for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
	return o;
};