function Toggle(whichLayer) {
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}

function createRequestObject() {
        var xmlHttp;
        var browser = navigator.appName;
        if (window.XMLHttpRequest){
                var xmlHttp = new XMLHttpRequest();
        }
        else if (window.ActiveXObject){
                var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        return xmlHttp;
}

var http = createRequestObject();

function showResults(type, method, id) {
	if (http.readyState == 4) {
		var element = type + '_' + method + '_' + id;
		var oldvalue = document.getElementById(element).innerHTML;
		document.getElementById(element).innerHTML = parseInt(oldvalue) + 1;

		if (type != 'post') {
			element = type + '_total_' + id;
			var up = document.getElementById(type + '_up_' + id).innerHTML;
			var down = document.getElementById(type + '_down_' + id).innerHTML;
			document.getElementById(element).innerHTML = parseInt(up) - parseInt(down);
		}
	}
}

function vote(type, method, id) {
	var random = Math.random();
	getrequest = '?type=' + type + '&id=' + id + '&vote=' + method + '&urmom=' + random;
	http.open('GET', getrequest);
	http.onreadystatechange = function() {showResults(type, method, id);};
	http.send(null);
}

function clearBox(element) {
        if (element.value == 'Text message or caption goes here...') {
                element.value = '';
        }
}

function submitForm(form) {
	if (form.message.value == 'Text message or caption goes here...') {
		alert("You must provide a caption");
		form.message.focus();
		return false;

	} else if (form.user.value == '999') {
		alert("You must provide an area code");
		form.user.focus();
		return false;

	} else if (form.user.value != '' && form.user.value.length == 3 && isAreaCode(form.user.value)) {
		return true;

	} else {
		alert("Area code must be numbers only and be exactly 3 characters");
		form.user.focus();
		return false;
	}
}

function isAreaCode(sText) {
	var ValidChars = "0123456789+";
	var isNumber=true;
	var Char;

	for (i = 0; i < sText.length && isNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			isNumber = false;
		}
	}
	return isNumber;
}

