/**
 * Javascript functions for dynamic OFPEC COMREF admin form
 *
 * Created 15 October 2007
 * Updated 14 May 2011
 *
 * @author bedges
 */


var wordfocus = '';
var operandfocus = '';

function generate_ops() {
	var preop = document.getElementById('preop').value;
	var postop1 = document.getElementById('postop1').value;
	var postop2 = document.getElementById('postop2').value;
	
	document.getElementById('preop_text').innerHTML = preop;
	document.getElementById('postop1_text').innerHTML = postop1;
	document.getElementById('postop2_text').innerHTML = postop2;
}

function change_wordfocus(el) {
	wordfocus = el;
}

function change_operandfocus(el) {
	operandfocus = el;
}

// code for inserting the operand type
function insert_word() {
	var w = document.getElementById('types').selectedIndex;
	var selected_text = document.getElementById('types').options[w].text;
	
	// operand type can now be put into description field as a link, so detect if it has focus
	if (wordfocus == 'description') {
		// it's the description; spaces need to be stripped for the link to work
		var the_bookmark = selected_text.replace(/\s+/g, '');
		var description_contents = document.getElementById('description').value + '<a href="/COMREF/index.php?action=read&id=70#' + the_bookmark + '">' + selected_text + '</a>';
		document.getElementById('description').value = description_contents;
	}
	else {
		document.getElementById(wordfocus).value = selected_text;
	}
}

// code for inserting the operand name
function insert_operand() {
	var w = document.getElementById('operands').selectedIndex;
	var selected_text = document.getElementById('operands').options[w].text;
	document.getElementById(operandfocus).value = selected_text;
	generate_ops();
	if(selected_text=='unitName' || selected_text=='vehicleName' || selected_text=='objectName') {
		if(operandfocus=='preop') {
			document.getElementById('preoptype').value = 'Object';
		}
		if(operandfocus=='postop1') {
			document.getElementById('postoptype1').value = 'Object';
		}
		if(operandfocus=='postop2') {
			document.getElementById('postoptype2').value = 'Object';
		}
	}
	if(selected_text=='arrayName') {
		if(operandfocus=='preop') {
			document.getElementById('preoptype').value = 'Array';
		}
		if(operandfocus=='postop1') {
			document.getElementById('postoptype1').value = 'Array';
		}
		if(operandfocus=='postop2') {
			document.getElementById('postoptype2').value = 'Array';
		}
	}
	if(selected_text=='idc') {
		if(operandfocus=='preop') {
			document.getElementById('preoptype').value = 'Number';
		}
		if(operandfocus=='postop1') {
			document.getElementById('postoptype1').value = 'Number';
		}
		if(operandfocus=='postop2') {
			document.getElementById('postoptype2').value = 'Number';
		}
	}
	if(selected_text=='control') {
		if(operandfocus=='preop') {
			document.getElementById('preoptype').value = 'Control';
		}
		if(operandfocus=='postop1') {
			document.getElementById('postoptype1').value = 'Control';
		}
		if(operandfocus=='postop2') {
			document.getElementById('postoptype2').value = 'Control';
		}
	}
	if(selected_text=='camera') {
		if(operandfocus=='preop') {
			document.getElementById('preoptype').value = 'Object';
		}
		if(operandfocus=='postop1') {
			document.getElementById('postoptype1').value = 'Object';
		}
		if(operandfocus=='postop2') {
			document.getElementById('postoptype2').value = 'Object';
		}
	}
}

function insert_function() {
	var w = document.getElementById('functions').selectedIndex;
	var selected_text = document.getElementById('functions').options[w].text;
	var current_text = document.getElementById('func').value;
	if(current_text=='') {
		current_text = current_text + selected_text;
	} else {
		current_text = current_text + ', ' + selected_text;
	}
	document.getElementById('func').value = current_text;
}

function pick_game(l) {
	opt = document.getElementById("choose").selectedIndex;
	if (opt==1) {
		window.location = "index.php?action=list&game=All&letter="+l;
	}
	else if (opt==2) {
		window.location = "index.php?action=list&game=Arma2OA&letter="+l;
	}
	else if (opt==3) {
		window.location = "index.php?action=list&game=Arma2&letter="+l;
	}
	else if (opt==4){
		window.location = "index.php?action=list&game=ArmA&letter="+l;
	}
	else if (opt==5){
		window.location = "index.php?action=list&game=Elite&letter="+l;
	}
	else if (opt==6){
		window.location = "index.php?action=list&game=OFP&letter="+l;
	}
}

function pick_function(g) {
	opt = document.getElementById("functions").selectedIndex;
	txt = document.getElementById("functions").options[opt].text;
		window.location = "index.php?action=list&game="+g+"&func="+txt;
}

function expand_me(id) {
	// is the content already expanded
	var expand_what = id.getElementsByTagName("div");
	var this_form = id.getElementsByTagName("textarea");
	/*
	if (expand_what[0].style.display=="block") {
		// it is, so contract all divs within the area
		for (var i=0; i<expand_what.length; i++) {
			if (expand_what[i].className == "boing") {
				expand_what[i].style.display = "none";
			}
		}
		//id.style.fontWeight = "normal";
	}
	else {
	*/
	// hide all boings
		var masterdiv = document.getElementById('definitions');
		var all_divs = masterdiv.getElementsByTagName("div");
		for (var i=0; i<all_divs.length; i++) {
			if (all_divs[i].className == "make_comment") {
				all_divs[i].style.display = "none";		
			}
			//all_divs[i].style.fontWeight = "normal";
		}
		// expand all relevant divs within the area
		for (var i=0; i<expand_what.length; i++) {
			if (expand_what[i].className == "make_comment") {
				expand_what[i].style.display = "block";		
			}
			this_form[0].focus();
		}
		//id.style.fontWeight = "bold";
	/*}*/
}

function mouseCoords(ev){
	if (!ev) var ev = window.event;
	if (ev.pageX || ev.pageY) 	{
		posx = ev.pageX;
		posy = ev.pageY;
	}
	else if (ev.clientX || ev.clientY) 	{
		posx = ev.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = ev.clientY + document.body.scrollTop	+ document.documentElement.scrollTop;
	}
	return {x:posx, y:posy}
}

function mouseMove(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev);
}

function show_preview(img, folder) {
		var active_img = img.href;
		
		var pos=active_img.lastIndexOf("\/");
		var filename = active_img.substring(pos+1);
		
		filename = 'cfg_images/' + folder + '/thumbs/' + filename;
		
		var preview = document.getElementById('preview_ghost');
		preview.style.top      = (posy - 80) +'px';
		preview.style.left     = (posx + 100) +'px';

		preview.innerHTML = '<img src="' + filename + '" alt="" />';
}


function init() {
	document.onmousemove = mouseMove;
}


var posx = 0;
var posy = 0;
window.onload = init; 

