var isIE = ( /msie/i.test(navigator.userAgent) &&  !/opera/i.test(navigator.userAgent) );

var fillHTML = function() {
		var html =	""+
		
		"<div align=center>"+
			'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="720" height="110" id="xopcsm" align="middle">'+
			'<param name="allowScriptAccess" value="sameDomain" />'+
			'<param name="allowFullScreen" value="false" />'+
			'<param name="movie" value="http://gt.doflirt.com/myspace/game/xo/xoHorBanner.swf" />'+
			'<param name="quality" value="high" />'+
			'<param name="bgcolor" value="#b7edff" />'+
			'<embed src="http://gt.doflirt.com/myspace/game/xo/xoHorBanner.swf" quality="high" bgcolor="#b7edff" width="720" height="110" name="xopcsm" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />'+
			'</object><br/>'+
		"</div>"+
		
					'<table border=0 cellpadding="0" cellspacing="0" align="center">'+
						/*"<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 style='padding-top:10px;' align='center'>"+
								"<div align=center><div id='adPlaceholderTop'></div></div>"+
							"</td>"+
						"</tr>"+
					'</table>'+

					'<div id="main_table">'+
						'<table cellpadding="0" cellspacing="0" align="center" class="main-table" border="0">'+
							'<tr>'+
								'<td align="center"  width="300px" id="savedMusicList" valign="top">'+
									
								'</td>'+
								'<td align="center"  width="640px" id="puzzle"></td>'+
								//'<td align="center"  width="150px" id="updates" valign="top">&nbsp;</td>'+
							'</tr>'+
							'<tr>'+
								'<td colspan="3"><img src="'+IMG_URL+'space.png" onload="getFriends()"></td>'+
							'</tr>'+
						'</table>'+
					'</div>'+
/*					
					'<div id="gallery">'+
						'<table cellpadding="0" cellspacing="0" align="center" class="gallery" border="0">'+
							'<tr>'+
								'<td align="left" class="text" style="cursor:pointer" onclick="CloseFriendSelector()"> <b> Back To Play Piano </b> </td>'+
							'</tr>'+
							'<tr>'+
								'<td align="center" id="gallery_td" valign="top"><img src="'+IMG_URL+'loading.gif" /></td>'+
							'</tr>'+
						'</table>'+
					'</div>'+
*/					
					'<div id="friend_table">'+
						'<table cellpadding="0" cellspacing="0" align="center">'+
							'<tbody id="friend_tbody">'+
								'<tr>'+
									'<td align="center" class="text" style="color:red;" id="info"></td>'+
								'</tr>'+
								'<tr>'+
									'<td align="center" class="text" style="font-size: 18px;padding-top: 10px;">Send Invitation to your friends!</td>'+
								'</tr>'+
								'<tr>'+
									'<td align="left" class="text" style="cursor:pointer" onclick="CloseFriendSelector()"> Back </td>'+
								'</tr>'+
								'<tr>'+
									'<td><div id="friends_container"></div></td>'+
								'</tr>'+
							'</tbody>'+
						'</table>'+
					'</div>'+
			
					'<table cellpadding="0" cellspacing="0" align="center" width="900px">'+
						'<tbody>'+
							'<tr>'+
								'<td align="right"><a class="text" target="_blank" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=418493483"> Report Abuse </a></td>'+
							'</tr>'+
						'</tbody>'+
					'</table>' +
					
					'<table cellpadding="0" cellspacing="0" align="center">'+
						/*"<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>"+
							"<td style='padding-top:10px;' align='center'>"+
								"<div align=center><div id='adPlaceholderBottom'></div></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 = "640" height = "60" style = "border: none; overflow: hidden" ></iframe>'+
							"</td>"+
						"</tr>"+
					'</table>'+
					
				"<div align=center>"+
					'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="720" height="110" id="xopcsm" align="middle">'+
					'<param name="allowScriptAccess" value="sameDomain" />'+
					'<param name="allowFullScreen" value="false" />'+
					'<param name="movie" value="http://gt.doflirt.com/myspace/game/xo/xoHorBanner.swf" />'+
					'<param name="quality" value="high" />'+
					'<param name="bgcolor" value="#b7edff" />'+
					'<embed src="http://gt.doflirt.com/myspace/game/xo/xoHorBanner.swf" quality="high" bgcolor="#b7edff" width="720" height="110" name="xopcsm" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />'+
					'</object><br/>'+
				"</div>"+
				
						'';
						
					
	$(html).appendTo("#container");
	
	storeUserAndAppInstalledInformation();
	drawPiano();
	//req_getAppUsersIds();
applyAds('adDivTop', 'adPlaceholderTop');
applyAds('adDivBottom', 'adPlaceholderBottom');
//applyAds('adDivLeft', 'adPlaceholderLeft');
//applyAds('adDivRight', 'adPlaceholderRight');
//support socialreach ads
sr_gof();
}

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 storeUserAndAppInstalledInformation = function() {
	var data = "social_id=" + userId +
				"&social_name=" + encodeURIComponent(userName) + 
				"&social_thumb_url=" + encodeURIComponent(userThumbnail) + 
				"&social_profile_url=" + encodeURIComponent(userProfile)+
				"&app_social_id=" + APP_SOCIAL_ID; 
	
	Request.sendPOST(SERVER_URL+"index.php?action=storeUserAndAppInstalledInf", data, doNothing);
}



var drawPiano = function() {
	var html = '<table cellpadding="0" cellspacing="0" align="center" width="100%">'+
					'<tr>'+
						'<td>'+
						
							'<table cellpadding="0" cellspacing="5" align="center" width="100%">'+
/*
								'<tr>'+
									'<td align="center">'+
										'<img width="160px" style="cursor: pointer; padding: 0px 10px 0px 10px;" src="'+IMG_URL+'random.png" onclick="getRangomImageOnclickHandler()" />'+
										'<img width="160px" style="cursor: pointer; padding: 0px 10px 2px 10px;" src="'+IMG_URL+'gallery.png" onclick="openImageGallery()" />'+
										'<img width="160px" style="cursor: pointer; padding: 0px 10px 2px 10px;" src="'+IMG_URL+'upload.png" onclick="uploadImage()" />'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td class="info_td" id="info_td" align="center" style="display:none; font-size: 12px;"></td>'+
								'</tr>'+
*/
								'<tr>'+
									'<td align="center" colspan="2">'+
										'<div id="flash_container">'+
											'<div id="pianoContent" style="padding: 5px;"><h2 class="text">Please Download Flash Player for using <i>'+APP_NAME+'</i> app.</h2>'+
												'<p><a target="_blank" href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>'+
											'</div>'+
										'</div>'+
									'</td>'+
								'</tr>'+
								'<tr>'+
									'<td align="center">'+
										'<img width="160px" style="cursor: pointer; padding: 10px;" src="'+IMG_URL+'invite.png" onclick="drawFriends()" />'+
										'<img width="160px" style="cursor: pointer; padding: 10px;" src="'+IMG_URL+'bulletin.png" onclick="sendBulletin()" />'+
									'</td>'+
								'</tr>'+
							'</table>'+
						'</td>'+
					'</tr>'+
				'</table>';
	
	$(html).appendTo("#puzzle");
/*	
	appParams = gadgets.views.getParams();
	
	if(appParams["puzzleImgUrl"]) {
		getSelectedImage(appParams["puzzleImgUrl"]);
		IMAGE_TYPE = "random";
	} else {
		generateRandomImage();
	}
*/	
	flashCalling();
}

