﻿//Following JS will help us to swap the images, when user mouse over on Alphabet 
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
//End of user mouse over through Alphabet 


/**********Expand DIV ***********/
//On load
//Make visible false to all div those have "switchcontent" class 
if (document.getElementById){
document.write('<style type="text/css">')
document.write('.switchcontent{display:none;}')
document.write('</style>')
}

//Expand Term
//cid - div ID
//im - Image ID 
function expandcontent(cid,im){
var str = document.getElementById(im).src;
var str1;
//check current Image name
if(str.indexOf('images/add_icon.gif') != -1)
 str1= str.replace('images/add_icon.gif','images/minus_icon.gif');  //change image + to -
else
 str1= str.replace('images/minus_icon.gif','images/add_icon.gif');  //change image - to +
 
 document.getElementById(im).src = str1; // set Image src.
 
document.getElementById(cid).style.display=(document.getElementById(cid).style.display!="block")? "block" : "none"

}

/**********End of Expand DIV ***********/

/*********Ajax Call ********************/
   function GetMessageFromServer(TermDefID) 
    {
        UseCallBack(TermDefID, "");
        //document.getElementById("").innerHTML="<table width='100%' border=0 ><tr  ><td ><img src='../images/loading.gif' ></td><td><strong>Loading... </strong></td></tr></table>"
    }
    
    function JSCallback(btntest, context)
    {
        //alert(btntest);
    }
/*********End Ajax Call ********************/ 

/***********Add Terms Into Glossary********/
function AddTermInMyGlossary(TermName,TermDefID,CHKID,termID)
{
 
    try
    {  
        /*  Step to Add Terms in My Glossary.
            1. Find Main Table by using table ID (which is present in User Control).
            2. Get No. of rows present in Table.
            3. Add new row on Next postion (TR) and Set Row ID.
            4. Create Left Cell:Create Image Button, set required attributes and append in Left Cell (TD).
            5. Create Right Cell:Create TEXT Node (Term Name as a text) and append in Right Cell (TD).      
        */  
        
        if(CHKID.checked == false)
        {
            //When Add to my glossary is un-checked
            //Make Ajax call to Delete term Def ID.  
            GetMessageFromServer('D,' + TermDefID);
            
            DeleteDefinitionNo( TermName,TermDefID,termID);
            SetViewMyGlossary(); 
            
            return false;  
        }
        //When Add to my glossary is Checked.
        //Make Ajax call to Insert term Def ID.  
        GetMessageFromServer('I,' + TermDefID);
        var tableRow =document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_ImageRow' + termID); 
        if (tableRow ==  null)
            tableRow =document.getElementById('ImageRow' + termID); 
        
        var NewTermName;
        if (tableRow ==  null)
            NewTermName = TermName
        else
        {   
              
            AddTermDefinitionNo(TermName,TermDefID,termID);
            return false;
        }
        
        var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary');         //Main Table.
        var iteration = tbl.rows.length;                            //Get rows count. 
        var row = tbl.insertRow(iteration);                         //Insert Row at given position and get object of inserted Row.(Note: Rows starts from 0-zero. )  
        row.id = 'ImageRow' + termID;                               //Make Unique ID. This will help us to delete row from the table.
                
        //  left cell
        var cellLeft = row.insertCell(0);                           //Create Left Cell in above created Row(TR).
            cellLeft.style.width = "5px";
        var img = document.createElement('input');                  //Create INPUT Html Control.
        img.type = 'image';                                         //Set TYPE attribute as IMAGE.
        img.alt = 'image' + TermDefID;
        img.src = 'images/cross.gif';                               //Assign IMAGE path (URL).
        /*  In-line function creation:
            This function will calledup, when user clicks on Image button,for removing Terms from My Glossary.  
        */                
        img.onclick = function(){ 
                                    //When Cancel clicked from My Glossary Box.
                                    //Make Ajax call to Delete term Def ID. 
                                    GetMessageFromServer('A,' + termID); 
                                    var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary'); 
                                    var tableRow =document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_ImageRow' + termID); 
                                    if (tableRow ==  null)
                                    tableRow =document.getElementById('ImageRow' + termID);
                                    tbl.deleteRow(tableRow.rowIndex);                    //Delete Row from Table
                                    MakeUncheck(termID);
                                    SetViewMyGlossary(); 
                                    return false;
                                }; //end of In-line function creation.
        cellLeft.appendChild(img);                                //Append IMAGE control in Left cell.
        
        //Right Cell
        var cellRightCell  = row.insertCell(1);                    //Insert Second Cell in same row.
        var textNode = document.createTextNode(NewTermName);       //Create Text Node by using Term Information.
        cellRightCell.appendChild(textNode);                       //Append Text Node in Right Cell.
        cellRightCell.className= "wrapMozillText"; 
        SetViewMyGlossary(); 
        
        return false;                                             //Don't Post Back.  
    }
    catch(e)
    {
        alert(e.discription);                                   //If Error show discription.
    }

}
//for Creating Term Name with Number.
//it will return Term Name to be added to newely created Row.
function AddTermDefinitionNo(termName,TermDefID,termID)
{
try
{

 var retTermName ;
 var rID =1;
 var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary');
    if (tbl != null)
    {   
             var tableRow =document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_ImageRow' + termID); 
             if (tableRow ==  null)
               tableRow =document.getElementById('ImageRow' + termID);
               
            var oldName = tableRow.cells[1].innerHTML ;
            var brValue = trim(oldName.substring(oldName.indexOf(termName) + termName.length,oldName.length));
            if(brValue.indexOf("(") > -1)
            {
                var outstr = ((brValue.charAt(0,1) == "(") ? brValue.substring(1,brValue.length-1) : brValue);
                tableRow.cells[1].innerHTML = termName + " (" +  (parseInt(outstr) + 1).toString() + ")";
            }
            else
            {
                tableRow.cells[1].innerHTML = termName + " (2)"; 
            }
            
             
            
        
    }
    
      
}
catch(e)
{

}
}

