var gAJAXReturnData = "";
var assoData=null;
var _articleID=null;
var selTab=1;
$(document).ready(function(){
    if(document.getElementById('container')!=null)
    {
        $('#container').tabs({
            remote: true,
            fxFade:true,
            fxSpeed:'slow',
            fxAutoHeight: true
        });
    }
});

function CallAutoComp(sUrl,sElement){
    $(document).ready(function(){
        $("#"+sElement).autocomplete(sUrl,
        {
            loadingClass:"ac_loading",
            inputClass:"ac_input",
            resultsClass:"ac_results",
            minChars:1
        });
    });
}
function completeWithData(sData,sElement,dFlag)
{
    sData=sData.split(",");
    
    if(dFlag==true)
    {
        sData=initMap(sData);
    }

    $("#"+sElement).autocomplete(sData,
    {
        loadingClass:"ac_loading",
        inputClass:"ac_input",
        resultsClass:"ac_results",
        minChars:1
    });
}

function initMap(sData)
{
    var tArr=new Array();
    if(assoData==null)
    {
        assoData=new Array();
    }
    for(var i=0;i<sData.length;i++)
    {
        var key=$.trim(sData[i].split("$")[0]);
        var value=$.trim(sData[i].split("$")[1]);
        tArr[i]=key;
        assoData[key]=value;
    }    
    return tArr;
}



function addLiuexLocationData(tblDocID, locID, locData, articleID, IsReadOnly)
{

        if(isDuplicate(tblDocID, tblDocID+locID)){
            return;
        }
        var col_array=locData.split(";");
        var part_num=0;
        var sURL = "./iTECHData";
        /*
        while (part_num < col_array.length)
        {
            alert(col_array[part_num]);
            part_num+=1;
        }*/        

        if (IsReadOnly == false)
        {
            /* call webservice to insert data in correct sel table */
            
            QueryStr="func=exe_sql&sql_str=" + escape("insert into articles_sel_locations values(" + locID+ "," + articleID + ")");
            sErrMsg="Error! addLiuexLocationData Insert article location" + sURL + " Qry:" + QueryStr;
            isAsync=false;
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        }

        var pvtCity =col_array[0];
        var pvtState =col_array[1];
        var pvtCountry =col_array[2];

        if (typeof pvtCity == "undefined")
        {
            pvtCity="";
        }
        if (typeof pvtState == "undefined")
        {
            pvtState="";
        }
        if (typeof pvtCountry == "undefined")
        {
            pvtCountry="";
        }

        if (typeof pvtCity == "undefined")
        {
            return;
        }
       
        var trHTML="<tr id='"+tblDocID+locID+"'>";
        trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtCity+"</td>";
        trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtState+"</td>";
        trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtCountry+"</td>";


        trHTML+="<td style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'><img border='0' onclick=\"javascript:iremove('delete from articles_sel_locations where location_id="+locID+" and article_id=" + articleID+"','" + tblDocID+ "','" + locID + "');\" src='resources/icons/delete.jpg'/></a></td>";


        if(IsReadOnly){
            sURL = "./iTECHData"
            QueryStr="func=precision_by_article_locations&location_id=" + locID + "&article_id=" + articleID ;
            sErrMsg="Error! addLiuexLocationData Insert article" + sURL + " Qry:" + QueryStr;
            isAsync=false;
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
            trHTML+="<td id='td" + tblDocID + locID + "' style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'>"+gAJAXReturnData.replace('~',',')+"</td>";
        }else{
             trHTML+="<td id='td" + tblDocID + locID + "' style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'></td>";
        }
         trHTML+="<td  style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'><img border='0' onclick=\"$.showAkModal('./tabs/precisionRefModal.jsp?tdID=td" + tblDocID + locID + "&article_id=" + articleID + "&location_id="+locID + "','Add Precision',330,200);return false;\" src='resources/icons/popup.gif'/></a></td>";

        trHTML+="</tr>";
        var openerTable=document.getElementById(tblDocID);        
        openerTable.innerHTML+=trHTML;    


}
function addOldFilmsData(tblDocID, Old_Films_Data_id, articleID, IsReadOnly)
{
    if(isDuplicate(tblDocID, tblDocID+Old_Films_Data_id)){
            return;
    }
    var sURL = "./iTECHData"
    var QueryStr="func=Old_Films_Data_by_id&Old_Films_Data_id="+Old_Films_Data_id;
    var sErrMsg="Error! AddOldFilmsData " + sURL + " Qry:" + QueryStr;
    var isAsync=false;
    calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
    var col_array=gAJAXReturnData.split("~");
    var pvtFNameFr=col_array[0];
    var pvtPrefix=col_array[1];
    var pvtProducteur=col_array[2];
    var pvtAnn=col_array[3];
    var pvtPays=col_array[4];

    if(typeof pvtFNameFr=="undefined"){
        pvtFNameFr="";
    }
     if(typeof pvtPrefix=="undefined"){
        pvtPrefix="";
    }
    if(typeof pvtProducteur=="undefined"){
        pvtProducteur="";
    }
    if(typeof pvtAnn=="undefined"){
        pvtAnn="";
    }
    if(typeof pvtPays=="undefined"){
        pvtPays="";
    }
        /*
        while (part_num < col_array.length)
        {
            alert(col_array[part_num]);
            part_num+=1;
        }*/

        if (IsReadOnly == false)
        {
            /* call webservice to insert data in correct sel table */

            var QueryStr="func=exe_sql&sql_str=" + escape("insert into articles_sel_old_films_data values("+ Old_Films_Data_id +","  + articleID +  ")");
            var sErrMsg="Error! FilmEtAgents";
            var isAsync=false;
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        }

       var trHTML= "<tr id='tblOldFilms"+Old_Films_Data_id+"'>";
       trHTML+="<td style=\"font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;\">"+pvtPrefix+" "+pvtFNameFr+"</td>";
       trHTML+="<td style=\"font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;\">"+pvtProducteur+"</td>";
       trHTML+="<td style=\"font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;\">"+pvtAnn+"</td>";
       trHTML+="<td style=\"font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;\">"+pvtPays+"</td>";
       trHTML+="<td style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'> <img border='0' onclick=\"javascript:iremove('delete from articles_sel_old_films_data where old_films_data_id="+Old_Films_Data_id+"','tblOldFilms','"+Old_Films_Data_id+"');\" src='resources/icons/delete.jpg'/></a></td></tr>";


        var openerTable=parent.document.getElementById(tblDocID);
        openerTable.innerHTML+=trHTML;


}

