/* Good code, good code! You reading it? */
function toggleLabel(fname, field, dr) {
	if(dr==0 && fname == field.value) {
		field.value = '';
	} else if(dr==1, field.value == '') {
		field.value = fname;
	}
}
var starPos = new Array();
function origStars() {
	for (i = 1; i <= 5; i++) {
		starPos[i] = document.getElementById('s'+i).style.backgroundPosition;
	}
}
function setStars(curr) {
	var rest = 5 - curr;
	for (i = 1; i <= curr; i++) {
		document.getElementById('s'+i).style.backgroundPosition = 'center top';
	}
	
	for (i = curr+1; i <= curr+rest; i++) {
		document.getElementById('s'+i).style.backgroundPosition = 'center bottom';
	}
}
function clearStars() {
	for (i = 1; i <= 5; i++) {
		document.getElementById('s'+i).style.backgroundPosition = starPos[i];
	}
}

function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
	// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}

function stateChanged() {
	if (xmlhttp.readyState==4 && uField!=false) {
		if(uField == 'the-stars') {
			var e = document.getElementById('top-green');
			e.innerHTML = '<div id="aad" class="info go">Thanks for rating!</div>';
			var t=setTimeout("document.getElementById('top-green').innerHTML = ''",3000);
		}
		document.getElementById(uField).innerHTML=xmlhttp.responseText;
	}
}

var set0 = false;
var set1 = false;
var set2 = false;
var set3 = false;
var uField = '';
function uuCount(uOpt, xyz) {
	if(uOpt==0 && set0 != true || uOpt==1 && set1 != true || uOpt==2 && set2 != true || uOpt==3 && set3 != true) {
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null) {
			//alert ("Your browser does not support XMLHTTP!");
			return;
		}
		
		if(uOpt==1) {
			uField = 'tweet_count';
			set1 = true;
		} else if(uOpt==2) {
			uField = 'rss_count';
			set2 = true;
		} else if(uOpt==3) {
			uField = 'share_count';
			set3 = true;
		} else {
			set0 = true;
			uField = '';
		}
		
		var url='/ajax/ucount/'+uOpt+'/'+xyz+'/'+Math.random()+'/';
		
		xmlhttp.onreadystatechange=stateChanged;
		xmlhttp.open('GET',url,true);
		xmlhttp.send(null);
	}
}
function aRate(abc, xyz) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		return;
	}
	
	uField = 'the-stars';
	uFieldObj = document.getElementById(uField);
	uFieldObj.innerHTML = '<img alt="Loading" src="/img/assets/loading.gif" width="16" height="16" />';
	
	var url='/ajax/stars/'+abc+'/'+xyz+'/'+Math.random()+'/';
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open('GET',url,true);
	xmlhttp.send(null);
	document.cookie = 'ar'+xyz + "=1; path=/";
}
function cRate(abc, def, xyz) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		return;
	}
	
	uField = 'thumbs-'+def;
	uFieldObj = document.getElementById(uField);
	uFieldObj.innerHTML = '<img class="left" alt="Loading" src="/img/assets/loading.gif" width="16" height="16" /><span class="blind left thumbs-nh"></span><span class="blind left thumbs-nh" style="background-image: url(/img/assets/tdown.gif);"></span>';
	
	var url='/ajax/thumbs/'+abc+'/'+def+'/'+xyz+'/'+Math.random()+'/';
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open('GET',url,true);
	xmlhttp.send(null);
	document.cookie = 'c'+def + "=1; path=/";
}

