

//start of Script for checking whether any resource is selected or not in ResourceList user control

function CheckSelection(hidden,itemIdContainerId,isModal,popupId, errorMsgContainerId, isTagModal,tagListHolder, itemtype, selectedTagHolder)
{
        var hiddenfield=document.getElementById(hidden);
        var itemIdContainer=document.getElementById(itemIdContainerId);
        var errorMsgContainer=document.getElementById(errorMsgContainerId);
        if(hiddenfield.value!=0)
        {
            if(isModal)
            {
                ShowMessageDiv(false,errorMsgContainer);
                if(isTagModal)
                    GetTags(tagListHolder,selectedTagHolder,itemtype);
                ShowModalPopUp(popupId); 
                return false;
            }
            if(popupId=='delete')
            {
                ShowMessageDiv(false,errorMsgContainer);
                return confirm('There is no undo for this action, are you sure you want to delete?');
            }
            if(popupId=='remove')
            {
                ShowMessageDiv(false,errorMsgContainer);
                return confirm('Do you want to Remove?');
            }
            hiddenfield.value=0;
            ShowMessageDiv(false,errorMsgContainer);
            return true;
        }
        else
        {
            if(isModal)
            {
                HideModalPopUp(popupId);
            }
            ShowMessageDiv(true,errorMsgContainer);
            return false;
        }
 }
    
    function ShowMessageDiv(show, errorMsgContainer)
    {
//        var m=document.getElementById('MessageDiv');
        var m=errorMsgContainer;
        if(show)
        {
            m.style.display = 'block';
        }
        else
        {
            var textContainer=document.getElementById('Div1');
            
            if(textContainer!=null)
            {
                textContainer.innerHTML="No item selected.";
            }
            m.style.display = 'none';
        }
    }
    
    function HideModalPopUp(id)
    {
    
        $find(id).hide(); 
    }
    
    function ShowModalPopUp(id)
    {
        $find(id).show(); 
    }
    
     function SetSelectChechBoxValue(checked, hidden, itemIdContainerId,itemId )
    {
        var checkcount;
        var hiddenfield=document.getElementById(hidden);
        checkcount=parseInt(hiddenfield.value);
        if(checked)
        {
            hiddenfield.value=checkcount+1;
            AddItemIds(itemIdContainerId, itemId);
        }
        else
        {
            hiddenfield.value-=1;
            RemoveItemId(itemIdContainerId, itemId);
        }
    }
    
    function SetCheckBoxValue(checked, hidden, itemIdContainerId,itemId)
    {
        var checkcount;
        var hiddenfield=document.getElementById(hidden);
        checkcount=parseInt(hiddenfield.value);
        if(checked)
        {
            hiddenfield.value=checkcount+1;
            AddItemIds(itemIdContainerId, itemId);
        }
        
        else
        {
            hiddenfield.value-=1;
            RemoveItemId(itemIdContainerId, itemId);
            
        }
    }
    
    function AddItemIds(itemIdContainerId, itemId)
    {
        var itemIdContainer=document.getElementById(itemIdContainerId);
        if(itemIdContainer.value=="")
        {
            itemIdContainer.value=itemId;
        }
        else
        {
            var ids=new Array();
            ids=itemIdContainer.value.split(",");
            ids[ids.length]=itemId;
            itemIdContainer.value=ids.join(",");
        }
    }
    
    function RemoveItemId(itemIdContainerId, itemId)
    {
        var itemIdContainer=document.getElementById(itemIdContainerId);
        var ids=new Array();
        ids=itemIdContainer.value.split(",");
        var index=ids.indexOf(itemId);
        if(index!=-1)
        {
            delete ids[index];
        }
        itemIdContainer.value=ids.join(",");
    }
    
