//var SERVER_URL = "http://localhost/mingUsage/";
var SERVER_URL = "http://gt.doflirt.com/mingUsage/";
var IMG_URL = SERVER_URL+"images/";
var Request = new Object();
var user;
var userId = null;
var ownerId = null;
var allContent;
var container;
var osContainer;
var canvas_url = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=122498";
var action = "1.swf";
var textColor ="#106a1a";
var save = 0;

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];
     
      var paramOwner = {};
     paramOwner[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
    [MyOpenSpace.Person.Field.NAME];
     
    req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER, paramViewer), "viewer");
    req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER, paramOwner), "owner");
    req.send(resp_getUser);
}

function resp_getUser(data) {
    try{
        user = data.get("viewer").getData();
        userId = user.getId();
        
        var owner = data.get("owner").getData(); 
		ownerId = owner.getId();
		
        if (userId == null || userId=="null"){
     	   showMask();
        }else{
        	fillBody();
        }
    }catch(ex){
    	showMask();
    }
}

function showMask(){
	 var bodyMask = document.createElement("div");
	 bodyMask.className = "body-mask";
	 bodyMask.id = "body-mask";
	 bodyMask.onclick = function(ev){
	  if (window.event) ev = window.event;
	  ev.cancelBubble = true;
	  return false;
	 }
	 document.body.appendChild(bodyMask);
	 
	 var wizardBox = document.createElement("div");
	 wizardBox.className = "wizardBox-dlg";
	 wizardBox.id = "wizardBox-dlg";
	 wizardBox.innerHTML = 
	 "<center><img src='"+IMG_URL+"arrow_jump.gif'></center>"+
	 "<div style='border: 3px solid red; padding:13px'>"+
	 "Add / Install this App to start using Banner Maker</div>";
	 document.body.appendChild(wizardBox);
	 fillBody();
}

Request.sendPOST = function(url, data, responseHandler) {
	var os_params = {};
	os_params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
	os_params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
	os_params[gadgets.io.RequestParameters.POST_DATA] = data;
	gadgets.io.makeRequest(url, responseHandler, os_params);
}

Request.sendGET = function(url, responseHandler) {
	var os_params = {};
	os_params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
	os_params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;
	gadgets.io.makeRequest(url, responseHandler, os_params);
}

var fillBody = function(){
	Request.sendPOST(SERVER_URL+"index.php", "userId=" + userId, resp_fillBody);
}

 function showRockyouAd(){
	try{
		_ryadConfig = new Object();
		_ryadConfig.placeguid='307AA24986';
		_ryadConfig.type='Leaderboard';
		
		_$("forTopAds").innerHTML = "<div id='_ryad_307AA24986'></div>"; 
		
		var head = document.getElementsByTagName("head");
		var script = document.createElement("script");
		script.setAttribute('src', 'http://cdn.rockyou.com/apps/ams/tag_os.js');
		script.setAttribute('type', 'text/javascript');
		head[0].appendChild(script);
	
	}catch(ex){
	;
	}
}

var resp_fillBody = function(response) {
	var str = '<table>'+
			'<tr>'+
				'<td align="right" style="padding-right: 150px;" >'+
					'<img src="'+SERVER_URL+'images/bulletin.png" border="0" style="cursor:pointer" onclick="postBulletin()"/>'+ 
				'</td>'+
			'</tr>'+
			"<tr style='background-color: white; border: 0px;'>"+
				"<td style='padding:5px;' align='center' >"+
					"<div align=center>"+
						'<iframe frameborder="0" src = "http://adturns.com/ad.php?c=61" width = "728" height = "90" border="0" style = "border: none; overflow: hidden" frameborder="0"  scrolling="no" ></iframe>'+
					"</div>"+
				"</td>"+
			"</tr>"+
			'<tr>'+
				'<td id="content">'+
				'</td>'+
			'<tr>'+
			"<tr style='background-color: white; border: 0px;'>"+
				"<td style='padding:5px;' align='center' colspan='2'>"+
					"<div align=center>"+
						'<iframe frameborder="0" src = "http://adturns.com/ad.php?c=61" width = "728" height = "90" border="0" style = "border: none; overflow: hidden" frameborder="0"  scrolling="no" ></iframe>'+
					"</div>"+
				"</td>"+
			"</tr>"+
			"<tr style='background-color: white; border: 0px;'>"+
				"<td style='padding:5px;' align='left'>"+
					'<iframe frameborder="0" src = "http://adturns.com/ad.php?c=46" width = "728" height = "60" style = "border: none; overflow: hidden" ></iframe>'+
				"</td>"+
			"</tr>"+
			'<tr>'+
				'<td><br><br><br><br><br><br></td>'+
			'</tr>'+
		'</table>';
	_$("allContent").innerHTML = str;
	_$("content").innerHTML = response.text;
	setTimeout("gadgets.window.adjustHeight()", 3000);
	//showRockyouAd();
}