function cReply(i, lev, url) {
	url = '/articles/'+url+'/1'+i+'/#post';
	
	var e = document.getElementById('c'+i);
	var clear = document.getElementById('clear-'+i);
	var f = document.getElementById('the-form');
	
	var fe = f.childNodes[1];
	fe.setAttribute('action', url);
	
	document.getElementById('cancel-btn').style.display = 'inline';
	
	f.style.cssFloat = 'right';
	f.style.width = (lev == 1) ? '511px' : '541px';
	f.style.marginTop = '15px';
	f.style.paddingLeft = '32px';
	f.style.background = 'url(/img/assets/220.gif) left top repeat-y';
	
	e.insertBefore(f, clear);
}
function ccReply(url) {
	url = '/articles/'+url+'/#post';
	var clear = document.getElementById('post');
	var f = document.getElementById('the-form');
	
	var fe = f.childNodes[1];
	fe.setAttribute('action', url);
	
	document.getElementById('cancel-btn').style.display = 'none';
	
	f.style.cssFloat = 'none';
	f.style.width = '100%';
	f.style.paddingTop = '0';
	f.style.paddingLeft = '0';
	f.style.background = 'none';
	
	clear.parentNode.insertBefore(f, clear.nextSibling);
}
function validateForm(fizorm, fields) {
	var e = document.getElementById('imsg');
	var post_html;
	var errors = new Array();
	
	for (var i in fields) {
		if(fields[i] == 'name') {
			if(fizorm.name.value == '' || fizorm.name.value.match(/^name$/i)) {
				errors.push('Empty name');
			}
		} else if(fields[i] == 'email') {
			if(!fizorm.email.value.match(/^[\w.-]+@[\w.-]+\.[a-z]{2,6}$/i)) {
				errors.push('Invalid email');
			}
		} else if(fields[i] == 'url') {
			if(fizorm.url.value != '' && !fizorm.url.value.match(/^url$/i) && !fizorm.url.value.match(/^(http:\/\/)?([\w.-]+\.[a-z]{2,6})(\/|\/(\S*))?$/i)) {
				errors.push('Invalid URL--Erase to eliminate');
			}
		} else if(fields[i] == 'message') {
			if(fizorm.message.value == '' || fizorm.message.value.match(/^message$/i)) {
				errors.push('Empty message');
			}
		} else if(fields[i] == 'shield') {
			if(parseInt(fizorm.shield.value) != new Date().getDate()) {
				errors.push('Invalid date provided');
			}
		} else if(fields[i] == '') {
			errors.push('Empty '+fields[i]);
		}
	}
	
	if(errors.length == 0) {
		return true;
	} else {
		post_html = '<div class="info stop">Oops! Please validate any information below.<ul>';
		for(i=0; i<errors.length; i++) {
			post_html += '<li>'+errors[i]+'</li>';
		}
		post_html += '</ul></div>';
		e.innerHTML = post_html;
		return false;
	}
}
function get_tz_list(id) {
	var e = document.getElementById(id);
	e = e.value;
	uField = 'tz_response';
	
	uFieldObj = document.getElementById(uField);
	
	if(e=='') {
		uFieldObj.innerHTML='';
		return;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		return;
	}
	
	uFieldObj.innerHTML = '<img alt="Loading" src="/img/assets/loading.gif" width="16" height="16" />';
	
	var e = document.getElementById(id);
	e = e.value;
	
	var url='/timezone/'+e+'/'+Math.random()+'/';
	
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open('GET',url,true);
	xmlhttp.send(null);
}

function get_speed() {
	/*uField = 'conn_speed';
	uFieldObj = document.getElementById(uField);
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		return;
	}
	
	uFieldObj.innerHTML = '<img alt="Loading" src="/img/assets/loading.gif" width="16" height="16" />';
	
	var url='/tools/speed/';
	
	xmlhttp.onreadystatechange=stateChanged;
	xmlhttp.open('GET',url,true);
	xmlhttp.send(null);*/
	
	var imageAddr = '/tools/system-info/image.jpg?n='+Math.random();
	var startTime, elapsedTime;
	var fileSize = 505544;
	
	var theImage = new Image();
	theImage.onload = function() {
		elapsedTime = new Date().getTime()/1000-startTime;
		showResults();
	}
	
	var startTime = new Date().getTime()/1000;
	theImage.src = imageAddr;
	
	function showResults() {
		var bps = 1/elapsedTime*fileSize;
		var kbps = bps/1024;
		var mbps = bps/1048576;
		
		var theHTML = mbps.toFixed(2)+' MB/s';
		var fileTypes = new Array('MP3 File (5 MB)', 'Video Clip (35 MB)', 'Movie (800 MB)');
		var fileSizes = new Array(5242880, 36700160, 838860800);
		
		for(var i=0; i<fileTypes.length; i++) {
			var dTime = fileSizes[i]/bps;
			var units = 'sec';
			if(dTime>60) {
				dTime /= 60;
				units = 'min';
			}
			dTime = Math.ceil(dTime);
			theHTML += '<br />'+fileTypes[i]+': '+dTime+' '+units;
		}
		theHTML += '<br /><a onclick="this.innerHTML=\'\'; get_speed();" style="cursor: pointer;">Reload</a>';
		
		document.getElementById('conn_speed').innerHTML = theHTML;
	}
}

