﻿var PageFullyLoaded;
function _LoadBegin()
{
    PageFullyLoaded = false;
}
function _LoadComplete()
{
    PageFullyLoaded = true;
    _setScrollXY();
}
function SetDivScrollPosition()
{
    var strCook = document.cookie;
    if(strCook.length > 0)
    {
        var cookies = strCook.split(";");
        for(var i = 0; i < cookies.length; i++)
        {
            var mySplit = cookies[i].split("=");
            try
            {
                if (mySplit[1] > document.getElementById(mySplit[0].replace(" ", "")).offsetHeight)
                {
                    var fn = function(){
                        return SetDivScrollPosition();
                    }
                    setTimeout(fn, 500); 
                }
                document.getElementById(mySplit[0].replace(" ", "")).scrollTop = mySplit[1];
            }
            catch(e)
            {
            }
        }
    }
}
var enableScrollToCallback;
var srcX, srcY;
function _setScrollXY()
{
    if (enableScrollToCallback == true)
    {
        try
        {
            window.scrollTo(srcX,srcY);
//            if( typeof( window.pageYOffset ) == 'number' ) {
//                window.pageYOffset = srcY; window.pageXOffset = srcX;
//            } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//                document.body.scrollTop = srcY; document.body.scrollLeft = srcX;
//            } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//                document.documentElement.scrollTop = srcY; document.documentElement.scrollLeft = srcX;
//            }
        }
        catch(e)
        {
        }
    }
    enableScrollToCallback = false;
}
function setScrollXY(x,y)
{
    enableScrollToCallback = true;
    srcX = x;
    srcY = y;
}
function setElementScrollXY(elementId,offsetId,paddingTop)
{
    var topElement = document.getElementById(elementId);
    if (topElement != null)
    {
        var offsetElement = document.getElementById(offsetId);
        if (offsetElement != null)
        {
            enableScrollToCallback = true;
            srcX = 0;
    
            var location = Sys.UI.DomElement.getLocation(topElement);
            var offset = Sys.UI.DomElement.getLocation(offsetElement);
            srcY = Math.max(0, (location.y - offset.y) - paddingTop);
        }
    }
}
function _showUploadOverlay()
{
    document.getElementById('UploadOverlayPanel').style.display = '';
}
function FilterTextBoxInput(targetId, newvalue)
{
    var target=document.getElementById(targetId);
    var str=newvalue;
    
    var acceptableChars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-"
    for (x=0; x<acceptableChars.length; x++)
    {
        str=str.split(acceptableChars.substring(x,x+1));
        str=str.join("");
    }
    var unacceptableChars = str;
    str = newvalue;    
    for (x=0; x<unacceptableChars.length; x++)
    {
        str=str.split(unacceptableChars.substring(x,x+1));
        str=str.join("");
    }
    target.value = str;
}
function FilterFieldNameTextBoxInput(targetId, newvalue)
{
    var target=document.getElementById(targetId);
    var str=newvalue;
    
    var acceptableChars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    for (x=0; x<acceptableChars.length; x++)
    {
        str=str.split(acceptableChars.substring(x,x+1));
        str=str.join("");
    }
    var unacceptableChars = str;
    str = newvalue;    
    for (x=0; x<unacceptableChars.length; x++)
    {
        str=str.split(unacceptableChars.substring(x,x+1));
        str=str.join("");
    }
    target.value = str;
}
function HowDoIHelp(url)
{
    window.open(url, '', 'toolbar=no,location=no,directories=no,status=no,m enubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=640,height=480,screenX=150,screenY=150, top=150,left=150');
}

function GetByServerID(serverid)
{   
     var count=document.getElementsByTagName ('*').length; //<-- gets all elements, instead of Forms as this only returns FORM elements
     var i=0;
     var eleName;
     var elem;
     for (i=0; i < count; i++ )
     {
        elem = document.getElementsByTagName ('*')[i];
       eleName=elem.id;
       pos=eleName.indexOf(serverid);
       if(pos>=0)  break;           
     }
     
     alert(elem.Value);
    return elem;
}