/* Function to create places de spectacle */
function addPlacesData(tblDocID, performanceSitesId){
        if(isDuplicate(tblDocID, tblDocID+performanceSitesId)){
            return;
        }

        var sURL = "./iTECHData";
        
        var QueryStr="func=performance_sites_by_id&performance_sites_id="+performanceSitesId;
        var sErrMsg="Error! AddPlacesData " + sURL + " Qry:" + QueryStr;
        
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        //alert(gAJAXReturnData);
        var col_array=gAJAXReturnData.split("~");
        var pvtPrifixFr =col_array[0];
        var pvtName =col_array[1];
        var pvtCity =col_array[2];
        var pvtVAussi =col_array[3];
        var pvtVerified =col_array[4];

     if(typeof pvtPrifixFr=="undefined"){
        pvtPrifixFr="";
    }
     if(typeof pvtName=="undefined"){
        pvtName="";
    }
    if(typeof pvtCity=="undefined"){
        pvtCity="";
    }
    if(typeof pvtVAussi=="undefined"){
        pvtVAussi="";
    }

        
        //alert(pvtPrifixFr);
        //alert(pvtVerified);
        var trHTML="<tr id='tblPlaces"+performanceSitesId+"'>";

        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>"+pvtPrifixFr+"</td>";


        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>"+pvtName+"</td>";
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>"+pvtCity+"</td>";
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>"+pvtVAussi+"</td>";
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>";
        var chkHTML="";        
        if(pvtVerified=="1")
        {
            chkHTML="<input type='checkbox' disabled='disabled' id='' name='' checked='checked' />";
        }
        else
        {
            chkHTML="<input type='checkbox' disabled='disabled' id='' name=''/>";
        }
        trHTML+=chkHTML;
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>";
        trHTML+="<a href='#'><img src='resources/icons/delete.jpg' border='0' onclick=\"javascript:remove('tblPlaces','"+performanceSitesId+"');\"/></a>";
        trHTML+="</td></tr>";
        var openerTable=parent.document.getElementById(tblDocID);
        openerTable.innerHTML+=trHTML;

}

function addDisposit(tblDocID, devicesRefId){    
    if(isDuplicate(tblDocID, tblDocID+devicesRefId)){
        return;
    }
     var sURL = "./iTECHData"
        var QueryStr="func=devices_ref_by_id&devices_ref_id="+devicesRefId;
        var sErrMsg="Error! AddDisposit " + sURL + " Qry:" + QueryStr;
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        //alert(gAJAXReturnData);
        var col_array=gAJAXReturnData.split("~");
        var pvtNameFr =col_array[1];
        var pvtNameEn =col_array[2];
        var pvtVerified =col_array[3];
        var trHTML="<tr id='tblDisposit"+devicesRefId+"'>";
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>"+pvtNameFr+"</td>";
        trHTML+="<td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>";
        var chkHTML="";
        if(pvtVerified=="1")
        {             
             chkHTML="<input type='checkbox' disabled='disabled' id='' name='' checked='checked' />";
        }
        else
        {
               chkHTML="<input type='checkbox' disabled='disabled' id='' name=''/>";
        }
        trHTML+=chkHTML;
        trHTML+="</td><td style='font-weight:normal;border-top:dotted 1px #cccccc;border-right:dotted 1px #cccccc;'>";
        trHTML+="<a href='#'><img src='resources/icons/delete.jpg' border='0' onclick=\"javascript:remove('tblDisposit','"+devicesRefId+"');\"/></a></td></tr>";
        var openerTable=parent.document.getElementById(tblDocID);
        openerTable.innerHTML+=trHTML;
}

