﻿//var edo_handleSuccess = function(o) {
//    if(o.responseXML !== undefined){
//        var root = o.responseXML.documentElement;
//        var cols = root.getElementsByTagName('column');
//        var clientID = o.argument.clientID;
//            
// 
//        for(var i=0; i < cols.length; i++)
//        {
//            var coln = cols[i].getAttribute("col");
//            
//            var cTitle = cols[i].getAttribute("title");
//            var cLink = cols[i].getAttribute("link");
//            var cLinkType = cols[i].getAttribute("linktypeimg");
//            var cONW= cols[i].getAttribute("opennewwindow");
//            var cVisible= cols[i].getAttribute("visible");
//            var colTitle = document.getElementById(clientID + "_col" + coln + "_title");
//            var colTD = document.getElementById(clientID + "_col" + coln + "_tdcol");
//            var colImage = document.getElementById(clientID + "_col" + coln + "_image");
//            if(colTD != null)
//            {
//                if(cVisible == "True")
//                    colTD.style.display = "";
//                else
//                    colTD.style.display = "none";
//            }
//            if(colTitle != null)
//                  colTitle.innerHTML = unescape(cTitle);   

//            if(colImage != null && cLink != null)
//            {                
//                if(cLinkType == "True")
//                {
//                    var cLinks = cLink.split("#");
//                    var imgLink = "<IMG alt=\"" + unescape(cTitle) + "\" width=\"145\" height=\"75\" src=\"" + unescape(cLinks[0]) + "\" border=\"0\"/>";
//                    if(cLinks.length > 1)
//                    {
//                        if(cLinks[1] != null && cLinks[1] != "")
//                        {
//                            var tLink = "<a href=\"" + unescape(cLinks[1]) + "\"";
//                            if(cONW != null){
//                                if(cONW == "True"){
//                                    tLink += " target=\"_blank\"";
//                                }
//                            }
//                            imgLink = tLink + ">" + imgLink + "</a>";                    
//                        }
//                    }
//                    colImage.innerHTML = imgLink;
//                }else
//                {
//                    colImage.innerHTML = unescape(cLink)
//                }
//            }

//            
//            
//            var oItems = cols[i].getElementsByTagName('item');
//            var temp = ""
//            if(o.argument.enableDD)
//            {
//                for(var j=0; j < 3; j++)
//                {
//                    if(document.getElementById(clientID + "_ul" + (j+1)) != null)
//                        new YAHOO.util.DDTarget(clientID + "_ul" + (j+1),clientID);                  
//                }
//            }
//            var tul = document.createElement("ul");
//            for(var x =0; x < oItems.length; x++)
//            {
//               /**************************/
//                var itemID = oItems[x].getElementsByTagName('ID')[0].firstChild.nodeValue;
//                //var itemGUID = oItems[x].getElementsByTagName('GUID')[0].firstChild.nodeValue;
//                var title = oItems[x].getElementsByTagName('title')[0].firstChild.nodeValue;
//                var target = oItems[x].getElementsByTagName('target')[0].firstChild.nodeValue;
//                var sclass = oItems[x].getElementsByTagName('class')[0].firstChild.nodeValue;
//                var href = "";
//                if(oItems[x].getElementsByTagName('link')[0].firstChild != null)
//                    href = oItems[x].getElementsByTagName('link')[0].firstChild.nodeValue;
//                
//                var item = edo_child(itemID,title,target,sclass,href,coln,clientID,o.argument.enableDD);
//                tul.appendChild(item);

//                if(o.argument.enableDD)
//                {
//                    new YAHOO.example.DDList(clientID + "_li" + itemID,clientID);
//                }   
//            }
//            var ul = document.getElementById(clientID + '_ul' + coln);
//            if(ul!=null)
//            {
//            
//                ul.innerHTML = "";
//                var childs = tul.childNodes.length;
//                for(var k=0; k < childs; k++)
//                {
//                    var ii = tul.firstChild;
//                    ul.appendChild(ii);
//                
//                }
//            }
//        }       
//    }
//}

var edo_handleFailure = function(o) {
    if(o.responseText !== undefined) {
        //alert('Failure');
    }
}

function edo_saveChanges(elid)
{
    var temp = elid.lastIndexOf('_li');
    var clientID = elid.substring(0,temp);
    var out = "";
    for(var x=0;x<3;x++){
        var col = document.getElementById(clientID + "_ul" + (x+1));
        var items = col.getElementsByTagName("li");
        //out += ">col" + (x+1) + ":";
        var sort = 0;
        for(i=0;i<items.length;i++){
            sort++;
            out += items[i].getAttribute("itemID") + ";" + (x+1) + ";" + (sort*10) + ">";
        }       
   }
    var divlistId = document.getElementById(clientID + "_listid");
    var listid = divlistId.innerHTML;
    var divplistId = document.getElementById(clientID + "_plistid");
    var plistid = divplistId.innerHTML;   
    var divweburl = document.getElementById(clientID + "_weburl");
    var weburl = divweburl.innerHTML;   
    edo_makeRequestCMD(weburl + "/_layouts/1033/ITG.SharePoint.UI.WebControls.WebParts.edoColumns/ws/edoColumnsWP.aspx?cmd=savechanges&items=" + out + "&list=" + listid + "&plist=" + plistid,clientID);
    
}

