

function Attach(qs,obj) {
	var url = 'do_attach.jsp?' + qs + '&ajax=true';
	var req;
	
    try  {		
        req=new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
            req=new ActiveXObject("Microsoft.XMLHTTP");
        } catch(oc) {
            req=null;
        }
    }

    if(!req&&typeof XMLHttpRequest!="undefined") {
        req= new XMLHttpRequest();
	}
	
    if(req!=null) {
		var p = obj.parentNode;
		var a = p.childNodes[0];
		p.removeChild(a);
		var s = document.createElement('span');
		p.appendChild(s);
		setText(s,'Attaching');
		
        req.onreadystatechange = function() {
			if (req.readyState == 4) {
				// only if "OK" 				
				if (req.status == 200) {
					if(req.responseText.indexOf("update=true")>-1) {
						attUpdated(p,qs);				
					} else {
						alert('Unexpected response text');
					}
				} else {
					alert(req.status);
				}
			}
		}
        req.open("GET", url, true);
        req.send(null);
    }
}
function Detach(qs,obj) {
	var url = 'do_detach.jsp?' + qs + '&ajax=true';
	var req;
	
    try  {		
        req=new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
            req=new ActiveXObject("Microsoft.XMLHTTP");
        } catch(oc) {
            req=null;
        }
    }

    if(!req&&typeof XMLHttpRequest!="undefined") {
        req= new XMLHttpRequest();
	}
	
    if(req!=null) {
		var p = obj.parentNode;
		var a = p.childNodes[0];
		p.removeChild(a);
		var s = document.createElement('span');
		p.appendChild(s);
		setText(s,'Detaching');
		
        req.onreadystatechange = function() {
			if (req.readyState == 4) {
				// only if "OK" 				
				if (req.status == 200) {
					if(req.responseText.indexOf("update=true")>-1) {
						detUpdated(p,qs);				
					} else {
						alert('Unexpected response text');
					}
				} else {
					alert(req.status);
				}
			}
		}
        req.open("GET", url, true);
        req.send(null);
    }
}


function attUpdated(l,qs) {
	var td = l;
	var tr = l.parentNode;
	
	var tds = tr.getElementsByTagName('td');
	var bgtmp;
	var image = '/admin/assets/gfx/updated.gif';
	
	var a = td.childNodes[0];
	td.removeChild(a);
	var s = document.createElement('span');
	td.appendChild(s);
	setText(s,'Attached');
	
	if (tr.className.indexOf('row0')>-1) {
		bgtmp = '#eee';
		image = '/admin/assets/gfx/updated_row0.gif';	
	} else {
		bgtmp = '#fff';		
	}
	/*
	for (i=0;i<=(tds.length-1);i++) {
		 bgtmp = tds[i].style.backgroundColor;
		 tds[i].style.background = bgtmp + ' url(/admin/assets/gfx/updated.gif)';
	}*/
	tds[0].style.background = bgtmp + ' url(' + image +')';
	tds[1].style.background = bgtmp + ' url(' + image +')';
	tds[2].style.background = bgtmp + ' url(' + image +')';
	
}

function detUpdated(l,qs) {
	var td = l;
	var tr = l.parentNode;
	
	var tds = tr.getElementsByTagName('td');
	var bgtmp;
	var image = '/admin/assets/gfx/updated.gif';
	
	var a = td.childNodes[0];
	td.removeChild(a);
	var s = document.createElement('span');
	td.appendChild(s);
	setText(s,'Detached');
	
	if (tr.className.indexOf('row0')>-1) {
		bgtmp = '#eee';
		image = '/admin/assets/gfx/updated_row0.gif';	
	} else {
		bgtmp = '#fff';		
	}
	/*
	for (i=0;i<=(tds.length-1);i++) {
		 bgtmp = tds[i].style.backgroundColor;
		 tds[i].style.background = bgtmp + ' url(/admin/assets/gfx/updated.gif)';
	}*/
	tds[0].style.background = bgtmp + ' url(' + image +')';
	tds[1].style.background = bgtmp + ' url(' + image +')';
	tds[2].style.background = bgtmp + ' url(' + image +')';
	
}

function charCounter(f,maxlength) {
	if(f.value.length > maxlength) {
		f.value = f.value.substring(0,maxlength);
		alert("This field can only contain "+maxlength+" characters");
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  w = window.open(theURL,winName,features);
	if (w.focus) w.focus();
}
function setText(el,str)
{
	if ('string' == typeof el.textContent) {
		 el.textContent = str;
	} else if ('string' == typeof el.innerText) {
		el.innerText = str;
	}
}