var documentCssMaps = new Array();
var blocking = false;
var stopProcessing = false;
var currentDCM = null;
function MapDocumentCss(cssclassname)
{
    this.tagname    = cssclassname;
    this.parenttaglist = new Array();
    this.data      = new Array();
    this.owner      = new Array(); 
    this.borderStyle = 'dashed 2px red';
    this.imgObj = document.getElementById('csstreeajaxloader');
    
    this.AddParentTag = function(cssclassname)
    {
        this.parenttaglist.push(cssclassname);
    }
    this._StoreBorderStyles = function(elem)
    {
        this.owner.push(elem);

        var borderStyles = new Array();
        borderStyles.push(elem.style.border);
        borderStyles.push(elem.style.borderBottom);
        borderStyles.push(elem.style.borderBottomColor);
        borderStyles.push(elem.style.borderBottomStyle);
        borderStyles.push(elem.style.borderBottomWidth);
        borderStyles.push(elem.style.borderColor);
        borderStyles.push(elem.style.borderLeft);
        borderStyles.push(elem.style.borderLeftColor);
        borderStyles.push(elem.style.borderLeftStyle);
        borderStyles.push(elem.style.borderLeftWidth);
        borderStyles.push(elem.style.borderRight);
        borderStyles.push(elem.style.borderRightColor);
        borderStyles.push(elem.style.borderRightStyle);
        borderStyles.push(elem.style.borderRightWidth);
        borderStyles.push(elem.style.borderStyle);
        borderStyles.push(elem.style.borderTop);
        borderStyles.push(elem.style.borderTopColor);
        borderStyles.push(elem.style.borderTopStyle);
        borderStyles.push(elem.style.borderTopWidth);
        borderStyles.push(elem.style.borderWidth);

        this.data.push(borderStyles);
    }
    this._ResetBorderStyles = function(elem,borderStyles)
    {
        elem.style.border = borderStyles[0];
        elem.style.borderBottom = borderStyles[1];
        elem.style.borderBottomColor = borderStyles[2];
        elem.style.borderBottomStyle = borderStyles[3];
        elem.style.borderBottomWidth = borderStyles[4];
        elem.style.borderColor = borderStyles[5];
        elem.style.borderLeft = borderStyles[6];
        elem.style.borderLeftColor = borderStyles[7];
        elem.style.borderLeftStyle = borderStyles[8];
        elem.style.borderLeftWidth = borderStyles[9];
        elem.style.borderRight = borderStyles[10];
        elem.style.borderRightColor = borderStyles[11];
        elem.style.borderRightStyle = borderStyles[12];
        elem.style.borderRightWidth = borderStyles[13];
        elem.style.borderStyle = borderStyles[14];
        elem.style.borderTop = borderStyles[15];
        elem.style.borderTopColor = borderStyles[16];
        elem.style.borderTopStyle = borderStyles[17];
        elem.style.borderTopWidth = borderStyles[18];
        elem.style.borderWidth = borderStyles[19];
    }
    this.TraceMatchingTag = function(elem, tagName, isClassName, isElementId)
    {
        try
        {
            var matched = false;
            
            if (isClassName == true)
            {
                if (elem.className == tagName)
                {
                    //alert('pass one classname');
                    matched = true;
                }
             }
             else if (isElementId == true)
             {
                if (elem.id == tagName)
                {
                    //alert('pass one id');
                    matched = true;
                }
             }
             else if (elem.tagName.toUpperCase() == tagName)
             {
                //alert('pass one name');
                matched = true;
             }
             if (matched == true)
             {
                if (elem.style.border != this.borderStyle)
                {
                    this._StoreBorderStyles(elem);
                    elem.style.border = this.borderStyle;
                }
            }
        }
        catch(e){;};
    }
    this.FindNestedTags = function(thedoc, f, pe, ptl)
    {        
        if (stopProcessing) return;

        if (pe == null)
        {
            if (ptl.length > 0)
            {
                var i = 0;
                var parentTagsLeft = new Array();
                for (i=1; i< ptl.length; i++)
                {
                    parentTagsLeft.push(ptl[i]);
                }
                var isClassName = false;
                var isElementId = false;
                var tagName = ptl[0];
                var searchTag = '*';
                
                if (ptl[0].charAt(0) == '.')
                {
                    isClassName = true;
                    tagName = ptl[0].substring(1);
                }
                else if (ptl[0].charAt(0) == '#')
                {
                    isElementId = true;
                    tagName = ptl[0].substring(1);
                }
                else
                {
                    searchTag = tagName;
                    tagName = tagName.toUpperCase();
                }
                var tags = thedoc.getElementsByTagName (searchTag);
                var tagslength = tags.length;
                for (i=0; i< tagslength; i++)
                { 
                    if (stopProcessing) break;
                    
                    var matched = false;
                    var elem = tags[i];
                    if (isClassName == true)
                    {
                        if (elem.className == tagName)
                        {
                            //alert('pass one classname');
                            matched = true;
                        }
                     }
                     else if (isElementId == true)
                     {
                        if (elem.id == tagName)
                        {
                            //alert('pass one id');
                            matched = true;
                        }
                     }
                     else if (elem.tagName.toUpperCase() == tagName)
                     {
                        //alert('pass one name');
                        matched = true;
                     }

                     if (matched == true)
                     {
        			    this.FindNestedTags(thedoc, f, elem, parentTagsLeft);
                     }
                 }
            }
            else
            {
                var isClassName = false;
                var isElementId = false;
                var tagName = f;
                var searchTag = '*';
                
                if (f.charAt(0) == '.')
                {
                    isClassName = true;
                    tagName = f.substring(1);
                }
                else if (f.charAt(0) == '#')
                {
                    isElementId = true;
                    tagName = f.substring(1);
                }
                else
                {
                    searchTag = tagName;
                    tagName = tagName.toUpperCase();
                }
                var tags = thedoc.getElementsByTagName (searchTag);
                var tagslength = tags.length;
                for (i=0; i< tagslength; i++)
                { 
                    if (stopProcessing) break;
                    this.TraceMatchingTag(tags[i], tagName, isClassName, isElementId);
                }
            }
        }
        else
        { 
            if (ptl.length > 0)
            {
                var i = 0;
                var parentTagsLeft = new Array();
                for (i=1; i< ptl.length; i++)
                {
                    parentTagsLeft.push(ptl[i]);
                }
                var isClassName = false;
                var isElementId = false;
                var tagName = ptl[0];
                var searchTag = '*';
                
                if (ptl[0].charAt(0) == '.')
                {
                    isClassName = true;
                    tagName = ptl[0].substring(1);
                }
                else if (ptl[0].charAt(0) == '#')
                {
                    isElementId = true;
                    tagName = ptl[0].substring(1);
                }
                else
                {
                    searchTag = tagName;
                    tagName = tagName.toUpperCase();
                }
                var tags = pe.getElementsByTagName (searchTag);
                var tagslength = tags.length;
                for (i=0; i< tagslength; i++)
                { 
                    if (stopProcessing) break;
                    
                    var matched = false;
                    var elem = tags[i];
                    if (isClassName == true)
                    {
                        if (elem.className == tagName)
                        {
                            //alert('pass one classname');
                            matched = true;
                        }
                     }
                     else if (isElementId == true)
                     {
                        if (elem.id == tagName)
                        {
                            //alert('pass one id');
                            matched = true;
                        }
                     }
                     else if (elem.tagName.toUpperCase() == tagName)
                     {
                        //alert('pass one name');
                        matched = true;
                     }

                     if (matched == true)
                     {
            			this.FindNestedTags(thedoc, f, elem, parentTagsLeft);
                     }
                 }
            }
            else
            {
                var isClassName = false;
                var isElementId = false;
                var tagName = f;
                var searchTag = '*';

                if (f.charAt(0) == '.')
                {
                    isClassName = true;
                    tagName = f.substring(1);
                }
                else if (f.charAt(0) == '#')
                {
                    isElementId = true;
                    tagName = f.substring(1);
                }
                else
                {
                    searchTag = tagName;
                    tagName = tagName.toUpperCase();
                }
                var tags = pe.getElementsByTagName (searchTag);
                var tagslength = tags.length;
                for (i=0; i< tagslength; i++)
                { 
                    if (stopProcessing) break;
                    this.TraceMatchingTag(tags[i], tagName, isClassName, isElementId);
                }
            }
        }
    }
    this._HighlightCssElements = function()
    {
        currentDCM = null;

        var i=0;
        var framecount = top.frames.length;
        for(i=0; i< framecount; i++)
        {
            try
            {
                if (top.frames[i].document.title != '__CssParserBlock__')
                {
                    if (stopProcessing) break; 
                    this.FindNestedTags(top.frames[i].document, this.tagname, null, this.parenttaglist);
                }
            }
            catch(e){;};
        }
        this.FindNestedTags(top.document, this.tagname, null, this.parenttaglist);
                    
        var docMapsCount = documentCssMaps.length;
        var addIt = true;
        for (i=0; i<docMapsCount; i++)
        {
            if (documentCssMaps[i].tagname == this.tagname)
            {
                addIt = false;
                break;
            }
        }
        if (addIt) documentCssMaps.push(this);
         
        if (this.imgObj != null)
        {
            this.imgObj.style.display = 'none';
        }
         
        if (stopProcessing) 
        {
            var fn = function(){
                var p = new MapDocumentCss('');
                p.RestoreCssElements('');
            };
            setTimeout(fn, 100);
        }            
     }
    this.HighlightCssElements = function()
    {
        if (blocking != true)
        {
            blocking = true;
            stopProcessing = false;

            currentDCM = this;
            if (this.imgObj != null)
            {
                this.imgObj.style.display = '';
            }
            var fn = function(){
                        try
                        {
                            currentDCM._HighlightCssElements();
                        }
                        catch(e){;};
                    };
            setTimeout(fn, 100);
        }
    }
     this.RestoreCssElements = function(cssclassname)
     {
        stopProcessing = true;

        if (this.imgObj != null)
        {
                this.imgObj.style.display = '';
        }
            
        var newMap = new Array();
        var count = documentCssMaps.length;
        for(i = 0; i<count; i++)
        {
            var docObj = documentCssMaps[i];
            if (cssclassname != '')
            {
                if (docObj.tagname == cssclassname)
                {
                    var mapcount = docObj.owner.length;
                    for(x = 0;x<mapcount; x++)
                    {
                        this._ResetBorderStyles(docObj.owner[x], docObj.data[x]);
                    }
                }
                else
                {
                    newMap.push(docObj);
                }
            }
            else
            {
                var mapcount = docObj.owner.length;
                for(x = 0;x<mapcount; x++)
                {
                    this._ResetBorderStyles(docObj.owner[x], docObj.data[x]);
                }
            }
        }
        documentCssMaps = newMap; 
        
        if (this.imgObj != null)
        {
            this.imgObj.style.display = 'none';
        }
        blocking = false;
    }
}