function addAgentData(tblDocID, agentID, articleID, IsReadOnly)
{

        if(isDuplicate(tblDocID, tblDocID+agentID)){
            return;
        }
        /* call webservice to get the data */
        var sURL = "./iTECHData"
        var QueryStr="func=agents_by_id&agent_id="+agentID;
        var sErrMsg="Error! addAgentData " + sURL + " Qry:" + QueryStr;
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        var col_array=gAJAXReturnData.split("~");        
        var part_num=0;        
         /*
        while (part_num < col_array.length)
        {
            alert(col_array[part_num]);
            part_num+=1;
        }       */

        if (IsReadOnly == false)
        {
            /* call webservice to insert data in correct sel table */
            sURL = "./iTECHData"

            if (tblDocID=="tblAgentsFilms")
            {
                QueryStr="func=exe_sql&sql_str=" + escape("insert into articles_sel_films_agents values(1, " + agentID+ "," + articleID + ")");
            }
            else
            {
                QueryStr="func=exe_sql&sql_str=" + escape("insert into articles_sel_location_agent values(" + agentID+ "," + articleID + ",1)");
            }


            sErrMsg="Error! addAgentData Insert article" + sURL + " Qry:" + QueryStr;
            isAsync=false;
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        }

        var pvtFirstName =col_array[1];
        var pvtLastName =col_array[2];
        var pvtAliasName =col_array[3];
        var pvtIsCompany =col_array[4];
        var pvtIsVerified =col_array[5];
        var pvtCountry =col_array[6];
        var pvtOfficialRole =col_array[8];
        
       
        if (typeof pvtFirstName == "undefined")
        {          
           return;
        }
       
        var trHTML="<tr id='"+tblDocID+agentID+"'>";
        trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtFirstName+"</td>";
        trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtLastName+"</td>";
        if (tblDocID != "tblAuthors")
        {
            trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtAliasName+"</td>";
            trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtOfficialRole+"</td>";
            trHTML+="<td style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>"+pvtCountry+"</td>";
            trHTML+="<td align='center' style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>";

            if(pvtIsCompany==true)
            {
                trHTML+="<input type='checkbox' disabled checked name='chkIsCompany' id='chkIsCompany'/></td>";
            }
            else
            {
                trHTML+="<input type='checkbox' disabled name='chkIsCompany' id='chkIsCompany'/></td>";
            }
        }

        trHTML+="<td align='center' style='color:black;border-top: 1px dotted  rgb(204, 204, 204); border-right: 1px dotted rgb(204, 204, 204); font-weight:normal;' class='label'>";
        if(pvtIsVerified==true)
        {
            trHTML+="<input type='checkbox' disabled checked name='chkVerified' id='chkVerified'/></td>";
        }
        else
        {
            trHTML+="<input type='checkbox' disabled name='chkVerified' id='chkVerified'/></td>";
        }

        if (tblDocID=="tblAgentsFilms")
        {
            trHTML+="<td style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'><img border='0' onclick=\"javascript:iremove('delete from articles_sel_films_agents where agent_id="+agentID+" and article_id=" + articleID+"','" + tblDocID+ "','" + agentID + "');\" src='resources/icons/delete.jpg'/></a></td>";
        }
        else
        {
            trHTML+="<td style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'><img border='0' onclick=\"javascript:iremove('delete from articles_sel_location_agent where agent_id="+agentID+" and article_id=" + articleID+"','" + tblDocID+ "','" + agentID + "');\" src='resources/icons/delete.jpg'/></a></td>";
        }

        if (tblDocID != "tblAuthors") /* Add tab for functions */
        {

            
           
            if (IsReadOnly == true)
            {
                /* call webservice to insert data in correct sel table */
                sURL = "./iTECHData"
                QueryStr="func=fun_by_article_agent&agent_id=" + agentID + "&article_id=" + articleID ;
                if (tblDocID=="tblAgentsFilms")
                {
                    QueryStr="func=get_sql&sql_str=" + escape("select f.name_fr from articles_sel_films_agents as l, functions_ref as f where f.id <> 1 and l.function_id = f.id and l.agent_id = " + agentID + " and l.article_id = " + articleID);
                }
                else
                {
                    QueryStr="func=fun_by_article_agent&agent_id=" + agentID + "&article_id=" + articleID ;
                }


                sErrMsg="Error! addAgentData Insert article" + sURL + " Qry:" + QueryStr;
                isAsync=false;
                calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
                
                
                trHTML+="<td id='td" + tblDocID + agentID + "' style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'>" + gAJAXReturnData.replace('~',',') + "</td>";
                //alert(gAJAXReturnData.replace('~',','));
            }
            else
            {
                trHTML+="<td id='td" + tblDocID + agentID + "' style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'></td>";
            }

            

            trHTML+="<td  style='color:black;border-top: 1px dotted rgb(204, 204, 204);font-weight:normal;border-right: 1px dotted rgb(204, 204, 204);' class='label'><a href='#'><img border='0' onclick=\"$.showAkModal('./tabs/functionsRefModal.jsp?tdID=td" + tblDocID + agentID + "&article_id=" + articleID + "&agent_id="+agentID + "','Add Function',330,200);return false;\" src='resources/icons/popup.gif'/></a></td>";

        }




        trHTML+="</tr>";
        var openerTable=document.getElementById(tblDocID);
        openerTable.innerHTML+=trHTML;     


}

