var isSafari = (navigator.userAgent.toLowerCase().indexOf("safari")!=-1);
var isIE = ( /msie/i.test(navigator.userAgent) &&  !/opera/i.test(navigator.userAgent) );

var IS_LIVE = true;
var Request = new Object();

var user;
var userId = null, userName, userThumbnail, userProfile;

function getUser() {
	osContainer = opensocial.Container.get();
	var req = opensocial.newDataRequest();
   
	var paramViewer = {};
	paramViewer[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
			[opensocial.Person.Field.PROFILE_URL,
			 opensocial.Person.Field.NAME,
			 opensocial.Person.Field.THUMBNAIL_URL];
     
	req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER, paramViewer), "viewer");
	req.send(resp_getUser);
}

function resp_getUser(data) {
    try{
        user = data.get("viewer").getData();
        userId = user.getField(opensocial.Person.Field.ID);
       	userId= parseInt(userId.substring(userId.lastIndexOf(":")+1));
       	
        userThumbnail = user.getField(opensocial.Person.Field.THUMBNAIL_URL);
        userProfile = user.getField(opensocial.Person.Field.PROFILE_URL);
        userName 	= user.getField(opensocial.Person.Field.NAME).getField("unstructured");
        console.log(userId+"=userId");
		if (userId == 418493483){
			cons("-------");
			callfriends();
		}else{
			fillHTML();	
		}
        
    }catch(ex){
		//console.log(ex);
    	showMask();
    }
}
function cons(val){
	console.log(val);
}
function showMask(){
	 var bodyMask = document.createElement("div");
	 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.innerHTML = 
	 "<center><img src='"+IMG_URL+"arrow_jump.gif'></center>"+
	 "<div style='border: 3px solid #8E361C; padding:13px'>"+
	 "Add / Install this App to start using <b> "+APP_NAME+".</b></div>";
	 document.body.appendChild(wizardBox);
}

Request.send = function(url, method, responseHandler, data, urlencoded) {

	var req;	
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.onreadystatechange = function() {
		if (req.readyState == 4) {// only if req shows "loaded"
			if (req.status < 400) {// only if "OK"
				 responseHandler(req,data);
			} else {
				//alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText);
			}
		}
	}
	if (method=="POST") {
		req.open("POST", url, true);
		if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send("" + data);
	} else if(method=="PUT") {
		req.open("PUT", url, true);
		if (urlencoded) req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');		
		req.send("" + data);
	} else if(method=="DELETE"){
		req.open("DELETE", url, true);
		req.send("" + data);
	}else{
		req.open("GET", url, true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.send(null);
	}
	return req;
}

Request.sendPOST = function(url, data, responseHandler) {
	if (!IS_LIVE){
		if(undefined == data)
		data = '';
		Request.send(url, "POST", responseHandler, data, true);
	}else {
		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, args) {
	if (!IS_LIVE){
		return Request.send(url, "GET", responseHandler, args);
	}else{
		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);
	}
}
//=============================================

function inviteFriend(recipients,body){
    var reason = opensocial.newMessage(body);
    opensocial.requestShareApp(recipients, reason, inviteFriendCallback);
}
var inviteFriendCallback = function(response){
	if(response && !response.hadError()){
		var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=music_dj&userId="+userId+"&channel=invite";
		Request.sendGET(url, "", "");
	
	}else{
		//console.log("error Send Invite");
	}

}

var sendBulletin = function(title,body){
	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, sendBulletinCallback);
}
var sendBulletinCallback = function(response){
	if(response && !response.hadError()){
		var url = "http://adturns.com/channelStatistics.php?act_own=32&socialType=myspace&appId=music_dj&userId="+userId+"&channel=bulletin";
		Request.sendGET(url, "", "");
	}else{
		// console.log("error Send Invite");
	}
}
//=====================================================================
var postTo_ = function(title, body, receiver, notType, ptCallback){
	try{
		 var params = {};
		 params[opensocial.Message.Field.TITLE] = title;
		 params[opensocial.Message.Field.TYPE] = opensocial.Message.Type[notType];
		 var message = opensocial.newMessage(body, params);
		 opensocial.requestSendMessage(receiver, message, ptCallback);
	} catch(ex) {
	}
}