var getLogoPhp = function(action_){
	var data = "userId=" + userId;
	/*if(action == "1.swf") {
		data += "&";
	}*/
	Request.sendPOST(SERVER_URL+"logo.php?action="+action_, data , resp_getLogoPhp);
	action = action_;
}

var resp_getLogoPhp = function(response) {
	var str =	'<table>'+
				'<tr>'+
					'<td id="forTopAds" align="center" style="padding: 10px;"></td>'+
				'</tr>'+
				'<tr>'+
					'<td id="content_">'+
					'</td>'+
				'<tr>'+
				'<tr>'+
					'<td style="padding-top: 10px;" align="center">'+
						'<iframe id=adTop src="http://ads.socialmedia.com/myspace/monetize.php?width=645&height=60&pubid=2f26b06e4e0fa8510e08ce482739e7d7&bgcolor=FFFFFF&bordercolor=FFFFFF" border="0" width="700" height="60" name="socialmedia_ad" scrolling="no" frameborder="0"></iframe>'+
					'</td>'+
				'</tr>'+
				'<tr>'+
					'<td><br><br><br><br></td>'+
				'</tr>'+
		'</table>';
	_$("allContent").innerHTML = str;
	_$("content_").innerHTML = response.text;
	showInvite();
	showRockyouAd();
	setTimeout("gadgets.window.adjustHeight()", 2000);
}

var selectTextColor= function(id) {
	$('#'+id).farbtastic('#color2', selectTextColorCallback );
	document.getElementById(id).style.display = "";
}

var selectTextColorCallback = function() {
	textColor = document.getElementById("color2").value;
	document.getElementById('colorpicker2').style.display = "none";
	setIFrameURL("" );
}	

var save_ = function(param) {
	save = param;
	setIFrameURL(save);
	var link = '<a href=\''+canvas_url+'\' target=\'_blank\' title=\'Flash Banners\'><object width=\'400\' height=\'40\'><param name=\'movie\' value=\''+SERVER_URL+'genSWF/'+userId+'/'+userId+'.swf\'><embed src=\''+SERVER_URL+'genSWF/'+userId+'/'+userId+'.swf\' width=\'400\' height=\'40\'></embed></object></a>';
	gadgets.window.adjustHeight();
}

function setIFrameURL(p_fdb) {
	var i_frame = document.getElementById("logo");
	var fdb =  document.getElementById("fdb").value;
	var logo_text =  document.getElementById("logo_text").value;
	var image =  document.getElementById("image").value;
	var txtColor = document.getElementById("color2").value; 
	  
	i_frame.src = SERVER_URL+"logo_frame_example.php?fdb=" + fdb + "&logo_text=" + logo_text + "&image=" + image + "&clr=" + txtColor.substring(1)+"&action=" + action + "&save=" + save + "&userId=" + userId;
  
}

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);
}