var trURLCounter=1;
var trDateCounter=1;
var trAuthNewCounter=1;
function addRow(type)
{

    if(type.toString().toUpperCase()=="URL")
    {
        $("#tblURL tr:first").find("img").css("visibility","visible");
        var trHTML="<td style='padding-left:0px;width:396px;padding-right:0px;'><input type='text' id='txtURL"+trURLCounter+"' name='txtURL' style='border:solid 1px #cccccc;padding-left:0px;width:396px;padding-right:0px;'/></td>";
        trHTML+="<td align='left'><a href='#'><img src='resources/icons/delete.jpg' id='imgURL"+trURLCounter+"' onclick=\"javascript:deleteRow('tblURL"+trURLCounter+"',this.id,'URL');\" border='0'/></a></td>";
        $("#tblURL tr[id='trURLAdd']:last").before("<tr id='tblURL"+trURLCounter+"'>"+trHTML+"</tr>");
        trURLCounter++;
    }
    else if(type.toString().toUpperCase()=="DATE")
    {
        $("#tblPage tr:first").find("img").css("visibility","visible");
        var dateHTML="<td padding:0px;padding-left:10px;><input type='text' id='txtDay' name='txtDay' value='DD' size='2'  maxlength='2' style='border:solid 1px #cccccc;'/></td>";
        dateHTML+="<td style='padding:0px;'><input type='text' id='txtMonth' name='txtMonth' value='MM' size='2' maxlength='2' style='border:solid 1px #cccccc;'/></td>";
        dateHTML+="<td style='padding:0px;'><input type='text' id='txtYear' name='txtYear' value='YYYY' size='4'  maxlength='4' style='border:solid 1px #cccccc;'/></td>";
        var pageHTML="<td style='padding-left:7px;'><input type='text' id='txtPage' name='txtPage' style='border:solid 1px #cccccc;width:156px;'/></td>";
        pageHTML+="<td align='left' style='padding-left:0px;'><a href='#'><img id='imgDatePage"+trDateCounter+"' src='resources/icons/delete.jpg' style='visibility:visible;' onclick=\"javascript:deleteRow('trPage"+trDateCounter+",trDate"+trDateCounter+"',this.id,'DATE');\" border='0'/></a></td>";
        $("#tblDate tr[id='trDate"+(trDateCounter-1)+"']:last").after("<tr id='trDate"+trDateCounter+"'>"+dateHTML+"</tr>");
        $("#tblPage tr[id='trPage"+(trDateCounter-1)+"']:last").after("<tr id='trPage"+trDateCounter+"'>"+pageHTML+"</tr>");
        trDateCounter++;
    }
}

function deleteRow(ID,imgID,type)
{
    if(type.toString().toUpperCase()=="URL")
    {
        var i=countRows("tblURL");
        if(i>1)
        {
            $("#"+ID).remove();
        }
        if(i==2)
        {
            $("#tblURL tr:first").find("img").css("visibility","hidden");
        }
    }
    else if(type.toString().toUpperCase()=="DATE")
    {
        var j=countRows("tblPage");
        if(j>1)
        {
            var pageID=ID.split(",")[0];
            var dateID=ID.split(",")[1];
            $("#"+pageID).remove();
            $("#"+dateID).remove();
        }
        if(j==2)
        {
            $("#tblPage tr:first").find("img").css("visibility","hidden");
        }
    }
}
function iremove(sSQL, sTableName, sRowID){
       
    /* call webservice to dalete data from correct sel table */     
     var reply=confirm("Are you sure?");
    if (!reply)
    {
        return;
    }
    var sURL = "./iTECHData";

            var QueryStr="func=exe_sql&sql_str=" + escape(sSQL);

            var sErrMsg="Error! iremove " + sURL + " Qry:" + QueryStr;
            var isAsync=false;
            
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
            $("#"+sTableName).find("[id='"+(sTableName+sRowID)+"']").remove();

}

function remove(sTableName,sRowID)
{
    var reply=confirm("Are you sure?");
    if(reply==true)
    {
        if(sTableName!="")
        {
            var sURL="";
            if(sTableName=="tblAuthors")
            {
                sURL="./tabs/removeAgent.jsp";
            }
            else if(sTableName=="tblPlaces")
            {
                sURL="./tabs/removePerformanceSites.jsp";
            }
            else if(sTableName=="tblDisposit")
            {

                sURL="./tabs/removeDevicesRef.jsp";
            }
            var QueryStr="rowID="+sRowID;
            var sErrMsg="Error! remove: " + sURL + " Qry:" + QueryStr;
            var isAsync=false;
           // alert("Remove :" + sURL, QueryStr);
            calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
            if(gAJAXReturnData=="0")
            {
                $("#"+sTableName).find("[id='"+(sTableName+sRowID)+"']").remove();
            }
            else
            {
                alert(gAJAXReturnData);
            }
        }
    }
}
function hide(trId)
{
    $("#"+trId).remove();
}
function countRows(tblName)
{
    var i=0;

    $("#"+tblName).find("tr").each(function(){
        var trID=$(this).attr("id");
        if(trID!="")
        {
            i++;
        }
    });
    return i;
}

function addCorrectionFactor()
{
    $(".tabs-container").css("border","solid 1px #455d85")
    .css("overflow","auto").css("padding","15px");
}
function createAlertBox()
{
    //first slide down and blink the alert box
    $("#object").animate({
        bottom: "0px"
    }, 2000 ).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);

    //close the message box when the cross image is clicked
    $("#close_message").click(function()
    {
        $("#object").fadeOut("slow");
    });
}

function calliAlert(sHeadingMsg,sBodyMsg,sAlertType)
{
    if(sAlertType.toString().toUpperCase()=="WARNING")
    {
        document.getElementById("object").removeAttribute("class");
        $("#object").addClass("messWarning");
        $("#dialogHeading").html(sHeadingMsg);
        $("#dialogBody").html(sBodyMsg);
        createAlertBox();
    }
    else if(sAlertType.toString().toUpperCase()=="ERROR")
    {
        document.getElementById("object").removeAttribute("class");
        $("#object").addClass("messError");
        $("#dialogHeading").html(sHeadingMsg);
        $("#dialogBody").html(sBodyMsg);
        createAlertBox();
    }
    else
    {
        document.getElementById("object").removeAttribute("class");
        $("#object").addClass("message");
        $("#dialogHeading").html(sHeadingMsg);
        $("#dialogBody").html(sBodyMsg);
        createAlertBox();
    }
}