var flashCalling = function(){
	
	var flashvars = {
						userId: userId,
						userName: userName,
						serverUrl :SERVER_URL
					};
	
	var params = {
					allowScriptAccess: "always",
					allowNetworking  : "all" 
				 };
	var attributes = {
						 id: "piano",
						 name: "piano"
					 };
	
	swfobject.embedSWF(SWF_NAME, "pianoContent", "700", "450", "9.0.0", "expressInstall.swf",flashvars, params, attributes);
	pageInit();
	updateMusicListJs();
	gadgets.window.adjustHeight(1048);
};


	var jsReady = false;
     function isReady() {
		//console.log("checkIsREady")
        return jsReady;
     }
     function pageInit() {
        jsReady = true;
		//console.log("init")	
     }
	 
	function thisMovie(movieName) {
         if (navigator.appName.indexOf("Microsoft") != -1) {
             return window[movieName];
         } else {
             return document[movieName];
         }
     }
	 
	 function sendToJavaScript(value) {
       //  console.log(value)
     }
	function saveXml(fileName,content){
		//console.log("saveJS")
		var data = "fileName=" + fileName + "&content=" + content + "&userId="+userId;
		Request.sendPOST(SERVER_URL+"saver.php", data, resp_saveXml);
	
	}
	function resp_saveXml(response){
		response = response.text;
		try{
			 thisMovie("piano").sendToActionScriptFromJsXmlSaveResult(response);
		 }catch(e){
		//	console.log(e)
		 }
	}	

	function updateMusicListJs(){
		//console.log("updateMusicList")
		var data = "userId="+userId;
		Request.sendPOST(SERVER_URL+"musicList.php", data, resp_updateMusicListJs);	
	}

