//for IE and chrome
window.onload=init;
//firefox
if(document.addEventListener){
	document.addEventListener("DOMContentLoaded", init, false); // Call init function in Firefox 
	
}
var loggedInUser = -1;
var msGlobalViewerInfo = null;
var msGlobalAppInfo=null;
var msUserProfileBasics = new Array();
var persistUserOpinion=null;
var persistWallType=null;
var persistAssociatedId=-1;
var persistComment = null;
var friendCount = null;
var friendsName = new Array();
var friendsIds = new Array();
var recipientsArray = new Array();
var friendsObject = new Array();
var shareOpinionId = -1;
var osGlobalNotificationText = '';
var hasAppInstalled = true;
var createOpinionStatement = '';
var createOpinionId=0;
var myurlcheck = '';
var redirectUrl = null;
var domainPrefix=".minekey.com";
var hi5LinkPrefix = "http://www.hi5.com/friend/apps/displayAppCanvas.do?appId=23073&view-params=";
var myspaceLinkPrefix = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=103073&appParams=";

var minekeyLinkPrefix = "http://minekey.com/index.php?";
var minekeySmartLinkPrefix="http://minekey.com/";
//var minekeyLinkPrefix = "http://minekey.com/dir-placeholder/index.php?";
//var minekeySmartLinkPrefix = "http://minekey.com/dir-placeholder/";

var createOpiniondouble = false;
var giveHeartdouble = false;



var friendsterLinkPrefix = "http://stg1.minekey.com/os-shail/index.php?";

var orkutLinkPrefix = "http://www.orkut.com/Application.aspx?appId=777065918962&appParams=";

var createOpinionStatement = '';
var opinionCreatorId = -1;
var currentOpinionId = null;
var justCalledUrl = null;
var currentCallBack = null;
var currentRequestType = 'GET';
var currentPostParams = null;
var totalFriendCount = 0;
var friendFlag = false;

var setTimeOutValue = 10000;

var topicHelpText = "Enter a topic ...";

var obamaID = 25655;
var mccainID = 25661;
var g_walltype,g_wallid,g_postid,g_actionUserId,g_associatedid,g_reportedId,g_reportedType,g_actionName;
// For holding the HTML for addressBookForm
var addressBookFormHTML;
// For calling createComment function again after doing profanity check
var pfWallid = -1;
var pfassociatedid = -1;
var pfusertype = '';
var pfwalltype = '';
var pfwallid = -1;
var pfcontent = '';
var pfparent_id = -1;
var pfreplycomment = 'no';

// For block user
var blockuserid, blockusertype, blockuseraction;

// For delete opinion
var del_opinionid, del_foruserid;

// Imported contact nos
var totalContactsExtracted;
 
function getProcessedId(id)
{
 var retValue = id;
 var ch = retValue.substring(0, 1);
 while (ch == "0") {
     retValue = retValue.substring(1, retValue.length);
     ch = retValue.substring(0, 1);
 }
 return retValue;
}

function gotoUrl(url){

    if(getGlobalParams('container') == 'friendster'  || getGlobalParams('container') == 'minekey')
    {
       window.location = url+getUrlAppendParams();
    }
    else
    {
       top.location = url;
    }
}
function convertAppParams(appParams){
    if(getGlobalParams('container') == 'friendster'  || getGlobalParams('container') == 'minekey')
    {
      var paramString = '';
      for (propertyName in appParams) {
          paramString += ''+propertyName+'='+escape(appParams[propertyName])+'&';
      }
      paramString += 'lastPost';
      return paramString;
    }
    else
    {
       return encodeURIComponent(gadgets.json.stringify(appParams));
    }
}
function checkAppInstalled()
{
 return hasAppInstalled;
}
function promptAppInstall()
{
	switch(getGlobalParams('container'))
	{
		case 'myspace':
	    	alert('Please install Minekey first!\n\nTo add an opinion or comment on Minekey you must first install the application.');
	    	gotoUrl("http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=349292705");
	    	break;
	    case 'hi5':
	         alert('Please install Minekey first!\n\nTo add an opinion, Vote or comment on Minekey you must first install the application.');
	         gotoUrl("http://www.hi5.com/friend/apps/displayAppCanvas.do?appId=23073");
	    	break;
		case 'orkut':
	         alert('Please install Minekey first!\n\nTo add an opinion, Vote or comment on Minekey you must first install the application.');

	         gotoUrl("http://www.orkut.com/AppInfo.aspx?appId=777065918962");
	    	break;
	    case 'minekey':
	         var loginParams = { layout : 'login'};
		     setCookie("redirect_url",location.href);
//             var link = getLinkPrefix() + convertAppParams(loginParams)+'&asklogin=yes';
  //           gotoUrl(link);
  //           instead of the gotoUrl thing, we will pop up some stupid thing
                var _okButtonHandler = function()
		{
			//alert("would you like to go to hell ?");

			document.signup.submit();

		};

		var _cancelButtonHandler = function(){
			self.close();
		};
        var t_width=690;
         var t_height=250;
		 var params={title:'Sign Up Now. It\'s Free.',contentRef:'signup_form',okButtonText:null, cancelButtonText:null, okButtonHandler:_okButtonHandler, cancelButtonHandler: clickHandlerWithRestore, width: t_width, height: t_height};
		 dialog(params);
//     @frosty:url check removed
//		 document.signup.myurl.focus();
	         break;
	}
}

function setGlobalNotificationText(text)
{
  osGlobalNotificationText = text;
}

function getGlobalNotificationText()
{
  return osGlobalNotificationText;
}

function getViewerInfo()
{
	var req = opensocial.newDataRequest();
	req  = opensocial.newDataRequest();
	req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
	if(getGlobalParams('container') == 'hi5')
	{
       req.add(req.newFetchPersonAppDataRequest("VIEWER",["opinion_counter"]),"counter");
	}
	req.send(onLoadViewerInfo);
}

function searchOpinion(searchDivId)
{
  var fullsearchQuery = document.getElementById(searchDivId).value;
  fullsearchQuery = fullsearchQuery.replace(/^\s+/g, '').replace(/\s+$/g, '');
  var firstterm = fullsearchQuery.split(' ');
  //searchQuery = firstterm[0];
  searchQuery=fullsearchQuery;
  if(searchQuery.length==0 || fullsearchQuery == 'Find out what people are thinking on your favorite topics.')
  {
    alert('Please enter at least one keyword to search');
    return;
  }
  var searchParams = { layout : 'search', action : 'search' , q : ''+searchQuery};
 //var link = getLinkPrefix() + convertAppParams(searchParams);
  var link = getSmartLinkPrefix()+ "search?q="+searchQuery;
  gotoUrl(link);
}

function searchUser(searchDivId)
{
  var fullsearchQuery = document.getElementById(searchDivId).value;
  fullsearchQuery = fullsearchQuery.replace(/^\s+/g, '').replace(/\s+$/g, '');
  var firstterm = fullsearchQuery.split(' ');
  //searchQuery = firstterm[0];
  searchQuery=fullsearchQuery;
  if(searchQuery.length==0 || fullsearchQuery == 'Find a thinker on Minekey.')
  {
    alert('Please enter some name to search');
    return;
  }
  var searchParams = { layout : 'search', action : 'searchuser' , username : ''+searchQuery};
  var link = getLinkPrefix() + convertAppParams(searchParams);
  gotoUrl(link);
}

function onLoadViewerInfo(data)
{
   try
	{
	  msGlobalViewerInfo = data.get('viewer').getData();
	  if(getGlobalParams('container') == 'hi5')
      {
	      msGlobalAppInfo=data.get("counter").getData();
          msGlobalAppInfo = msGlobalAppInfo[msGlobalViewerInfo.getId()];
      }
      var userName = msGlobalViewerInfo.getDisplayName();
      if(getGlobalParams('container') == 'orkut')
      {
        msGlobalViewerInfo['getImageUrl'] = msGlobalViewerInfo.getField(opensocial.Person.Field.THUMBNAIL_URL);
        msGlobalViewerInfo['getViewerId'] = getProcessedId(msGlobalViewerInfo.getField(opensocial.Person.Field.ID));
	  }
      initPageRender();
	}
	catch(err)
	{
      hasAppInstalled = false;
	  if(getGlobalParams('container') == 'hi5')
	  {
	    hasAppInstalled = true;
	  }
	  msGlobalViewerInfo = new Object;
	  msGlobalViewerInfo['getDisplayName'] = getDummyName;
	  initPageRender();
	}
}
function getDummyName()
{
    return '';
}

var isTfdScreen = false;

function isTFD()
{
  return isTfdScreen;
}