function isValidDate(dateStr) {
    // Checks for the following valid date formats:
    // MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
    // Also separates date into month, day, and year variables

    //var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

    // To require a 4 digit year entry, use this line instead:
    // var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
    var datePat =/(0000)|(18|19|20)\d\d[- \/.]([0-9]|0[1-9]|1[012])[- \/.]([0-9]|0[1-9]|[12][0-9]|3[01])/

    var matchArray = dateStr.match(datePat); // is the format ok?
    if (matchArray == null) {
        alert("Date is not in a valid format.")
        return false;
    }
    var dateArr=dateStr.split("-");
    month = dateArr[1]; // parse date into variables
    day = dateArr[2];
    year = dateArr[0];
    /*month = matchArray[1]; // parse date into variables
    day = matchArray[2];
    year = matchArray[0];
    alert(year);
    alert(month);
    alert(day);*/
    if (month < 0 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }
    
    if (day < 0 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn't have 31 days!")
        return false
    }
    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day>29 || (day==29 && !isleap)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
        }
    }
    return true;  // date is valid
}

function checkTextForValue(sCntrls)
{
    var hasValue=true;
    var arrCntrls=sCntrls.split(",");
    for(var i=0;i<arrCntrls.length;i++)
    {
        var sCID=$.trim(arrCntrls[i]);
        if(sCID!="")
        {
            if(document.getElementById(sCID)!=null)
            {
                var sVal=$("#"+sCID).attr("value");
                if(sVal=="")
                {
                    hasValue=false;
                    $("#"+sCID).css("border","solid 1px chocolate");
                    $("#"+sCID).change(function(){
                        $(this).css("border","solid 1px #cccccc");
                    });
                }
            }
        }
    }
    return hasValue;
}
function checkSelectForZeroIndex(sCntrls)
{
    var hasValue=true;
    var arrCntrls=sCntrls.split(",");
    for(var i=0;i<arrCntrls.length;i++)
    {
        var sCID=$.trim(arrCntrls[i]);
        if(sCID!="")
        {
            if(document.getElementById(sCID)!=null)
            {
                var index=$("#"+sCID).attr("selectedIndex");
                if(index==0)
                {
                    hasValue=false;
                    $("#"+sCID).css("border","solid 1px chocolate");
                    $("#"+sCID).change(function(){
                        $(this).css("border","solid 1px #cccccc");
                    });
                }
            }
        }
    }
    return hasValue;
}

function calliAJAX(sURL, QueryStr, sErrMsg,isAsync)
{
    if(document.getElementById("loading")!=null)
    {
        $("#loading").css("visibility","visible");
    }
    gAJAXReturnData = "";
    $.ajax({
        type: "POST",
        async:isAsync,    //async:false
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        url: sURL,
        data: QueryStr,
        error: function(){
            calliAlert(sErrMsg);
        },
        success: function(sMsg){
            if(document.getElementById("loading")!=null)
            {
                $("#loading").css("visibility","hidden");
            }
            gAJAXReturnData = $.trim(sMsg);
        }
    });
}
function calliAlert(sMsg)
{
    alert(sMsg);
}
function IsNumeric(sText)

{
    var ValidChars = "0123456789";
    var IsNumber=true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    return IsNumber;

}
function formatAuthors()
{
    $("#tblAuthors tr td").css("border-top","dotted 1px #cccccc");
    $("#tblAuthors tr td").css("border-right","dotted 1px #cccccc");
    $("#tblAuthors tr td").each(function(){
        $(this).css("font-weight","normal").css("color","black").css("font-size","11px").css("height","20px");
    });
    $("#tblAuthors th").css("background-color","#F5F5DC");
    animateGrid('tblAuthors');
}
function animateGrid(tbl)
{
    $("#"+tbl+" tr").mouseover(function(){
        $(this).find("td").each(function(){
            $(this).css("background-color","#FFF5EE");
        });
    });
    $("#"+tbl+" tr").mouseout(function(){
        $(this).find("td").each(function(){
            $(this).css("background-color","white");
        });
    });
}