//re-arrange term no in my Glossary box.
function DeleteDefinitionNo(termName,TermDefID,termID)
{
try
{
 var retTermName ;
 var rID =1;
 var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary');
    if (tbl != null)
    {   
             var tableRow =document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_ImageRow' + termID); 
             if (tableRow ==  null)
               tableRow =document.getElementById('ImageRow' + termID);
               
            var oldName = tableRow.cells[1].innerHTML ;
            var brValue = trim(oldName.substring(oldName.indexOf(termName) + termName.length,oldName.length));
            
            if(brValue.indexOf("(") > -1)
            {
                var outstr = ((brValue.charAt(0,1) == "(") ? brValue.substring(1,brValue.length-1) : brValue);
                if (outstr == "2")
                tableRow.cells[1].innerHTML = termName; 
                else
                tableRow.cells[1].innerHTML = termName + " (" +  (parseInt(outstr) - 1).toString() + ")";
            }
            else
            {
                tbl.deleteRow(tableRow.rowIndex);; 
            }
            
             
        
    }
    
}
catch(e)
{
alert(e.discription);
}

}



/***********End Add Terms Into Glossary****/

/**********Remove Term Definatios********/
function RemoveTerm(divID,headID,trID,tableID,definitionID)
{
try
{
    GetMessageFromServer('D,' + definitionID);
     var hiddenf = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_HiddenID').value; 
      if(hiddenf == "")
      hiddenf = definitionID;
      else
      hiddenf = hiddenf + ',' + definitionID;
      document.getElementById('ctl00_ContentPlaceHolder2_ctl00_HiddenID').value=hiddenf
      
     var tbl = document.getElementById(tableID); 
     var tableRow =document.getElementById(trID); 
     tbl.deleteRow(tableRow.rowIndex);
    
     if (tbl.rows.length <= 0)
     {
        document.getElementById(divID).style.display = "none";
        document.getElementById(headID).style.display = "none";     
     }
     else
     {
        var headobj = document.getElementById(headID);
        var brValue =  trim(headobj.childNodes[1].nodeValue);
        var termName = brValue.substring(0,brValue.indexOf("("));
        if(brValue.indexOf("(") > -1)
            {
                var outstr = brValue.substring(brValue.indexOf("(")+1,brValue.indexOf(")"));
                if (outstr == "2")
                headobj.childNodes[1].nodeValue = trim(termName) + ":"; 
                else
                headobj.childNodes[1].nodeValue = termName + "(" +  (parseInt(outstr) - 1).toString() + "):";
            }
     
     }
}
catch(e)
{
  
}

}
/**********End Remove Term Definatios********/