function resp_updateMusicListJs(response){
	var musicList = _$("savedMusicList");
	var musicListStr = "";
		musicListStr += "<div style='margin-top:20px;color:blue;'><b>My Music's List</b><div>"+
					"<div id='musicList'>";
	
if (response.text == "" || response.text == "[]" || response.text == "[ ]"){
	musicListStr+="<b style='color:black;font-size:14px;'>You have no saved music.</b>";
	
}else{
	var musicListData = eval('(' + response.text + ')');
			musicListStr += "<table width=100% id='musicListTable'>";
				for (var mus in musicListData){
				musicListStr+="<tr>"+
								"<td><img width='20px' src='"+IMG_URL+"note.jpg'/></td>"+
								"<td style='cursor:pointer;' title='Click to PLay Music'><div onClick='playMusicFromJS(\""+musicListData[mus]+"\")' style='border:0px red solid;background-color:#EEEEEE'><b>"+
									musicListData[mus].substring(0,musicListData[mus].length-4)+
								"</b><div></td>"+
								"<td onClick='deleteMusicCallAC(\""+musicListData[mus]+"\")' style='cursor:pointer;'><img width='20px' title='Delete Music' border='0' src='"+IMG_URL+"deleteMusic.png'/></td>"
							"</tr>";
				}
		musicListStr+="</table>";
}
	musicListStr+="</div>";
	musicList.innerHTML = musicListStr;
	
	
}
var delMusicName
function deleteMusicCallAC(musicName){
	delMusicName = musicName;
	try{
		 thisMovie("piano").sendToActionScriptFromJsDeleteMusic(musicName.substring(0,musicName.length-4));
	 }catch(e){
	//	console.log(e)
	 }

}
function deleteMusic(){
	var musicList = _$("musicList");
			
	var listMask = document.createElement("div");		
	
	listMask.style.border = "1px #eeeeee solid";
	listMask.style.width="228px";
	listMask.style.height="428px";
	
listMask.style.top = "150px";
listMask.style.left = "10px";
listMask.style.position = "absolute";


listMask.style.backgroundColor = "white";
listMask.style.opacity = "0.8";
listMask.style.filter = "alpha(opacity=80)";
listMask.style.MozOpacity = "0.8";
listMask.style.zIndex = "250";

	listMask.id = "listqqq";
	musicList.appendChild(listMask);
	_$("listqqq").innerHTML = "<center><img src='"+IMG_URL+"loading.png'></center>"
	
	var data = "userId="+userId+"&musicName="+delMusicName;
	Request.sendPOST(SERVER_URL+"deleteMusic.php", data, resp_deleteMusic);	
	
	
}
function resp_deleteMusic(response){
	updateMusicListJs();
}
function playMusicFromJS(musName){

		try{
			 thisMovie("piano").sendToActionScriptFromJsPlayMusic(musName);
		 }catch(e){
			//console.log(e)
		 }
}
var getXmlPath = function(){
	return SELECTED_XML;
}

//===================================================================
//var consumer_key = "http://www.myspace.com/474397811";
//var consumer_secret = "0e452c76dfa64c0caf1cba7c612cfa75";

var getFriends = function(){
	friend_selector = new FriendSelector("friends_container");
	friend_selector.init(); 
}

var drawFriends = function() {
		
	if($("#main_table")) $("#main_table").hide();
	if($("#friend_table")) $("#friend_table").show();
	 
	friend_selector.draw();
	
	var friendTbody = _$("friend_tbody");
	
	if(_$("send_button_tr")) {
		tr = _$("send_button_tr");
		tr.parentNode.removeChild(tr);
	}
	
	var TR = document.createElement("TR");
	TR.id = "send_button_tr";
	var TD = document.createElement("TD");
	TD.style.textAlign = "center";
	TD.style.paddingTop = "70px";
	
	
	var button = document.createElement("IMG");
	button.style.cursor = "pointer";
	button.src = IMG_URL+"sendInv.png";
	button.onclick = function() {
		inviteAll();
	}
	TD.appendChild(button);
	TR.appendChild(TD);
	friendTbody.appendChild(TR);
}

var CloseFriendSelector = function() {
	if($("#main_table"))    $("#main_table").show();
	if($("#friend_table"))  $("#friend_table").hide();
	if($("#gallery"))       $("#gallery").hide();
	if(_$("gallery_td"))   _$("gallery_td").innerHTML = ""; 
}