function setSaveURL(tabNo)
{
    document.getElementById("anchSave").removeAttribute("onclick");
    isSaved=false;    
    if(tabNo==1)
    {
        selTab=1;
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveSource();");
    }
    if(tabNo==2)
    {
        selTab=2;
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveSpectacles();");
    }
    if(tabNo==3)
    {
        selTab=3;
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveFilms();");
    }
    if(tabNo==4)
    {
        selTab=4;
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveAgentsEtLieux();");
    }
    if(tabNo==5)
    {
        selTab=5
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveSujets();");
    }
    if(tabNo==6)
    {
        selTab=6
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveCommentries();");
    }
    else if(tabNo==7)
    {
        selTab=7;
        document.getElementById("anchSave").setAttribute("onclick","javascript:$('#loading').show();saveNotes();");
    }
}
function saveSpectacles()
{
    var i=0;
    var psIds=new Array();
    $("#tblPlaces").find("tr").each(function(){

        var id=$.trim($(this).attr("id"));
        var trID=id.substring(9,id.length);
        psIds[i]=trID;
        i++;
    });
    var ptrIds=new Array();
    i=0;
    $("#selSpectacle option:selected").each(function(){
        var id=$(this).attr("value");
        ptrIds[i]=id;
        i++;
    });
    var ptrsIds=new Array();
    i=0;
    $("#selSpectacles option:selected").each(function(){
        var id=$(this).attr("value");
        ptrsIds[i]=id;
        i++;
    });
    var odtIds=new Array();
    i=0;
    $("#selDevices option:selected").each(function(){
        var id=$(this).attr("value");
        odtIds[i]=id;
        i++;
    });
    var ndtIds=new Array();
    i=0;
    $("#tblDisposit").find("tr").each(function(){

        var id=$.trim($(this).attr("id"));
        var trID=id.substring(11,id.length);
        ndtIds[i]=trID;
        i++;
    });
    var sURL="./tabs/populateSpectaclesTab.jsp";
    var QueryStr="psIds="+psIds+"&ptrIds="+ptrIds+"&ptrsIds="+ptrsIds+"&odtIds="+odtIds+"&ndtIds="+ndtIds;
   var sErrMsg="Error! saveSpectacles: " + sURL + " Qry:" + QueryStr;
    var isAsync=false;
    calliAJAX(sURL, QueryStr, sErrMsg,isAsync);    
    var divID="remote-tab-2";
    sURL="./tabs/spectacles.jsp";
    $("#"+divID).load(sURL);
    alert(gAJAXReturnData);
    setTimeout('setSaved()',700);

    setLastUpdate();
}
function saveSujets()
{
    var indIds=new Array();
    var i=0;
    $("#selIPR option:selected").each(function(){
        indIds[i]=$(this).attr("value");
        i++;
    });
    var oldSubIds=new Array();
    i=0;
    $("#selOS option:selected").each(function(){
        oldSubIds[i]=$.trim($(this).attr("value"));
        i++;
    });
    var subIds=new Array();
    i=0;
    $("#selSR option:selected").each(function(){
        subIds[i]=$.trim($(this).attr("value"));
        i++;
    });
    var qubecID=new Array();
    i=0;
    $("#selFQR option:selected").each(function(){
        qubecID[i]=$.trim($(this).attr("value"));
        i++;
    });
    
        var sURL="./tabs/populateSujetsTab.jsp";
        var QueryStr="industrial_id="+indIds+"&old_subjects_id="+oldSubIds+"&subject_id="+subIds+"&filmographie_quebec_id="+qubecID+"&article_id="+_articleID;
       // alert(QueryStr);
        var sErrMsg="Error! saveSujets: " + sURL + " Qry:" + QueryStr;
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        var divID="remote-tab-5";
        sURL="./tabs/sujets.jsp";
        $("#"+divID).load(sURL);
        alert(gAJAXReturnData);
        setLastUpdate();
        setTimeout('setSaved()',700);
              
}
function saveFilms()
{
    alert("Transaction successfull.Data saved successfully.");
    setLastUpdate();
    setSaved();
}

function saveAgentsEtLiuex()
{

    var sURL="./tabs/populateSourceTab.jsp";
    var QueryStr="source_id="+artSourceID+"&title="+artTitle+"&publication_date="+artPubDate
    +"&page="+artPage+"&volume="+artVol+"&number="+artNo+"&commentFr=''&commentEn=''&notes=''&oldDbId="+0
    +"&industrialPhaseId="+0+"&pubWeb="+artPubWeb+"&author_name_ids="+artSAuth
    +"&article_type_ids="+arrSTypes+"&content_type_ids="+arrSCTypes+"&URLs="+bnqlURL
    +"&identical_dates="+idmArtIdentDate+"&pages="+idmArtPage;
    var sErrMsg="Error! saveSource: " + sURL + " Qry:" + QueryStr;
    var isAsync=false;
    calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
    var arrRtn=gAJAXReturnData.split("$");
    if(arrRtn[0]=="0")
    {
        var articleID=arrRtn[1];
        _articleID=articleID;
        $("#lblArticleID").text(_articleID);
        alert("Transaction successfull.Data saved successfully.");
    }
    setLastUpdate();
    setSaved();
    return true;  
}

function saveAgentsEtLieux(){
    setLastUpdate();
    setSaved();
    alert("Transaction successfull.Data saved successfully.");
}

