
var bg = 0;
var pen = 71;
var bgchange = false;

function imgclick(n) {
	var info = document.getElementById("info");
	if(bgchange) {
		var ibg = document.getElementById("imgbg");
		ibg.src = "icon/animated/" + icons[n];
		info.innerHTML = "";
		bgchange = false;
		var x, y;
		var oldimg = "icon/animated/" + icons[bg];
		bg = n;
		var newimg = "icon/animated/" + icons[bg];
		for(y=0; y<15; y++)
			for(x=0; x<15; x++) {
				var id = "cell" + x + "-" + y;
				var cell = document.getElementById(id);
				if(cell)
					if(cell.src.substr(cell.src.length-oldimg.length) == oldimg)
						cell.src = newimg;
			}
		
	} else {
		var ipen = document.getElementById("imgpen");
		ipen.src = "icon/animated/" + icons[n];
		pen = n;
	}
}

function changebackground() {
	var info = document.getElementById("info");
	if(!bgchange) {
		info.innerHTML = "Click an icon to change background";
		bgchange = true;
	} else {
		info.innerHTML = "";
		bgchange = false;
	}
}

function changepixel(e, x, y) {
	var id = "cell" + x + "-" + y;
	var cell = document.getElementById(id);
	cell.src = "icon/animated/" + icons[pen];
	
	if(e.preventDefault) {
		e.preventDefault();
		e.stopPropagation();
	}

	return false;
}

function blurgrid() {
	var x, y;

	for(y=0; y<15; y++)
		for(x=0; x<15; x++) {
			var id, r, c, cell;
			id = document.getElementById("r" + y);
			r = id.checked;
			id = document.getElementById("c" + x);
			c = id.checked;
			cell = document.getElementById("cell" + x + "-" + y);
			if(r && c) {
				cell.className = "";
			} else {
				cell.className = "opaque";
			}
		}
}

function presubmit() {
	var x, y, id, elements, name, re, ar;

	for(y=0; y<15; y++) {
		id = document.getElementById("r" + y);
		elements = document.getElementsByName("erow[" + y + "]");
		elements[0].value = id.checked;
		id = document.getElementById("c" + y);
		elements = document.getElementsByName("ecol[" + y + "]");
		elements[0].value = id.checked;		
		for(x=0; x<15; x++) {
			id = document.getElementById("cell" + x + "-" + y);
			elements = document.getElementsByName("e[" + y + "][" + x + "]");
			name = id.src;
			re = /emoticon\-\d(\d\d\d)\-/;
			ar = re.exec(name);
			elements[0].value = ar[1];
		}
	}
	elements = document.getElementsByName("mpen");
	elements[0].value = pen;
	elements = document.getElementsByName("mbg");
	elements[0].value = bg;
}

function initpage() {
	if(window.preinitpage)
		window.preinitpage();
	
	var id = document.getElementById("r0");
	if(!id)
		return;
	blurgrid();
}

function submitart() {
	var s;

	s = document.masterpiece.artname.value.replace(/^\s+|\s+$/g,"");
	if(s == "") {
		alert("Избери име на Шедьовъра");
		return false;
	}
	if(document.masterpiece.artcat.selectedIndex < 1) {
		alert("Избери категория на Шедьовъра");
		return false;
	}
	presubmit();
	document.masterpiece.submit();
	
	return true;
}

function cbcopy() {
	var x, y, id, s, name, re, ar, line;

	if(arguments.length>=1)
		s = arguments[0];
	else {
		s = "";
		for(y=0; y<15; y++) {
			line = 0;
			for(x=0; x<15; x++) {
				id = document.getElementById("cell" + x + "-" + y);
				if(id.className == "") {
					line++;
					name = id.src;
					re = /emoticon\-\d(\d\d\d)\-/;
					ar = re.exec(name);
					s += emoticons[parseInt(ar[1]) - 100];
				}
			}
			if(line > 0)
				s += "\n";
		}
	}

	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", s);
	}
	else
	{
		var flashcopier = "flashcopier";
		if(!document.getElementById(flashcopier)) {
			var divholder = document.createElement('div');
			divholder.id = flashcopier;
			document.body.appendChild(divholder);
		}
		document.getElementById(flashcopier).innerHTML = "";
		var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard=' +
			encodeURIComponent(s) + 
			'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
		document.getElementById(flashcopier).innerHTML = divinfo;
	}
}

function tdshow(id, s) {
	var o = document.getElementById("artcell" + id);
	o.innerHTML = "<textarea onclick='this.select()' style='width: 300px; height: 150px'>" + s + "</textarea>"
	
}


function upclick(id) {
	if(id == 0)
		return;
	var r = XMLHTTPRequestFactory();
	if(r == null)
		return;
	r.open("GET", "/click.php?id=" + id, true);
	r.send(null);
}

function mpedit(id) {
	document.location = "/?editor&id=" + id;
}

function switchgrid() {
	var cbs = document.getElementsByName("grid");
	var cb_grid = cbs[0];
	var x, y, id, p;
	var tdclass = (cb_grid.checked) ? "emot" : "emotwhite";

	for(y=0; y<15; y++)
		for(x=0; x<15; x++) {
			id = document.getElementById("cell" + x + "-" + y);
			id.parentNode.className = tdclass;
		}
}

function XMLHTTPRequestFactory() {
	if(window.XMLHttpRequest)
		return new XMLHttpRequest();
	if(window.ActiveXObject)
		return new ActiveXObject("Microsoft.XMLHTTP");

	return null;
}