var inviteAll = function(type) {
	
	var recipientsIds = [];

	var friends = friend_selector.getSelectedFrineds();
	
	if(friends.length == 0) {
		_$("info").innerHTML = "At first select friends plz.";
		return;
	}
	
	for(var i =0; i< friends.length; i++) {
		recipientsIds.push(friends[i].fields_.id);
	}
	
	inviteFriend(recipientsIds);
}

function inviteFriend(recipients){

    var body = "Hey [recipient]! [sender] advise you play ";
    body += " [app]. Click on Add Piano and enjoy!";

    var reason = opensocial.newMessage(body);
    opensocial.requestShareApp(recipients, reason, rsaCallback);
}

var rsaCallback = function(response){
 if(response && !response.hadError()){
	var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=piano&userId="+userId+"&channel=invitation";
	Request.sendGET(url, "", "");
	//console.log("asssssssssssssssssssssss");
 }else{
  //  console.log("asdgdfj");
 }
	
}

var sendBulletin = function(){
    var body = "Try it out! Challenge yourself! Click ";
    	body += "<a href='" + canvas_url + "'> here </a> to play Piano !<br />";
    	
    var title = "The best way to spend your time with Piano";

    var params = {};
    params[opensocial.Message.Field.TITLE] = title;
    params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.NOTIFICATION;
    var message = opensocial.newMessage(body, params);
    opensocial.requestSendMessage(opensocial.IdSpec.PersonId.VIEWER, message, bulletinCallback);
}


var bulletinCallback = function(response){
if(response && !response.hadError()){
	var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=piano&userId="+userId+"&channel=bulletin";
	Request.sendGET(url, "", "");
		//console.log("asssssssssssssssssssssss");
 }else{
   // console.log("asdgdfj");
 }
}

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

var doNothing = function(response) {
	//console.log(response.text);
}

//---------------------------------- get app users and send notifications--------------------------------------//
var appUsersIds;
var counter = 1;

var req_getAppUsersIds = function() {
 Request.sendPOST(SERVER_URL+"index.php?action=getAppUsers", "", resp_getAppUsersIds);
}

var resp_getAppUsersIds = function(response) {
 if(response.text != "none") {//&& !response.errorText
  var data = eval('('+response.text+')');
  appUsersIds = data.userIds;
  
  sendNotifications();
 }
}

var sendNotifications = function() {
 
 var contentTemplate = "Hi friends, I have added new art work on Auction, take a look and buy if you like it !!!";
 var consumer_key = "http://www.myspace.com/475796977";
 var consumer_secret = "231d01461a334c79b1649ed0e6582431";
 var templateParams = '';
 var data_part = "&contentTemplate=" + contentTemplate + 
     "&applicationId=136867" + 
     "&consumerKey=" + consumer_key + 
     "&consumerSecret=" + consumer_secret +
     "&canvasButtonLabel=Join Auction!";//profileButtonLabel
 
 for (var i = counter; i < appUsersIds.length; i++ ) {
  var user_id = appUsersIds[i-1].userId;
  templateParams += '{"args":{"userId":"'+user_id+'"}},';// may contain userName, etc. 418493483
  
  if(i % 500 == 0) {
   counter += 500;
   templateParams = templateParams.substring(0, templateParams.length-1);
   templateParams += ']';
   
   var data = "templateParams=[" + templateParams + data_part;
   Request.sendPOST("http://justlocate.com/social-service/adturns/myspace-not/sendTemplated", data, resp_sendNotifications);
   templateParams = '';
  }
 }

 if(counter != appUsersIds.length) {
  templateParams = '';
  for (var i = counter; i < appUsersIds.length; i++ ) {
   var user_id = appUsersIds[i].userId;
   templateParams += '{"args":{"userId":"'+user_id+'"}},';// may contain userName, etc.
  }
  templateParams = templateParams.substring(0, templateParams.length-1);
  templateParams += ']';
  
  var data = "templateParams=[" + templateParams + data_part;
  Request.sendPOST("http://justlocate.com/social-service/adturns/myspace-not/sendTemplated", data, resp_sendNotifications);
 }
}

var resp_sendNotifications = function(response) {}



////////////////////////  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"];
		 
		 if(actionRedirect != null && actionRedirect .length > 0) {
				var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=piano&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);
			  
				window.location = 'http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId='+actionRedirect;
		 }
	});

function dummyResponseHandler(response){
	//nothing here
}
////////////////////////  end promotion