//global variables that can be used by ALL the function son this page.
var inputs;

//this function runs when the page is loaded, put all your other onload stuff in here too.
function replaceChecks() {
	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');
	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {
		//check if the input is a checkbox
		if(inputs[i].getAttribute('type') == 'checkbox' && inputs[i].style.display != 'none') {
			//create a new image
			var img = document.createElement('div');
			//check if the checkbox is checked
			if(inputs[i].checked) {
				//img.src = imgTrue;
				img.className = "imgTrue";
			} else {
				//img.src = imgFalse;
				img.className = "imgFalse";
			}
			//set image ID and onclick action
			img.id = 'checkImage'+i;
			//set image 
			img.onclick = new Function('checkChange('+i+')');
			//place image in front of the checkbox
			inputs[i].parentNode.insertBefore(img, inputs[i]);
			//hide the checkbox
			inputs[i].style.display='none';
		}
	}
}

//find out the id of the pack, and look for req field value
function checkReqByImage(i) {
	var row = inputs[i].parentNode.parentNode.parentNode;

	var req = row.getElementsByTagName('input');

	if(req) {
		for(var j=0; j<req.length; j++) {

			if(req[j].name == 'req') {
				if(req[j].value > '0') {
					return 'reserved';
				}
			}
		}
	}
	return '';
}

//find out the id of the pack, and look for req field value
function checkReqById(id) {

	var req = get_item('req' + id);

	if(req) {
			if(req.value > '0') {
				return 'reserved';
			}
		}

	return '';
}

//set all req to 0
function resetReq() {
	var req = document.getElementsByName('req');
	if(req) {
		for(var i=0; i<req.length; i++) {
			req[i].value = 0;
		}
	}
}
//change the checkbox status and the replacement image
function checkChange(i) {

	var response  = checkReqByImage(i);

	if(response != 'reserved') {
		if(inputs[i].checked) {
			inputs[i].checked = '';
			document.getElementById('checkImage'+i).className="imgFalse";
		}
		else {
			inputs[i].checked = 'checked';
			document.getElementById('checkImage'+i).className="imgTrue";
		}
	}
	else {
		inputs[i].checked = 'checked';
	}
}

check = [];
function size_calc(id) {
	//ajaxFunction('1', 'dependences');
	var response  = checkReqById(id) 
	if(response != 'reserved') {

		var item = get_item('size' + id);
		var total_value = get_item('total_value');
		if(check[id] != true) {
			total_value.value = parseInt(total_value.value) + parseInt(item.value);
			check[id] = true;
			ajaxCalcSize("id=" + id + "&sign=add", 1);
		}
		else {
			total_value.value = total_value.value - item.value;
			check[id] = false;
			ajaxCalcSize("id=" + id + "&sign=min", 0);		
		}

		//newval = total_value.value;
		newval = size_hum_read(total_value.value);
		newval = newval.split(' ');
	
		newval = newval[0]/1.45;
	
		show_size_bar();

		var size_bar = get_item('size_bar');
		size_bar.innerHTML = size_hum_read(total_value.value);
		if(total_value.value > 734000000) {
			//do not display
			/*
			var sub_button = get_item('sub_mit');
			sub_button.disabled = true;
			*/
			var message700 = get_item('size_bar');
			message700.innerHTML = "<font color='White'> The maximum size was exceded!</font>";
		}
		else {
			//all is ok
			//var sub_button = get_item('sub_mit');
			//sub_button.disabled = false;
		}

	}
}


function size_calc_dep(depValue) {

	var total_value = get_item('total_value');

	total_value.value = parseInt(total_value.value) + parseInt(depValue);

	newval = size_hum_read(total_value.value);
	newval = newval.split(' ');
	newval = newval[0]/1.45;
	show_size_bar();

	var size_bar = get_item('size_bar');
	size_bar.innerHTML = size_hum_read(total_value.value);
	if(total_value.value > 734000000) {

	var message700 = get_item('size_bar');
	message700.innerHTML = "<font color='White'> The maximum size was exceded!</font>";

	}
	else {
		//all is ok
		//var sub_button = get_item('sub_mit');
		//sub_button.disabled = false;
	}
}

