var currentFormId;

function $( id ) {
	return document.getElementById( id );
}

window.onload = function() {
	// search field effects
	$( "query" ).onfocus = function() {
		if (this.value == "Căutaţi ceva?" && this.className == "searchfield") {
			this.value = "";
			this.className = "searchfield-normal";
		}
	}
	$( "query" ).onblur = function() {
		if (this.value == "") {
			this.value = "Căutaţi ceva?";
			this.className = "searchfield";
		} else {
			this.className = "searchfield-normal";
		}
	}

	// extended onload
	if (typeof windowOnload == "function") {
		windowOnload();
	}
}

document.onclick = function( e ) {
	var e = e || window.event;

	var targetElement = e.target || e.srcElement;

	if (targetElement.nodeType == 3) {
		targetElement = targetElement.parentNode;
	}

	// we need an element with id
	while (!targetElement.id && targetElement.nodeName != "BODY") {
		targetElement = targetElement.parentNode;
	}

	// static IDs
	switch (targetElement.id) {
		// registration subscription
		case "allCategories":
		case "noCategories":
			var inputs = $( "registrationForm" ).getElementsByTagName( "INPUT" );
			for (var i = 0, c = inputs.length; i < c; i++) {
				if (inputs[i].type == "checkbox" && /^category_\d+$/.test( inputs[i].id )) {
					inputs[i].checked = targetElement.id == "allCategories" ? true : false;
				}
			}
			break;

		// edit article
		case "addAttachmentRow":
			var newTR0 = document.createElement( "TR" );
			var newTD0 = document.createElement( "TD" );
			newTD0.style.width = "11px";
			newTD0.innerHTML = "<a id=\"removeAttachmentRow\" href=\"javascript:void(0);\"><img src=\"img/close.gif\" alt=\"\" width=\"11\" height=\"11\" /></a>";
			var newTD1 = document.createElement( "TD" );
			newTD1.style.width = "100px";
			newTD1.innerHTML = "<input name=\"attachments[]\" type=\"file\" class=\"textfield\" style=\"width: 220px;\" />";
			var newTD2 = document.createElement( "TD" );
			newTD2.innerHTML = "<a id=\"addAttachmentRow\" href=\"javascript:void(0);\"><img src=\"img/plus.gif\" alt=\"\" width=\"9\" height=\"9\" /></a>";
			newTR0.appendChild( newTD0 ); newTR0.appendChild( newTD1 );
			newTR0.appendChild( newTD2 );
			// let's show
			targetElement.parentNode.parentNode.parentNode.appendChild( newTR0 );
			break;
		case "removeAttachment":
			window.location = "index.php?task=articles&action=remove_attachment&attachment_id=" + targetElement.parentNode.id.replace( /[^\d]/g, "" );
			break;
		case "removeAttachmentRow":
			targetElement.parentNode.parentNode.parentNode.removeChild( targetElement.parentNode.parentNode );
			break;

		// preview static page button
		case "previewPage":
			currentFormId = targetElement.form.id;
			$( "previewHolder" ).innerHTML  = "<h1>" + targetElement.form.title.value + "</h1>" + FCKeditorAPI.GetInstance( "content" ).GetXHTML( true );
			$( "previewHolder" ).innerHTML += "<input id=\"edit\" type=\"button\" class=\"reg-button\" value=\"Editare\" />&nbsp;<input id=\"submit\" type=\"button\" class=\"reg-button\" value=\"Salvează\" />";
			$( "previewHolder" ).style.display = "";
			targetElement.form.style.display   = "none";
			break;
			
		// preview interview button
		case "previewInterview":
			currentFormId = targetElement.form.id;
			$( "previewHolder" ).innerHTML  = "<div class=\"block\"><div class=\"title\">" + targetElement.form.title.value + "</div><div class=\"description\"><strong>" + $( "dateSample" ).value + "</strong> &#8212; " + FCKeditorAPI.GetInstance( "content" ).GetXHTML( true ) + "</div>";
			$( "previewHolder" ).innerHTML += "<input id=\"edit\" type=\"button\" class=\"reg-button\" value=\"Editare\" />&nbsp;<input id=\"submit\" type=\"button\" class=\"reg-button\" value=\"Salvează\" />";
			$( "previewHolder" ).style.display = "";
			targetElement.form.style.display   = "none";
			break;
			
		// preview article button
		case "previewArticle":
			currentFormId = targetElement.form.id;
			var category = {
				id: $( "editArticleForm" ).category_id.options[$( "editArticleForm" ).category_id.selectedIndex].value,
				text: $( "editArticleForm" ).category_id.options[$( "editArticleForm" ).category_id.selectedIndex].innerHTML
			};

			$( "previewHolder" ).innerHTML = "\
				<div class=\"topic\">\
				    <img class=\"topic-t\" alt=\"\" src=\"img/topic-t.gif\" />\
				    <img class=\"topic-b\" alt=\"\" src=\"img/topic-b.gif\" />\
				    <div class=\"pict\">\
				        <img alt=\"\" src=\"img/noimg.jpg\" />\
				    </div>\
				    <div class=\"article\">\
				        <div class=\"category\">Din categorie: <a href=\"index.php?task=articles&amp;category_id=" + category.id + "\">" + category.text + "</a></div>\
				        <div class=\"title\"><strong>" + targetElement.form.title.value + "</strong></div>\
				        <div class=\"description\"><strong>" + targetElement.form.location.value + (targetElement.form.location.value.length ? ", " : "")  + $( "dateSample" ).value + "</strong> &#8212; " + (typeof FCKeditorAPI != "undefined" ? FCKeditorAPI.GetInstance( "content" ).GetXHTML( true ) : $( "content" ).value.replace( /\n/g, "<br />" )) + "</div>\
				    </div>\
				    <div class=\"spacer\"></div>\
				</div>\
			";
			$( "previewHolder" ).innerHTML += "<input id=\"edit\" type=\"button\" class=\"reg-button\" value=\"Editare\" />&nbsp;<input id=\"submit\" type=\"button\" class=\"reg-button\" value=\"Salvează\" />";
			$( "previewHolder" ).style.display = "";
			targetElement.form.style.display   = "none";
			break;

		// submit button
		case "submit":
			$( currentFormId ).submit();
			break;
			
		// edit button
		case "edit":
			$( "previewHolder" ).style.display = "none";
			$( currentFormId ).style.display   = "";
			break;

		// banner type media
		case "typeMedia":
			$( "content" ).disabled = true;
			$( "media" ).disabled = false;
			$( "url" ).disabled = false;
			break;
			
		// banner type code
		case "typeCode":
			$( "content" ).disabled = false;
			$( "media" ).disabled = true;
			$( "url" ).disabled = true;
			break;
	}

	// dynamic IDs (enlargeIt!)
	if (/^pic\d+$/i.test( targetElement.id )) {
		enlarge( targetElement );
	}
}