/**********Delete function for server side code*****/ 

function DeleteDefinition(termID)
{
GetMessageFromServer('A,' + termID); 
var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary'); 
var tableRow =document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_ImageRow'  + termID); 
tbl.deleteRow(tableRow.rowIndex); 

SetViewMyGlossary();  
MakeUncheck(termID);          
return false;

}


function SetViewMyGlossary()
{

        var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary'); 
        if(tbl.rows.length <= 0 )
            document.getElementById('lnkViewMyGlossary').style.display = "none"; 
        else
            document.getElementById('lnkViewMyGlossary').style.display = "";
            
}

function validate()
{
    var txt = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_txtSearch').value;
    var newTxt = trim(txt);
    if(newTxt.length <= 0)
    {
        alert("Please Enter Valid Search!");
        document.getElementById('ctl00_ContentPlaceHolder2_ctl00_txtSearch').value ="";
        document.getElementById('ctl00_ContentPlaceHolder2_ctl00_txtSearch').focus();
        return false;
    }
       return true; 
        
}

 function trim(txt) 
 { 
 return txt.replace(/^\s+|\s+$/, ''); 
 };
 
 
 function OpenPrintPage()
 {
    var hiddenf = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_HiddenID').value;
    newwindow=window.open("UserPages/myGlossaryPrint.aspx" ,'Glossary','height=600,width=650,left=100,top=100,resizable=yes, scrollbars=1,location=no,menubar=yes');
	if (window.focus) {newwindow.focus()}
	return false;
    
 }
 
 function print1()
{
    document.getElementById('lnkPrint').style.display = "none";    
    window.print();
    document.getElementById('lnkPrint').style.display = "";
}

function DeleteAll()
{
    try 
    {
        //Do you want to delete all saved terms?
    
    var where_to= confirm("Do you want to delete all saved terms?");
    if (where_to != true)
        return ; 

        GetMessageFromServer('ALL');
        var tbl = document.getElementById('ctl00_ContentPlaceHolder2_ctl00_MyGlossary1_tblMyGlossary'); 
         if (tbl !=  null)
            for(i=tbl.rows.length-1; i > -1; i--)
                tbl.deleteRow(i); 
                
        document.getElementById('lnkViewMyGlossary').style.display = "none"; 
        
         var elem = document.forms[1].elements;
         for(var i=0;i<elem.length;i++)
            if(elem[i].type=="checkbox")
                elem[i].checked = false; 
      


    }
    catch(e)
    {}   
}

function MakeUncheck(termID)
{
    try
    {
         var elem = document.forms[1].elements;
         for(var i=0;i<elem.length;i++)
            if(elem[i].type=="checkbox")
            {
                if(elem[i].name.indexOf("-" + termID  ) > -1)
                elem[i].checked = false;
            }    
    }
    catch(e)
    {}

}

function onEnterOnTextBox(obj)
{
if(event.keyCode==13) 
{
    var txt = obj.value;
    var newTxt = trim(txt);
    if(newTxt.length <= 0)
    {
        alert("Please Enter Valid Search!");
        obj.value ="";
        obj.focus();
        return false;
    }
        
    document.getElementById('ctl00_ContentPlaceHolder2_ctl00_btnSearch').click(); 
    return false;
}

}