function edo_addnewitem(itemid,clientID)
{
    var divlistId = document.getElementById(clientID + "_listid");
    var listid = divlistId.innerHTML;
    var divplistId = document.getElementById(clientID + "_plistid");
    var plistid = divplistId.innerHTML;
    var divweburl = document.getElementById(clientID + "_weburl");
    var weburl = divweburl.innerHTML;   

    var url = weburl + "/_layouts/addedolinkdialog.aspx?item=" + itemid + "&list=" + listid + "&plist=" + plistid;
    var editd = window.showModalDialog(url,'','dialogHeight:350px; dialogWidth:550px');    
    if(editd != null)
    {
        var iProps = editd.split(">");
        if(iProps.length > 5)
        {
            var editi = iProps[0];
            var itemID = iProps[1];
            var title = iProps[2];
            var target = iProps[3];
            var sclass = iProps[4];
            var href = iProps[5];
            var coln = iProps[6];
            var item = edo_child(itemID,title,target,sclass,href,coln,clientID,true);
            if(editi == "0")
            {
                new YAHOO.example.DDList(clientID + "_li" + itemID,clientID);
                var ul = document.getElementById(clientID + '_ul' + coln);
                ul.appendChild(item);
            }
            
        }
    }
    
    var dt = new Date();      
    edo_makeRequestCMD(weburl + "/_layouts/1033/ITG.SharePoint.UI.WebControls.WebParts.edoColumns/ws/edoColumnsWP.aspx?cmd=getcol&list=" + listid + "&plist=" + plistid + "&dt=" + dt.toString(),clientID);

    return false;    
}
function edo_properties(clientID)
{
    var divlistId = document.getElementById(clientID + "_listid");
    var listid = divlistId.innerHTML;
    var divplistId = document.getElementById(clientID + "_plistid");
    var plistid = divplistId.innerHTML;
    var divweburl = document.getElementById(clientID + "_weburl");
    var weburl = divweburl.innerHTML;   

    var url = weburl + "/_layouts/EDOPropertiesDialog.aspx?list=" + plistid;
    var editd = window.showModalDialog(url,'','dialogHeight:685px; dialogWidth:550px');    
    if(editd != null)
    {   
        var cols = editd.split('<');
        if(cols.length > 0)
        {
            for(var i=0;i< cols.length;i++)
            {
                var cProps = cols[i].split('>');
                if(cProps.length > 4)
                {
                    var coln = cProps[0];         
                    var cTitle = cProps[1];
                    var cLinkType = cProps[2];
                    var cLink = cProps[3];
                    var cONW= cProps[4];
                    var cVisible= cProps[5];
                
                    var colTitle = document.getElementById(clientID + "_col" + coln + "_title");
                    var colTD = document.getElementById(clientID + "_col" + coln + "_tdcol");
                    var colImage = document.getElementById(clientID + "_col" + coln + "_image");
                    if(colTD != null)
                    {
                        if(cVisible == "True")
                            colTD.style.display = "";
                        else
                            colTD.style.display = "none";
                    }
                    if(colTitle != null)
                          colTitle.innerHTML = unescape(cTitle);   

                    if(colImage != null && cLink != null)
                    {                
                        if(cLinkType == "True")
                        {
                            var cLinks = cLink.split("#");
                            var imgLink = "<IMG alt=\"" + unescape(cTitle) + "\" width=\"145\" height=\"75\" src=\"" + unescape(cLinks[0]) + "\" border=\"0\"/>";
                            if(cLinks.length > 1)
                            {
                                if(cLinks[1] != null && cLinks[1] != "")
                                {
                                    var tLink = "<a href=\"" + unescape(cLinks[1]) + "\"";
                                    if(cONW != null){
                                        if(cONW == "True"){
                                            tLink += " target=\"_blank\"";
                                        }
                                    }
                                    imgLink = tLink + ">" + imgLink + "</a>";                    
                                }
                            }
                            colImage.innerHTML = imgLink;
                        }else
                        {
                            colImage.innerHTML = unescape(cLink)
                        }
                    }
                }
            }
        }
    }
    var dt = new Date();      
    edo_makeRequestCMD(weburl + "/_layouts/1033/ITG.SharePoint.UI.WebControls.WebParts.edoColumns/ws/edoColumnsWP.aspx?cmd=getcol&list=" + listid + "&plist=" + plistid + "&dt=" + dt.toString(),clientID);

    return false;    
}
function edo_makeDD(ddItems, clientID)
{
    for(var j=0; j < 3; j++)
    {
        new YAHOO.util.DDTarget(clientID + "_ul" + (j+1),clientID);                  
    }
    var items = ddItems.split('>');
    if(items.length > 0)    
    {   
        for(i=0;i<items.length;i++)
        {
            new YAHOO.example.DDList(clientID + "_li" + items[i],clientID);
        }
    }
  
}
function edo_deleteitem(itemid,fullitemid,clientID)
{
    var ans = confirm("Are you sure you want to delete this item?");
    if(ans){
        var divlistId = document.getElementById(clientID + "_listid");
        var listid = divlistId.innerHTML;
        var divplistId = document.getElementById(clientID + "_plistid");
        var plistid = divplistId.innerHTML;
        var divweburl = document.getElementById(clientID + "_weburl");
        var weburl = divweburl.innerHTML;   

        var item = document.getElementById(fullitemid);
        if(item != null)
        {
            var delitems  = document.createElement("div");
            delitems.appendChild(item);
        }
        edo_makeRequestCMD(weburl + "/_layouts/1033/ITG.SharePoint.UI.WebControls.WebParts.edoColumns/ws/edoColumnsWP.aspx?cmd=deleteItem&item=" + itemid + "&list=" + listid + "&plist=" + plistid,clientID);
    }
    
    return false;
}
//function edo_makeRequest(sUrl,_clientID,_DD){
//    var callback = {
//        success:edo_handleSuccess,
//        failure:edo_handleFailure,
//        argument: { clientID:_clientID,
//                    enableDD:_DD}
//    };