//End of Script for checking whether any resource is selected or not in ResourceList user control
    
    //***********Tag proccessing section starts***********
    var _tagListHolder;
    var _selectedTagHolder;
    function GetTags(tagListHolder,selectedTagHolder, itemTypes)
    {
        _tagListHolder=document.getElementById(tagListHolder);
        _selectedTagHolder=document.getElementById(selectedTagHolder);
        _selectedTagHolder.value='';
       var itemTypesArr=itemTypes.split(/;/);
       //alert(itemTypes);
        //itemTypes[itemTypes.length]=itemType;
        //itemTypes[itemTypes.length]=2;
        
        Ovlight.WebApp.WebServices.CommonService.GetMostUsedTags(itemTypesArr,25,PopulateTags);
    }
    
    function PopulateTags(tags)
    {
        var VariableName=_tagListHolder;
        var NumberOfColumns=2;
        var CheckboxListContainerHandle=_tagListHolder;
		var allTags = tags;
		var content = '<table cellspacing="0" cellpadding="0" border="0" width="100%"><tr>';
	    content+='<td  style="padding-left:5px;padding-top:5px"><strong>Popular tags</strong></td></tr><tr>';
		for(var i = 0; i < allTags.length; i++)
		{
			if (i % NumberOfColumns == 0)
				content += '</tr><tr>';
			var tag=allTags[i];	
			content +='<td width="' + (100 / NumberOfColumns) + '%" style="padding-left: 5px; padding-top: 5px"><input id="' + VariableName + '_' + i + '" type="checkbox" name="' + VariableName + '_' + i + '" onclick="PopulateTextBox(this)"  value="' + tag + '" /><label for="' + VariableName + '_' + i + '"> ' + tag + '</label></td>';
		}		
		content += '</tr></table>';
		//alert(content);
		CheckboxListContainerHandle.innerHTML=content;
    }
    
    function PopulateTextBox(tagCheckBox)
    {
        var previouslySelectedTags = GetPreviouslySelectedTags();
        var selectedTag=tagCheckBox.value;
        if(tagCheckBox.checked)
        {
            previouslySelectedTags[previouslySelectedTags.length]=Trim(selectedTag);
        }
        else
        {
            RemoveTag(selectedTag, previouslySelectedTags);
        }
        _selectedTagHolder.value = previouslySelectedTags.join("; ");
    }
    
    function RemoveTag(tag, taglist)
    {
            for(i=0;i<taglist .length;i++)
            {
                if(tag==taglist[i]) taglist.splice(i, 1);
            }
    }
    
    function GetPreviouslySelectedTags()
    {
        var tags = _selectedTagHolder.value.split(/;|,/);
        var newTags=new Array();
         for ( var j=0;j<tags.length;j++ )
         {
            var tag = tags[j];
            var flag = 0;
            if(tag!='')
            {
                tag=Trim(tag);
                newTags[newTags.length]=tag;
            }
          }
        return newTags;
    }
    
    function Trim(sString)
    {
        return sString.replace(/^\s+|\s+$/g, '');
    }
    
//***********Tag proccessing section ends***********

   

//Start of Product Registration script. 
    function PopulateRegistrationDetails(popupid,oid,courseidhidden,containerid)
    {  
        var resultContainer=document.getElementById(containerid);
        var defaultcontent='<div style="text-align: center;"><img src="/public/images/indicator_small.gif" alt="loading" /> Loading details...</div>';
        resultContainer.innerHTML=defaultcontent;
        Ovlight.WebApp.WebServices.CommonService.GetProduct(oid,containerid,PopulateResults);
        var hidden=document.getElementById(courseidhidden);     
        hidden.value=oid;
        ShowModalPopUp(popupid);
    }
    
    function test()
    {
        var content='<div style="text-align: center;"><img src="/public/images/indicator_small.gif" alt="loading" />Loading details...</div>';
    }
    
    function PopulateResults(rValue)
     {
        var productname=rValue.Name;
        var rergistrationStatus=rValue.RegistrationStatus;
        var needApproval=rValue.NeedApproval;
        var registrationDomain=rValue.RegistrationDomain;
        var isFree =rValue.IsFree;
        var cost= rValue.Cost;    
        var containerid=rValue.ContainerId;
        var itemtype=rValue.ItemType;
        
       var resultContainer=document.getElementById(containerid);
       var output="You have selected <strong>"+itemtype+": " +productname+ "</strong> to join.";
       if(rergistrationStatus==1)
       {
             output+="<br\> But you have already registered this. So we can not proccess your request." ;
       }
       else if(rergistrationStatus==2)
       {
            output+="<br\> But you have already registered this in other KC. Do you want to register again?" ;
       }
       else if(rergistrationStatus==3)
       {
            output+="<br\> But you have already requested for this. Your request has been approved. Please check your mail for details." ;
       }
       else if(rergistrationStatus==4)
       {
            output+="<br\> But you have already requested for this. It is still in proccess.";
            if(itemtype!="OfflineCourse")
             output+=" You will be notified through mail whenever your request gets approval." ;
            
       }
       else if(rergistrationStatus==5)
       {
            output+="<br\> But you have already requested for this in other KC.  Do you want to register again?" ;
       }
       else
       {
            if(needApproval)
            {
                output+="<br/> This requires approval from admin."; 
                if( itemtype!="OfflineCourse")
                    output+="After getting approval from admin, you will be notified by email.";
             
             }
           if(!isFree && itemtype!="OfflineCourse")
           {
                if(!needApproval)
                {
                    output+="<br/>Cost of this product is "+cost+"$. After clicking OK button you will be taken to our billing section to complete the registration proccess."
                }
                else
                {
                    output+=" Billing will be done after you get approval mail.";
                }
            }
            
           output+="<br/> Click OK to register for this or cancel to return.";
            
       }
        if(resultContainer != null)
          {  resultContainer.innerHTML=output;}
     }