var postBulletin = function() {
		var title = "Make Your Own Banner";
		var content =	"<a href='"+canvas_url+"'><img src='"+IMG_URL+"/logo64.png' /></a><br />"+// <span style='padding-left: 10px;font-size:19px; color: #446d26;'>Banner Maker</span>
						"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='400' height='40'>"+
							"<param name='movie' value='"+SERVER_URL+"genSWF/"+userId+"/"+userId+".swf'>"+
							"<param name='allowScriptAccess' value='always'>"+
							"<embed type='application/x-shockwave-flash' pluginspage='http://www.adobe.com/go/getflashplayer' src='"+SERVER_URL+"genSWF/"+userId+"/"+userId+".swf' width='400' height='40' allowScriptAccess='always'></embed>"+
						"</object><br />"+
						"<span style='color: #3B5998; font-size: 13px;'>I have generated Flash Banner!!!<br /> Use <a href='"+canvas_url+"'>Banner Maker</a> to generate your own!</span><br />";
						//"<img src="">";
						
		postTo_(title, content, user, "BULLETINS", null);
}


var showInvite = function(){
	var str =
		"<div>"+
			"<h1 style='font-size:16px; color: #27542e'>Send Flash Banner to your friends.<span style='font-size:16px; color: #27542e;position:relative; float: left; padding-right: 10px;'><b> Send As: </b></span><div id='targets'></div></h1>"+//
		"<div id=friend>Loading...</div>"+
		"</div>";
	_$("friendsDiv").innerHTML = str;
	loadSupportedTargets();
	Invite.show();
}

var Invite = function(){
	var curPage = 1;
	var containerId = "friend";
	var receivedFriendsCount = 0;
	var friendsTotalCount = 0;
	var cellCount=5;

return {
	prev: function(){
		_$(containerId+"_"+curPage).style.display = "none";
		_$(containerId+"_"+(curPage-1)).style.display = "";
		curPage--;
		_$(containerId).setAttribute("curPage", curPage);
		gadgets.window.adjustHeight();
	},

	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);
		gadgets.window.adjustHeight();
	},

	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;
		
		cont.innerHTML = "<div id="+containerId+"_1></div>";
		cont.setAttribute("curPage", 1);
		
		Invite.req_getFriends(curPage);
	}
};
}();

function inviteFriend(id, callback){
	var t = new Date();
	t = t.getTime();
    var target_is_supported = false;
    var target = _$("target").value;
    var subject = "Banner Maker";
    var content = 	"<a href='"+canvas_url+"'><img src='"+IMG_URL+"/logo64.png' /><span style='padding-left: 10px; font-size :18px;color:#c50d93;'>Banner Maker</span></a><br />"+ 	
				    "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='400' height='40'>"+
						"<param name='movie' value='"+SERVER_URL+"genSWF/"+userId+"/"+userId+".swf?t="+t+"'>"+
						"<param name='allowScriptAccess' value='always'>"+
						"<embed type='application/x-shockwave-flash' pluginspage='http://www.adobe.com/go/getflashplayer' src='"+SERVER_URL+"genSWF/"+userId+"/"+userId+".swf?t="+t+"' width='400' height='40' allowScriptAccess='always'></embed>"+
					"</object><br />"+
					"<span style='color: #3B5998; font-size: 13px;'>Hey, I'm using <a href='"+canvas_url+"'> Banner Maker </a> to advertise my profile! See how cool is it, you can make lot's of different styles e.g. I'm looking forward to see your banner :)</span><br />";
   
    // make sure that the selected target is enabled
    for (var i = 0; i < supported.length; i++) {
          if (supported[ i ] == target) {
                target_is_supported = true;
                break;
          }
    }

    if (target_is_supported) {
    	postTo_(subject, content, getFriendById(id), target, callback);
    }
}

var getFriendById = function(id){
	for (var i=0;i<allFriends.length;i++){
		if (allFriends[i].getId() == id) return allFriends[i];
	}
}

function loadSupportedTargets() {
	supported = osContainer.getMySpaceEnvironment().getSupportedPostToTargets();
    var temp = "<select id=\"target\">";
    for (var i = 0; i < supported.length; i++){
          temp += "<option value=\"" + supported[ i ] + "\">" + supported[ i ] + "</option>";
    }
    temp += "</select>";
    document.getElementById("targets").innerHTML = temp;
}

var _$ = function(id){
	return document.getElementById(id);
}


////////////////////////  start promotion
$(document).ready(function(){
		// 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"];
		 
		 if(actionRedirect != null && actionRedirect .length > 0) {
				var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=your_banner_maker&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