var toId;var fromId;var ccId;var subjectId;var bodyId;                    
var toEmail;var fromEmail;var ccEmail;var subject;var body;
function SetMemberEmailStats(fid,tid,cid,sid,bid,f,t,c,s,b)
{
    toId=tid;fromId=fid;ccId=cid;subjectId=sid;bodyId=bid;
    toEmail=t;fromEmail=f;ccEmail=c;subject=s;body=b;
};
function ResetMemberEmailForm()
{
//    alert(toEmail + ' ' + toId);
//    alert(fromEmail + ' ' + fromId);
//    alert(ccEmail + ' ' + ccId);
//    alert(subject + ' ' + subjectId);
//    alert(body + ' ' + bodyId);
    try
    {
        document.getElementById(toId).value = toEmail;
        document.getElementById(fromId).value = fromEmail;
        document.getElementById(ccId).value = ccEmail;
        document.getElementById(subjectId).value = subject;
        document.getElementById(bodyId).value = body;
    }
    catch(e)
    {
    ;
    }
    
    if (PageFullyLoaded != true)
    {
        var fn = function(){
            return ResetMemberEmailForm();
        }
        setTimeout(fn, 100); 
    }
}

var metaDataId;
var metaData;
function SetMetaData(mdid)
{
    var obj = document.getElementById(metaDataId);
    if (obj != null)
    {
        metaDataId=mdid;
        metaData=obj.value;
    }
};
function ResetMetaDataForm()
{
    try
    {
        document.getElementById(metaDataId).value = metaData;
    }
    catch(e)
    {
    }
}
var ct_nameId;var ct_categoryId;var ct_newcategoryId;var ct_descriptionId;var ct_imageId;var ct_contentId;
var ct_name;var ct_category;var ct_newcategory;var ct_description;var ct_image;var ct_content;
function SetCreateTemplate(ctname,ctcategory,ctnewcategory,ctdescription,ctimage,ctcontent)
{
    try
    {
        ct_nameId = ctname;
        ct_categoryId = ctcategory;
        ct_newcategoryId = ctnewcategory;
        ct_descriptionId = ctdescription;
        ct_imageId = ctimage;
        ct_contentId = ctcontent;

        ct_name = "";
        ct_category = 0;
        ct_newcategory = "";
        ct_description = "";
        ct_image = "";
        ct_content = false;
    }
    catch (e)
    {
    ;
    }
};
function ResetCreateTemplateForm()
{
    try
    {
        var ctnewnameobj = document.getElementById(ct_nameId);
        if (ctnewnameobj != null)
        {
            ctnewnameobj.value = ct_name;
        
            var ctnewcategoryObj = document.getElementById(ct_newcategoryId);
            ctnewcategoryObj.value = ct_newcategory;
            
            var ctcategoryObj = document.getElementById(ct_categoryId);
            ctcategoryObj.selectedIndex = ct_category;
            
            if(ctcategoryObj.options[ctcategoryObj.selectedIndex].value == 'user_defined') {ctnewcategoryObj.style.display = '';ctnewcategoryObj.focus();} else { ctnewcategoryObj.style.display = 'none'; };
            
            document.getElementById(ct_descriptionId).value = ct_description;
            document.getElementById(ct_imageId).value = ct_image;
            document.getElementById(ct_contentId).checked = ct_content;
        }
    }
    catch(e)
    {
    ;
    }
}
var uf_dirId;var uf_fileId;var uf_replaceId;var uf_descId;var uf_sizeId;
var uf_dir;
function SetUploadFile(ufdir,uffile,ufreplace,ufdesc,ufsize)
{
    try
    {
        uf_dirId = ufdir;
        uf_fileId = uffile;
        uf_replaceId = ufreplace;
        uf_descId = ufdesc;
        uf_sizeId = ufsize;

        uf_dir = document.getElementById(uf_dirId).selectedIndex;
    }
    catch (e)
    {
    ;
    }
};
function ResetUploadFileForm()
{
    try
    {
        document.getElementById(uf_dirId).selectedIndex = uf_dir;

        var orig = document.getElementById(uf_fileId);
        var clone = orig.cloneNode(false);
        clone.onchange = orig.onchange;
        orig.parentNode.replaceChild(clone,orig);

        document.getElementById(uf_replaceId).checked = false;
        document.getElementById(uf_descId).value = '';
        document.getElementById(uf_sizeId).selectedIndex = 0;
    }
    catch(e)
    {
    ;
    }
};
function _frmclkalert(){alert('To relocate this field, drag the contents from this box and drop it into another box. To delete this field, drag the contents from this box to the trashcan');}
function _frmCueMove(){return 'images/modules/forms/movefield.png';}
function _frmCueDrop(){return 'images/modules/forms/dropfield.png';}
function _frmCueFld(){return 'images/modules/forms/dropfieldcue.png';}
var srcElement;
var destElement;
function fnGetSource()
{
    srcElement = event.srcElement;
    if (window.clipboardData)
    { 
        var r=clipboardData.setData('Text', srcElement.value); 
    }
    else 
    {
        Copied = srcElement.createTextRange();
        Copied.execCommand("Copy");
    }
}    
function fnGetDestination()
{
    destElement = event.srcElement;
    var dest = destElement.value;
    
    if (window.clipboardData)
    {
        destElement.value = clipboardData.getData('Text'); 
    }
    else
    {
        Pasted = destElement.createTextRange();
        Pasted.execCommand("Paste");
    }
    destElement.value = dest + destElement.value;
}    
function cancelevent()
{
    window.event.returnValue = false;
}
function fnGetFormSource(textboxid, index)
{
    var srcFormElement = event.srcElement;
    srcFormElement.ondrop = cancelevent;

    var obj = document.getElementById(textboxid);
    if (obj != null)
    {
        obj.value = index;
    }
}    
function fnGetFormDestination(textboxid, index)
{
    var obj = document.getElementById(textboxid);
    if (obj != null)
    {
        obj.value = index;
    }
}
var g_dragElement = null;
var g_fstextboxid;
var g_fsindex;
var g_dropElement = null;
var g_fsdropboxid;
var g_fsdropindex;
var g_origOnMouseUp = null;
function fnSetDragSource(e, textboxid, index)
{
    g_origOnMouseUp = document.onmouseup;
    document.onmouseup = fnResetDragSource;
    document.body.style.cursor="not-allowed";
    g_dragElement = e.target;
    g_fstextboxid = textboxid;
    g_fsindex = index;
}
function fnGetDragSource(e)
{
    var obj = document.getElementById(g_fstextboxid);
    if(obj != null){obj.value = g_fsindex;}

    cancelFormevent(e);
}
function fnGetOnDragEnter(e, src)
{
    if (e.target!=g_dragElement)
    {
        e.target.src=src;
    }
    cancelFormevent(e);
}
function fnGetOnDeleteEnter(e, deletecue, defaultcue)
{
    if (g_dragElement != null)
    {
        e.target.src=deletecue;
        e.target.style.cursor='pointer';
        return;
    }
    e.target.style.cursor='default';
    e.target.src=defaultcue;
}
function fnGetOnDragExit(e, src)
{
    g_dropElement = null;
    e.target.src=src;
    cancelFormevent(e);
}
function fnSetDragDestination(e, textboxid, index, dropcue, defaultcue)
{
    if (g_dragElement != null)
    {
        e.target.src=dropcue;
        g_dropElement = e.target;
        g_fsdropboxid = textboxid;
        g_fsdropindex = index;
        return;
    }
    e.target.src=defaultcue;
}
function fnGetOnDragDrop(e, btnid)
{
    if ((e.target==g_dragElement) || (e.target!=g_dropElement))
    {
        return;
    }
    if (g_dropElement != null)
    {
        var obj = document.getElementById(g_fsdropboxid);
        if(obj != null){obj.value = g_fsdropindex;}

        __doPostBack(btnid,'');
        return;
    }
    cancelFormevent(e);
}
function fnGetOnDragDelete(e, btnid)
{
    if (g_dragElement != null)
    {
        fnResetDragSource();
        if (confirm('Are you sure you want to delete this field?')) 
        {
            __doPostBack(btnid,'');
            return;
        }
    }
    cancelFormevent(e);
}
function fnResetDragSource()
{
    g_dragElement = null;
    document.onmouseup = g_origOnMouseUp;
    document.body.style.cursor="default";
    g_origOnMouseUp = null;
}
function fnGetFormDropDeletePosition(buttonid, boundaryid)
{
    try
    {
        var btnObj = document.getElementById(buttonid);
        if (btnObj != null)
        {
            var pageYOffset = 0;
            var visibleThreshold;
            if (btnObj.offsetParent != null)
            {
                visibleThreshold = btnObj.offsetParent.scrollTop;
            }
            if( typeof( window.pageYOffset ) == 'number' ) {
                pageYOffset = window.pageYOffset;
            } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
                pageYOffset = document.body.scrollTop;
            } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
                pageYOffset = document.documentElement.scrollTop;
            }
            if (visibleThreshold == 0)
            {
                if (pageYOffset != 0)
                {
                    visibleThreshold = pageYOffset;
                }
            }
            visibleThreshold = visibleThreshold + 115;
            var topThreshold = btnObj.offsetTop;
            var top = parseInt(btnObj.style.top);
            if (!isNaN(top)) topThreshold = topThreshold - top;
            else top = 0;
            if ((topThreshold-visibleThreshold) < 0)
            {
                var boundaryObj = document.getElementById(boundaryid);
                var parentHeight = buttonHeight;
                if (btnObj.offsetParent != null)
                {
                    parentHeight = btnObj.offsetParent.offsetHeight;
                }
                if (boundaryObj != null)
                {
                    parentHeight = boundaryObj.offsetHeight;
                }
                var buttonHeight = btnObj.offsetHeight;
                var newTop = Math.min(visibleThreshold-topThreshold, parentHeight-buttonHeight);
                btnObj.style.top = newTop + 'px';
            }
            else
            {
                btnObj.style.top = '0px';
            }
            var fn = function(){
                fnGetFormDropDeletePosition(buttonid,boundaryid);
            };

            setTimeout(fn, 100);
        }
    }
    catch(e)
    {
        ;
    }
}
function cancelFormevent(e)
{
    try
    {
        if(e.stopPropagation)
            e.stopPropagation();
        if(e.preventDefault)
            e.preventDefault();
    }
    catch(ex)
    {
        ;
    }
    e.cancelBubble = true;
    e.cancel = true;
    e.returnValue = false;
}
function hasDropdownlistOptions(s) 
{
	if (s!=null && s.options!=null) { return true; }
	return false;
}
function setDropdownListSelectedValue(s, valsearch)
{
	if (!hasDropdownlistOptions(s)) { return; }
    for (i = 0; i< s.options.length; i++)
    {
        if (s.options[i].value == valsearch)
        {
            s.options[i].selected = true;
            break;
        }
    }
    return;
}
function sortDropdownList(obj) 
{
	var o = new Array();
	if (!hasDropdownlistOptions(obj)) { return; }
	for (var i=0; i<obj.options.length; i++) 
	{
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
    }
	if (o.length==0) { return; }
	o = o.sort( 
		function(x,y) { 
            var a = String(x.text).toUpperCase(); 
            var b = String(y.text).toUpperCase(); 
			if ((a+"") < (b+"")) { return -1; }
			if ((a+"") > (b+"")) { return 1; }
			return 0;
			} 
		);
	for (var i=0; i<o.length; i++) 
	{
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}
function addDropdownlistOption(s,text,value,selected) 
{
	if (s!=null && s.options!=null) 
	{
		s.options[s.options.length] = new Option(text, value, false, selected);
	}
}
function removeDropdownlistSelectedOption(s)
{ 
	if (!hasDropdownlistOptions(s)) { return; }
	if (s.type=="select-one") 
	{
		s.options[s.selectedIndex] = null;
    }
	else 
	{
		for (var i=(s.options.length-1); i>=0; i--) 
		{ 
			var o=s.options[i]; 
			if (o.selected) 
			{ 
				s.options[i] = null; 
            } 
        }
    }
    s.selectedIndex = -1; 
} 
var locationOffsets = new Array();
function _fnLocatePosition(elementid)
{
    var obj = document.getElementById(elementid);
    if (obj != null)
    {
        if (obj.style.position != 'fixed')
        {
            var top = parseInt(obj.style.top);
            if (!isNaN(top)) 
            {
                var found = false;
                for(var nzIndex = 0; nzIndex < locationOffsets.length; nzIndex++)
                {
                    var tid = locationOffsets[nzIndex]["id"];
                    if (tid == elementid)
                    {
                        top = locationOffsets[nzIndex]["offset"];
                        found = true;
                        break;
                    }
                }
                if (found == false)
                {
                    var pageYOffset = 0;
                    var visibleThreshold;
                    if (obj.offsetParent != null)
                    {
                        visibleThreshold = obj.offsetParent.scrollTop;
                    }
                    else
                    {
                        if( typeof( window.pageYOffset ) == 'number' ) {
                            pageYOffset = window.pageYOffset;
                        } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
                            pageYOffset = document.body.scrollTop;
                        } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
                            pageYOffset = document.documentElement.scrollTop;
                        }
                        visibleThreshold = pageYOffset;
                    }
                    var newEntry = new Object();
                    newEntry["id"] = elementid;
                    newEntry["offset"] = (top+pageYOffset)-visibleThreshold;
                    locationOffsets.push(newEntry)
                    top = (top+pageYOffset)-visibleThreshold;
                }
                obj.style.top = top + 'px';
                obj.style.position = 'fixed';
            }
        }
    }        
}
function _fnLocatePositions()
{
    fnLocatePosition(g_locationPositions);
}
var g_locationPositions;
function fnLocatePosition(elementids)
{
    g_locationPositions = elementids;
    try
    {
        for(var elemIndex = 0; elemIndex < elementids.length; elemIndex++)
        {
            var elementid = elementids[elemIndex];
            _fnLocatePosition(elementid);
        }
//        var fn = function(){
//            fnLocatePosition(elementids);
//        };
//        setTimeout(fn, 100);
    }
    catch(e)
    {
        ;
    }
}
var gDesignFixedPositionOffset = -1;
var gDynamicFixedPositionOffset = -1;
var gOriginalDesignFixedPositionOffset = -1;
var gOriginalDynamicFixedPositionOffset = -1;
var gFixedPanelId = '';
var gDesignPanelId = '';
var gViewPanelId = '';
function _setDesignFixedPositionOffset(fixed, obj, offset)
{
    var total = offset;
    var top = parseInt(obj.style.paddingTop);
    if (!isNaN(top))
    {
        total = total + top;
    }
    else
    {
        top = 0;
    }
    obj.style.paddingTop = total + 'px';
    if (gDesignFixedPositionOffset == -1)
    {    
        gDesignFixedPositionOffset = gOriginalDesignFixedPositionOffset + top;
    }
}
function _setDynamicFixedPositionOffset(fixed, obj, offset)
{
    var total = offset;
    var top = parseInt(obj.style.paddingTop);
    if (!isNaN(top))
    {
        total = total + top;
    }
    else
    {
        top = 0;
    }
    obj.style.paddingTop = total + 'px';
    if (gDynamicFixedPositionOffset == -1)
    {    
        gDynamicFixedPositionOffset = gOriginalDynamicFixedPositionOffset + top;
    }
}
function setFixedPositionOffset(fixedPanelId, designPanelId, viewPanelId)
{
    var fixedPanel = document.getElementById(fixedPanelId);
    if (fixedPanel != null)
    {
        gFixedPanelId = fixedPanelId;
        var offset = fixedPanel.offsetHeight;
        var designPanel = document.getElementById(designPanelId);
        if (designPanel != null)
        {
            gDesignPanelId = designPanelId;
            if (gOriginalDesignFixedPositionOffset == -1)
            {
                gOriginalDesignFixedPositionOffset = designPanel.offsetTop;
            }
            _setDesignFixedPositionOffset(fixedPanel, designPanel, offset);
        }
        var viewPanel = document.getElementById(viewPanelId);
        if (viewPanel != null)
        {
            gViewPanelId = viewPanelId;
            if (gOriginalDynamicFixedPositionOffset == -1)
            {
                gOriginalDynamicFixedPositionOffset = viewPanel.offsetTop;
            }
            _setDynamicFixedPositionOffset(fixedPanel, viewPanel, offset);
        }
    }
}
function locateDesignFixedPosition(fixedPanelId)
{
    var fixedPanel = document.getElementById(fixedPanelId);
    if (fixedPanel != null)
    {
        gFixedPanelId = fixedPanelId;
        fixedPanel.style.top = gDesignFixedPositionOffset + 'px';
    }    
    gDynamicFixedPositionOffset = -1;
    gOriginalDynamicFixedPositionOffset = -1;    
}
function locateDynamicFixedPosition(fixedPanelId)
{
    var fixedPanel = document.getElementById(fixedPanelId);
    if (fixedPanel != null)
    {
        gFixedPanelId = fixedPanelId;
        fixedPanel.style.top = gDynamicFixedPositionOffset + 'px';
    }
    gDesignFixedPositionOffset = -1;
    gOriginalDesignFixedPositionOffset = -1;
}
function locateStaticFixedPosition(fixedPanelId)
{
    var fixedPanel = document.getElementById(fixedPanelId);
    if (fixedPanel != null)
    {
        gFixedPanelId = fixedPanelId;
        fixedPanel.style.top = gDynamicFixedPositionOffset + 'px';
    }
    gDesignFixedPositionOffset = -1;
    gOriginalDesignFixedPositionOffset = -1;
}
function _OpenModalPopup(popupButtonId,frameName,content,dispatchClick)
{    
    menus = document.getElementsByTagName('iframe');	
    for(i=0;i<menus.length;i++)
    {
        if(menus[i].id == frameName)
        {
            menus[i].src = content;
        }
    }
    //if (dispatchClick == true)
    //{
    //    alert('hi');
    //    doEventDispatch(popupButtonId);
   // }
    //else
    {
        var popupButton = document.getElementById(popupButtonId);
        if (popupButton != null)
        {
            popupButton.click();
        }
    }
}
function OpenEditModuleModalPopup(popupButtonId,frameName,content,dispatchClick)
{
    _OpenModalPopup(popupButtonId,frameName,content,dispatchClick);
}
function OpenPageCtrlModalPopup(popupButtonId,frameName,content,dispatchClick)
{    
    _OpenModalPopup(popupButtonId,frameName,content,dispatchClick);
}
function OpenPageListModalPopup(popupButtonId,frameName,content,dispatchClick)
{    
    _OpenModalPopup(popupButtonId,frameName,content,dispatchClick);
}
function OpenModuleListModalPopup(popupButtonId,frameName,content,dispatchClick)
{    
    _OpenModalPopup(popupButtonId,frameName,content,dispatchClick);
}
// RBS 03-06-09 - Allows for fixed position targets
var _ajaxFixedParentElement = null;
function _ajaxLocateFixedParent(foregroundElement)
{
    // Also a fix for zIndex issues with FireFox / Safari
    foregroundElement.style.zIndex = '10001';                       

    var tempFixedParent = foregroundElement.parentNode;
    while (tempFixedParent && (tempFixedParent != document.documentElement)) {
        if(tempFixedParent.style.position == 'fixed') {
            if ((tempFixedParent.className == 'ModuleFixedContainer') || (tempFixedParent.className == 'ModuleFixedContainerEdit'))
            {
                return tempFixedParent;
            }
        }
        tempFixedParent = tempFixedParent.parentNode;
    }
    return null;
}
function _ajaxFixedParentLayout(foregroundElement,fixedParentElement)
{
    if (fixedParentElement != null)
    {
        var clientBounds = $common.getClientBounds();
        var clientWidth = clientBounds.width;
        var clientHeight = clientBounds.height;

        var foregroundelementheight = foregroundElement.offsetHeight? foregroundElement.offsetHeight: foregroundElement.scrollHeight;
        var foregroundelementwidth = foregroundElement.offsetWidth? foregroundElement.offsetWidth: foregroundElement.scrollWidth;

        var x = Math.max(0,(clientWidth - foregroundelementwidth) / 2);
        var y = Math.max(0,(clientHeight - foregroundelementheight) / 2);
        
        var fixedParentLocation = Sys.UI.DomElement.getLocation(fixedParentElement);

        var scrollLeft = (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
        var scrollTop = (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
        
        foregroundElement.style.left = ((x - fixedParentLocation.x) + scrollLeft) + 'px';
        foregroundElement.style.top = ((y - fixedParentLocation.y) + scrollTop) + 'px';
    }
    _ajaxFixedParentElement = fixedParentElement;
}
function _ajaxFixedParentLocation(foregroundElement)
{
    if (_ajaxFixedParentElement != null)
    {
        // find the exact fixed parent, check if it still exists
        var fixedParentElement = _ajaxLocateFixedParent(foregroundElement);
        if (_ajaxFixedParentElement == fixedParentElement)
        {
            var foregroundLocation = Sys.UI.DomElement.getLocation(foregroundElement);
            var fixedParentLocation = Sys.UI.DomElement.getLocation(fixedParentElement);
            
            return new Sys.UI.Point((foregroundLocation.x - fixedParentLocation.x),(foregroundLocation.y - fixedParentLocation.y));
        }
    }
    return null;
}
function SetFckHeight(fckFrameId,containerId)
{
    var obj = document.getElementById(fckFrameId);
    if (obj != null)
    {
        var container = document.getElementById(containerId);
        if(container != null)
        {
            if (obj.height != container.offsetHeight)
            {
                obj.height = container.offsetHeight;
            }
        }
    }
}
var masterBarHeight = -1;
var contentDivPadding = -1;
function _ensureMasterMetrics(masterbarObj,contentdivObj)
{
    var obj = document.getElementById('MasterBarRowMainButtons')
    var offsetHeight = 0;
    if (obj.offsetHeight == 0)
    {
        //obj.style.display='';
        offsetHeight = 54;//obj.offsetHeight;
        //obj.style.display='none';
    }
    if (masterBarHeight == -1)
    {
        masterBarHeight = parseInt(masterbarObj.offsetHeight);
        if (isNaN(masterBarHeight)) masterBarHeight = 112;
        masterBarHeight = masterBarHeight + offsetHeight;
    }
    if (contentDivPadding == -1)
    {
        contentDivPadding = parseInt(contentdivObj.style.paddingTop);
        if (isNaN(contentDivPadding)) contentDivPadding = 68;
        contentDivPadding = contentDivPadding + offsetHeight;
    }
    if (masterBarHeight != -1)
    {
        if (contentDivPadding != -1)
        {
            return true;
        }
    }
    return false;
}            
function _showMasterBarButtons(obj,contentdivObj,masterbarObj)
{
    if (_ensureMasterMetrics(masterbarObj,contentdivObj))
    {
        obj.style.display='';
        contentdivObj.style.paddingTop = contentDivPadding + 'px';
        masterbarObj.style.height = masterBarHeight + 'px';

        document.cookie = "MasterBarButtonsVisible" + "=" + "; expires=Thu, 01-Jan-1970 00:00:01 GMT";                   

        if (gFixedPanelId != '')
        {
           var fixedPanel = document.getElementById(gFixedPanelId);
           if (fixedPanel != null)
           {
                var fixedOffset = parseInt(fixedPanel.style.top);
                if (isNaN(fixedOffset) == false)
                {   
                    fixedOffset = fixedOffset + obj.offsetHeight;
                    fixedPanel.style.top = fixedOffset + 'px';
                }
           }
        }
    }
}
function _hideMasterBarButtons(obj,contentdivObj,masterbarObj)
{
    if (_ensureMasterMetrics(masterbarObj,contentdivObj))
    {
        var offsetHeight = obj.offsetHeight;
        if (offsetHeight == 0)
        {
            obj.style.display='';
            offsetHeight = obj.offsetHeight;
        }
        contentdivObj.style.paddingTop = (contentDivPadding - offsetHeight) + 'px';
        masterbarObj.style.height = (masterBarHeight - offsetHeight) + 'px';
        obj.style.display='none';

        var ExpireDate = new Date ();
        ExpireDate.setTime(ExpireDate.getTime() + (1 * 24 * 3600 * 1000));
        document.cookie = "MasterBarButtonsVisible" + "=" + "true; expires=" + ExpireDate.toGMTString();

        if (gFixedPanelId != '')
        {
           var fixedPanel = document.getElementById(gFixedPanelId);
           if (fixedPanel != null)
           {
                var fixedOffset = parseInt(fixedPanel.style.top);
                if (isNaN(fixedOffset) == false)
                {   
                    fixedOffset = fixedOffset - offsetHeight;
                    fixedPanel.style.top = fixedOffset + 'px';
                }
           }
        }
    }
}
function ToggleMasterBarButtons(masterbarid)
{
    var masterbarObj = document.getElementById(masterbarid);
    if (masterbarObj != null)
    {
        var contentdivObj = document.getElementById('MasterContent_Div');
        if (contentdivObj != null)
        {
            if (_ensureMasterMetrics(masterbarObj,contentdivObj))
            {
                var obj = document.getElementById('MasterBarRowMainButtons');
                if(obj != null)
                {
                    if (document.cookie.length > 0) 
                    {
                        begin = document.cookie.indexOf("MasterBarButtonsVisible="); 
                        if (begin != -1) 
                        {
                            _showMasterBarButtons(obj,contentdivObj,masterbarObj);
                        }
                        else
                        {
                            _hideMasterBarButtons(obj,contentdivObj,masterbarObj);
                        }
                    }
                    else
                    {
                        _showMasterBarButtons(obj,contentdivObj,masterbarObj);
                    }
                }
             }
         }
     }
     return false;
}
function scrollToLine(textAreaId, line, startCol, endCol)
{  
    var ta = document.getElementById(textAreaId);
    if (ta != null)
    {
        var lineHeight = Math.floor(ta.clientHeight / ta.rows);
        var jump = (line - 1) * lineHeight;
        ta.scrollTop = jump;
        
        if (startCol != -1)
        {
            setSelectionRange(textAreaId, startCol, endCol);
        }
    } 
}
var cssTextElem;
var cssSelStart;
var cssSelEnd;
function setSelectionRange(textAreaId, selectionStart, selectionEnd) 
{
    var textElem = document.getElementById(textAreaId);
    if (textElem != null)
    {
        if (textElem.setSelectionRange) 
        {   // FF
            textElem.focus();
            
            cssTextElem = textElem;
            cssSelStart = selectionStart;
            cssSelEnd = selectionEnd;

            var fn = function(){return cssTextElem.setSelectionRange(cssSelStart,cssSelEnd);};
            setTimeout(fn,100);
        }
        else if (textElem.createTextRange) 
        {   // IE
            var range = textElem.createTextRange();
            range.collapse(true);
            range.moveEnd('character', selectionEnd);
            range.moveStart('character', selectionStart);
            range.select();
        }
    }
}
function SwapVisibility(obj,objId1,objId2,imgUrl1,imgUrl2)
{
    var obj1 = document.getElementById(objId1);
    if (obj1 != null)
    {
        var obj2 = document.getElementById(objId2);
        if (obj2 != null)
        {
            if (obj1.style.display == 'none')
            {
                obj1.style.display = '';
                obj2.style.display = 'none';
                obj.src = imgUrl1;
            }
            else
            {
                obj1.style.display = 'none';
                obj2.style.display = '';
                obj.src = imgUrl2;
            }
        }
    }
}
try
{
    if (typeof Sys == 'undefined')
    {
        ;
    }
    else
    {
        if( Sys && Sys.Application ){
           Sys.Application.notifyScriptLoaded();
        }
    } 
}
catch(e)
{
;
}