function getOkProfileUrl()
{
	var params = {};
	params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.PROFILE_URL];
    var req = opensocial.newDataRequest();
    req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER,params), "req");
    req.send(handleOkProfileUrl);
}
function handleOkProfileUrl(data)
{
  try
  {
	  var owner = data.get('req').getData();
	  var profileURL  = owner.getField(opensocial.Person.Field.PROFILE_URL);
	  var regex = /uid=([^&#]+)/;
	  var result = profileURL.match(regex);
	  var userId = null;
	  if (result.length == 2)
	  {
	     var userId = result[1];
	  }
	  var opensocialId = msGlobalViewerInfo.getId();
	 // var gender = msGlobalViewerInfo.getField(opensocial.Person.Field.GENDER);
	  var imageURL =  msGlobalViewerInfo.getField(opensocial.Person.Field.THUMBNAIL_URL);
	  msGlobalViewerInfo['getProfileURL'] = profileURL;
	  msGlobalViewerInfo['getOrkutId'] = userId;
	  msGlobalViewerInfo['getImageUrl'] = imageURL;
      var userNameFull = msGlobalViewerInfo.getDisplayName();
      var userName = userNameFull.split(' ');
	  if(userId != null && imageURL != null && userName != null)
	  {
	    var wsUrl = msMinekeyWSUrl+ '&bpc=1&layout=user&action=createuser&genuserid='+userId+'&foruserid='+opensocialId+'&displayname='+userName[0]+'&imageurl='+msGlobalViewerInfo['getImageUrl']+'&profileurl='+msGlobalViewerInfo['getProfileURL'];
	    os_makeRequest(wsUrl, handleCreateUser);
	  }
  }
  catch(err)
  {
    hasAppInstalled = false;
    msGlobalViewerInfo['getDisplayName'] = getDummyName;
  }
}

function extractTFDContent(str, contenttype)
{
	var reg = new RegExp('###'+contenttype+'start###(.)*###'+contenttype+'end###');
	var opinionComplete = ''+str.match(reg);
	var opinionArray = new Array();
	opinionArray = opinionComplete.split('###');
	return opinionArray[2];
}
function myHandle(responseData)
{
	var response = responseData.data;
	if(response.length <= 5) initPageRender();
	var response = responseData.data;
	if(getGlobalParams('container') == 'hi5' && response.substring(1, 100).match('cmd=redirectinvite') != null)
	{
		  opensocial.requestShareApp(opensocial.DataRequest.Group.VIEWER_FRIENDS, opensocial.newMessage('Minekey is 10 times more fun when your friends get involved!'));
		  return;
	}
    document.getElementById('opensocial_Header').innerHTML = response;
    if(document.getElementById('os_success_msg'))
    {
	  setTimeout(function(){hide('os_success_msg')},10000);
    }
    if(response.substring(1, 100).match('cmd=redirecttfd') != null)
    {
      if(getGlobalParams('container') != 'orkut')
      {
	    getFriendsListBox();
	    isTfdScreen = true;
	  }
      if(getGlobalParams('container') == 'hi5')
      {
         try
         {
             var tfdContent = ''+response.substring(1, 500);
             var statement = ''+extractTFDContent(tfdContent, 'opinion');
             var opinionid = ''+extractTFDContent(tfdContent, 'opinionid');
             var creatorid = ''+extractTFDContent(tfdContent, 'loggeduser');
             activityUpdateThinkingFeed(opinionid,statement,creatorid);
         }catch(err){}
      }
	  if(getGlobalParams('container') == 'orkut')
      {
        isTfdScreen = false;
        try
         {
             var tfdContent = ''+response.substring(1, 500);
             var statement = ''+extractTFDContent(tfdContent, 'opinion');
             var opinionid = ''+extractTFDContent(tfdContent, 'opinionid');
             var creatorid = ''+extractTFDContent(tfdContent, 'loggeduser');
             activityUpdateThinkingFeed(opinionid,statement,creatorid);
         }
		 catch(err)
		 {
		 }
	  }

    }
    if(getGlobalParams('container') == 'orkut')
	{
	    if(response.substring(1, 100).match('cmd=nonappuser') != null)
	    {
		     try
		     {
		       getOkProfileUrl();
     		 }
     		 catch(err)
			 {
	  		    hasAppInstalled = false;
	            msGlobalViewerInfo['getDisplayName'] = getDummyName;
	         }
        }
	}
    if(getParams('layout') == 'share')
    {
      getFriendsListBox();
    }
    my_adjustHeight();
    if(!checkAppInstalled())
    {
       try
       {
          if(getGlobalParams('container') == 'myspace')
          {
            document.getElementById('os_toptabmyopinion').innerHTML = '<a target="_top" href="http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=349292705" class="iThink_TopNavLink">install&nbsp;Minekey</a>';
		  }
		  else if(getGlobalParams('container') == 'orkut')
		  {

		    document.getElementById('os_toptabmyopinion').innerHTML = '<a target="_top" href="http://www.orkut.com/AppInfo.aspx?appId=777065918962" class="iThink_TopNavLink">install&nbsp;Minekey</a>';

		  }
       }catch(err){}
    }
}

function handleCreateUser(responseData)
{
  var response = parseData(responseData.data);
  extractCommonData(response);
  hasAppInstalled = false;
  if(response == null) return;
  var flag = response.createUserRes.success;
  if(flag == 'success')
  {
    hasAppInstalled = true;
    var userNameFull = msGlobalViewerInfo.getDisplayName();
    var userName = userName.split(' ');
  }
  else
  {
    hasAppInstalled = false;
	msGlobalViewerInfo['getDisplayName'] = getDummyName;

	document.getElementById('os_toptabmyopinion').innerHTML = '<a target="_top" href="http://www.orkut.com/AppInfo.aspx?appId=777065918962" class="iThink_TopNavLink">install&nbsp;Minekey</a>';

  }
}

function my_adjustHeight(){
  if(getGlobalParams('container') == 'minekey')
  {
     return;
  }
  var newHeight;
  var vh = 0;
  if(getGlobalParams('container') != 'friendster')
  {
     vh = gadgets.window.getViewportDimensions().height;
  }
  var body = document.body;
  var docEl = document.documentElement;
  if (document.compatMode == 'CSS1Compat' && docEl.scrollHeight) {
    newHeight = docEl.scrollHeight != vh ? docEl.scrollHeight : docEl.offsetHeight;
  } else {
    var sh = docEl.scrollHeight;
    var oh = docEl.offsetHeight;
    if (docEl.clientHeight != oh) {
      sh = body.scrollHeight;
      oh = body.offsetHeight;
    }
    if (sh > vh) {
      newHeight = sh > oh ? sh : oh;
    } else {
      newHeight = sh < oh ? sh : oh;
    }
  }
  if(getGlobalParams('container') == 'orkut' && getParams('layout') == 'createopinion')
  {
    newHeight = newHeight + 70;
  }
  if(getGlobalParams('container') == 'friendster')
  {
//    resizeIframe(950,newHeight);
  }
  else
  {
    gadgets.window.adjustHeight(newHeight);
  }
}
function initPageRender(postUrl, callBack, params)
{
  postUrl = msMinekeyWsHTMLUrl;
  var allParams = getAllAppParams();
  var flag = false;
  for (propertyName in allParams)
  {
        if(propertyName == "layout")
    	{
    	  flag = true;
		}
    	postUrl += "&" + propertyName + "=" + allParams[propertyName];
  }
  callBack = myHandle;
  if(params == null)
  {
		params = {};
  }
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  gadgets.io.makeRequest(postUrl+'&timestamp='+currentTimestamp(), callBack, params) ;
}

function os_makeRequest(postUrl, callBack, params)
{
  try
  {
	if(getGlobalParams('container') == 'friendster' || getGlobalParams('container') == 'minekey')
	{
		my_makeRequest(postUrl+'&timestamp='+currentTimestamp(), callBack, params);
		return;
	}
    if(params == null)
	{
		params = {};
	}
    currentRequestType = 'GET';
	params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
	params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
	params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
    justCalledUrl = postUrl;
    currentCallBack = callBack;
	gadgets.io.makeRequest(postUrl+'&timestamp='+currentTimestamp(), callBack, params) ;
  }
  catch (err)
  {
  }
}

function getLoggedInUserId()
{
	var LoggedInUserID =  -1;
	try
	{
	    if(getGlobalParams('container') == 'orkut')
	    {
	      LoggedInUserID = getProcessedId(msGlobalViewerInfo.getField(opensocial.Person.Field.ID));
		}
		else
		{
		  LoggedInUserID = msGlobalViewerInfo.getField(opensocial.Person.Field.ID);
		}

	} catch(err){}
	return LoggedInUserID ;
}
function parseData(responseObj)
{
	if(getGlobalParams('container') == 'friendster'  || getGlobalParams('container') == 'minekey')
	{
	  return eval('(' + responseObj + ')');
	}
    if(responseObj.length < 5)
	{
	  if(currentRequestType == 'POST')
	  {
	     os_postDataRequest(justCalledUrl, currentPostParams, currentCallBack, {})
	  }
	  else
      {
         os_makeRequest(justCalledUrl, currentCallBack, {});
      }
       return null;
	}
    return gadgets.json.parse(responseObj);
}
function extractCommonData(responseObj)
{
    try
	{
	  // For setting the USER's RANK BOX HTML
	  if(typeof responseObj == 'object')
	  {
	    var userRankBox = responseObj.userRankBoxHTML;
	    var userrankboxdiv = document.getElementById('userrankbox');
	    userrankboxdiv.innerHTML = userRankBox;
	  }
		for(var i=0;i < responseObj.userBasics.length; i++)
	  	{
	    	var userObj = responseObj.userBasics[i];
			msUserProfileBasics[userObj.userid] = userObj;
		}
 	} catch(err) {}

}

function getParams(name)
{
  if(os_AllParams == null) getAllAppParams();
  if(os_AllParams == null) return null;
  return os_AllParams[name];
}

function currentTimestamp()
{
	var now = new Date();
	var ts = new Array(
	now.getFullYear().toString(),
	now.getMonth().toString(),
	now.getDay().toString(),
	now.getHours().toString(),
	now.getMinutes().toString(),
	now.getSeconds().toString())
	var i;
	var retval = '';
	for (i=0; i<ts.length; i++)
	{
		if (ts[i].length < 2) ts[i] = '0' + ts[i];
		retval += ts[i];
	}
	return (retval);
}

function getAllAppParams()
{
    var tempParams = new Array();
    var mergeParams = new Array();
    try
    {
      mergeParams = gadgets.views.getParams();
      for (propertyName in mergeParams) { tempParams[propertyName] = mergeParams[propertyName];}

    } catch(err){}
    try
    {
      mergeParams = opensocial.getEnvironment().getParams();
      for (propertyName in mergeParams) { tempParams[propertyName] = mergeParams[propertyName];}
    } catch(err){}
    try
    {
       var tempx =  gadgets.util.getUrlParameters();
       mergeParams = eval('(' + tempx.p + ')');
       for (propertyName in mergeParams) { tempParams[propertyName] = mergeParams[propertyName];}
    } catch(err){}
    if(os_AppParams != null)
    {
	    try
	    {
	       mergeParams = getOSAllAppParams();
	       for (propertyName in mergeParams) { tempParams[propertyName] = mergeParams[propertyName];}
	    } catch(err){}
	}


	if(tempParams == null)
    	return null;
	var returnParams = {};
    for (propertyName in tempParams)
    {
    	returnParams[propertyName] = tempParams[propertyName];
    }
    os_AllParams = returnParams;
	return returnParams;
}

function setGlobalOpinionId(opid)
{
  createOpinionId = opid;
}

function getGlobalParams(name)
{
  switch(name)
  {
    case 'baseLink':
    return '/myspace/index.html';
    break;
    case 'baseDir':
    return '/myspace/';
    case 'network':
    /*return 'myspace';*/
    return osGlobalNetwork;
    case 'container':
    return osGlobalContainer;
    case 'opinionid':
    return  createOpinionId;
    break;
  }
}


function removeSpecialChars(str)
{

  switch(getGlobalParams('container'))
  {
    case 'myspace':
      break;
    case 'hi5':
      //str = str.replace(/ /g, '_');
      str = str.replace(/\\/g, '');
      str = str.replace(/\+/g, '');
      //str = str.replace(/['"]/g, '`');
      str = str.replace(/~/g, '_');
      break;
    default:
      break;
  }
  return str;
}

function removeFeedSpecialChars(str)
{
  switch(getGlobalParams('container'))
  {
    case 'myspace':
      break;
    case 'hi5':
    	str = str.replace(/["']/g, '`');
    	str = str.replace(/\\"/g, '`');
        str = str.replace(/\\'/g, "`");
        str = str.replace(/\\/g, "");
      break;
      case 'orkut':
    	str = str.replace(/["']/g, '`');
    	str = str.replace(/\\"/g, '`');
        str = str.replace(/\\'/g, "`");
        str = str.replace(/\\/g, "");
      break;
  }
  return str;
}

function msRemoveSpecialChars(str)
{
  str = str.replace(/\\"/g, '"');
  str = str.replace(/\\'/g, "'");
  str = str.replace(/`/g, '"');
  return str;
}

function changeUserResponse(opinionid,divid)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var responseElement = document.getElementById('os_opinionresponse_'+opinionid+'_'+divid);
	responseElement.innerHTML = '<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';
    var wsUrl = msMinekeyWSUrl+ '&layout=opinion&action=changeUserResponse&opinionid='+opinionid+'&divid='+divid;
    os_makeRequest(wsUrl, handleReceiveChangeUserResponse);
}


function handleReceiveChangeUserResponse(responseData)
{
  var response = parseData(responseData.data);
  extractCommonData(response);
  var failedToUpdateInsight = response.response.failedToUpdateInsight;
  var failedToUpdateCount = response.response.failedToUpdateCount;
  var failedToUpdateResponse = response.response.failedToUpdateResponse;
  var notVotedYet = response.response.notVotedYet;
  var newResponse = response.response.newResponse;
  var divid = response.response.divid;
  var opinionid = response.response.opinionid;
  var str = '';
  if(failedToUpdateInsight == 'no' && failedToUpdateCount == 'no' && failedToUpdateResponse == 'no')
  {
    if(newResponse ==  'disagree')
    {
      str += '<span class="iThink_actionLinkDisagree">Disagreed</span>';
    }
    else
    {
      str += '<span class="iThink_actionLinkAgree">Agreed</span>';
    }
    var responseElement = document.getElementById('os_opinionresponse_'+opinionid+'_'+divid);
    responseElement.innerHTML = str;
   }
}

function setUserResponse(opinionid,userresponse,divid)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var responseElement = document.getElementById('os_opinionresponse_'+opinionid+'_'+divid);
	responseElement.innerHTML = '<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';
	//var userrankbox = document.getElementById('userrankbox');
	//userrankbox.innerHTML = '&nbsp;&nbsp;&nbsp;updating score <img src="'+msMinekeyImageBase+'loader.gif"/>';
    var wsUrl = msMinekeyWSUrl+ '&layout=opinion&action=response&opinionid='+opinionid+'&userresponse='+userresponse+'&divid='+divid;
    os_makeRequest(wsUrl, handleReceiveUserResponse);
}

function handleReceiveUserResponse(responseData, url, error)
{
  var response = parseData(responseData.data);
  if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");}
  if(response.success=="no" && response.login_required=="yes") {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login"); return;}

  extractCommonData(response);
  var userresponseobj = response.opinionResponse.opinionresponse0;
  var feedPushedInLast24hrs = response.opinionResponse.feedPushedInLast24hrs;
  var notiPushedInLast24hrs = response.opinionResponse.notiPushedInLast24hrs;
  var id = response.opinionResponse.opinionresponse0.divid;
//re using the same variable names. Don't get confused
  opinionCreatorId=userresponseobj.creatorid;
  createOpinionStatement=userresponseobj.statement;
  createOpinionId=userresponseobj.opinionid;
  var str = '';

  if(userresponseobj.userresponse == null)
  {
	str += '<a href="#" class="iThink_actionLink">Agree</a> <span class="iThink_footerDividerText">|</span> <a href="#" class="iThink_actionLink">Disagree</a></td>';
  }
  else if(userresponseobj.userresponse ==  'agree')
  {
    str += '<span class="iThink_actionLinkAgree">Agreed</span>';
  }
  else if(userresponseobj.userresponse ==  'disagree')
  {
    str += '<span class="iThink_actionLinkDisagree">Disagreed</span>';
  }
  else if(userresponseobj.userresponse ==  'opined')
  {
    str += '<span class="iThink_generalBoldBlackText">Already Opined</span>';
  }
  else if(userresponseobj.userresponse ==  'deleted')
  {
    str += '<span class="iThink_generalBoldBlackText"> Opinion Deleted</span>';
  }
  if(getGlobalParams('container')=="hi5")
  {
		    persistUserResponse();
  }
  if((userresponseobj.userresponse ==  'agree' || userresponseobj.userresponse ==  'disagree' )&& feedPushedInLast24hrs == 'yes')
  {
	 if(getGlobalParams('container') == 'hi5')
	 {
	   activityUpdateVoteOnOpinion(userresponseobj.opinionid, userresponseobj.statement, userresponseobj.userresponse);
     }
	 else if(getGlobalParams('container') == 'myspace')
     {
	    sendMSBulletinOnOpinionResponse(userresponseobj.opinionid, userresponseobj.statement , userresponseobj.userresponse);
	 }
	 if(getGlobalParams('container') == 'orkut')
	 {
	   activityUpdateVoteOnOpinion(userresponseobj.opinionid, userresponseobj.statement, userresponseobj.userresponse);
     }
  }
  var responseElement = document.getElementById('os_opinionresponse_'+userresponseobj.opinionid+'_'+id);
  responseElement.innerHTML = str;

}

function doFollowAction(type,fromusertype,tousertype,userid,divid)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
  var faction = '';
  var ftype = '&ftype=people';
  var usertype = '&usertype='+fromusertype;
  var followedtype = '&followedtype='+tousertype;
  var foruserid = '&foruserid='+getLoggedInUserId();
  var touserid = '&touserid='+userid;
  var id = '';
  if(divid != null)
  {
  	id = '&divid='+divid;
  }

  switch(type)
  {
    case 'set':
    faction = '&faction=set';
    break;
    case 'unset':
    faction = '&faction=unset';
    break;
  }
  var tempid = 'user_follow';
  if(divid != null)
  {
    tempid = 'user_follow'+divid;
  }

  document.getElementById(tempid).innerHTML = '<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';
  if(type == 'set')
  {
    var userrankbox = document.getElementById('userrankbox');
    //userrankbox.innerHTML = '&nbsp;&nbsp;&nbsp;updating score <img src="'+msMinekeyImageBase+'loader.gif"/>';
  }
  var link = msMinekeyWSUrl+'&layout=user&action=followeract&calltype='+getGlobalParams('network')+ftype+usertype+followedtype+foruserid+touserid+faction+id;
  os_makeRequest(link,handleReceivedFollowActionRequest);
}

function handleReceivedFollowActionRequest(responseData)
{
  var response = parseData(responseData.data);
  if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");};
  if(response.success=="no" && response.login_required=="yes") {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login"); return;}

  extractCommonData(response);
  var responseObj = response.followersActRes;
  var divid = response.followersActRes.divid;
  var success = responseObj.success;
  var msgid = responseObj.msgid;
  var userType=responseObj.tousertype;
  var toUserId= responseObj.touser;
  if(msgid != null && success == 'no')
    {
	    gotoUserProfileAction(userType,toUserId, 'summary',msgid);
          return;

    }

  var id = 'user_follow';
  var tempId = '';
  if(divid != null)
  {
    id = 'user_follow'+divid;
    tempId = ',\''+divid+'\'';
  }

  if(response.followersActRes.success1 == 1)
  {
    switch(response.followersActRes.actionRequested)
    {
    case 'set':
	  if(getGlobalParams('container') == 'hi5')
	  {
	    activityUpdateFollowingAction(response.followersActRes.touser,response.followersActRes.foruser);
	    //Pankaj :: it seems that parallel calls are not working, so i moved notification function in call back of activity function.
	  }
	  if(getGlobalParams('container') == 'orkut')
	  {
	    activityUpdateFollowingAction(response.followersActRes.touser,response.followersActRes.foruser);
	    //Pankaj :: it seems that parallel calls are not working, so i moved notification function in call back of activity function.
	  }
	  if(getGlobalParams('container') == 'myspace')
	  {
	    //sendMSBulletinAutoFollow(response.followersActRes.touser,response.followersActRes.foruser);
	  }
	  document.getElementById(id).innerHTML = '<img src="'+msMinekeyImageBase+'/ithink_follow.gif" width="16" height="16"/><a href="javascript:doFollowAction(\'unset\',\''+response.followersActRes.usertype+'\',\''+response.followersActRes.followedtype+'\',\''+response.followersActRes.touser+'\''+tempId+')" class="iThink_mainContentLink">unfollow</a>';
	  break;
    case 'unset':
	    document.getElementById(id).innerHTML = '<img src="'+msMinekeyImageBase+'/ithink_follow.gif" width="16" height="16"/><a href="javascript:doFollowAction(\'set\',\''+response.followersActRes.usertype+'\',\''+response.followersActRes.followedtype+'\',\''+response.followersActRes.touser+'\''+tempId+')" class="iThink_mainContentLink">follow </a>';
	    //<div id="'+id+'" style="display:inline">
  	break;
    }
  }
}

function gotoInviteFriendsPage(extraparam)
{
  var network = getGlobalParams('container');
  var appParams = { calltype : ''+network, layout : 'register',action:'invite_frnds'};
  var link =  getLinkPrefix() + convertAppParams(appParams) + extraparam;
  gotoUrl(link);
}

function gotoInviteFormPage()
{
  var network = getGlobalParams('container');
  var appParams = { calltype : ''+network, layout : 'register',action:'inviteform', type : 'repeat'};
  var link =  getLinkPrefix() + convertAppParams(appParams);
  gotoUrl(link);
}

function gotoOpinionWithMessage(opinionid, msg)
{
	var network = getGlobalParams('container');
	if(msg == null)
	  msg = '';
	var appParams = { calltype : ''+network,opinionid : ''+opinionid, layout : 'theopinion',action:'detail', msg : ''+msg};
	var link =  getLinkPrefix() + convertAppParams(appParams);
    gotoUrl(link);
}

function gotoOpinionWithEggsMessage(opinionid, msg, eggs)
{
	var network = getGlobalParams('container');
	if(msg == null)
	  msg = '';
	var appParams = { calltype : ''+network,opinionid : ''+opinionid, layout : 'theopinion',action:'detail', msg : ''+msg, 'eggs': ''+eggs};
	var link =  getLinkPrefix() + convertAppParams(appParams);
    gotoUrl(link);
}
function gotoUserProfileAction(usertype,userid, action, msg)
{
  if(action == null && action == '')
  {
     action = 'summary';
  }
  if(msg == null) msg = '';
  var network = getGlobalParams('container');
  var layout = 'userprofile';
  if(userid == getLoggedInUserId())
  {
    var layout = 'myopinion';
  }
  var appParams = { calltype : ''+network,creatorid : ''+userid, creatortype : ''+usertype, layout : ''+layout,action:action,msg : ''+msg};
  var link =  getLinkPrefix() + convertAppParams(appParams);
  gotoUrl(link);
  if(getGlobalParams('container') == 'orkut')
  {
    var link =  orkutLinkPrefix + convertAppParams(appParams);
    gotoUrl(link);
  }
}
function gotoCanvas(appParams, extraParams)
{
	var lastPageParams = getAllAppParams();
	if(appParams["layout"] == "theopinion" && lastPageParams["layout"] == "theopinion" && appParams["opinionid"] == lastPageParams["opinionid"])
	{
		appParams["lastpage"] = lastPageParams["lastpage"];
	}
	else
	{
		if(lastPageParams != null) lastPageParams["lastpage"] = null;
		if(lastPageParams["debugmode"])
		{
			appParams["debugmode"] = true;
			appParams["debuguserid"] = lastPageParams["debuguserid"];
		}
		appParams["lastpage"] = lastPageParams;
	}
	if(!(appParams["creatorid"]))
		appParams["creatorid"] = ''+getParams('creatorid');
	if(appParams["layout"]=='myopinions')
		appParams["creatorid"] = ''+getLoggedInUserId()	;

	if(getGlobalNotificationText())
	  appParams["osNotificationText"] = getGlobalNotificationText();
   	if(extraParams != null)
	{
      for(prop in extraParams)
      {
        appParams[prop] = extraParams[prop];
	  }
	}
	var linkPrefix = getLinkPrefix();
    var link = linkPrefix + convertAppParams(appParams);
    gotoUrl(link);
}

/* Functions below are specific to share opinion functionality and these are not generic function so don;t change them */

function doCheck(id,checkbox)
{
 var element  = document.getElementById(id);
 var network = getGlobalParams('container');
 if(network == 'friendster' || network == 'minekey')
 {
   var tempId  = document.getElementById(id);
   if(checkbox == 'false')
   {
     if(tempId.checked)
     {
       tempId.checked = true;
     }
     else
     {
       tempId.checked = false;
     }
   }
   else
   {
	   if(tempId.checked != true)
	   {
	     tempId.checked=true;
	   }
	   else
	   {
	     tempId.checked=false;
	   }
   }
   return;
}
   for(i=1;i<=friendsIds.length;i++)
   {
     var tempId  = document.getElementById(i);
	 if(i != id)
     {
       if(network == 'myspace')
       {
         tempId.checked = false;
       }
     }
     else
     {
       if(checkbox == 'false')
       {
         if(tempId.checked)
         {
	       tempId.checked = true;
	     }
	     else
	     {
	       tempId.checked = false;
	     }
	   }
	   else
	   {
	     if(network == 'myspace')
	     {
	       tempId.checked=true;
		 }
		 else
		 {
		   if(tempId.checked != true)
           {
     	     tempId.checked=true;
           }
           else
           {
     	     tempId.checked=false;
           }
		 }
	   }
     }
   }
}

function checkAll()
{
  var field = document.myform.list;
  for (i = 0; i < field.length; i++)
    field[i].checked = true ;
}

function uncheckAll()
{
  var field = document.myform.list;
  for (i = 0; i < field.length; i++)
  field[i].checked = false ;
}

function getFriendsListBox() {
  var req = opensocial.newDataRequest();
  req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
   var allFriends = {};
   allFriends[opensocial.DataRequest.PeopleRequestFields.FIRST] = 0;
   allFriends[opensocial.DataRequest.PeopleRequestFields.MAX] = 200;
   if(getGlobalParams('container') == 'orkut')
   {
     allFriends[opensocial.DataRequest.PeopleRequestFields.FILTER] = opensocial.DataRequest.FilterType.HAS_APP;
   }

  req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS',allFriends), 'viewerFriends');
  req.send(onLoadFriends);
}

function onLoadFriends(data)
{
  var viewer = data.get('viewer').getData();
  var viewerFriends = data.get('viewerFriends').getData();
  var count = 1;
  var str = '';
  var checked = 'checked';
  if(getGlobalParams('container') == 'myspace')
  {
   checked = '';
  }
  var checkOnlyOne = 'false';
  if(getGlobalParams('container') == 'myspace')
  {
     checkOnlyOne = 'true';
  }
  viewerFriends.each(function(person) {
  friendsIds.push(person.getId());
  friendsName.push(person.getDisplayName());
  friendsObject.push(person);
	str += '<div style="margin: 5px; padding: 5px; float: left; height: 60px; width: 200px;">';
 	str += '<a href="javascript:doCheck('+count+');"><img src="'+person.getField(opensocial.Person.Field.THUMBNAIL_URL)+'" class="imageBorderGrey" style="float: left; margin-left: 5px;" border="0" height="50" width="50"></a>';
 	str += '<span onClick="javascript:doCheck('+count+',\''+checkOnlyOne+'\');"><input id = '+count+' type="checkbox" name="list" value="'+person.getId()+'"'+checked+'></span>';
 	str += '&nbsp;<a class="iThink_mainContentLink" style="cursor:pointer;" href="javascript:doCheck('+count+');">'+person.getDisplayName()+'</a>';
 	str += '</div>';
 	if(count % 3 == 0 )
 	{
 		str += '<div style="clear: both;"></div>';
 	}
 	count++;
  });
  if(count == 2)
  {
      var viewerId = getProcessedId(msGlobalViewerInfo.getField(opensocial.Person.Field.ID));
      var viewerName = msGlobalViewerInfo.getDisplayName();
      var okUserImage = msGlobalViewerInfo['getImageUrl'];
    str += '<div style="margin: 5px; padding: 5px; float: left; height: 60px; width: 200px;">';
 	str += '<a href="javascript:doCheck('+count+');"><img src="'+okUserImage+'" class="imageBorderGrey" style="float: left; margin-left: 5px;" border="0" height="50" width="50"></a>';
 	str += '<span onClick="javascript:doCheck('+count+',\''+checkOnlyOne+'\');"><input id = '+count+' type="checkbox" name="list" value="'+viewerId+'"'+checked+'></span>';
 	str += '&nbsp;<a class="iThink_mainContentLink" style="cursor:pointer;" href="javascript:doCheck('+count+');">'+viewerName+'</a>';
 	str += '</div>';
  }
  document.getElementById('friendslist').innerHTML = str;
}

function getExistingIviteFriends(existingcount,flag)
{
  var returnval = '';
  for(i=1;i<=existingcount;i++)
  {
      var elm = 'sie_chk_'+i;
      try
	  {
	    var field = document.getElementById(elm);
        if(field.checked)
        {
	      if(returnval.legth > 0)
	       {
	         returnval += ','+field.value;
	       }
	       else
	       {
	          if(flag>0)
	             returnval += ','+field.value;
	           else
	           {
                 returnval += field.value;
                 flag = 1;
                }
	        }
        }
	  }
	  catch(err)
	  {
	  }

  }
  return returnval;
}

function submitShareFormWithAll(opinionid,existingcount)
{
  var receipients_email = get_emailids_from_contactform();
  receipients_email += getExistingIviteFriends(existingcount,receipients_email.length);
  shareAllStr = '&shareall=no';
  var withAllCheckbox;
  var isAllButtonChecked = false;
  try
  {
    withAllCheckbox = document.getElementById('selectfollowers');
    if(withAllCheckbox.checked == true)
    {
      isAllButtonChecked = true;
	}
  }
  catch(err)
  {
    if(receipients_email == "")
	{
	  alert('You must have atleast one friend or follower to share opinion with!');
	  return;
	}
  }
  if(isAllButtonChecked)
  {
     shareAllStr = '&shareall=yes';
  }
  else
  {
    if(receipients_email == "")
	{
	  alert('You must have atleast one friend or follower to share opinion with!');
	  return;
	}
  }
  document.getElementById("os_share_loading2").innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
  document.getElementById("os_share_loading3").innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
  var posturl = msMinekeyWSUrl + '&layout=opinion&action=sharetrack&opinionid='+opinionid+shareAllStr;
  posturl += '';
  var postParams = {touserids : '',touserids_email : ''+receipients_email};

  shareOpinionId = opinionid;
  os_postDataRequest(posturl,postParams,handleTrackOpinionSharing);
}

function get_emailids_from_plaxoform()
{

  var nonParsedEmailids = document.myform.recipient_list.value;
  if(nonParsedEmailids == 'Enter email addresses (separated by comma) and press the share button to share this opinion.')
  {
    nonParsedEmailids="";
  }


  var list = trim(nonParsedEmailids);
  if(list == '')
  {
    emails='';
    //alert('Email address box cannot be left empty');
  }
  else
  {
    myArr = nonParsedEmailids.split(/,/);
    var emails = '';
    try
    {
      emails = nonParsedEmailids.match(/<([^>]+)>/g).join(', ');
      emails = emails.replace(/[<>"'&;*\s]/g,'');
      emails = emails.split(',',250);
    }
    catch(err)
    {
       emails = nonParsedEmailids;
       emails = emails.replace(/\s+/g,'');
    }
  }
  return emails;

}

function submitShareForm(opid,opstatement,friendCount,existingInviteCount)
{

  //var emails = get_emailids_from_plaxoform();
  var emails = get_emailids_from_contactform();
  emails += getExistingIviteFriends(existingInviteCount,emails.length);

  if(!friendCount)
    friendCount = 0 ;

  document.getElementById("os_share_loading2").innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
  document.getElementById("os_share_loading1").innerHTML =   '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';

  if(!checkAppInstalled())
  {
    promptAppInstall();
    return;
  }
  if(friendsIds.length < 1 && getGlobalParams('container') == 'friendster')
  {
    alert('You must have atleast one friend to share opinion with!');
    gotoOpinionPageUrl(opid);
    return;
  }

  shareOpinionId = opid;
  var recipients = new Array();
  var j = 0;
  var total = 0;
  var selectedIndex;
  try
  {
      if(typeof document.myform.list.length == "undefined")
      {
        if(document.myform.list.checked == true)
        {
           total = 1;
           recipients.push(document.myform.list.value);
           selectedIndex = 0;
        }
        else
        {
           total = 0;
        }
      }
      else
      {
        total = document.myform.list.length;
        for(var i = 0; i < total; i++)
        {
          if(document.myform.list[i].checked == true)
          {
    	recipients.push(document.myform.list[i].value);
    	selectedIndex = i;
          }
        }
      }
  }catch(err) {}

  total = recipients.length;
  friendCount = total;
  if(total == 0 && emails.length == 0)
  {
    alert('Please select atleast one friend or one valid email address to share opinion with!');
    document.getElementById("os_share_loading2").innerHTML = '';
    document.getElementById("os_share_loading1").innerHTML =  '';
    return;
  }
  recipientsArray = recipients;
  trackOpinionSharing(opid,recipients,emails);

  if(getGlobalParams('container') == 'hi5')
  {
    sendNotificationOnShareOpinion(opid,opstatement,recipients);
    if(!isTFD())
    {
      setTimeout(gotoSharedOpinion,10000);
    }
  }
  else if(getGlobalParams('container') == 'myspace')
  {
    sendMSMessageOnShareOpinion(opid,opstatement,selectedIndex);
  }
  else if(getGlobalParams('container') == 'orkut')
  {
    //activityUpdateShareOpinion(opstatement,opid,friendCount,recipients);
    gotoOpinionWithMessage(opid,4);
    /*
       if(!isTFD())
       {
       setTimeout(gotoSharedOpinion,5000);
       }
       */
  }
}

function processEmailIds()
{
  var nonParsedEmailids = document.getElementById('recipient_list').value;
  //alert(nonParsedEmailids);
  var list = trim(nonParsedEmailids);
  var emails = '';
  if(list == inviteStr || list == '')
  {
    emails = '';
  }
  else
  {
    myArr = nonParsedEmailids.split(/,/);
    emails = '';
    try
    {
      emails = nonParsedEmailids.match(/<([^>]+)>/g).join(', ');
      emails = emails.replace(/[<>"'&;*\s]/g,'');
      emails = emails.split(',',1000);
    }
    catch(err)
    {
       emails = nonParsedEmailids;
       emails = emails.replace(/\s+/g,'');
    }
  }
  return emails;
}

function submitInviteForm()
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var values = new Array();
	var maxListSize = 1000;
	var recipients = new Array();
	var j = 0;
	var total = document.myform.list.length;
	var selectedIndex;
	for(var i = 0; i <total; i++)
	{
		if(document.myform.list[i].checked == true) {
			values.push(document.myform.list[i].value);
			selectedIndex = i;
		}
	}
    total = values.length;
    friendCount = total;
	if(total == 0)
	{
	  alert('Please select atleast one friend to share opinion with!');
	  return;
	}
	var start = 0, end = 0;
	if(total > maxListSize)
	{
	  start = Math.ceil(total*Math.random());
	  end = (start + maxListSize)%total;
	}
	else
	{
	  start = 0;
	  end = total-1;
	}
	if(start<=end)
	{
	  for(var i = start; i <= end; i++)
	  {
	    recipients.push(values[i]);
	  }
	}
	else
	{
	  for(var i = start; i != end; i = (i+1)%total)
	  {
	    recipients.push(values[i]);
	  }
	}
	recipientsArray = recipients;
 	if(getGlobalParams('container') == 'hi5')
	{
      //sendNotificationOnShareOpinion(opid,opstatement,recipients);
      // activity update function is inside handler of sendNotification and then redirect to theopinionpage
	}
	else if(getGlobalParams('container') == 'myspace')
	{
      sendMSMessageOnInvite(selectedIndex);
    }
}
function gotoSharedOpinion()
{
    if(currentOpinionId != null && currentOpinionId > 0) gotoOpinionPageUrl(currentOpinionId);
	else if(shareOpinionId != null && shareOpinionId > 0) gotoOpinionPageUrl(shareOpinionId);
	else gotoLastPage();
}

function renderNotfication(type,optional_text,functionName)
{
  if(!(functionName))
  {
    functionName = "gotoLastPage";
  }
  var notificationHtml = '';
  var noti_text = '';

  if(type=='share')
  {
    noti_text = 'The opinion has been shared.';
  }
  else if (type == 'autofollow')
  {
    noti_text = optional_text;
  }
  else if(type=='error')
  {
    noti_text = 'Error! Please try again later';
  }
  noti_text = getGlobalNotificationText();
  var replacement_text = '<a href="javascript:gotoLayout(\'invite\')" class="iThink_opinionTitleLinkSmall">click here</a> to invite them now.';
  noti_text = noti_text.replace("click here to invite",replacement_text);
  notificationHtml +=
    '<table width="'+(osNotificationWidth)+'" border="0" align="left" cellpadding="0" cellspacing="0">'+
    '<tr>'+
    '<td width="1" height="1" class="iThink_OrangeFill"></td>'+
    '<td width="97%" class="iThink_OrangeFill"></td>'+
    '<td width="1" class="iThink_OrangeFill"></td>'+
    '<td width="260"></td>'+
    '</tr>'+
    '<tr>'+
    '<td class="iThink_OrangeFill" width="1"></td>'+
    '<td height="50" class="iThink_lightOrangeFill" width="'+osNotificationWidth+'"><table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">'+
    '<tr>'+
    '<td><div align="center" class="iThink_generalBoldGreyText">'+noti_text+'</div></td>'+
    '</tr>'+
    '</table></td>'+
    '<td width="1" class="iThink_OrangeFill"></td>'+
    '</tr>'+
    '<tr>'+
    '<td height="1" class="iThink_OrangeFill"></td>'+
    '<td class="iThink_OrangeFill"></td>'+
    '<td class="iThink_OrangeFill"></td>'+
    '<td></td>'+
    '</tr><br/><br/>'+
    '</table>';
  document.getElementById('notification_text').innerHTML = notificationHtml;
  /*if(type!='error' && currentOpinionId != null) gotoOpinionPageUrl(currentOpinionId);
  if(type!='error')
  {
    setTimeout(functionName,10000);
  }*/
  setTimeout(hideNotificationBox,15000);
}

function hideNotificationBox()
{
  setGlobalNotificationText('');
  document.getElementById('notification_text').innerHTML = '';
}

function set_help_text(input, helptxt) {
  var inp = document.getElementById(input);
  var helptext = helptxt;
  inp.value=helptext;
  inp.style.color='gray';
}

function getpreview(content) {

  var flag = 0 ;
  previewDiv = content+'_preview';
  element = document.getElementById(previewDiv);
  previewText = '';
  if (content == 'category') {
    previewText = document.getElementById(content).childNodes;
    index = document.getElementById(content).selectedIndex;
    previewText = previewText[index].id;
    //console.log(previewText[index].getId()+"---"+previewText[index].getName());
  } else if (content == 'comment') {
    previewText = document.getElementById(content).value;
    org_previewText = previewText;
    previewText = previewText.replace(/\s+/g,' ');
    previewText = wordwrap(previewText.substr(0,85),45,'\n',true);
    if(org_previewText.match('<') && org_previewText.match('>'))
    {
      flag = 1;// if HTML element exist in the comment use some fixed style
      previewText = "&quot;This explanation contains a video or picture and can be viewed <a nohref class=\"iThink_mainContentLink\">here&quot;</a>";
    }
    else
    {
      if(previewText!='')
      {
      previewText = "&quot;"+previewText+"&quot;<a nohref class=\"iThink_mainContentLink\"> more</a>";
      flag = 2;// otherwise retain default
      }
    }
    //      previewText = trimAll(previewText);
    if(previewText=="") previewText = "&quot;Your reason comes in here&quot;<a nohref class=\"iThink_mainContentLink\"> more</a>";
  } else if (content=="tags") {
    previewText = document.getElementById(content).value;
    var pattern = /\s*\,\s*/;
    previewText = previewText.replace(/\,+/g,',').replace(/\s*\,\s*/g,',');
    previewText = wordwrap(previewText,90,'\n',true);
    splitText = previewText.split(pattern);
    element.innerHTML='';
    for(i=0;i<splitText.length;i++) {
      if (i != (splitText.length - 1))
	splitText[i] += ', ';
      if(splitText[i] !="") {
	var ele = document.createElement('div');
	ele.innerHTML = '<a hohref class="iThink_mainContentLink">'+splitText[i]+'</a>';
	ele.style.display = 'inline';
	ele.style.paddingLeft = '3px' ;
	//ele.href = 'nohref';
	//console.log(splitText[i]);
	element.appendChild(ele);
      }
    }
    if(previewText == "") {
      var ele = document.createElement('div');
      ele.innerHTML = '<a hohref class="iThink_mainContentLink">Topic 1,</a>';
      ele.style.display = 'inline';
      ele.style.paddingLeft = '3px' ;
      element.appendChild(ele);

      ele = document.createElement('div');
      ele.innerHTML = '<a hohref class="iThink_mainContentLink">Topic 2,</a>';
      ele.style.display = 'inline';
      ele.style.paddingLeft = '3px' ;
      element.appendChild(ele);

      ele = document.createElement('div');
      ele.innerHTML = '<a hohref class="iThink_mainContentLink">More topics</a>';
      ele.style.display = 'inline';
      ele.style.paddingLeft = '3px' ;
      element.appendChild(ele);


    }
  }else if(content=="statement"){
    previewText = document.getElementById(content).value ;
    previewText = previewText.replace(/\s+/g,' ');
    previewText = '<a nohref class="iThink_mainOpinionLink">'+wordwrap(previewText,65,'\n',true)+'</a>';
//    previewText = wordwrap(previewText,65,'\n',true);

    if(previewText == '<a nohref class="iThink_mainOpinionLink"></a>') {
      previewText = '<a nohref class="iThink_mainOpinionLink">Your statement comes in here</a>';
    }
  }
  if(content !="tags")
  {
    element.innerHTML= previewText;
    /*if(flag==2)
    {
      element.removeAttribute('class');
      element.style.display = 'inline';
    }
    if(flag==1)
    {
      element.removeAttribute('style');
      element.className = 'previewreasonMediaResize'
    }*/
  }
  //showOpinionPreview();
}

function textLimit(div, max_chars, wall_errid) {
  var contents = div.value;
  if(contents.length < max_chars) {
    document.getElementById(wall_errid).style.color='black';
    var charLeft = max_chars-contents.length;
    document.getElementById(wall_errid).innerHTML = charLeft+' characters left';
  }
  if(contents.length > max_chars) {
    document.getElementById(wall_errid).style.color='red';
    var charLeft = contents.length-max_chars;
    div.value = contents.substr(0,max_chars);
    document.getElementById(wall_errid).innerHTML = "Character limit reached.";
  }
  if (contents.length==max_chars) {
    document.getElementById(wall_errid).style.color = 'red';
    document.getElementById(wall_errid).innerHTML = "Character limit reached.";
  }
}

function validate_form(thisform)
{
with (thisform)
{

if (thisform.reportabuseComment.value.length == 0)
  {
  alert("The reason for report abuse is compulsory");
  reportabuseComment.focus();
  return false;
  }
  else
  {
  return true;
  }
}
}

function ReportAbuse()
 {
   opinionid = document.reportabuse.opinionid.value;
   abuse_type = document.reportabuse.abuse_type.value;
   foruserid = document.reportabuse.foruserid.value;
   message = document.reportabuse.reportabuseComment.value;
   ReportedUserType = document.reportabuse.ReportedUserType.value;
//alert(ReportedUserType);
   message = trim(message);
   if(message != '')
   {
      message = removeSpecialChars(message);
   }
   if(message == '')
   {
     alert('The reason for report abuse is compulsory');
   }
   else
   {
     creatorid = document.reportabuse.creatorid.value;
     if(abuse_type=='user')
	 opinionid=0;
     //comment = removeSpecialChars(message);
    var postParams = {opinionid : ''+opinionid,abuse_type: ''+abuse_type,ReportedUserType: ''+ReportedUserType, foruserid : ''+foruserid, creatorid : ''+creatorid, message: ''+message};
    var wsUrl = msMinekeyWSUrl + '&layout=opinion&action=reportabuse';
    document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
   // alert(wsUrl);
    os_postDataRequest(wsUrl, postParams, handleReportAbuse) ;
   }
}

function handleReportAbuse(responseData, url, error)
{
    var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);
    var opinionid = response.reportabuse.opinionid;
    var abuse_type = response.reportabuse.abuse_type;
    var foruserid = response.reportabuse.foruserid;
    var ReportedUserType = response.reportabuse.ReportedUserType;
   // alert(ReportedUserType);
    if(abuse_type =='opinion' && response.reportabuse.success)
    {
      var network = getGlobalParams('container');
	  var appParams = { calltype : ''+network,opinionid : ''+opinionid, layout : 'theopinion',action:'detail',msg : '9'};

	  gotoCanvas(appParams);
    }
    if(abuse_type =='user' && response.reportabuse.success)
    {
      var network = getGlobalParams('container');
	  var appParams = { calltype : ''+network,creatorid : ''+foruserid, layout : 'userprofile',creatortype : ''+ReportedUserType,action:'summary',msg : '10'};

	  gotoCanvas(appParams);
    }

}

function UpdateEmailSettings()
 {
   var thought = 'deny';
   var activity= 'deny';
   var digest= 'deny';
   var product= 'deny';

   if(document.emailsettings.thought[0].checked)
   {
     thought = 'allow';
   }

   if(document.emailsettings.activity[0].checked)
   {
     activity = 'allow';
   }
   if(document.emailsettings.digest[0].checked)
   {
     digest = 'allow';
   }
   if(document.emailsettings.product[0].checked)
   {
     product = 'allow';
   }
  /* if(document.emailsettings.thought[0].checked)
   {
     thought = 'allow';
   }
   */

    var email = 'allow';

    var postParams = {thought : ''+thought,activity: ''+activity,digest: ''+digest, product : ''+product, email : ''+email};
    var wsUrl = msMinekeyWSUrl + '&layout=settings&action=email';
    //alert(wsUrl);
    //document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';

    os_postDataRequest(wsUrl, postParams, handleUpdateEmailSettings) ;

}

//contenttype 	contentid 	ownerid 	ownertype 	userid 	usertype 	rating 	created
function RateContent(contenttype, contentid, ownerid, ownertype, rating,opinionid,ratingdiff)
 {

if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
    var postParams = {contenttype : ''+contenttype,contentid: ''+contentid,rating: ''+rating, ownertype : ''+ownertype, creatorid : ''+ownerid, opinionid : ''+opinionid, ratingdiff : ''+ratingdiff};
    var wsUrl = msMinekeyWSUrl + '&layout=opinion&action=contentrating';
    document.getElementById('rateContent_'+contentid).innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/ width="16" height="16" align="absmiddle">';
    os_postDataRequest(wsUrl, postParams, handleRateContent) ;
}


function changeImage(obj,rating)
{
  if(rating =='positive')
  {
    obj.innerHTML ='<img src="'+msMinekeyImageBase+'greenthumbsup.png" width="16" height="16" align="absmiddle"/>';
  }
  else if(rating =='negative')
  {
    obj.innerHTML ='<img src="'+msMinekeyImageBase+'readthumbsdown.gif" width="16" height="16" align="absmiddle"/>';
  }
  else if(rating =='greypositive')
  {
    obj.innerHTML ='<img src="'+msMinekeyImageBase+'greythumbsup.png" width="16" height="16" align="absmiddle"/>';
  }
}
function handleRateContent(responseData)
{
  var response =  parseData(responseData.data);
  extractCommonData(response);

  if(response.ratedContent.success == 'no' && response.ratedContent.errortype == 'withmsg')
  {
     //window.location = window.location + '&msg=' + response.ratedContent.msg;
     var divId = 'rateContent_'+response.ratedContent.contentid;
     if(response.ratedContent.contenttype == 'opinion')
     {
       msgText = 'You are not allowed to rate more than 5 opinions of a user in a day';
     document.getElementById(divId).innerHTML = '<span class=\"iThink_generalGreyText\" style="display:inline;text-align:left;height:24px;width:200px;">'+msgText+'</span>';
     }
     else
     {
       msgText = 'You are not allowed to rate more than 10 comments of a user in a day';
     document.getElementById(divId).innerHTML = '<span class=\"iThink_generalGreyText\" style="display:block;text-align:left">'+msgText+'</span>';
     }
     return;
  }
  var element = document.getElementById('rateContent_'+response.ratedContent.contentid);
  if(response.ratedContent.success != 'yes')
    element.innerHTML = '<span style=\"font-color:red\">Some error occured.</span>';

  var ratingDiffHTML = '';
  if(response.ratedContent.ratingdiff ==0)
  {
   ratingDiffHTML =  '<span class="contentRatingPositive">'+response.ratedContent.ratingdiff+'</span>';
  }
  else if(response.ratedContent.ratingdiff >=0)
  {
   ratingDiffHTML =  '<span class="contentRatingPositive">+'+response.ratedContent.ratingdiff+'</span>';
  }
  else
  {
   ratingDiffHTML =  '<span class="contentRatingNegative">'+response.ratedContent.ratingdiff+'</span>';
  }
  if(response.ratedContent.rating == 'positive')
  {
  element.innerHTML = ratingDiffHTML+'<span style=\"color:green\"><img src="'+msMinekeyImageBase+'greenthumbsup.png" align="absmiddle" /><img src="'+msMinekeyImageBase+'greythumbsdown.png" align="absmiddle" /></span>';
  }
  else
  {
  element.innerHTML = ratingDiffHTML+'<span style=\"color:red\"><img src="'+msMinekeyImageBase+'greythumbsup.png"  align="absmiddle" /><img src="'+msMinekeyImageBase+'redthumbsdown.png" align="absmiddle" /></span>';
  }

}

function handleUpdateEmailSettings(responseData, url, error)
{
    var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);

    var usertype = response.emailsettings.usertype;
    var foruserid = response.emailsettings.foruserid;


    if(response.emailsettings.success)
    {
      var network = getGlobalParams('container');
	  var appParams = { calltype : ''+network,creatorid : ''+foruserid, layout : 'userprofile',creatortype : ''+usertype,action:'summary',msg : '40'};

	  gotoCanvas(appParams);
    }

}


 function ValidateCreateOpinionForm(formObj,checkForProfanity) {
   var err = 0;
   stmtmsg = "";
   tagsmsg = "";
   commentmsg = "";

   //var createOpiniondouble = false;
   if(!createOpiniondouble)
   {
   createOpiniondouble=true;

   stmt = document.getElementById('statement').value;
   stmt = stmt.replace(/^\s+|\s+$/, '');
   if (stmt == "" || stmt == "Add your opinion here (required).") {
     err = 1;
     stmtmsg = "Please Enter Opinion Statement.";
   }

   tags = document.getElementById('tags').value;
   tags.replace(/^\s+|\s+$/, '');
   if (tags == "" || tags == "Add topics so that your opinions can be found easily (optional).")  tags = '';
   comment = document.getElementById('comment').value;
   comment = comment.replace(/^\s+|\s+$/, '');
   if(comment=="Adding good comments increases response to your opinion (optional).") comment = "";

   categoryid = document.getElementById('category').value;

   if (err==0)
   {
     stmt = removeSpecialChars(stmt);
     tags = removeSpecialChars(tags);
     comment = removeSpecialChars(comment);
     createOpinionStatement = stmt;
     var posturl = msMinekeyWSUrl + '&layout=opinion&action=create&';
     posturl += 'categoryid=' + ((categoryid == '') ? '1' : categoryid);
     var postParams = {};
     if(checkForProfanity == 'yes')
     {
        var postParams = { opinionstatement: stmt, opiniontags: tags , opinioncomment: comment, checkforprofanity: 'yes'};
        document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
  	 }
	 else
	 {
	    document.getElementById('pf_content_loading').innerHTML = 'Processing &nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
	    var postParams = { opinionstatement: stmt, opiniontags: tags , opinioncomment: comment,  checkforprofanity: 'no'};

	 }
     os_postDataRequest(posturl, postParams, handleCreatedOpinion) ;
   }
   else
   {
     document.getElementById('os_error_message').innerHTML = stmtmsg ;
   }

   }// for doubleopinionif
 }

function ddumpObject(obj, name, maxDepth, curDepth)
{

	if (curDepth == undefined)
		curDepth = 0;
	if (maxDepth != undefined && curDepth > maxDepth)
		return;

	var i = 0;
	for (prop in obj)
	{
		i++;
		if (typeof(obj[prop]) == "object")
		{
			if (obj[prop] && obj[prop].length != undefined)
				ddump(name + "." + prop + "=[probably array, length "
						+ obj[prop].length + "]");
			else
				ddump(name + "." + prop + "=[" + typeof(obj[prop]) + "]");
			ddumpObject(obj[prop], name + "." + prop, maxDepth, curDepth+1);
		}
		else if (typeof(obj[prop]) == "function")
		{}//ddump(name + "." + prop + "=[function]");
		else
			ddump(name + "." + prop + "=" + obj[prop]);
	}
	if (!i)
		ddump(name + " is empty");
}

function ddump(objtext)
{
	document.getElementById('os_debugblock').innerHTML += objtext + '<br/>';
}



function handleCreatedOpinion(responseData, url, error)
{
    var response = parseData(responseData.data);
    createOpiniondouble = false;
    if(response == null) return;
    extractCommonData(response);
    if(response.opinionCreate.error == 'yes' && response.opinionCreate.errortype == 'profanity')
    {
       //document.getElementById('os_posting_comment').innerHTML = '';
       //document.getElementById('os_error_message').innerHTML = 'The opinion you are trying to create has swear words.<br/>Lets try to keep Minekey clean and not use words like these. :)<br/><br/><br/><br/>';
       profaneOpinionAlert(response.opinionCreate.profane_words);
       return;
    }
    var opinionid = response.opinionCreate.createdopinionid;
    var statement = response.opinionCreate.statement;
    if(opinionid == null || opinionid <=0)
    {
      document.getElementById('os_createopinionbutton').innerHTML = '&nbsp;&nbsp;error&nbsp;&nbsp;';
      return;
    }
//    createOpinionId = opinionid;
    setGlobalOpinionId(opinionid);

	var eggsearned = response.opinionCreate.eggsearned;
	var rewardtype = response.opinionCreate.rewardtype;
	var messageid = '';

	if(eggsearned == '0')
	{
	  messageid = '1';
	}
	else if(rewardtype == 'mediaopinion' && eggsearned != '0')
	{
       messageid = '201';
	}
	else if(rewardtype == 'createopinion' && eggsearned != '0')
	{
	  messageid = '200';
	}

    if(getGlobalParams('container') == 'hi5')
	{
      createParallelActivityCount = 1;
      activityUpdateCreateopinion(opinionid,statement);
      activityPersist(opinionid);
      setTimeout(callOnAllParallelActivityFinish,5000);
	}
	else if(getGlobalParams('container') == 'orkut')
	{
      //createParallelActivityCount = 1;
      activityUpdateCreateopinion(opinionid,statement);
      //activityPersist(opinionid);
      setTimeout(callOnAllParallelActivityFinish,5000);
	}
	else
	{
	  if(response.opinionCreate.profaneopinion == '1' && response.opinionCreate.userprofanitysettings == 'on')
	  {
	    var theopinionParams = { layout : 'myopinion',msg : ''+messageid, eggsearned: ''+response.opinionCreate.eggsearned};
        var link = getLinkPrefix() + convertAppParams(theopinionParams);
        gotoUrl(link);
	  }
	  else
	  {
	    var theopinionParams = { layout : 'share', action : 'share' , opinionid : ''+opinionid, msg : ''+messageid, eggsearned: ''+response.opinionCreate.eggsearned};
        var link = getLinkPrefix() + convertAppParams(theopinionParams);
        gotoUrl(link);
      }
	}
}

function gotoHomePageUrl(opinionid)
{
  var opinionParams = { layout : 'opinion'};
  var link = "http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId="+osApplicationId+"&appParams=" + convertAppParams(opinionParams);
  gotoUrl(link);
}

function gotoOpinionPageUrl(opinionid,paramList)
{
    if(!paramList)
    {
      var theopinionParams = { calltype : getGlobalParams('network'), layout : 'theopinion', action : 'detail' , opinionid : opinionid+''};
    }
    else
    {
      var theopinionParams = paramList;
    }
  var linkPrefix = getLinkPrefix();
  var link = linkPrefix + convertAppParams(theopinionParams);
  gotoUrl(link);
}

function gotoOpinionLayout()
{
  var theopinionParams = { calltype : getGlobalParams('network'), layout : 'opinion'};
  var linkPrefix = getLinkPrefix();
  var link = linkPrefix + convertAppParams(theopinionParams);
  gotoUrl(link);
}

function getLinkPrefix(){
    if(getGlobalParams('container') == 'myspace') return myspaceLinkPrefix;
    if(getGlobalParams('container') == 'hi5') return hi5LinkPrefix;;
    if(getGlobalParams('container') == 'friendster') return friendsterLinkPrefix;
    if(getGlobalParams('container') == 'orkut') return orkutLinkPrefix;
    if(getGlobalParams('container') == 'minekey') return minekeyLinkPrefix;
    return friendsterLinkPrefix;
}

function getSmartLinkPrefix(){
    if(getGlobalParams('container') == 'myspace') return myspaceLinkPrefix;
    if(getGlobalParams('container') == 'hi5') return hi5LinkPrefix;;
    if(getGlobalParams('container') == 'friendster') return friendsterLinkPrefix;
    if(getGlobalParams('container') == 'orkut') return orkutLinkPrefix;
    if(getGlobalParams('container') == 'minekey') return minekeySmartLinkPrefix;
    return friendsterLinkPrefix;

}
function gotoOpinionSharePageUrl(opinionid)
{
  if(opinionid == null || opinionid <= 0) opinionid = createOpinionId;
  var theopinionParams = { layout : 'share', action : 'share' , opinionid : ''+opinionid};
  var linkPrefix = getLinkPrefix();
  var link = linkPrefix + convertAppParams(theopinionParams);
  gotoUrl(link);
}

function os_postDataRequest(postUrl, postParams, callBack, params)
{
    justCalledUrl = postUrl;
    currentCallBack = callBack;
    currentRequestType = 'POST';
    currentPostParams = postParams;
    if(getGlobalParams('container') == 'friendster'  || getGlobalParams('container') == 'minekey')
	{
		my_postDataRequest(postUrl+'&timestamp='+currentTimestamp(), postParams, callBack, params);
		return;
	}
	if(getParams("debugmode"))
	{
		postUrl += "&debugmode=true";
		postUrl += "&debuguserid=" + getParams("debuguserid");
	}
	if(params == null)
	{
		var params = {};
	}
	params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
    params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
	switch(getGlobalParams('container'))
	{
		case 'myspace':
            params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
            params[gadgets.io.RequestParameters.POST_DATA] = postParams;
            break;
        case 'hi5':
            params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
            try{
                    for (propertyName in postParams) {
                            params[propertyName] = postParams[propertyName];
                            postUrl += '&'+propertyName+'='+escape(params[propertyName])+'';
                    }
            } catch(err){}
            break;
         case 'orkut':
            params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
            params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postParams);
            postUrl += "&gadgetViewer="+getLoggedInUserId()+"&gadgetOwner="+getLoggedInUserId();
           break;
        }
	gadgets.io.makeRequest(postUrl+'&timestamp='+currentTimestamp(), callBack, params);
}


function fetchAdminReportAbuse(actionTaken,foruserid,opinionid,creatorid)
{
 if(opinionid=='')
 	opinionid=0;
 var wsUrl = msMinekeyWSUrl+ '?layout=opinion&action=adminaction&calltype='+getGlobalParams('network')+'&opinionid='+opinionid+'&foruserid='+foruserid+'&creatorid='+creatorid+'&actionTaken='+actionTaken;
if(opinionid>0)
  {
  if(actionTaken=='delete')
 	 var answer = confirm ("Deleting will remove this opinion from Minekey and all activity connected to it permanently. Do you want to delete this opinion?")
  else
 	 var answer = confirm ("After ignoring report abuse you will not able to delete this opinion from Minekey and all activity connected to it permanently. Do you want to ignore reported abuse for this opinion?")
 }
 else
 {
 if(actionTaken=='delete')
 	var answer = confirm ("Deleting will remove this user from Minekey and all activity connected to it permanently. Do you want to delete this user?")
 else
 	var answer = confirm ("After ignoring report abuse you will not able to ban this user from Minekey and all activity connected to it permanently. Do you want to ignore reported abuse for this user?")

}
    if (!answer)
    {
      //return false;
    }
    else
    {
      os_makeRequest(wsUrl, handleAdminReportAbuse);
    }
}

function handleAdminReportAbuse(responseData, url, error)
{
  var response = parseData(responseData.data);
  if(response == null) return;
  var action = response.adminaction;
  if(action.success == false)
  {
    //document.getElementById('os_createcommentbutton').innerHTML = '&nbsp;&nbsp;error&nbsp;&nbsp;';
    //return;
  }
  else
  {//actionTaken
  	var network = getGlobalParams('container');
	if(action.type=='opinion')
	{
		if(action.actionTaken=='deleted')
			var appParams = { calltype : ''+network,creatorid : ''+action.reporteduserid, layout : 'userprofile',action:'summary',msg : '11'};
		else
			var appParams = { calltype : ''+network,creatorid : ''+action.reporteduserid, layout : 'userprofile',action:'summary',msg : '12'};

	}
	else
	{
		if(action.actionTaken=='deleted')
			var appParams = { calltype : ''+network,creatorid : ''+action.admin, layout : 'myopinion',action:'list',acttype: 'added',msg : '13'};
    	else
    		var appParams = { calltype : ''+network,creatorid : ''+action.admin, layout : 'myopinion',action:'list',acttype: 'added',msg : '14'};

	}

	gotoCanvas(appParams);

  }
}

function deleteOpinion(opinionid,foruserid)
{
  del_opinionid = opinionid;
  del_foruserid = foruserid;

  var _cancelButtonHandler = function()
  {
	self.close();
  };

  var t_width=690;
  var t_height=310;
  if(document.all)
  {
	 //IE
	 t_width=650;
  }

   var params={title:'Delete Opinion?',contentRef:'deleteOpinion',okButtonText:null, cancelButtonText:null, okButtonHandler:null, cancelButtonHandler:null , width: 400, height: 150,dontShowCancel:true};
   try
   {
     dialog(params);
   }
   catch (e)
   {
     toggle('deleteOpinion');
   }
}

function deleteOpinionAction()
{
  var opinionid = del_opinionid;
  var foruserid = del_foruserid;
  var posturl = msMinekeyWSUrl + '&layout=opinion&action=delete&';
  posturl += 'opinionid='+opinionid+'&';
  posturl += 'foruserid='+foruserid;
  var postParams = {};
  os_makeRequest(posturl, handleDeletedOpinion);
}

function handleDeletedOpinion(responseData, url, error)
{
  var response = parseData(responseData.data);
  if(response == null) return;
  var opinionDeleteObj = response.deleteOpinion;
  var userid = opinionDeleteObj.userid;
  var eggsearned = opinionDeleteObj.eggsearned;
  var rewardtype = opinionDeleteObj.rewardtype;
  if(opinionDeleteObj.success == false)
  {
    //document.getElementById('os_createcommentbutton').innerHTML = '&nbsp;&nbsp;error&nbsp;&nbsp;';
    //return;
  }
  else
  {
    var messageid = '';
	if(rewardtype == null)
    {
      messageid = '8';
	}
	else if(rewardtype == 'deletemediaopinion')
	{
	  messageid = '213';
	}
	else if(rewardtype == 'deleteopinion')
	{
	  messageid = '212';
	}

	var network = getGlobalParams('container');
	var appParams = { calltype : ''+network,creatorid : ''+userid, layout : 'myopinion',action:'list',acttype: 'added',msg : ''+messageid};

	gotoCanvas(appParams);
  }
}


function deleteNote(walltype,wallid,postid,actionUserId,associatedid,reportedId,reportedType,showBlock)
{
	g_walltype=walltype;
	g_wallid=wallid;
	g_postid=postid;
	g_actionUserId=actionUserId;
	g_associatedid=associatedid;
	g_reportedId=reportedId;
	g_reportedType=reportedType;
	g_actionName='ignore';
	 var _okButtonHandler = function()
		{
			alert("walltype="+walltype+", wallid="+wallid+",  postid="+postid);

//			document.signup.submit();

		};

		var _cancelButtonHandler = function(){
			self.close();
		};

		var t_width=690;
		var t_height=310;
		if(document.all){
		 //IE
		 t_width=650;

		}
		var titleHeader = 'Delete Note?';
		if(walltype == 'opinion')
        {
          titleHeader = 'Delete Comment?';
		}

		if(showBlock == 'yes')
		{
          var params={title: titleHeader,contentRef:'deleteNotesBlock',okButtonText:null, cancelButtonText:null, okButtonHandler:null, cancelButtonHandler:null , width: 400, height: 150,dontShowCancel:true};
        }
        else
        {
          var params={title: titleHeader,contentRef:'deleteNotes',okButtonText:null, cancelButtonText:null, okButtonHandler:null, cancelButtonHandler:null , width: 400, height: 150,dontShowCancel:true};
        }

		dialog(params);

 // var answer = confirm ("Deleting will remove this post from Minekey and all activity connected to it permanently. Do you want to delete this post?")
}

function deleteNoteAction(){
	 var posturl = msMinekeyWSUrl + '&layout=wall&action=delete&';
      posturl += 'actionuserid='+g_actionUserId+'&';
      posturl += 'walltype='+ g_walltype+'&';
      posturl += 'wallid='+ g_wallid+'&';
      posturl += 'associatedid='+g_associatedid+'&';
      posturl += 'postid='+g_postid;
      var postParams = {};
      os_makeRequest(posturl, handleDeletedComment);

}

function deleteIgnore(){
  var posturl = msMinekeyWSUrl + '&layout=wall&action=delete&';
      posturl += 'actionuserid='+g_actionUserId+'&';
      posturl += 'walltype='+ g_walltype+'&';
      posturl += 'wallid='+ g_wallid+'&';
      posturl += 'associatedid='+g_associatedid+'&';
      posturl += 'postid='+g_postid;
      var postParams = {};
      os_makeRequest(posturl, handleDeletedCommentWithIgnore);


}
function handleDeletedCommentWithIgnore(responseData, url, error){
  var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);
  var wallpostobj = response.wallPostDeleted;
  if(wallpostobj.success == false)
  {
  }
  else
  {

   ignoreUser(g_actionUserId,g_reportedType,g_actionName,true);
  }
}
function handleDeletedComment(responseData, url, error)
{
    var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);
	var wallpostobj = response.wallPostDeleted;
	var showOrangeSuccessBox = false;
	if(wallpostobj.success == false)
	{
	}
	else
	{
	  var elem = 'note_'+wallpostobj.postid;
	  var rewardtype = wallpostobj.rewardtype;
      var eggsearned = wallpostobj.eggsearned;
      var comment_type = wallpostobj.comment_type;
      var message = '';
      if(rewardtype == null)
      {
         if(comment_type == 'richmedia')
         {
           message = 'The post has been deleted';
		 }
		 else
		 {
		   message = 'The post has been deleted';
		 }
         // previous msg: message = 'The post has been deleted';
	  }
	  else if(rewardtype == 'deletecomment')
	  {
	    var eggStr = 'Egg';
	    showOrangeSuccessBox = true;
		if(eggsearned < 0)
	    {
	      eggsearned *= -1;
	      if(eggsearned > 1)
	      {
	        eggStr = 'Eggs';
		  }
	    }
	    message = 'You lost '+eggsearned+' Golden '+eggStr+' for deleting comment <img align="absmiddle" src="'+msMinekeyImageBase+'greenthumbsup.png"/>';
 	  }
 	  else if(rewardtype == 'deletemediacomment')
	  {
	    var eggStr = 'Egg';
	    showOrangeSuccessBox =  true;
	    if(eggsearned < 0)
	    {
	      eggsearned *= -1;
	      if(eggsearned > 1)
	      {
	        eggStr = 'Eggs';
		  }
	    }
	    message = 'You lost '+eggsearned+' Golden '+eggStr+' for deleting rich media comment <img align="absmiddle" src="'+msMinekeyImageBase+'greenthumbsup.png"/>';
 	  }

      if(showOrangeSuccessBox)
      {
        document.getElementById(elem).innerHTML = showOrangeSuccessMsg(message);
	  }
	  else
	  {
	    document.getElementById(elem).innerHTML = showSuccessMsg(message);
	  }
      document.getElementById(elem).style.align = 'center';
	  setTimeout(function(){hide(elem)},10000);
	}
}

function createComment(usertype,walltype, wallid, associatedid, commentDivId, defaultValue,parent_id,checkForProfanity)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var posturl = msMinekeyWSUrl + '&layout=wall&action=create&';
	var content = document.getElementById(commentDivId).value.replace(/^\s+|\s+$/, '');
	content = (content == "add your comments...") ? "" : content;
	content = (content == "Sign up to add your comments...") ? "" : content;

	if(content == '' || wallid == '' || content == defaultValue)
	{
		 if(walltype == 'user')
		 {
		   document.getElementById('os_posting_comment').innerHTML = '<div class="generalText" style="color:red;">&nbsp;&nbsp;Please enter your note!</div>';
         }
         else
         {
           document.getElementById('os_posting_comment').innerHTML = '<div class="generalText" style="color:red;">&nbsp;&nbsp;Please enter your comments!</div>';
         }
		 return;
	}
	document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
	//frosty commenting out till its working fine
	//	var hrefElement = document.getElementById('osNotePostLink');
    //hrefElement.innerHTML = '<a href="#" class="iThink_buttonLink"> Post</a>';

    posturl += 'associatedid='+ associatedid+'&';
    posturl += 'usertype='+ usertype+'&';
    posturl += 'walltype='+ walltype+'&';
    posturl += 'wallid='+ wallid;
    if(parent_id && parent_id!='')
    posturl += '&postid='+ parent_id;
    if(checkForProfanity && checkForProfanity == 'yes')
    {
      posturl += '&checkforprofanity=yes';
	}
	else
	{
	  posturl += '&checkforprofanity=no';
	}
    var postParams = { content: content};
	os_postDataRequest(posturl, postParams, handleCreatedComment);
}

function giveHeart(usertype,walltype, wallid, associatedid)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	if(giveHeartdouble) return;
    giveHeartdouble = true;
	var posturl = msMinekeyWSUrl + '&layout=wall&action=create&';
	var content = '(send valentine)';

	if(content == '' || wallid == '')
	{
		 return;
	}
	document.getElementById('os_giving_heart').innerHTML = '<img src="'+msMinekeyImageBase+'loader.gif"/>';

    posturl += 'associatedid='+ associatedid+'&';
    posturl += 'usertype='+ usertype+'&';
    posturl += 'walltype='+ walltype+'&';
    posturl += 'wallid='+ wallid;
    posturl += '&checkforprofanity=yes';
    var postParams = { content: content};
	os_postDataRequest(posturl, postParams, handleGivenHeart);
}

function handleGivenHeart(responseData, url, error)
{
    var response = parseData(responseData.data);
    if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");};
    extractCommonData(response);
    var wallpostobj = response.wallPostCreated;
    persistAssociatedId=wallpostobj.associatedid;
    persistAssociatedType=wallpostobj.secondusertype;
    gotoUserProfileAction(persistAssociatedType,wallpostobj.associatedid, 'notes',72);
}

function createCommentReply(usertype,walltype, wallid, associatedid, commentDivId, defaultValue,postid,checkForProfanity,divid,frompage,extraInfo)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var posturl = msMinekeyWSUrl + '&layout=wall&action=create&';
	var feedbackDiv = document.getElementById("os_posting_comment_reply");


	var content = document.getElementById(commentDivId).value.replace(/^\s+|\s+$/, '');

	if(content == '' || wallid == '' || content == defaultValue)
	{
		 var messageText = "&nbsp;&nbsp;Please enter your ";
		 messageText+=((walltype=='user')? "note" : "comment")+" !";
		 feedbackDiv.innerHTML = '<div class="generalText" style="color:red;">'+messageText+'</div>';
		 return;
	}
	feedbackDiv.innerHTML = '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';

    posturl += 'associatedid='+ associatedid+'&';
    posturl += 'usertype='+ usertype+'&';
    posturl += 'walltype='+ walltype+'&';
    posturl += 'wallid='+ wallid+'&';
    posturl += 'postid='+ postid;
    hiddenDivId = '';
    if(frompage != null)
    {
      posturl += '&t=1&from='+frompage+'&ei='+extraInfo;
	}
    if(divid != null)
    {
      posturl += '&divid='+divid;
    }
    if(checkForProfanity && checkForProfanity == 'yes')
    {
      posturl += '&checkforprofanity=yes';
	}
	else
	{
	  posturl += '&checkforprofanity=no';
	}
    var postParams = { content: content};
	os_postDataRequest(posturl, postParams, handleCreatedComment);
}

function handleCreatedComment(responseData, url, error)
{
    var response = parseData(responseData.data);

    if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");};
    extractCommonData(response);
    var wallpostobj = response.wallPostCreated;
    var loggedinuserdata = response.userBasics[0];

    //alert(loggedinuserdata.imageurl);

    if(wallpostobj.error == 'profanity')
    {
       pfassociatedid = wallpostobj.associatedid;
       pfusertype = wallpostobj.usertype;
       pfwalltype = wallpostobj.walltype;
       pfwallid = wallpostobj.wallid;
       pfcontent = wallpostobj.content;
       pfparent_id = wallpostobj.postid;
       pfreplycomment = wallpostobj.replycomment;
	   profaneContentAlert(wallpostobj.profane_words);
       return;
	}
    var msgid = wallpostobj.msgid;
    if(wallpostobj.redirectUrl) redirectUrl = wallpostobj.redirectUrl;
    persistWallType=wallpostobj.walltype;
    persistAssociatedId=wallpostobj.associatedid;
    persistAssociatedType=wallpostobj.secondusertype;//New Add
    persistCreatorId=wallpostobj.creatorid;
    persistComment=wallpostobj.opstatement;
    var tempDivId = wallpostobj.divid;

    var rewardtype = wallpostobj.rewardtype;
    var eggsearned = wallpostobj.eggsearned;
    // comment_type can be richmedia and normal
    var comment_type = wallpostobj.comment_type;

    if(msgid != null && wallpostobj.success == 'no')
    {
       if(persistWallType == 'opinion')
       {
          var currUrl = window.location.href+'&msg='+msgid;
          window.location = currUrl;
	      //gotoOpinionWithMessage(persistAssociatedId, msgid);
          return;
       }
       else
       {

		  var currUrl = window.location.href+'&msg='+msgid;
          window.location = currUrl;
		  //gotoUserProfileAction(persistAssociatedType,wallpostobj.associatedid, 'notes',msgid);
          return;
       }
	}

    if(persistWallType == 'opinion')
    {
      if(getGlobalParams('container') == 'hi5' && getLoggedInUserId() != wallpostobj.creatorid)
	  {
         activityUpdateCommentOnOpinion(persistAssociatedId,wallpostobj.opstatement,wallpostobj.creatorid);
         persistCommenting();
         setTimeout(gotoOpinionAfterNoti,setTimeOutValue);
	  }
	  else if(getGlobalParams('container') == 'orkut' && getLoggedInUserId() != wallpostobj.creatorid)
      {
         activityUpdateCommentOnOpinion(persistAssociatedId,wallpostobj.opstatement,wallpostobj.creatorid);
         setTimeout(gotoOpinionAfterNoti,setTimeOutValue);
	  }
	  // For the 27th aug release only. Have to take care of other networks also
	  else if(getGlobalParams('container') == 'minekey' && redirectUrl != null)
      {
		   if(rewardtype == null || eggsearned == '0')
		   {
  			  if(comment_type == "richmedia")
  			  {
				 gotoUrlPage(redirectUrl,2);
			  }
			  else
			  {
			    gotoUrlPage(redirectUrl,2);
			  }
		   }
		   else if(rewardtype == 'commentopinion' && eggsearned != '0')
		   {
		      gotoUrlPage(redirectUrl,206);
		   }
		   else if(rewardtype == 'mediacomment' && eggsearned != '0')
		   {
		      gotoUrlPage(redirectUrl,207);
		   }

	  }
	  else
	  {
	       var currUrl = window.location.href;
	       str = currUrl.split('/');
	       var refreshPage = false;
	       if(str[3] == 'myopinion' || str[3] == 'user' || str[4] == 'myopinion' || str[4] == 'user')
           {
             refreshPage = true;
		   }


  var replyElementHtml = '<br><table width="100%" cellspacing="0" cellpadding="0" border="0"><tr width="100%">'+
			'<td width="5%" valign="middle">'+
				'<a href="'+minekeySmartLinkPrefix+'myopinion'+'"><img class="imageBorderGrey" height="30" width="30" title=" You" onerror="onUserImgError(this)" src="'+loggedinuserdata.imageurl+'"/></a>'+
			'</td>'+
			'<td width="18" valign="middle">'+
				'<img height="18" width="18" src="'+msMinekeyImageBase+'/callout.png"/>'+
			'</td>'+
			'<td class="iThink_mainContent" width="72%" valign="top" style="background: rgb(243, 243, 243)">'+
				'<div style="padding: 5px;">'+
					'<a class="iThink_mainContentLink" href="'+minekeySmartLinkPrefix+'myopinion'+'">You</a>'+
					'<span class="iThink_mainContent"> said </span>'+
					'<br/>'+
					'<span class="iThink_generalGreyText">'+wallpostobj.content+'</span>'+
				'</div>'+
			'</td>'+
			'<td width="35%">'+
			'</td>'+
		'</tr></table><br>';

	       if(rewardtype == null || eggsearned == '0')
		   {

		      if(refreshPage)
  			  {
  			      document.getElementById('os_comment_box_reply').value = " ";
  			      document.getElementById('os_posting_comment_reply').innerHTML = " ";
				  hideReply();
				  var success_msgboxid = 'success_msgbox_'+tempDivId;
				  var parent_success_msgboxid = 'parent_success_msgbox_'+tempDivId;

  			      document.getElementById(parent_success_msgboxid).innerHTML = replyElementHtml ;
			      document.getElementById(parent_success_msgboxid).style.display = "block";
  			      //document.getElementById(success_msgboxid).style.display = "block";

			      var parent_success_msgboxid = 'parent_reward_msgbox_'+tempDivId;
  			      var reward_msgbox = 'reward_msgbox_'+tempDivId;
  			      document.getElementById(reward_msgbox).innerHTML = '<div style="text-align:left;width:75%;background:#FFFAEF;padding: 9px 9px 9px 9px;border:1px solid #b4b4b4;margin-bottom:5px;"><span class="inviteTickerText" style="font-size:11px;">Your comment was posted successfully </span></div';
  			      document.getElementById(parent_success_msgboxid).style.display = "block";
  			      document.getElementById(reward_msgbox).style.display = "block";
  			      setTimeout(function(){hide(parent_success_msgboxid)},10000);
  			      setTimeout(function(){hide(reward_msgbox)},10000);
			  }
			  else
			  {
			    gotoOpinionWithMessage(persistAssociatedId, 2);
			  }
		   }
		   else if(rewardtype == 'commentopinion' && eggsearned != '0')
		   {
		      if(refreshPage)
  			  {
  			      document.getElementById('os_comment_box_reply').value = " ";
  			      document.getElementById('os_posting_comment_reply').innerHTML = " ";
  			      hideReply();
				  var success_msgboxid = 'success_msgbox_'+tempDivId;
				  var parent_success_msgboxid = 'parent_success_msgbox_'+tempDivId;

			      document.getElementById(parent_success_msgboxid).innerHTML = replyElementHtml ;
			      document.getElementById(parent_success_msgboxid).style.display = "block";
  			      //document.getElementById(success_msgboxid).style.display = "block";
  			      var parent_success_msgboxid = 'parent_reward_msgbox_'+tempDivId;
  			      var reward_msgbox = 'reward_msgbox_'+tempDivId;
  			      document.getElementById(reward_msgbox).innerHTML = '<div style="text-align:left;width:75%;background:#FEFCD8;padding: 9px 9px 9px 9px;border:1px solid #FDFBC2;margin-bottom:5px;"><span class="inviteTickerText" style="font-size:11px;">You earned '+eggsearned+' Golden Egg for posting comment <img align="absmiddle" src="'+msMinekeyImageBase+'greenthumbsup.png"/></span></div';
  			      document.getElementById(parent_success_msgboxid).style.display = "block";
  			      document.getElementById(reward_msgbox).style.display = "block";
  			      setTimeout(function(){hide(parent_success_msgboxid)},10000);
  			      setTimeout(function(){hide(reward_msgbox)},10000);
			  }
			  else
			  {
			    gotoOpinionWithMessage(persistAssociatedId, 206);
			  }

		   }
		   else if(rewardtype == 'mediacomment' && eggsearned != '0')
		   {
		      if(refreshPage)
  			  {
  			      document.getElementById('os_comment_box_reply').value = " ";
  			      document.getElementById('os_posting_comment_reply').innerHTML = "";
  			      hideReply();
				  var success_msgboxid = 'success_msgbox_'+tempDivId;
				  var parent_success_msgboxid = 'parent_success_msgbox_'+tempDivId;

  			      document.getElementById(parent_success_msgboxid).innerHTML = replyElementHtml ;

				  document.getElementById(parent_success_msgboxid).style.display = "block";
  			      //document.getElementById(success_msgboxid).style.display = "block";
  			      var parent_success_msgboxid = 'parent_reward_msgbox_'+tempDivId;
  			      var reward_msgbox = 'reward_msgbox_'+tempDivId;
  			      document.getElementById(reward_msgbox).innerHTML = '<div style="text-align:left;width:75%;background:#FEFCD8;padding: 9px 9px 9px 9px;border:1px solid #FDFBC2;margin-bottom:5px;"><span class="inviteTickerText" style="font-size:11px;">You earned '+eggsearned+' Golden Eggs for posting rich media comment <img align="absmiddle" src="'+msMinekeyImageBase+'greenthumbsup.png"/></span></div';
  			      document.getElementById(parent_success_msgboxid).style.display = "block";
  			      document.getElementById(reward_msgbox).style.display = "block";
  			      setTimeout(function(){hide(parent_success_msgboxid)},10000);
  			      setTimeout(function(){hide(reward_msgbox)},10000);
			  }
			  else
			  {
			    gotoOpinionWithMessage(persistAssociatedId,207);
			  }

		   }
	  }
    }
    else
    {
       if(getGlobalParams('container') == 'hi5' && getLoggedInUserId() != wallpostobj.associatedid)
       {
            activityUpdateCommentOnUser(wallpostobj.content,wallpostobj.associatedid);
       }
       else if(getGlobalParams('container') == 'orkut' && getLoggedInUserId() != wallpostobj.associatedid)
       {
           activityUpdateCommentOnUser(wallpostobj.content,wallpostobj.associatedid);
       }
       // For the 27th aug release only. Have to take care of other networks also
	  // For the 27th aug release only. Have to take care of other networks also

	  else if(getGlobalParams('container') == 'minekey' && redirectUrl != null)
      {
           gotoUrlPage(redirectUrl,7);
	  }
       else
       {
          gotoUserProfileAction(persistAssociatedType,wallpostobj.associatedid, 'notes',7);
       }
    }
}

function hideSuccessMsg()
{
  var element = document.getElementById('os_success_msg');
  element.style.visibility = 'hidden';
}
function hide(elementid){
  document.getElementById(elementid).style.display = 'none';
my_adjustHeight();
}
function show(elementid){
  document.getElementById(elementid).style.display = 'block';
my_adjustHeight();
}
function showInline(elementid){
  document.getElementById(elementid).style.display = 'inline';
my_adjustHeight();
}

function showSuccessMsg(msg)
{


  var str =
'<table cellspacing="0" cellpadding="0" border="0" align="center" width="70%">'+
'<tbody>'+
'<tr>'+
'<td class="tfdTopLeftCorner">    </td>'+
'<td height="1" class="tfdTopCenter" style="width:400px;"> </td>'+
'<td class="tfdTopRightCorner">  </td>'+
'</tr>'+
'<tr>'+
	'<td class="tfdLeftCenter"> </td>'+
	'<td  class="iThink_newlightOrangeFill" height="40px" align="center" valign="middle">'+
	'<span class="generalText" align="center" style="font-size:15px;color:#2255CC;">'+msg+'</span>'+
	'</td>'+
	'<td class="tfdRightCenter">    </td>'+
'</tr>'+
'<tr>'+
	'<td class="tfdBottomLeftCorner"></td>'+
	'<td height="1" class="tfdBottomCenter"></td>'+
	'<td class="tfdBottomRightCorner">	</td>'+
'</tr>'+
'</tbody>'+
'</table><br>';
return str;
}

function showOrangeSuccessMsg(msg,eggs)
{
	var str = '<div class="inviteTickerBox"  style="text-align:left; width:80%;">'+
	          '<span class="inviteTickerText">'+msg+'</span>'+
	          '</div>';
	return str;
}

function detectKeyAndExecute()
{
  document.onkeyup= keyup;
  function keyup(e) {
    var keyId = (window.event) ? event.keyCode : e.keyCode;
    if(keyId != 13) return;
    searchOpinion('os_search_text')
  }
}
function ChangeNoteOrderFlat(opinionid,commentOrder)
{
var paramsList = { layout : 'theopinion', action : 'detail' , opinionid : ''+opinionid, sort : commentOrder};
gotoOpinionPageUrl(opinionid,paramsList);
return false;
}
function ChangeNoteOrder(opinionid,id)
{
var commentOrder=document.getElementById(id).value;
var paramsList = { layout : 'theopinion', action : 'detail' , opinionid : ''+opinionid, sort : commentOrder};
gotoOpinionPageUrl(opinionid,paramsList);
return false;
}


function wordwrap( str, int_width, str_break, cut ) {
    var m = int_width, b = str_break, c = cut;
    var i, j, l, s, r;

    if(m < 1) {
        return str;
    }
    for(i = -1, l = (r = str.split("\n")).length; ++i < l; r[i] += s) {
        for(s = r[i], r[i] = ""; s.length > m; r[i] += s.slice(0, j) + ((s = s.slice(j)).length ? b : "")){
            j = c == 2 || (j = s.slice(0, m + 1).match(/\S*(\s)?$/))[1] ? m : j.input.length - j[0].length || c == 1 && m || j.input.length + (j = s.slice(m).match(/^\S*/)).input.length;
        }
    }

    return r.join("\n");
}
/*
function followOpinion(followedtype,opinionid,following, userid) {
	var posturl = msMinekeyWSUrl + '&layout=opinion&action=followeract&calltype='+getGlobalParams('network')+'&';
	posturl += 'faction='+following+'&ftype=opinion&followid='+opinionid+'&followedtype='+followedtype+'&foruserid='+userid;

	document.getElementById("followLink").innerHTML='<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';;
	var postparams = {};
	os_postDataRequest(posturl,postparams,handleFollowOpinion);

}
*/


function activityPersist(opinionid) {

  var req = opensocial.newDataRequest();


  var owner = msGlobalViewerInfo;
  if(msGlobalAppInfo == null || msGlobalAppInfo === null) {
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity0",createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId())));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+1));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+0));

  }else {
    var myCounter = msGlobalAppInfo["opinion_counter"];
    if(isNaN(myCounter)) {
      myCounter=''+1;
    }

    pstring = createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId());
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity"+myCounter,createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId())));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+(myCounter+1)%3));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+myCounter));
  }
  req.send(handlePersistingActivity);
}

function createPersistenceString(type,id,text,profilePic_url,profile_id) {
  var str='';
  str +='type='+type+"&&id="+id+'&&text='+ text+'&&profilepic='+profilePic_url+'&&profileid='+profile_id;
  return str;
}

function handlePersistingActivity(response) {
  createParallelActivityCount--;
  if(createParallelActivityCount == 0)
  {
    callOnAllParallelActivityFinish();
  }
}

function callOnAllParallelActivityFinish()
{
 gotoOpinionPageUrl(getGlobalParams('opinionid'));
}

function followOpinion(followedtype,opinionid,following, userid) {
if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var posturl = msMinekeyWSUrl + '&layout=opinion&action=followeract&';
	posturl += 'faction='+following+'&ftype=opinion&followid='+opinionid+'&followedtype='+followedtype+'&foruserid='+userid;
	document.getElementById("followLink").innerHTML='<span class="iThink_mainContentLink">updating...</span>';
	var postparams = {};
	os_postDataRequest(posturl,postparams,handleFollowOpinion);

}

function handleFollowOpinion(responseData) {
   var response = parseData(responseData.data);
  if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");return;}
  if(response.success=="no" && response.login_required=="yes") {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login"); return;}
  extractCommonData(response);

 if(response.followersActRes.success1 && response.followersActRes.success2 && response.followersActRes.success3){
	 if(response.followersActRes.actionRequested=='set') {
		 document.getElementById("followLink").innerHTML ='<a href="javascript:followOpinion(\''+response.followersActRes.usertype+'\','+response.followersActRes.followopinionid+',\'unset\','+response.followersActRes.foruser+');" class="iThink_mainContentLink">unfollow opinion</a>';
	 } else {
		 document.getElementById("followLink").innerHTML ='<a href="javascript:followOpinion(\''+response.followersActRes.usertype+'\','+response.followersActRes.followopinionid+',\'set\','+response.followersActRes.foruser+');" class="iThink_mainContentLink">follow opinion</a>';
 }
 }
}

function trackOpinionSharing(opinionid,receipients,receipients_email) {

	var posturl = msMinekeyWSUrl + '&layout=opinion&action=sharetrack&opinionid='+opinionid;
	posturl += '';
	var postParams = {touserids : ''+ receipients, touserids_email : ''+receipients_email};
	//alert(receipients_email+'here');
	os_postDataRequest(posturl,postParams,handleTrackOpinionSharing);
}

function handleTrackOpinionSharing(responseData){
    if(getGlobalParams('container') == 'friendster'  || getGlobalParams('container') == 'minekey')
	{
        var response = parseData(responseData.data);
        try
        {
            var eggsearned = response.shareresponse.eggsearned;
            if(eggsearned > 0)
            {
             gotoOpinionWithEggsMessage(shareOpinionId,231, eggsearned);
            }
            else
            {
             gotoOpinionWithMessage(shareOpinionId,4);
            }
        } catch (e) {
    	gotoOpinionWithMessage(shareOpinionId,4);
        }
    }
}

function activityPersist(opinionid) {

  var req = opensocial.newDataRequest();


  var owner = msGlobalViewerInfo;
  if(msGlobalAppInfo == null || msGlobalAppInfo === null) {
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity0",createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId())));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+1));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+0));

  }else {
    var myCounter = msGlobalAppInfo["opinion_counter"];
    if(isNaN(myCounter)) {
      myCounter=''+1;
    }

    pstring = createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId());
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity"+myCounter,createPersistenceString("create",''+createOpinionId,createOpinionStatement,owner.getField(opensocial.Person.Field.THUMBNAIL_URL),owner.getId())));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+(myCounter+1)%3));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+myCounter));
  }

  req.send(handlePersistingActivity);

}
function createPersistenceString(type,id,text,profilePic_url,profile_id) {
  var str='';
  str +='type='+type+"&&id="+id+'&&text='+ text+'&&profilepic='+profilePic_url+'&&profileid='+profile_id;
  return str;
}

function handlePersistingActivity(response) {
}


function persistUserResponse() {
  var req = opensocial.newDataRequest();
  if(msGlobalAppInfo == null || msGlobalAppInfo === null) {
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity0",createPersistenceString("vote",''+createOpinionId,createOpinionStatement,getUserProfileImageURL(opinionCreatorId),opinionCreatorId)));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+1));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+0));
    msGlobalAppInfo = new Object;
    msGlobalAppInfo['opinion_counter']=1;

  }else {
    var myCounter = msGlobalAppInfo["opinion_counter"];
    if(isNaN(myCounter)) {
      myCounter=''+1;
    }
    req.add(req.newUpdatePersonAppDataRequest("OWNER","activity"+myCounter,createPersistenceString("vote",''+createOpinionId,createOpinionStatement,getUserProfileImageURL(opinionCreatorId),opinionCreatorId)));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+(myCounter+1)%3));
    req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+myCounter));
    msGlobalAppInfo['opinion_counter']=(myCounter+1)%3;
  }
  req.send(handlePersistingVote);
}

function handlePersistingVote(response) {
}

function persistCommenting(){
	var req = opensocial.newDataRequest();
	var actType=null;
	switch(persistWallType) {
		case 'user': actType='commentUser';break;
		case 'opinion': actType="commentOpinion";break;
	}
	if(msGlobalAppInfo == null || msGlobalAppInfo === null) {
		req.add(req.newUpdatePersonAppDataRequest("OWNER","activity0",createPersistenceString(actType,''+persistAssociatedId,persistComment,getUserProfileImageURL(persistCreatorId),persistCreatorId)));
		req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+1));
			req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+0));

	}else {
		var myCounter = msGlobalAppInfo["opinion_counter"];
		if(isNaN(myCounter)) {
			myCounter=''+1;
		}
		req.add(req.newUpdatePersonAppDataRequest("OWNER","activity"+myCounter,createPersistenceString(actType,''+persistAssociatedId,persistComment,getUserProfileImageURL(persistCreatorId),persistCreatorId)));
		req.add(req.newUpdatePersonAppDataRequest("OWNER","opinion_counter",''+(myCounter+1)%3));
		req.add(req.newUpdatePersonAppDataRequest("OWNER","top_counter",''+myCounter));
	}

	req.send(handlePersistingComment);
}

function handlePersistingComment(response) {
}
function getUserProfileImageURL(userid) {
	return (msUserProfileBasics[userid] == null) ? '' : msUserProfileBasics[userid].imageurl;
}

function changeOpinionFilter(usertype, userid,id,layout)
{
  var addedOpinionFilter = document.getElementById(id).value;
  var paramsList = { layout : layout, action : 'list' , acttype : 'added', type : addedOpinionFilter, creatorid : userid, creatortype : usertype};
  gotoUserProfilePageUrl(userid,layout,paramsList);
}

function changeCommentFilter(usertype, userid,id,layout,acttype)
{
  var addedCommentFilter = document.getElementById(id).value;
  var paramsList = { layout : layout, action : 'list' , acttype : acttype , sort : addedCommentFilter, creatorid : userid, creatortype : usertype};
  gotoUserProfilePageUrl(userid,layout,paramsList);
}

function changeRatingFilter(usertype, userid, id, layout, acttype,rtype)
{
  var addedOpinionFilter = document.getElementById(id).value;
  var paramsList = { layout : layout, action : 'rating' , acttype : acttype, rtype : rtype , type : addedOpinionFilter, creatorid : userid, creatortype : usertype};
  gotoUserProfilePageUrl(userid,layout,paramsList);
}

function gotoUserProfilePageUrl(userid,layout,paramList)
{
  if(!paramList)
  {
    var userprofileParams = { layout : layout, action : 'summary' , creatorid : userid};
  }
  else
  {
    var userprofileParams = paramList;
  }
  var link = getLinkPrefix() +convertAppParams(userprofileParams);
  gotoUrl(link);
}

function trim(inputString)
{
  if (typeof inputString != "string") { return inputString; }
  var retValue = inputString;
  var ch = retValue.substring(0, 1);
  while (ch == " ") {
     retValue = retValue.substring(1, retValue.length);
     ch = retValue.substring(0, 1);
  }
  ch = retValue.substring(retValue.length-1, retValue.length);
  while (ch == " ") {
     retValue = retValue.substring(0, retValue.length-1);
     ch = retValue.substring(retValue.length-1, retValue.length);
  }
  while (retValue.indexOf("  ") != -1) {
     retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
  }
  return retValue;
}

function gotoOpinionBoardWithMessage(msg)
{
	var network = getGlobalParams('container');
	if(msg == null)
	  msg = '';
	var appParams = { calltype : ''+network,layout : 'opinion', msg : ''+msg};
	var link =  getLinkPrefix() + convertAppParams(appParams);
    gotoUrl(link);
}


function gotoUrlPage(url, msg)
{
  	if(msg == null)
	msg = '';
	var link =  url + '&msg='+msg;
    gotoUrl(link);
}

function findProfileUrlExists() {
myurl = document.profile.myurl.value;
if(myurlcheck == myurl || myurl.length < 5) return;
myurlcheck = myurl;
 var link = msMinekeyWSUrl+'&layout=settings&action=myurlcheck';
postparams={myurl : ""+myurl};

 os_postDataRequest(link,postparams,handleFindProfileUrlExists);


}
function handleFindProfileUrlExists(responseData){
	var response = parseData(responseData.data);
	if(response.success =="yes") {
		document.getElementById("myurl_error").innerHTML="&nbsp;&nbsp;<img align=\"absmiddle\" src=\""+msMinekeyImageBase+"urlavailable.png\"/>&nbsp;(The URL is available)";
	}
	else {
		document.getElementById("myurl_error").innerHTML="&nbsp;&nbsp;<img align=\"absmiddle\" src=\""+msMinekeyImageBase+"urlnotavailable.png\"/>&nbsp;(The URL is already in use)";

	}
}

function showEmoticonHelp(){
	var params = {width:400,height:150,title:'Emoticon Help',contentText:'Show a message',contentRef:'emoticon_help',okButtonText:null,cancelButtonText:' Close ',okButtonHandler:clickHandler,cancelButtonHandler:clickHandler};
    try {
		dialog(params);
    	setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('emoticon_help');
    }
}
function showPictureHelp(){
	var params = {width:400,height:150,title:'Embed A Picture',contentText:'Show a message',contentRef:'picture_help',okButtonText:null,cancelButtonText:' Close ',okButtonHandler:clickHandler,cancelButtonHandler:clickHandler};
    try {
		dialog(params);
    	setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('picture_help');
    }
}
function showVideoHelp(){
	var params = {width:400,height:150,title:'Embed A Video',contentText:'Show a message',contentRef:'video_help',okButtonText:null,cancelButtonText:' Close ',okButtonHandler:clickHandler,cancelButtonHandler:clickHandler};
    try {
		dialog(params);
    	setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('video_help');
    }
}

function showEmbedCode()
{
    var params = {width:400,height:150,title:'Embed This Opinion Anywhere',contentText:'Show a message',contentRef:'embed_code',okButtonText:null,cancelButtonText:' Close ',okButtonHandler:clickHandler,cancelButtonHandler:clickHandler};
    try {
		dialog(params);
    	setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('embed_code');
    }
}


function hideAlertPopUp()
{
  clickHandler();
}

function closeProfanePopUp()
{
	self.close();
}

var createPFOpinion  = function ()
{

   ValidateCreateOpinionForm('addopinions','no');
};

var createPFContent = function ()
{
    if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	document.getElementById('pf_content_loading').innerHTML = 'Processing &nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
	var posturl = msMinekeyWSUrl + '&layout=wall&action=create&';
	var content = pfcontent.replace(/^\s+|\s+$/, '');
	content = (content == "add your comments...") ? "" : content;
	content = (content == "Sign up to add your comments...") ? "" : content;
    posturl += 'associatedid='+ pfassociatedid+'&';
    posturl += 'usertype='+ pfusertype+'&';
    posturl += 'walltype='+ pfwalltype+'&';
    posturl += 'wallid='+ pfwallid;
    if(pfparent_id && pfparent_id!='')
    posturl += '&postid='+ pfparent_id;
    posturl += '&checkforprofanity=no';
	var postParams = { content: content};
	os_postDataRequest(posturl, postParams, handleCreatedComment);
};

var blockUser = function ()
{
   // call ignore user function, parameters are globally defined
   ignoreUser(blockuserid,blockusertype,blockuseraction);
}

function profaneOpinionAlert(profanewords)
{

	var params = {width:400,height:200,title:'Alert!',contentText:'Show a message',contentRef:'profane_opinion_alert',okButtonText:'Ignore',cancelButtonText:' Edit',okButtonHandler:createPFOpinion,cancelButtonHandler:clickHandler,extraParams:profanewords};
    try {
		dialog(params);
    	//setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('profane_opinion_alert');
    }
}

function profaneContentAlert(profanewords)
{
	var params = {width:400,height:200,title:'Alert!',contentText:'Show a message',contentRef:'profane_content_alert',okButtonText:'Ignore',cancelButtonText:' Edit',okButtonHandler:createPFContent,cancelButtonHandler:clickHandler,extraParams:profanewords};
    try {
        if(pfreplycomment == 'yes')
        {
          hideReply();
		}
        dialog(params);
    	//setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('profane_content_alert');
    }
}

function blockUserAlert(buserid,busertype,baction)
{
    blockuserid = buserid;
    blockusertype = busertype;
    blockuseraction = baction;
	var params = {width:400,height:200,title:'Block User!',contentText:'Show a message',contentRef:'block_user',okButtonText:'Cancel',cancelButtonText:' Ok',okButtonHandler:clickHandler,cancelButtonHandler:blockUser};
    try {
		dialog(params);
    	//setDefaultButton('btnConfCancel');
	} catch (e) {
    	toggle('block_user');
    }
}
/*
	Generic functions for user elsewhere on the website
*/

/* Get the current offsets for a given object reference */

function getOffset(obj) {
	var curleft = curtop = 0;
	if(obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while ( obj = obj.offsetParent );
	}
	return new function offsets() { this.left = curleft; this.top = curtop };
}

/* Clones the position of the target to that of the reference element . Can be provided certain offsets */

function clonePos(ref,target,params) {

	var refElement = document.getElementById(ref);
	var offsets = getOffset(refElement);
	var finalleft = offsets.left;
	var finaltop = offsets.top;

	if(params.offsetLeft) {
		finalleft+=params.offsetLeft;
	}
	if(params.offsetTop) {
		finaltop+=params.offsetTop;
	}

	setPos(target,{top:finaltop,left:finalleft});
}

/* Get the current offsets for a given object reference */
function setPos(target,params) {

	var targetElement = document.getElementById(target);
	targetElement.style.position = 'absolute';
	targetElement.style.top = params.top + 'px';
	targetElement.style.left = params.left + 'px';
}

/* show the target element */
function show(target) {
	document.getElementById(target).style.display = 'block';
}

/* hides the given target from view */
function hide(target) {
	document.getElementById(target).style.display = 'none';
}

/* Toggles the view of a given target */
function toggle(target){
	if(document.getElementById(target).style.display == 'none') {
		document.getElementById(target).style.display = 'block';
	} else {
		document.getElementById(target).style.display = 'none';
	}
}

function hideWelcomeMsg()
{
  try {
  document.getElementById('welcomediv').style.display = 'none';
  document.getElementById('tfddiv').style.display = 'block';
  document.getElementById('emailconfirmpopup').style.display = 'block';
  } catch(err) {}
}

function onUserImgError(source)
{
source.src = "http://minekey.com/users_profile_pic/no_pic.gif";
// disable onerror to prevent endless loop
source.onerror = "";
return true;
}


function addtopic()
{
  document.getElementById("topic_add_error").innerHTML = "";
  document.getElementById("os_share_loading1").innerHTML =   '&nbsp;&nbsp;<img src="'+msMinekeyImageBase+'loader.gif"/>';
  var topic = document.getElementById('input_topic_name').value;
  topic = trim(topic);
  var topicPattern=new RegExp(/^[a-zA-Z ]+$/);
  if(topicPattern.test(topic)== false)
  {
    document.getElementById("os_share_loading1").innerHTML = "";
    document.getElementById("topic_add_error").innerHTML = "<span class='iThink_generalRedTextReg'>&nbsp;Only letters are allowed in topic name.</span>";
    return;
  }
  if(topic.length<=2)
  {
    document.getElementById("os_share_loading1").innerHTML = "";
    document.getElementById("topic_add_error").innerHTML = "<span class='iThink_generalRedTextReg'>&nbsp;Topic should have more than two letters.</span>";
    return;
  }
  if(topic=="" || topic == topicHelpText)
  {
    return;
  }
  addPopularTopic(topic);
}
function addPopularTopic(topic){
  topic = trim(topic);
  var topicPattern=new RegExp(/^[a-zA-Z ]+$/);
  if(topicPattern.test(topic)== false) return;
  if(topic.length<=2) return;
  link = msMinekeyWSUrl+"returntype=ajax&calltype=minekey&layout=settings&action=topicmanage&topicaction=add&topic="+topic;
  os_makeRequest(link,handleaddtopic);
}
function removetopic(topic)
{
  var answer = confirm ("You won't receive any opinion on this topic once you remove it. Do you want to remove this topic?")
    if (!answer)
    {

      //return false;
    }
    else
    {
      link = msMinekeyWSUrl+"returntype=ajax&calltype=minekey&layout=settings&action=topicmanage&topicaction=remove&topic="+topic;
      os_makeRequest(link,handleremovetopic);
    }
}

function handleremovetopic(responseData)
{
  response = parseData(responseData.data);
  reponseObj = response.manageTopicRes;
  document.getElementById('topic_list').removeChild(document.getElementById(reponseObj.userid+'_'+reponseObj.topic));
//  hide(reponseObj.userid+'_'+reponseObj.topic);
}

function handleaddtopic(responseData)
{
  response = parseData(responseData.data);
  reponseObj = response.manageTopicRes;

  if(!reponseObj)
    return;

  if(responseData && reponseObj && document.getElementById(reponseObj.userid+"_"+reponseObj.topic))
  {
    document.getElementById("os_share_loading1").innerHTML = "";
    document.getElementById("topic_add_error").innerHTML = "<span class='iThink_generalRedTextReg'>&nbsp;Sorry, topic already exists.&nbsp;</span>";
    return;
  }
  newNodeHTML = "<div id='"+reponseObj.userid+"_"+reponseObj.topic+"'><table><tr>"+
  "<td width='0%'>"+reponseObj.topic+"</td>"+
  "<td width='0%'><a href=\"javascript:removetopic('"+reponseObj.topic+"',"+reponseObj.userid+");\">remove</a></td>"+
  "</tr></table></div>";

  topicListDivId = document.getElementById('topic_list');
  topicListDivId.innerHTML += newNodeHTML;
    document.getElementById("os_share_loading1").innerHTML = "";

}
function detectKeyAndAddTopic(userid)
{
  document.onkeyup= keyup;
  function keyup(e) {
    var keyId = (window.event) ? event.keyCode : e.keyCode;
    if(keyId != 13) return;
    addtopic(userid);
  }
}

function hideTopicHelp()
{
  //var element = document.getElementById('topic_help');
  //element.style.display = 'block';
  var text = document.getElementById('input_topic_name').value;
  if(text == "" || text == topicHelpText)
    document.getElementById('input_topic_name').value = topicHelpText;
  else
    return;


}
function showTopicHelp()
{
  //var element = document.getElementById('topic_help');
  //element.style.display = 'none';
  document.getElementById('input_topic_name').value = "";
}

function setCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString()+";path=/;domain="+domainPrefix;
}

function resendConfirmationEmail()
{
  var link = minekeyLinkPrefix+"returntype=html&calltype=minekey&layout=forgotpassword&action=resendemail";
  gotoUrl(link);
}

function keyPressHandler(e){
var kC  = (window.event) ?event.keyCode : e.keyCode;
      var Esc = (window.event) ?27 : e.DOM_VK_ESCAPE // MSIE : Firefox
      if(kC==Esc)   alert("Esc pressed");
      return false;
   }




function ignoreUser(reportedId,reportedType,actionName,dontshowLoader){

	var wsUrl = msMinekeyWSUrl + '&layout=user&action='+actionName+'&returntype=ajax';
if(!dontshowLoader){
    var elem = document.getElementById("ignoreUserLink");
    elem.innerHTML="<img src=\""+msMinekeyImageBase+"/loader.gif\" width=\"16\" height=\"16\"/>";
}
    var postParams = {ReportedUserType : ''+reportedType, foruserid : ''+reportedId};
if(!dontshowLoader)
os_postDataRequest(wsUrl, postParams, handleIgnoreUser) ;
else
os_postDataRequest(wsUrl, postParams, handleIgnoreUserWithoutUpdating) ;

}

function handleIgnoreUserWithoutUpdating(responseData,url,error){
  //don't need to do anything
  var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);
    var reportedId = response.ignoreUserData.reportedId;
    var reportedUserType = response.ignoreUserData.reportedUserType;

    var success= response.ignoreUserData.success;
    if(success=="yes") {
	    var elem = 'note_'+g_postid;
	     document.getElementById(elem).innerHTML = showSuccessMsg('The post is deleted.The user has been blocked.');
    document.getElementById(elem).style.align = 'center';
    setTimeout(function(){hide(elem)},10000);
    }
}
function handleIgnoreUser(responseData, url, error){
	 var response = parseData(responseData.data);
    if(response == null) return;
    extractCommonData(response);
    var reportedId = response.ignoreUserData.reportedId;
    var reportedUserType = response.ignoreUserData.reportedUserType;

    var success= response.ignoreUserData.success;

    var action = response.action;
    if(success == "yes")
	{
        if(action=="ignore")
	    {
	      hideAlertPopUp('block_user');
	      document.getElementById("ignoreUserLink").innerHTML="<a   class=\"iThink_mainContentLink\" href=\"javascript:ignoreUser("+reportedId+",'"+reportedUserType+"','stopignoring');\" >unblock</a>";
		}
	    else
	    {
	      document.getElementById("ignoreUserLink").innerHTML="<a   class=\"iThink_mainContentLink\" href=\"javascript:blockUserAlert("+reportedId+",'"+reportedUserType+"','ignore');\" >block</a>";
		}
	}
    else if (success=="no")
	{
	    hideAlertPopUp('block_user');
	    if(action=='ignore')
	    {
	      document.getElementById("ignoreUserLink").innerHTML="<a  class=\"iThink_mainContentLink\" href=\"javascript:blockUserAlert("+reportedId+",'"+reportedUserType+"','ignore');\">block</a>";
		}
	    else
	    {
	      document.getElementById("ignoreUserLink").innerHTML="<a  class=\"iThink_mainContentLink\" href=\"javascript:ignoreUser("+reportedId+",'"+reportedUserType+"','stopignoring');\">unblock</a>";
		}

    }
}

function showMoreOpinions()
{
  var el1 = document.getElementById("view_more_opinion_id");
  var el2 = document.getElementById("viewMoreOp");
  //var el3 = document.getElementById("tempdiv");
  //el3.innerHTML = el2.innerHTML;
  el1.style.display = 'none';
  el2.style.display = 'block';
}

function showLessOpinions()
{
  document.getElementById("view_more_opinion_id").style.display = 'block';
  document.getElementById("viewMoreOp").style.display = 'none';
}

function doSupportAction(type,fromusertype,tousertype,userid,divid)
{
	if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
  var faction = '';
  var ftype = '&ftype=people';
  var usertype = '&usertype='+fromusertype;
  var followedtype = '&followedtype='+tousertype;
  var foruserid = '&foruserid='+getLoggedInUserId();
  var touserid = '&touserid='+userid;
  var id = '';
  if(divid != null)
  {
  	id = '&divid='+divid;
  }

  switch(type)
  {
    case 'set':
    faction = '&faction=set';
    break;
    case 'unset':
    faction = '&faction=unset';
    break;
  }
  var tempid = 'user_follow';
  if(divid != null)
  {
    tempid = 'user_follow'+divid;
  }

  document.getElementById(tempid).innerHTML = '<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';

  var link = msMinekeyWSUrl+'&layout=user&action=followeract&calltype='+getGlobalParams('network')+ftype+usertype+followedtype+foruserid+touserid+faction+id;
  os_makeRequest(link,handleSupportActionRequest);
}

function handleSupportActionRequest(responseData)
{
  var response = parseData(responseData.data);
  if(response == null) {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login");};
  if(response.success=="no" && response.login_required=="yes") {gotoUrl(getLinkPrefix()+"calltype="+getGlobalParams("network")+"&returntype=html&layout=login"); return;}

  extractCommonData(response);
  var responseObj = response.followersActRes;
  var divid = response.followersActRes.divid;
  var success = responseObj.success;
  var msgid = responseObj.msgid;
  var userType=responseObj.tousertype;
  var toUserId= responseObj.touser;
  if(msgid != null && success == 'no')
    {
	    gotoUserProfileAction(userType,toUserId, 'summary',msgid);
          return;

    }

  var id = 'user_follow';
  var tempId = '';
  if(divid != null)
  {
    id = 'user_follow'+divid;
    tempId = ',\''+divid+'\'';
  }

  if(response.followersActRes.success1 == 1)
  {
    switch(response.followersActRes.actionRequested)
    {
    case 'set':
	  document.getElementById(id).innerHTML = '<img src="'+msMinekeyImageBase+'/ithink_follow.gif" width="16" height="16"/><a href="javascript:doSupportAction(\'unset\',\''+response.followersActRes.usertype+'\',\''+response.followersActRes.followedtype+'\',\''+response.followersActRes.touser+'\''+tempId+')" class="iThink_boldBlueLink">Withdraw Support<b></a>';
	  break;
    case 'unset':
	    document.getElementById(id).innerHTML = '<img src="'+msMinekeyImageBase+'/ithink_follow.gif" width="16" height="16"/><a href="javascript:doSupportAction(\'set\',\''+response.followersActRes.usertype+'\',\''+response.followersActRes.followedtype+'\',\''+response.followersActRes.touser+'\''+tempId+')" class="iThink_boldBlueLink">Support</a>';
	    //<div id="'+id+'" style="display:inline">
  	break;
    }
  }
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Please insert only js code related to dialogs below this marker
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// dialog code
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


function dialog(params)
{
  var dialogRef = document.getElementById('dialog_container');

  setHeightWidth(dialogRef,params)
  setTopLeft(dialogRef,params);
  setText(params);

  // Set the title for the dialog box
    document.getElementById('dialog_title').innerHTML = params.title;
  // Set the inner content for the dialog
  if(params.contentRef)
  {

    document.getElementById('dialog_content').innerHTML = document.getElementById(params.contentRef).innerHTML;

    if(params.contentRef == "address_book_form" && document.getElementById(params.contentRef).innerHTML != "")
    {
      addressBookFormHTML = document.getElementById(params.contentRef).innerHTML;
	}

	if(params.contentRef == "address_book_form" && document.getElementById('dialog_content').innerHTML == "")
    {
      document.getElementById('dialog_content').innerHTML = addressBookFormHTML;
	}
	if(params.contentRef=="profane_opinion_alert")
  	{
  	  document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;';
  	  document.getElementById('dialog_content').innerHTML = '';
  	  document.getElementById('dialog_content').innerHTML += "<div style=\"padding-left: 15px;padding-right:15px;padding-bottom: 46px;padding-top:20px;float:left;\"><span>The content you are trying to post may not be suitable for general viewing. Only those users who have disabled their content filter will be able to view this.</span></div>";
  	  document.getElementById('dialog_content').innerHTML += "<div style=\"padding-left: 15px;padding-right:15px;padding-bottom:20px;float:left;\"><span id=\"pf_content_loading\"></span></div>";
	}
	if(params.contentRef=="profane_content_alert")
  	{
  	  document.getElementById('os_posting_comment').innerHTML = '&nbsp;&nbsp;';
  	  document.getElementById('dialog_content').innerHTML = '';
  	  document.getElementById('dialog_content').innerHTML += "<div style=\"padding-left: 15px;padding-right:15px;padding-bottom: 46px;padding-top:20px;float:left;\"><span>The content you are trying to post may not be suitable for general viewing. Only those users who have disabled their content filter will be able to view this.</span></div>";
  	  document.getElementById('dialog_content').innerHTML += "<div style=\"padding-left: 15px;padding-right:15px;padding-bottom:20px;float:left;\"><span id=\"pf_content_loading\"></span></div>";
	}

  	//for our case just rename the form that has to be submitted so that there is no conflict
  	if(params.contentRef=="signup_form")
	{
		var elem = document.getElementById(params.contentRef);
		elem.innerHTML="";
		document.getElementById('dialog_title').innerHTML ="<div style=\"font-size:16px\">"+params.title+"</div>";
		document.getElementById("bottom_border_style").style.height="0px";
		document.getElementById("bottom_border_style").style.display="none";
		 //document.getElementById("top_border_style").style.height="0px";
		document.getElementById("btnConfCrossContainer").style.display="block";
		document.getElementById("btnConfCrossContainer").style.height="35px";
	}

	// If you want to hide the bottom section( cancel/ok button and orange section) specify the div id here
	if(params.contentRef=="address_book_form" || params.contentRef=="email_list")
	{
	  var elem = document.getElementById(params.contentRef);
	  elem.innerHTML = "";
	  document.getElementById("bottom_border_style").style.height="0px";
	  document.getElementById("bottom_border_style").style.display="none";
	  //document.getElementById("top_border_style").style.height="0px";
	  document.getElementById("btnConfCrossContainer").style.display="block";
	  document.getElementById("btnConfCrossContainer").style.height="35px";
	}

  }
  else
  {
	 document.getElementById('dialog_content').innerHTML = params.contentText;
	 //document.getElementById("btnConfCrossContainer").style.display="none";
  }
  window.onresize = function()
  {
    if (dialogRef.style.display == 'block')
    {
      setTopLeft(dialogRef,params);
      setHeightWidth(dialogRef,params)
    }
  }

  // Finally show the dialog
  dialogRef.style.display = 'block';
  //gray out the background too in case you are trying to render a signup_form
  if(params.contentRef=="signup_form" || params.contentRef=="profane_opinion_alert" || params.contentRef=="profane_content_alert")
  {
	  var cover = document.getElementById("cover");
	  cover.style.display="block";
	  if(document.body.style.overflow=="hidden")
	  {
		  cover.style.width = "1024px";
		  cover.style.height = "100%";

	  }
	  if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) )
	  {
		  var pageWidth = document.body.scrollWidth+'px';
		  var pageHeight = document.body.scrollHeight+'px';
	  }
	  else if( document.body.offsetWidth )
	  {
		  var pageWidth = document.body.offsetWidth+'px';
		  var pageHeight = document.body.offsetHeight+'px';
	  }
	  else
	  {
		  var pageWidth='100%';
		  var pageHeight='100%';
	  }

	  cover.style.width = pageWidth;
	  cover.style.height = pageHeight;
  }
}

function hide_dialog(){
  var dialogRef = document.getElementById('dialog_container');
  var cover = document.getElementById("cover");

  cover.style.display="none";
  //document.getElementById("bottom_border_style").style.display="";
		//document.getElementById("top_border_style").style.display="";
		document.getElementById("cancelLink").innerHTML="";
		//document.getElementById("btnConfCrossContainer").style.height="";
		//document.getElementById("btnConfCrossContainer").style.height="0px";
		document.getElementById("btnConfCrossContainer").style.display="none";
		document.getElementById("top_border_style").style.height="35px";
		document.getElementById("bottom_border_style").style.height="35px";
		document.getElementById("bottom_border_style").style.display="block";
		//document.getElementById("cancelLink").innerHTML="";
		dialogRef.style.display = 'none';
  document.body.style.overlow="scroll";
}

function setTopLeft(dialogRef,params)
{
	var left;
	var top;
	var postfix = 'px';
	var form_height = 330;
	var	form_width= 650;
    var window_height=document.body.clientHeight;
    var window_width=document.body.clientWidth;


   if(params.contentRef=="signup_form" || params.contentRef=="profane_opinion_alert" || params.contentRef=="profane_content_alert")
   {
	   left = (getScreenCenterX()-(window_width-form_width)/2)+postfix;
		top = (getScreenCenterY()-(window_height-form_height)/2)+postfix;
   }
   else
   {
		left = (getScreenCenterX()-params.width/2)+postfix;
		top = (getScreenCenterY()-params.height/2-20)+postfix;
	}

	dialogRef.style.position = 'absolute';
	dialogRef.style.top = top;
	dialogRef.style.left = left;
}

function setHeightWidth(dialogRef,params)
{
  var divWidth = (params.width == null) ? 400 : params.width;
  var divHeight = (params.height == null) ? 150 : params.height;
  dialogRef.style.width = divWidth + 'px';
  dialogRef.style.height = divHeight + 'px'
}

function setText(params)
{
    document.getElementById('btnConfOK').value = (params.okButtonText) ? params.okButtonText : "Ok";
    //document.getElementById('btnConfCancel').value = (params.cancelButtonText) ? params.cancelButtonText : "Cancel";

if(params.dontShowCancel){
	document.getElementById('btnConfCancel').style.display ="none";
	 }else{
	 document.getElementById('btnConfCancel').value = (params.cancelButtonText) ? params.cancelButtonText : "Cancel";

}


    if(params.contentRef=="signup_form" || params.contentRef=="address_book_form" || params.contentRef=="email_list")
	{
	    document.getElementById("btnConfCrossContainer").style.display="block";
		if(params.cancelButtonHandler) setClickHandler('cancelLink',params.cancelButtonHandler);
		document.getElementById("cancelLink").innerHTML="x";
		//document.getElementById("signinLink").innerHTML="SignIn";

    }
	else
	{
	    if(params.okButtonHandler) setClickHandler('btnConfOK',params.okButtonHandler);
	    if(params.cancelButtonHandler) setClickHandler('btnConfCancel',params.cancelButtonHandler);
    }
    if(params.okButtonText)
	{
      show('btnConfOkContainer');
    }
	else
	{
    	hide('btnConfOkContainer');
    }

}

function setDefaultButton(defaultButton)
{
  document.getElementById(defaultButton).focus();
}

function setClickHandler(elem,handler){

  var element = document.getElementById(elem);
  element.onclick = handler;
  if (element.captureEvents) element.captureEvents(Event.CLICK);
}


function ShowMessage()
{
  var params = {width:400,height:150,title:'Delete Post ?',contentText:'Show a message',contentRef:'emoticon_help',okButtonText:null,cancelButtontext:'Close',okButtonHandler:clickHandler,cancelButtonHandler:clickHandler};
  dialog(params);
  //setDefaultButton('btnConfCancel');
}

function clickHandler(e)
{
	hide_dialog();
	if(pfreplycomment == 'yes')
    {
      document.getElementById('reply').style.display = 'block';
	}
	return false;
}

//restores the form to signup_form element in case of signup popup
function clickHandlerWithRestore(e){
	var elem = document.getElementById("signup_form");
	document.getElementById("displayname_error").innerHTML="";
	document.getElementById("dob_error").innerHTML="";
	document.getElementById("name_error").innerHTML="";
	document.getElementById("passwd_error").innerHTML="";
	//     @frosty:url check removed
	//   document.getElementById("website_error").innerHTML="";
	elem.innerHTML=document.getElementById("dialog_content").innerHTML;
	hide_dialog();
	return false;
}
//the dialog box settings for signup pop up
function dialogSignup(params)
{
}

function hideAddressForm(e)
{
    hide_dialog();
	return false;
}

function showAddressBookForm()
{
    var _okButtonHandler = function()
	{
	  //alert("would you like to go to hell ?");
      //document.signup.submit();
	};

	var _cancelButtonHandler = function()
	{
		self.close();
	};
	var t_width=400;
	var t_height=200;
	if(document.all)
	{
	  t_width=400;
	}
	var params={width:400,height:200,title:'Share',contentRef:'address_book_form',okButtonText:null, cancelButtonText:null, okButtonHandler:_okButtonHandler, cancelButtonHandler: hideAddressForm};
	dialog(params);
}

function getNonAppContacts(emailid, password, provider)
{
    if(!checkAppInstalled())
	{
		promptAppInstall();
		return;
	}
	var responseElement = document.getElementById('loading_div');
	responseElement.innerHTML = '<img src="'+msMinekeyImageBase+'/loader.gif" width="16" height="16"/>';
	var wsUrl = msMinekeyWSUrl+ '&layout=user&action=getnonappcontacts&emailid='+emailid+'&emailpassword='+password+'&mailprovider='+provider;
	os_makeRequest(wsUrl, handleNonAppContacts);
}

function handleNonAppContacts(responseData, url, error)
{
  var response = parseData(responseData.data);
  extractCommonData(response);
  var responseHTML = response.emailListHTML;
  hideAddressForm();
  showEmailContactListPopup();
  var divelement = document.getElementById('dialog_content');
  divelement.innerHTML = responseHTML;
}

function showEmailContactListPopup()
{
	var _okButtonHandler = function()
	{
	  //document.signup.submit();
	};
	var _cancelButtonHandler = function()
	{
			self.close();
	};

	var params={width:420,height:200,title:'Share',contentRef:'email_list',okButtonText:null, cancelButtonText:null, okButtonHandler:_okButtonHandler, cancelButtonHandler: hideEmailListPopup};
	dialog(params);
}

function hideEmailListPopup(e)
{
	hide_dialog();
	return false;
}

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//  End
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

function selectAllFrnds(length)
{
  var isAllfield = document.add_frnds.isall;
  if(isAllfield.checked == 1)
  {
    for (i = 1; i <= length; i++)
    {
      var elm = 'check_'+i;
      var field = document.getElementById(elm);
      field.checked = true;
    }
  }
  else
  {
    for (i = 1; i <= length; i++)
    {
      var elm = 'check_'+i;
      var field = document.getElementById(elm);
      field.checked = false;
    }
  }
}

function getScreenCenterY()
{
   var y = 0;
   y = getScrollOffset()+(getInnerHeight()/2);
   return(y);
}

function getScreenCenterX()
{
   return(document.body.clientWidth/2);
}

function getInnerHeight()
{
  var y;
  if (self.innerHeight) // all except Explorer
  {
    y = self.innerHeight;
  }
  else if (document.documentElement && document.documentElement.clientHeight)  // Explorer 6 Strict Mode
  {
    y = document.documentElement.clientHeight;
  }
  else if (document.body) // other Explorers
  {
    y = document.body.clientHeight;
  }
  return(y);
}

function getScrollOffset()
{
  var y;
  if (self.pageYOffset) // all except Explorer
  {
    y = self.pageYOffset;
  }
  else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
  {
  y = document.documentElement.scrollTop;
  }
  else if (document.body) // all other Explorers
  {
    y = document.body.scrollTop;
  }
  return(y);
}

function toggleUserselect(id)
{
  var element = document.getElementById('check_'+id);
  var value = element.checked;
  if(value == 1)
    element.checked = 0;
  if(value == 0)
    document.getElementById('check_'+id).checked = 1;
}


function selectedFriends(length)
{
    var isnull=true;
    var nonParsedEmailids = '';
    var emailArray = new Array();
    var selectedEmailids = 0;
    var j=0;
    for (i = 1; i <= length; i++)
    {
      var elm = 'check_'+i;
      var field = document.getElementById(elm);
      if(field.checked == true)
	  {
		emailArray[j] = field.value;
		isnull=false;
		selectedEmailids++;
		j++;
  	  }
    }
    totalContactsExtracted = selectedEmailids;
    if(isnull == true)
    {
     alert('Select atleast 1 friend');
     return false;
    }
    /*
    var emails = '';
    try
    {
      emails = nonParsedEmailids.match(/<([^>]+)>/g).join(', ');
      emails = emails.replace(/[<>"'&;*\s]/g,'');
    }
    catch(err)
    {
       emails = nonParsedEmailids;
       emails = emails.replace(/\s+/g,'');
    }
    */
    hideEmailListPopup();
    var htmlStr = '';
    htmlStr += '<table><tr><td width="20">&nbsp;</td><td width="300" valign="top"><b>Imported Contacts</b></td></tr><tr><td width="20">&nbsp;</td><td width="300" valign="top">&nbsp;</td></tr>';
    for(var count=0; count<selectedEmailids; count++)
    {
       if(count % 2 == 0)
	   {
	     htmlStr += '<tr>';
	     htmlStr += '<td width="20">&nbsp;</td>';
	   }
       htmlStr += '<td width="300" valign="top"><input style="width:170px;" type="text" id = "contact_'+count+'" name="contact_'+count+'" value="'+emailArray[count]+'"/></td>';
	   if(count % 2 != 0)
	   {
	     htmlStr += '</tr>';
	   }
    }
    htmlStr += '</table>';
    var contactformdiv = document.getElementById('contactform');
    contactformdiv.style.height = '260px';
    var divelement = document.getElementById('imported_contacts');
    divelement.innerHTML = htmlStr;
}

function get_emailids_from_contactform()
{
   var nonParsedEmailids = '';
   var count = 0;
   for(count = 0; count < totalContactsExtracted; count++)
   {
     var id = 'contact_'+count;
     try
     {
       var field = document.getElementById(id);
       nonParsedEmailids += field.value + ' , ';
	 }
	 catch(err)
	 {
	   // do nothing
	 }

   }
   var rowsToCheck = 8;
   for(count = 0; count < rowsToCheck; count++)
   {
     var id = 'friend_'+count;
     try
	 {
	   var field = document.getElementById(id);
	   if(field.value != "")
	   {
	     nonParsedEmailids += field.value + ' , ';
	   }
	 }
	 catch(err)
	 {
	   // do nothing
 	 }
   }
   var emails = '';
   try
     {
       emails = nonParsedEmailids.match(/<([^>]+)>/g).join(', ');
       emails = emails.replace(/[<>"'&;*\s]/g,'');
     }
     catch(err)
     {
       emails = nonParsedEmailids;
       emails = emails.replace(/\s+/g,'');
     }
   return emails;
}


//////////////////////////////////////////////// Received Opinion javascripts ////////////////////////////

var rcvdop_cache= new Array();
function getFromCache(key)
{
  var value = null; 
  try{
    value = rcvdop_cache[key];
  }catch(e){
  }
  return value;
}

function setToCache(key,value)
{
  try
  {
    rcvdop_cache[key] = value;
  }
  catch(e)
  {
    rcvdop_cache = Array();
  }
  return true;
}

function getLastUrlfetched()
{
  if(lastUrlfetched=='')
    return msMinekeyWSUrl+'&layout=myopinion&action=list&acttype=rcvd&calltype='+getGlobalParams('network')+'&pageid=1&utotalop='+globalUtotalop;
  else
    return lastUrlfetched;
}

var globalUtotalop = 30;
function setglobalUtotalop(value)
{
  globalUtotalop = value;
}

var lastUrlfetched = '';

function fetchReceivedOpinion(f1,f2,f3,f4,f5,uid,utype,utotalOp)
{
  /* 
   * f1=> createdby/sharedby
   * f2=> following/frineds/others
   * f3=> all/user
   * f4=> pageid
   * f5=> voted/notvoted
   */

  var filterStatement = '';
  if(f1 != undefined && f1 != '')
    filterStatement += '&f1='+f1;
  if(f2 != undefined && f2 != '')
    filterStatement += '&f2='+f2;
  if(f3 != undefined && f3 != '')
    filterStatement += '&f3='+f3;
  if(f4 != undefined && f4 != '')
    filterStatement += '&pageid='+f4;
  if(uid != undefined && uid != '')
    filterStatement += '&uid='+uid;
  if(utype != undefined && utype != '')
    filterStatement += '&utype='+utype;
  if(utotalOp != undefined && utotalOp != '')
    filterStatement += '&utotalop='+utotalOp;
  
  var opinionListElement = document.getElementById("minekey_opinion_list");
  opinionListElement.innerHTML = '<div style="min-height:200px;"><div id="loader_div" style="display:block;"><table height="80px" width="90%" cellpadding="95px" border="0"><tr width="100%" align="center"><td width="100%"><img src="'+msMinekeyImageBase+'/loader.gif" width="20" height="20"/></td></tr></table></div></div>';
  var link = msMinekeyWSUrl+'&layout=myopinion&action=list&acttype=rcvd&calltype='+getGlobalParams('network')+filterStatement;
  lastUrlfetched = link;
  manageRcvdOpWebservicecall(link);
}

function manageRcvdOpWebservicecall(link)
{
  if(data = getFromCache(link))
  {
    if(typeof(data) != 'undefined')
      handleReceivedOpinionRequest(data,false);
  }
  else
  {
    os_makeRequest(link,handleReceivedOpinionRequest);
  }
}

function handleReceivedOpinionRequest(responseData,addtocache)
{
  var response ='';

  if(typeof(responseData) == 'object')
    response = responseData.data;
  else
    response = responseData ;

  extractCommonData(response);

  if(typeof(addtocache) == 'undefined')
  {
    setToCache(lastUrlfetched,response);
  }

  var opinionListElement = document.getElementById("minekey_opinion_list");
  var child = opinionListElement.getElementsByTagName("div")[0];
  opinionListElement.innerHTML = "<div style='display:none;min-height:200px;'>"+response+"</div>";
  $("#minekey_opinion_list div").fadeIn("8000");
}

function fetchPage(pageid)
{
  var recentUrl = getLastUrlfetched();

  if(recentUrl.search(/pageid/)==-1){
    link = recentUrl+'&pageid='+pageid;
  }else{
    link = recentUrl.replace(/pageid=[0-9]+/,'pageid='+pageid);
  }

  lastUrlfetched = link ;

  var opinionListElement = document.getElementById("minekey_opinion_list");
  opinionListElement.innerHTML = '<table height="200px" width="90%" cellpadding="95px" border="0"><tr width="100%" align="center"><td width="100%"><img src="'+msMinekeyImageBase+'/loader.gif" width="20" height="20"/></td></tr></table>';

  manageRcvdOpWebservicecall(link);
}

/* JS for filter management*/
var filter_map ={"createdby":["iamfollowing","myfriends","otherthinkers"],
  "sharedby":["iamfollowing","myfriends"],
  "none":["createdby","sharedby"]};
var parent = "";
var current = "";
var selectedName="";


function init() {
	//parent="createdby";
	current="iamfollowing";
	var elem = document.getElementById('see_all_ro');
	if(elem != null){
		elem = elem.getElementsByTagName("div")[0].getElementsByTagName("a")[0];
		if(elem != null){
		  	changeStyleOnSelect(elem);
			selectedName = elem;
		}
	}
}

function decideFilters(obj){
  var filter_arr = obj.id.split("_");
  current = filter_arr[filter_arr.length-1];
  if(filter_arr.length >1){
    parent = filter_arr[0];
  }else{
    parent = "none";
  }
}

function getParentFilter(){
  return parent;
}

function getSiblingsFilter(){
  return filter_map[parent];
}

function collapseOtherFilters(){
  var filter = getSiblingsFilter();
  var len = filter.length;
  for(i=0;i < len;i++){
    sibling = filter[i];
    if(sibling != current){
      var sibling_id = ((parent!="none")?parent+"_":"")+sibling;
      hidelem = document.getElementById(sibling_id+"_hide");
      var sign = document.getElementById(sibling_id).childNodes[1].firstChild;
      if(document.all){
      sign = document.getElementById(sibling_id).childNodes[0].firstChild
      }
      var textNode =getFilterElement("+");
      sign.innerHTML="";sign.appendChild(textNode);
      sign.id="positive";
      if(hidelem != null){
	      hidelem.style.display="none";
      }

    }
  }

}
function getFilterElement(sign){
	var img = new Image();
	switch(sign){
		case "-":
			img.setAttribute("src",minekeySmartLinkPrefix+"images/minus.gif");
		img.setAttribute("alt","open");
		break;
		case "+":
			img.setAttribute("src",minekeySmartLinkPrefix+"images/plus.gif");
		img.setAttribute("alt","closed");
			break;

	}
	return img;
}


function isOpen(elem){
	if(elem.id=="positive") return false;
	else return true;
}

function toggleFilter(obj,callback){

  decideFilters(obj);
   var signelem = obj.childNodes[1].firstChild;
  if(document.all){
  signelem = obj.childNodes[0].firstChild;
  }

  var hiddenDiv = obj.id+"_hide";
  var elem = document.getElementById(hiddenDiv);
  collapseOtherFilters();
  if(isOpen(signelem)){
    var textNode =getFilterElement("+");
     signelem.innerHTML="";
     signelem.appendChild(textNode);
     signelem.id="positive";
    if(elem != null){
    //elem.style.display="none";
     $("#"+hiddenDiv).fadeOut("15000");
    }


  }else{
    var textNode = getFilterElement("-");
    signelem.innerHTML="";
    signelem.appendChild(textNode);
    signelem.id="negative";
    if(elem != null){
    //elem.style.display="block";
    $("#"+hiddenDiv).fadeIn("15000");
    }

  }


  return false;
}

  function highlightNextId(elem){
	  elem.parentNode.style.display="none";
	  $('#'+elem.parentNode.parentNode.id).next().fadeIn('5000');

  }
  
  function highlightPreviousId(elem){
	  $("#"+elem.parentNode.parentNode.id).fadeOut('5000');
	  $("#"+elem.parentNode.parentNode.id).prev().children().show();

  }
function changeStyleOnSelect(elem)
{
  //elem.style.fontStyle = "italic";
  elem.style.textDecoration = "underline";
  elem.style.color = "#FF690A";
}
function changeStyleOnUnselect(elem)
{
  //elem.style.fontStyle = "normal";
  elem.style.textDecoration = "none";
  elem.style.color = "";
}
function toggleChildDiv(obj){
	var hide_div = obj.id+"_hide";
	$("#"+hiddenDiv).children().hide();
}