function saveSource()
{
    /**
     * Add the remaing autocompleter key-value pair entered in popup.
     */
    $("div[id='hdnVal']").find("input").each(function(){
        var hdnVal=$(this).attr("value");
        var tArr=hdnVal.split("$");
        var key=$.trim(tArr[0]);
        var val=$.trim(tArr[1]);
        if(typeof assoData[key]=="undefined")
        {
            assoData[key]=val;
        }
    });

    var artPubWeb=$("#rdoPWeb").attr("checked");
    var artSourceName=$.trim($("#txt_name_source").attr("value"));
    if(artSourceName=="")
    {
        alert("Please enter Source Name");
        return false;
    }
    var artSourceID=assoData[artSourceName];
    if(typeof artSourceID=="undefined")
    {
        alert("Invalid Source Name.")
        return false;
    }
    var sourLocID=$("#sel_City_location_ref").attr("name");
    var sourLocName=$.trim($("#sel_City_location_ref").text());
    var sourTypeID=$("#sel_name_source_types_ref").attr("name");
    var sourTypeName=$.trim($("#sel_name_source_types_ref").text());

    var arrOldAgents=new Array();
    $("#sel_name_old_agents option:selected").each(function(){
        var oAgentsID=$.trim($(this).attr("value"));
        var oAgentsName=$.trim($(this).text());
        arrOldAgents[oAgentsID]=oAgentsName;
    });
    
    var artTitle=$.trim($("#txtTitle_articles").attr("value"));
   /* if(artTitle=="")
    {
        alert("Please enter Document Title");
        return false;
    }*/
    var pdMonth=$.trim($("#txtMonth").attr("value"));
    var pdDay=$.trim($("#txtDay").attr("value"));
    var pdYrs=$.trim($("#txtYear").attr("value"));
    var artPubDate=pdYrs+"-"+pdMonth+"-"+pdDay; //validate

    if(!isValidDate(artPubDate))
    {
        return false;
    }

    var artPage=$.trim($("#txtPages_articles").attr("value"));
//    if(artPage=="")
//    {
//        alert("Please enter page Info.");
//        return false;
//    }
    var artVol=$.trim($("#txtVol_articles").attr("value"));
//    if(artVol=="")
//    {
//        alert("Please enter page volume.")
//        return false;
//    }
    var artNo=$.trim($("#txtNo_articles").attr("value"));
//    if(artNo=="")
//    {
//        alert("Please enter Number.");
//        return false;
//    }
    if(isValidNumber(artNo)==false)
    {
        alert("Please enter numeric quantity in No field.");
        return false;
    }
    var arrSTypes=new Array();
    var i=0;
    $("#selName_article_Types_ref option:selected").each(function(){
        var artSTypesTypeID=$(this).attr("value");
        arrSTypes[i]=artSTypesTypeID;
        i++;
    });

    var arrSCTypes=new Array();
    i=0;
    $("#selName_content_Types_ref option:selected").each(function(){
        var artSCTypesCTID=$(this).attr("value");
        arrSCTypes[i]=artSCTypesCTID;
        i++;
    });
    var bnqlURL=new Array();
    i=0;
    var isValUrl=true;
    $("#tblURL tr").each(function(){
        var sVal=$(this).find("td:first").find("input").attr("value");
        if(typeof $.trim(sVal)!="undefined" && $.trim(sVal)!="")
        {
            if(!isURL($.trim(sVal))){
                alert("Plese check URL entry on number = "+(i+1));
                isValUrl=false;
                return false;
            }
            bnqlURL[i]=$.trim(sVal);
            i++;
        }
    });
    if(!isValUrl){
        return false;
    }

    var idmArtIdentDate=new Array();

    var tblDate=document.getElementById("tblDate");
    var trDate=tblDate.getElementsByTagName("tr");
    for(var p=0;p<trDate.length;p++)
    {
        var tdDate=trDate[p].getElementsByTagName("td");
        var day=tdDate[0].childNodes[0].getAttribute("value");
        var month=tdDate[1].childNodes[0].getAttribute("value");
        var yrs=tdDate[2].childNodes[0].getAttribute("value");
        var sDate=yrs+"-"+ month+"-"+day;

        if(sDate=="--" || sDate=="YYYY-MM-DD")
        {
            sDate="";
            idmArtIdentDate[p]=sDate;            
        }
        if(sDate !="" && sDate!="MM-DD-YYYY")
        {
            if(isValidDate(sDate)==true)
            {
                idmArtIdentDate[p]=sDate;
            }
            else
            {
                return false;
            }
        }
    }
    var idmArtPage=new Array();
    i=0;
    $("#tblPage tr").each(function(){
        var sVal=$(this).find("td:first").find("input").attr("value");
        if(typeof $.trim(sVal)!="undefined" && $.trim(sVal)!="")
        {
            idmArtPage[i]=$.trim(sVal);
            i++;
        }
    });

    var artSAuth=new Array();
    i=0;
    $("#tblAuthors tr").each(function(){
        var sID=$(this).attr("id");
        sID=sID.substring(10,sID.length);
        if(typeof $.trim(sID)!="undefined" && $.trim(sID)!="")
        {            
            artSAuth[i]=sID;
            i++;
        }
    });
    var sURL="./tabs/populateSourceTab.jsp";
    var QueryStr="source_id="+artSourceID+"&title="+artTitle+"&publication_date="+artPubDate
    +"&page="+artPage+"&volume="+artVol+"&number="+artNo+"&commentFr=&commentEn=&notes=&oldDbId="+0
    +"&industrialPhaseId="+0+"&pubWeb="+artPubWeb+"&author_name_ids="+artSAuth
    +"&article_type_ids="+arrSTypes+"&content_type_ids="+arrSCTypes+"&URLs="+bnqlURL
    +"&identical_dates="+idmArtIdentDate+"&pages="+idmArtPage;
    var sErrMsg="Error! saveSource: " + sURL + " Qry:" + QueryStr;
    var isAsync=false;
    calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
    var arrRtn=gAJAXReturnData.split("$");
    if(arrRtn[0]=="0")
    {
        var articleID=arrRtn[1];
        _articleID=articleID;
        $("#lblArticleID").text(_articleID);
        var divID="remote-tab-1";
        var sURL="./tabs/source.jsp";
        $('#'+divID).load(sURL);
        alert("Transaction successfull.Data saved successfully.");
    }
    $('#container').enableTab(2);
    $('#container').enableTab(3);
    $('#container').enableTab(4);
    $('#container').enableTab(5);
    $('#container').enableTab(6);
    $('#container').enableTab(7);
    
    setTimeout('setSaved()',1000);

    return true;
    
}

function saveNotes(){
    if(_articleID!=null)
    {
        var notes=document.getElementById("txtNotes").value;
        var sURL="./tabs/populateNotesTab.jsp";
        var QueryStr="article_id="+_articleID+"&notes="+notes;
        var sErrMsg="Error! saveNotes: " + sURL + " Qry:" + QueryStr;
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        if(gAJAXReturnData!="")
        {
            alert(gAJAXReturnData);
        }
    }
    else
    {
        alert("Please specify the article_id");
        return false;
    }
    setLastUpdate();
    setSaved();
    return true;
}
function saveCommentries()
{
    if(_articleID!=null)
    {
        var comment=document.getElementById("txtComment").value;
        var sURL="./tabs/populateCommentriesTab.jsp";
        var QueryStr="article_id="+_articleID+"&comment="+comment;
        var sErrMsg="Error! saveCommentries: " + sURL + " Qry:" + QueryStr;
        var isAsync=false;
        calliAJAX(sURL, QueryStr, sErrMsg,isAsync);
        if(gAJAXReturnData!="")
        {
            alert(gAJAXReturnData);
        }
    }
    else
    {
        alert("Please specify the article_id");
        return false;
    }
    setLastUpdate();
    setSaved();
    return true;
}
function isValidNumber(sVal)
{
    if(sVal!="")
    {
        if(sVal.length>8)
        {
            return false;
        }
        else
        {
            var NOS="0,1,2,3,4,5,6,7,8,9";
            for(var i=0;i<sVal.length;i++)
            {
                var ch=sVal.charAt(i);
                var index=NOS.indexOf(ch);
                if(index==-1)
                {
                    return false;
                }
            }
        }
    }
    return true;
}

