var serverAjaxURL="../PublicModules/AjaxForm.aspx";
var serverAjaxURLForASPXPage="../PublicModules/AjaxForm.aspx";

function fnSetCompleteStatus(ContentID)
{

	var result;
	result= RSExecute(serverAjaxURL,"SetComplete",ContentID);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	var strval=result.return_value;
	var status=strval.split("~")[0];
	var datecompleted=strval.split("~")[1];
	if(document.getElementById(ContentID + "_datecompleted") !=null)
	{
		document.getElementById(ContentID + "_datecompleted").innerHTML=datecompleted;
	}
	else if(document.getElementById(ContentID.toLowerCase() + "_datecompleted") !=null)
	{
		document.getElementById(ContentID.toLowerCase() + "_datecompleted").innerHTML=datecompleted;
	}
	
	if(document.getElementById(ContentID + "_corelessonstatus") !=null)
	{
		document.getElementById(ContentID+ "_corelessonstatus").innerHTML=status;
	}
	else if(document.getElementById(ContentID.toLowerCase() + "_corelessonstatus") !=null)
	{
		document.getElementById(ContentID.toLowerCase() + "_corelessonstatus").innerHTML=status;
	}
	
	if(document.getElementById("setcomplete_" + ContentID.toLowerCase()) !=null)
	{
		var parentstr=document.getElementById("setcomplete_" + ContentID.toLowerCase()).parentElement.innerHTML;
		var lengthOfStr=document.getElementById("setcomplete_" + ContentID.toLowerCase()).outerHTML.length
		var index=parentstr.indexOf(document.getElementById("setcomplete_" + ContentID.toLowerCase()).outerHTML);
		var firstpart=parentstr.substring(0,index-2);
		var secondpart='';
		if(parentstr.charAt(index + 1 + lengthOfStr)=='|')
			secondpart=parentstr.substring(index + 1 + lengthOfStr);
		document.getElementById("setcomplete_" + ContentID.toLowerCase()).parentElement.innerHTML=firstpart+secondpart;
	}
	if(document.getElementById("remove_" + ContentID.toLowerCase()) !=null)
	{
		var parentstr=document.getElementById("remove_" + ContentID.toLowerCase()).parentElement.innerHTML;
		var lengthOfStr=document.getElementById("remove_" + ContentID.toLowerCase()).outerHTML.length
		var index=parentstr.indexOf(document.getElementById("remove_" + ContentID.toLowerCase()).outerHTML);
		var firstpart=parentstr.substring(0,index-2);
		var secondpart='';
		if(parentstr.charAt(index + 1 + lengthOfStr)=='|')
			secondpart=parentstr.substring(index + 1 + lengthOfStr);
		document.getElementById("remove_" + ContentID.toLowerCase()).parentElement.innerHTML=firstpart+secondpart;
	}		
}

function fnDownloadAttachment(isZipFile,params)
{
	var result;
	result= RSExecute(serverAjaxURL,"DownLoadContent",params,isZipFile);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	var strDownloadPath=result.return_value;
	popWin = window.open(strDownloadPath,'ExportPackage','statusbar=no,resizable=yes,scrollbars=yes,width=570,height=270');
}
function fnShowPostDetails(SCOID,url)
{
    if(serverAjaxURL.indexOf("../")==0)
    {
        var tempserverAjaxURL=serverAjaxURL.substring(3,serverAjaxURL.length);
        var result;
	    result= RSExecute(tempserverAjaxURL,"InitialiseTracking",SCOID);
    }
    else
    {
        var result;
	    result= RSExecute(serverAjaxURL,"InitialiseTracking",SCOID);
    }
	
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	document.location.href = url;
}
function PerformActionOnUserList(csvUserIDs,action)
{
	var result;
	result= RSExecute(serverAjaxURLForASPXPage,"PerformActionOnUserList",csvUserIDs,action);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
}


function fnMoveUpDown(action,objectid,parid,ouidvalue)
{
	var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"MoveCatUpDown",action,objectid,ouidvalue);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
	
}

function fnchangeDisplayOrder(SourceRowComponentID,TargetRowComponentID,ObjectID,ObjectTypeID,ComponentID)
{
	
	var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"ChangeItemDisplayOrder",SourceRowComponentID,TargetRowComponentID,ObjectID,ObjectTypeID,ComponentID);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
	
}

function fnMoveContentUpDown(action,categoryid,contentid)
{
	var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"MoveContUpDown",action,categoryid,contentid);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
	
}


///Code added by srinu: this function is to "Un-Assign content from a category.

function AjaxUnAssignContentFromCategory(hdnSelectedList,ouidvalue,action,categoryid,contentid)
{
 var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"UnAssignContentFromCategory",action,categoryid,contentid);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
}

///END---Code added by srinu: this function is to "Un-Assign content from a category.

function fnLinkMoveUpDown(CurrentLinkID,TargetLinkID,Action)
{
	var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"LinkMoveUpDown",CurrentLinkID,TargetLinkID,Action);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
	
}


function  fnPublishItem(ContentID,UserID,FolderPath,ForumID,Action,ApplicationPath)
{
	var result;
	try{
		result= RSExecute(ApplicationPath + "/" + serverAjaxURL,"PublishItem",ContentID,UserID,FolderPath,ForumID,Action);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return ex.message;
	}
	
}


