var isNS4 = false;
var isIE = false;
var isDOM = false;

//the following function are for use with wz_dragdrop-library only!
function restoreLayerPos( name )
{
  var s = get_cookie('LXYPOS_' + window.name + name);
  if (s != '') {
    var regs = s.match(/(\d+),(\d+)/);
    if (regs) {
      var ele = dd.elements[name].moveTo(regs[1],regs[2]);
	  gtx_adjustpos(name);
    }
  }
}

function storeLayerPos( name )
{
  var value = dd.elements[name].x + ',' + dd.elements[name].y;
  set_cookie('LXYPOS_'  + window.name + name, value);
}


// writes 'value' into a layer named 'lay' located in frame 'target_frame'
// or to current document if not specified
function get_layer(lay, target_frame) {
	if (!target_frame) {
		target_frame = document;
	}
	//NS4
	if (document.layers) {
		isNS4 = true;
		if (target_frame.layers) {
			return target_frame.layers[lay];
		} else if (target_frame.document.layers) {
			return target_frame.document.layers[lay];
		}
	//IE
	} else if (document.all) {
		isIE = true;
		if (target_frame.all) {
			return target_frame.all[lay];
		} else if (target_frame.document.all){
			return target_frame.document.all[lay];
		}
	//DOM1
	} else if (document.getElementById) {
		isDOM = true;
		if (target_frame.getElementById) {
			return target_frame.getElementById(lay);
		} else if (target_frame.document && target_frame.document.getElementById) {
			return target_frame.document.getElementById(lay);
		} else {
			return top.main.list.document.getElementById(lay);
		}
	} else {
		//alert('Error: Could not find layer ('+lay+') in target ('+target_frame.name+')');
		return false;
	}
}

function cssSetChildClasses( el, className )
{
	var child;
	child = el.firstChild;
	while ( child )
	{
	   child.className = className;
	   child = child.nextSibling;
	}
}

function move_layer(l, x, y, force) {
	if (l) {
		if (isNS4) {
			if (x || force) l['left'] = x;
			if (y || force) l['top'] = y;
		} else if (isIE || isDOM) {
			if (x || force) l.style.left = x;
			if (y || force) l.style.top = y;
		}
	} else {
		//alert('Error: Could not find layer ('+l+')');
	}
}

function show_layer(l) {
	if (l) {
		if (isNS4) {
			l.visibility = 'show';
		} else if (isIE || isDOM) {
			l.style.visibility = 'visible';
		}
	} else {
		//alert('Error: Could not find layer ('+l+')');
	}
}

function hide_layer(l) {
	if (l) {
		if (isNS4) {
			l.visibility = 'hide';
		} else if (isIE || isDOM) {
			l.style.visibility = 'hidden';
		}
	} else {
		//alert('Error: Could not find layer ('+l+')');
	}
}

function layer_isvisible(l) {
	var rs = false;
	if (l) {
		if (isNS4) {
			if (l.visibility == 'show') rs = true;
		} else if (isIE || isDOM) {
			if (l.style.visibility == 'visible') rs = true;
		}
	}
	return rs;
}

function toggle_layer (l) {
	if (l) {
		if (isNS4) {
			if (l.visibility != 'hide') {
				hide_layer(l);
			} else {
				show_layer(l);
			}
		} else {
			if (l.style.visibility != 'hidden') {
				hide_layer(l);
			} else {
				show_layer(l);
			}
		}
	} else {
		//alert('Error: Could not find layer ('+l+')');
	}
}

function write_layer(l, value) {
	if (l) {
		if (isNS4) {
			l.document.open();
			l.document.write(value);
			l.document.close();
		} else if (isIE || isDOM) {
			l.innerHTML = value;
		}
	} else {
		//alert('Error: Could not find layer ('+l+')');
	}
}

function write_layer2(lay, value) {

 if (document.layers) {
  //var l = document.layers[lay];
  if (document.layers[lay]) {
   with (document.layers[lay]) {
     visibility = 'hide';
     document.open();
     document.write(value);
     document.close();
     visibility = 'show';
   }
  }
 } else if (document.all){
  var l = document.all[lay];
  if (l) {
  l.style.visibility = 'hidden';
  l.innerHTML = value;
  l.style.visibility = 'visible';
  }
 }
 else if (document.getElementById) {
  var l = document.getElementById(lay);
  if (l) {
  l.style.visibility = 'hidden';
  l.innerHTML = value;
  l.style.visibility = 'visible';
  }
 }
}

var lastname;
function gtx_adjustpos(name)
{    
	if (!name) name=lastname;
    if (!name) return;
    lastname=name;
    var winwidth = (window.innerWidth?window.innerWidth-18:document.body.offsetWidth+18);
    var x = dd.elements[name].x;
    var y = dd.elements[name].y;
    var w = document.getElementById(name).style.width;
    w = parseInt(w.substring(0, w.length - 2));
    if (x+w > winwidth) {
      var ele = dd.elements[name].moveTo(winwidth - w,y);
    } 
}