//End of Product Registration script. 

//Start of Project Registration script.
function PopulateProjectDetails(popupid,oid,itemIdContainer,containerid)
{  
    var resultContainer=document.getElementById(containerid);
    var defaultcontent='<div style="text-align: center;"><img src="/public/images/indicator_small.gif" alt="loading" /> Loading details...</div>';
    resultContainer.innerHTML=defaultcontent;
    Ovlight.WebApp.WebServices.CommonService.GetProjectDetail(oid,containerid,PopulateProjectResults);
    var hidden=document.getElementById(itemIdContainer);     
    hidden.value=oid;
    ShowModalPopUp(popupid);
}

function PopulateProjectResults(rValue)
{
    var projectname=rValue.Title;
    var description=rValue.Description;
    var starDate=rValue.StartDate;
    var endDate=rValue.EndDate;
    var containerid=rValue.ContainerId;
    
    var resultContainer=document.getElementById(containerid);
    var uiStructure='<table><tr><td><strong>Description:</strong></td></tr><tr><td>{0}</td></tr><tr><td><strong>Startdate:&nbsp;&nbsp;&nbsp;</strong></td></tr><tr><td>{1}</td></tr><tr><td><strong>End date:&nbsp;&nbsp;&nbsp;</strong></td></tr><tr><td>{2}</td></tr></table>';
    var output=String.format(uiStructure,description,starDate,endDate);
    var resultContainer=document.getElementById(containerid);
     if(resultContainer)
          {  resultContainer.innerHTML=output;}
}

//End of Project Registration script. 

//Show offline course details
function ShowOflineCourseDetails(popupid,oid,containerid)
{
    var resultContainer=document.getElementById(containerid);
    var htmlTemplate= resultContainer.innerHTML;
    var defaultcontent='<div style="text-align: center;"><img src="/public/images/indicator_small.gif" alt="loading" /> Loading details...</div>';
    resultContainer.innerHTML=defaultcontent;
    Ovlight.WebApp.WebServices.CommonService.GetOfflineCourseDetails(oid,containerid,
        function PopulateCourseDetailResult(rValue)
        {
            //var output=String.format(htmlTemplate,rValue.Title,rValue.Abstract, rValue.CourseFormat,rValue.BatchSize,rValue.ClassSchedule,rValue.StartDate,rValue.LastDateOfApplication,rValue.CourseFees,rValue.Eligibility,rValue.Selection);
             var output=String.format(htmlTemplate,rValue.Title,rValue.Abstract, rValue.CourseFormat,rValue.Selection);
            resultContainer.innerHTML=output;
        }
    );
    ShowModalPopUp(popupid);
}

///////
function PopulateCancellationDetails(popupid,oid,courseidhidden,containerid)
{  
    Ovlight.WebApp.WebServices.CommonService.GetProduct(oid,containerid,PopulateCancelResults);
    var hidden=document.getElementById(courseidhidden);     
    hidden.value=oid;
    ShowModalPopUp(popupid);
}

function PopulateCancelResults(result)
{
    var productname=result.Name;
    var rergistrationStatus=result.RegistrationStatus;
    var needApproval=result.NeedApproval;
    var registrationDomain=result.RegistrationDomain;
    var isFree =result.IsFree;
    var cost= result.Cost;
    var containerid=result.ContainerId;
    var resultContainer=document.getElementById(containerid);
    var output="You have selected <strong>" +productname+ "</strong> to cancel.";
    output+="<br/> Click OK to confirm cancellation for this or cancel to return.";
    if(resultContainer != null)
            resultContainer.innerHTML=output;    
}

function PopulateOfflineCourseCancellationDetails(popupid,oid,courseidhidden)
{  
    var hidden=document.getElementById(courseidhidden);     
    hidden.value=oid;
    ShowModalPopUp(popupid);
}



function PopulateAbstractDetails(popid,txt,lblid)
{
    var container=document.getElementById(lblid);
    container.innerHTML=txt;
    ShowModalPopUp(popid);
}

function Publish(popid,itemid,hiddenfieldid)
{
    var hidden=document.getElementById(hiddenfieldid);
    hidden.value=itemid;
    ShowModalPopUp(popid);
}

function RequestforAffiliation(popid)
{
    ShowModalPopUp(popid);
}

//script for abstract and comment section of itemlist

    function ShowDiv(id)
    {
        var obj = document.getElementById(id);
        obj.style.display='block';
    }
    
    function HideDiv(id)
    {
        var obj = document.getElementById(id);
        obj.style.display='none';
    }