function fnDeleteFolder(FolderID)
{
    
	var result;
	try{
		result= RSExecute(serverAjaxURLForASPXPage,"RemoveFolder",FolderID);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return false;
	}
	
}

function fnTrackLinkClicks(SCOID,ApplicationPath)
{
    try
    {
        if(serverAjaxURL.indexOf("../")==0)
        {
            var tempserverAjaxURL=serverAjaxURL.substring(3,serverAjaxURL.length);
	        var result;
	        result= RSExecute(ApplicationPath + "/" + tempserverAjaxURL,"InitialiseTracking",SCOID);
	    }
	    else
	    {
	          var result;
	        result= RSExecute(ApplicationPath + "/" + serverAjaxURL,"InitialiseTracking",SCOID);
	    }
	    if(result==null || result.status == -1)
	    {
		    alert(result.message);
		    return;
	    }
    }
    catch(ex){}	
}

function fnUpdateMetadataChanges(ContentID, ObjTypeID,FolderPath,IsPublishedRow,ApplicationPath)
{
	var result;
	result= RSExecute(ApplicationPath + "/" + serverAjaxURL,"UpdateMetadataChanges",ContentID, ObjTypeID,FolderPath,IsPublishedRow);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
}

function fnUpdateImagesOnMetadataChange(ContentID,ColumnNames,IsPublishedRow,ObjTypeID,ApplicationPath)
{
	var result;
	result= RSExecute(ApplicationPath + "/" + serverAjaxURL,"UpdateImagesOnMetadataChange",ContentID,ColumnNames,IsPublishedRow,ObjTypeID);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
}

function  fnMarkEventStatus(ContentID,status,menuid)
{
	var result;
	try{
		result= RSExecute(serverAjaxURL,"MarkContentStatus",ContentID,status,menuid);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return ex.message;
	}
	
}


function  fnPublishToCDPContent(ObjectTypeID,ContentID,UserID,FolderPath,ForumID,Action,ApplicationPath,DataSource)
{
	var result;
	try{
		result= RSExecute(serverAjaxURL,"PublishToDeliveryPortal",ObjectTypeID.toString(),ContentID,UserID,FolderPath,ForumID,Action,DataSource);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		alert(ex.message);
		return ex.message;
	}
	
}

function  fnWindowHandles(ArrayString,SesisonName)
{
	var result;
	try{
		result= RSExecute(applPath + "/" + serverAjaxURL,"WindowHandlers",ArrayString,SesisonName);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		//alert(ex.message);
		return ex.message;
	}
	
}

function  fnIndexValues(ArrayString,SesisonName)
{
	var result;
	try{
		result= RSExecute(applPath + "/" + serverAjaxURL,"IndexValues",ArrayString,SesisonName);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		//alert(ex.message);
		return ex.message;
	}
	
}


function  fnClearSessions(SesisonName)
{
	var result;
	try{
		var path = applPath + "/" + serverAjaxURL;
		result= RSExecute(path,"ClearSessions",SesisonName);
		if(result==null || result.status == -1)
		{
			alert(result.message);
			return false;
		}
		return result.return_value;
	}
	catch(ex){
		//alert(ex.message);
		return ex.message;
	}
	
}

function fnTrackContent(SCOID,componentid,ApplicationPath)     
{
	var result;
	result= RSExecute(ApplicationPath + "/" + serverAjaxURL,"TrackContent",SCOID,componentid);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
}


function fnStartPresentationSession(AccountID,EventKey,ContentID,EnrollmentLimit,Duration)
{

	var result;
	result= RSExecute(serverAjaxURL,"CreatePresentationSession",AccountID,EventKey,ContentID,EnrollmentLimit,Duration);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	alert("Session started successfully");
}


/************ Ajax Method****************/
function fnShowTopicPostDetails(SCOID,keys,values)
{
	var result;
	result= RSExecute(serverAjaxURLForASPXPage,"InitialiseTracking",SCOID);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	 fnUpdateConditionList(keys,values);
	 document.getElementById(strClientID+"dummyLink").click();
	//document.location.href = url;
}



function fnCheckforDuplicateComponentGroup(objectid,name,componentid,siteid)
{

	var result;
	result= RSExecute(serverAjaxURLForASPXPage,"CheckforDuplicateComponentGroup",objectid,name,componentid,siteid);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	return result.return_value;
}

function fnUpdateUserTheme(pThemeID,AjaxUrl)
{

	var result;
	result= RSExecute(AjaxUrl,"UpdateUserTheme",pThemeID);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	return result.return_value;
}
function fnSetLocaleInSession(LocaleVal,AjaxUrl)
{

	var result;
	result= RSExecute(AjaxUrl,"SetLocaleInSession",LocaleVal);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	return result.return_value;
}
function fnSetCompLocaleInSession(LocaleVal,AjaxUrl)
{

	var result;
	result= RSExecute(AjaxUrl,"SetCompLocaleInSession",LocaleVal);
	if(result==null || result.status == -1)
	{
		alert(result.message);
		return;
	}
	return result.return_value;
}