function setlocalevalue() {
	var locale_select = get_item('language');
	var xindex = locale_select.selectedIndex;

	xindex = locale_select.options[xindex].value;	

	var locale_size = get_item('size_locale' + xindex);
	var locale_field = get_item('sizeselected_locale');

	if(locale_field.value) {
		size_calc('selected_locale');
	}

	locale_field.value = locale_size.value;
	size_calc('selected_locale');

}
function size_hum_read(size) {
	var i=0;
	var iec = new Array (" B", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");

	while ((size/1024)>1) {
	size=size/1024;
	i++;
	}
	size = size.toString();
	var index1 = size.indexOf(".");
	if(index1 != '-1') {
	index1 = parseInt(index1) + parseInt(3);
	
		return size.substring(0, index1) + iec[i];
	}
	else {
		return size + iec[i];
	}

}

oldval = parseFloat(200/1.45);
newval = parseFloat(200/1.45);

sizebar = function(oldval, newval) {
	var size_div = get_item('size_bar');

	if(newval > 700/1.45) {
		size_div.className = 'size_exceded';
	}
	else if(newval > 650/1.45) {
		size_div.className = 'size_warning';
	}
	else if(newval > 600/1.45) {
		size_div.className = 'size_bad';
	}
	else if(newval > 550/1.45) {
		size_div.className = 'size_ok';
	}
	else if(newval > 500/1.45) {
		size_div.className = 'size_good';
	}
	else if(newval < 400/1.45) {
		if(size_div) {
		size_div.className = 'size_very_good';
		}		
	}
	oldval = parseFloat(oldval);
	newval = parseFloat(newval);

	var anim = new YAHOO.util.Anim('size_bar', { width: {from: oldval, to: newval} }, 1, YAHOO.util.Easing.bounceOut);

	anim.animate();
};


function show_size_bar() {
	var div = document.getElementById('size_bar');
	sizebar(oldval, newval);
	var aux = oldval;
	oldval = newval;
	newval = aux;
}


function customlevel(value) {
	var display_div = new Array('ghost', 'wallpaper', 'userconfig', 'language', 'report', 'soundconfig');

	if(parseInt(value) == '0') {

		for(var i=0; i<display_div.length; i++) {
			var div = document.getElementsByName(display_div[i]);
			div[0].checked = false;	
		}

		var categories = document.getElementsByName('categories_sel[]');
		for(var i=0; i<categories.length; i++) {

			if(categories[i].checked == true) {

				//categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
				categories[i].click();
			}
		}

		var categories = document.getElementsByName('categories[]');
		for(var i=0; i<categories.length; i++) {
			
			if(categories[i].checked == true) {
				categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
			}
		}

	}
	else if(parseInt(value) == '1') {
		resetReq();
		for(var i=0; i<display_div.length; i++) {
			var div = document.getElementsByName(display_div[i]);
			div[0].checked = true;
		}

		var categories = document.getElementsByName('categories_sel[]');
		for(var i=0; i<categories.length; i++) {

			if(categories[i].checked == true) {

				//categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
				categories[i].click();
			}
		}

		var categories = document.getElementsByName('categories[]');
		for(var i=0; i<categories.length; i++) {

			if(categories[i].checked == true) {
				categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
			}
		}
	}
	else if(parseInt(value) == '2') {
		resetReq();
		//'ghost', 'wallpaper', 'userconfig', 'language', 'report', 'soundconfig'
		for(var i=0; i<display_div.length; i++) {
			var div = document.getElementsByName(display_div[i]);
			div[0].checked = true;
		}

		var categories = document.getElementsByName('categories_sel[]');
		for(var i=0; i<categories.length; i++) {

			if(categories[i].checked == true) {
				//categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
				categories[i].click();
			}
		}

		var categories = document.getElementsByName('categories[]');

		for(var i=0; i<categories.length; i++) {

			if(categories[i].checked == true) {
				categories[i].checked = false;
				var span = categories[i].parentNode;
				span.getElementsByTagName('div')[0].className ="imgFalse";
			}
		}

		for(var i=0; i<categories_ids.length; i++) {
			var category =  get_item('cat' + categories_ids[i])

				category.checked = true;
				var span = category.parentNode;
				span.getElementsByTagName('div')[0].className ="imgTrue";
		}

		for(var i=0; i<packages_ids.length; i++) {
			var pack =  get_item('pack' + packages_ids[i])

				pack.checked = true;
				var span = pack.parentNode;
				span.getElementsByTagName('div')[0].className = "imgTrue";
				size_calc(packages_ids[i]);
		}
	}
}

function selectFromText(item) {
	var item = item.parentNode.cells[0].getElementsByTagName('input');
	item[0].click();
}

function verification(item) {
		var categories =  item.parentNode.getElementsByTagName('input');
		i=0;

			var span = categories[i].parentNode;

			if(categories[i].checked == true) {
				span.getElementsByTagName('div')[0].className = "imgTrue";
			}
			else {
				span.getElementsByTagName('div')[0].className = "imgFalse";
			}
}

function verificationPack(item) {
			var categories = item.parentNode.getElementsByTagName('input');

			i = 0;
			var span = categories[i].parentNode;
			var id = span.getElementsByTagName('div')[0].id.replace('checkImage','');
			var response  = checkReqByImage(id);
			if(response != 'reserved') {
			if(categories[i].checked == true) {
				span.getElementsByTagName('div')[0].className = "imgTrue";
			}
			else {
				span.getElementsByTagName('div')[0].className = "imgFalse";
			}
			//size_calc(categories[i].value);
			}
			else {
				categories[i].checked = "checked";
			}
}

function disable(item) {
	if(item.checked == false) {
		var parentid = get_item('id' + item.value);

		var pack_in_cat  = parentid.getElementsByTagName('input');
		for(i=0; i<pack_in_cat.length; i++) {

			if(pack_in_cat[i].type == 'checkbox' && pack_in_cat[i].checked == true) {

				var span = pack_in_cat[i].parentNode;
				span.getElementsByTagName('div')[0].className = "imgFalse";
				pack_in_cat[i].click();
			}
		}
	}
}

var DoScroll = new Array();

function displayPackList(id) {
	var theList = get_item(id);
	theList.style.display = '';
	var size = theList.offsetHeight;
	DoScroll[id] = "yes";
	scrollDiv(size, size, id);
}

function hidePackList(id) {
	var theList = get_item(id);
	theList.style.display = 'none';
	theList.style.marginTop = '0px';
	DoScroll[id] = "";
}

function scrollDiv(Msize, Asize, id) {
	if(DoScroll[id] == "yes" && parseInt(Msize) > 210) {
		//var testDiv = get_item('forTest');
		var Item = get_item(id);
		var rowSize = parseInt(Item.rows.length);

		if(parseInt(Asize) > 210) {
			Asize = parseInt(Asize) - 1;
			//testDiv.innerHTML = Msize + "_____" + Asize;
			Item.style.marginTop = parseInt(Asize) - parseInt(Msize);
			setTimeout("scrollDiv("+ parseInt(Msize) +","+ parseInt(Asize) +", '"+ id +"')",100);
		}
		else {
			//setTimeout("scrollDiv("+ parseInt(Msize) +","+ parseInt(Msize) +", '"+ id +"')",100);
		}
	}
}