//    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
//}
function edo_makeRequestCMD(sUrl,_clientID){
//    var callback = {
//        success:edo_handleSuccessCMD,
//        failure:edo_handleFailure,
//        argument: { clientID:_clientID}
//    };

//    var request = YAHOO.util.Connect.asyncRequest('GET', sUrl, callback);
//}
    try
    { 
        xmlDoc= new ActiveXObject("Microsoft.XMLDOM"); // IE
    }
    catch(e)
    {
        try
        {
            xmlDoc=document.implementation.createDocument("","",null);
        }
        catch(e)
        {
        return;
        }
    }
    xmlDoc.async=false;
    xmlDoc.load(sUrl);
    
        
}
function edo_child(itemID,title,target,sclass,href,coln,clientID,_DD)
{
    var item = document.getElementById(clientID + "_li" + itemID);
    if(item == null)
    {
        item = document.createElement("li");
        item.id = clientID + "_li" + itemID;
        item.setAttribute("itemID", itemID);
        //item.setAttribute("itemGUID", itemGUID);
        
    }
    var iLink = "<a";
    iLink += " href=\"" + unescape(href) + "\"";
    if(target == "_blank")
        iLink += " target=\"" + target + "\"";
    iLink += ">";
    switch(sclass)
    {
        case "bold":
            iLink += "<b>" + unescape(title) + "</b>";
            break;
        case "italic":
            iLink += "<em>" + unescape(title) + "</em>";
            break;                            
        case "bolditalic":
            iLink += "<b><em>" + unescape(title) + "</em></b>";
            break;
        default:
            iLink += unescape(title);
            break;
    }

        
    iLink += "</a>";
        
    if(_DD)
    {
        var iH = "";
        iH +="<table border=\"0\" class=\"edo_edittable\" cellspacing=\"0\" cellpadding=\"0\">\n";
        iH +="<tr><td align=\"left\" class=\"edo_editmenu\">";
        iH +="<ul ><li class=\"edo_editli\">";
        iH += "<table border=\"0\" class=\"edo_edittable\" cellspacing=\"0\" cellpadding=\"0\">\n";
        iH += "<tr><td align=\"left\" valign=\"middle\" class=\"edo_editlink\">";
        iH +="<img border=\"0\" align=\"absmiddle\" alt=\"Edit Link\" src=\"/_layouts/images/EditItem.gif\"/>";
        iH +="</td><td align=\"center\" valign=\"middle\" class=\"edo_downarrow\">";
        iH +="<img border=\"0\" align=\"absmiddle\" alt=\"Edit Link\" src=\"/_layouts/images/downarrw.gif\"/>";
        iH +="</td></tr></table>";
        iH +="<ul><li>";                        
        iH +="<div onclick=\"edo_addnewitem(" + itemID + ",'" + clientID + "');\">";
        iH +="<img border=\"0\" align=\"absmiddle\" alt=\"Edit Link\" src=\"/_layouts/images/EditItem.gif\"/>&nbsp;&nbsp;&nbsp;Edit";
        iH +="</div>";
        iH +="</li><li>";
        iH +="<div onclick=\"edo_deleteitem(" + itemID + ",'" + item.id + "','" + clientID + "');\">";
        iH +="<img border=\"0\" align=\"absmiddle\" alt=\"Delete Link\" src=\"/_layouts/images/DelItem.gif\"/>&nbsp;&nbsp;&nbsp;Delete";
        iH +="</div>";
        iH +="</li></ul>";
        iH +="</li></ul>";
        iH +="</td><td align=\"left\" style=\"padding-left:2px;\">";
        iH += iLink;
        iH += "</td></tr></table>";
        item.innerHTML = iH;
        return item;     
    }
    else
    {                      
        
        item.innerHTML = iLink;
        return item;
    }   
               
}
var edo_handleSuccessCMD = function(o) {
    // handled
}