function parseCloseList(sTblID)
{
    var arr=new Array();
    
    var tbl=document.getElementById(sTblID);
    var trTbl=tbl.getElementsByTagName("tr");
    for(var i=0;i<trTbl.length;i++)
    {
        var tdTbl=trTbl[i].getElementsByTagName("td")[0];
        var inputTd=tdTbl.getElementsByTagName("input")[0];
        var id=inputTd.getAttribute("id");
        var val=inputTd.getAttribute("value");
        if(typeof id!="undefined")
        {
            if(typeof val!="undefined")
            {
                if(val!="")
                {
                    arr[i]=id;
                }
            }
        }
    }
    return arr;
}

function CallSetAgents(tblId,txId,sVal,sData,articleID){

           addAgentData(tblId, assoData[sVal], articleID, false ); /* For some reason the data is lost.. so you have to prepare for auto lookup again */
           completeWithData(sData,txId,true);
     }
function selectOptions(id,optionVals)
    {
        var arrVals=optionVals.split(",");
        for(var i=0;i<arrVals.length;i++)
        {
            $("#"+id).find("option").each(function(){
                var sVal=$(this).attr("value");
                if(isMatch(sVal,arrVals)==true)
                {
                    //$("#"+id).attr("selectedIndex",i);
                    $(this).attr("selected","true");
                }
           });
        }
    }

function setLookupName(lName){        
        lookupName=lName;        
}

function isMatch(sVal,sArr)
    {
        for(var i=0;i<sArr.length;i++)
        {
            if($.trim(sArr[i])==$.trim(sVal))
            {
                return true;
            }
        }
        return false;
    }
    function isDuplicate(tableId,rowId){
     var table=document.getElementById(tableId);
     var tags= table.getElementsByTagName("tr");
     var num=0;    
     while(num<tags.length){        
         if( $(tags[num]).attr("id")==rowId){
             alert("Duplicate Entry!!")
             return true
         }num+=1;
     }return false;
}

 function isURL(argvalue) {     
  if (argvalue.indexOf(" ") != -1)
    return false;
  else if (argvalue.indexOf("http://") == -1)
    return false;
  else if (argvalue == "http://")
    return false;
  else if (argvalue.indexOf("http://") > 0)
    return false;

  argvalue = argvalue.substring(7, argvalue.length);
  if (argvalue.indexOf(".") == -1)
    return false;
  else if (argvalue.indexOf(".") == 0)
    return false;
  else if (argvalue.charAt(argvalue.length - 1) == ".")
    return false;

  if (argvalue.indexOf("/") != -1) {
    argvalue = argvalue.substring(0, argvalue.indexOf("/"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }

  if (argvalue.indexOf(":") != -1) {
    if (argvalue.indexOf(":") == (argvalue.length - 1))
      return false;
    else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
      return false;
    argvalue = argvalue.substring(0, argvalue.indexOf(":"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }
  return true;
}

function replaceAll(ostr,ochs,nchs){
    var str=ostr;
    if(!(typeof str=="undefined")){
        var index=str.indexOf(ochs);
        while(index!=-1){
            str=str.replace(ochs,nchs);
            index=str.indexOf(ochs);
        }
    }
    return str;
}

function replaceSpecialCh(val){
   // alert("replace "+val);
    val=replaceAll(val,",","__COMMA__");
    val=replaceAll(val,"$","__DOLLAR__");
    val=replaceAll(val,"&","__AND__");
    val=replaceAll(val,"%","__PERCENT__");
    val=replaceAll(val,"'","__QUOTE__");
    val=replaceAll(val,'"',"__DQUOTE__");
    val=replaceAll(val,'\\',"__BSLASH__");
    val=replaceAll(val,"\n","__NEWLINE__N__");
    val=replaceAll(val,"\r","__NEWLINE__R__");
    return val;
}
/**
The function is to restore special special character in the input string
 */
function restoreSpecialCh(controlValue){
   // alert("restore : "+ controlValue);

    controlValue=replaceAll(controlValue,"__COMMA__",",");
    controlValue=replaceAll(controlValue,"__DOLLAR__","$");
    controlValue=replaceAll(controlValue,"__AND__","&");
    controlValue=replaceAll(controlValue,"__PERCENT__","%");
    controlValue=replaceAll(controlValue,"__QUOTE__","'");
    controlValue=replaceAll(controlValue,"__DQUOTE__",'"');
    controlValue=replaceAll(controlValue,"__BSLASH__",'\\');
    controlValue=replaceAll(controlValue,"__NEWLINE__N__","\n");
    controlValue=replaceAll(controlValue,"__NEWLINE__R__","\r");
    return controlValue;
}

var timeoutID;

function SetTimeoutEvents(){
    $("body").click(function(){        
        SetPageActive();
    });
    CallTimeout();
}

function SetPageActive(){    
    clearTimeout(timeoutID);
    CallTimeout();
}
function CallTimeout(){
    timeoutID=window.setTimeout("logout();",900000); //15min: 15*60*1000 msec=900000ms
}
