var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;

function bookmark(url,title){
  if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
  window.external.AddFavorite(url,title);
  } else if (navigator.appName == "Netscape") {
    window.sidebar.addPanel(title,url,"");
  } else {
    alert("Sorry, your browser does not support this function. If you\'re using Opera, click CTRL+T instead to bookmark.");
  }
}

function share(shareThing) {
popup_show('share', 'share_drag', 'share_exit');
document.share_stuff.share_thing.value=shareThing;
document.getElementById('body').style.display='block';
}

function report_broken(theBrokenLink) {
popup_show('report_broken', 'report_broken_drag', 'report_broken_exit'); 
document.report_link_broken.broken_link.value=theBrokenLink;
document.getElementById('body').style.display='block';
}

function womOn(){
  window.onload = womGo;
}

function womGo(){
  for(var i = 0;i < woms.length;i++)
    eval(woms[i]);
}

function womAdd(func){
  woms[woms.length] = func;
}

var woms = new Array();

function scrollto(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	window.scrollTo(curleft,curtop-10);
}

function countChar(field,str,f){
if(str.length==undefined) { document.getElementById(field).style.display="none"; } else { document.getElementById(field).style.display="block"; document.getElementById(field).innerHTML = 'Total of ' + str.length + ' characters entered.'; }
}

function emo(what,myValue) {
myField = what;
if(document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
else if(myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}

var Types = new Array("text","textarea");

function clear_form(what)
{
for(i=0;i<what.elements.length;i++)
{
for(j = 0;j<Types.length;j++)
{
if(what.elements[i].type == Types[j])
{
what.elements[i].value="";
}
}
}
}

function wait(whatid,whatbtn){
whatbtn.style.display='none';
document.getElementById(whatid).innerHTML='<input type="submit" value="wait..." disabled>';
document.getElementById(whatid).display='block';
}

function wait_small(whatid,whatbtn){
whatbtn.style.display='none';
document.getElementById(whatid).innerHTML='<input type="submit" class="form_small" value="wait..." disabled>';
document.getElementById(whatid).display='block';
}

function select_all(formName,name,value){

var forminputs = formName.getElementsByTagName('input');

for (i = 0; i < forminputs.length; i++){
// regex here to check name attribute
var regex = new RegExp(name, "i");
if (regex.test(forminputs[i].getAttribute('name'))){
if (value == '1'){
forminputs[i].checked = true;
}else{
forminputs[i].checked = false;
}
}
}
}