/**
 * A JsHelper osztályban használt javascript függvények
 */

/**
 * Megváltoztatja a megadott form akcióját, hogy egy másik controller hajtsa végre.
 */
function changeFormAction(formName,newAction) {
	document.forms[formName].action=newAction;
	return true;
}

/**
 * A feltoltes folyamatat jelzo ablakot inditja el
 */
function startProgress(uploadIdentifier) {
	if (document.forms["kuldes"].elements["postbackValidationGroupName"].value=="back") {
		return true;
	} else {
		var progressUrl='./?window=upload_progress&UPLOAD_IDENTIFIER='+uploadIdentifier;
		var windowName='UploadMeter';
		popUp(progressUrl,windowName,460,165,false,false); // 460,262
		return true;
	}
}

function popUp(mypage, myname, w, h, scroll, titlebar) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll;
	win = window.open(mypage, myname, winprops, true);
	if (parseInt(navigator.appVersion) >= 4) {
		win.window.focus();
	}
}

/**
 * toggle hide/div html element
 */
function toggleElement(id) {
	element=document.getElementById(id);
	element.style.display=(element.style.display=="block")?"none":(element.style.display=="none")?"block":"none";
}

/**
 * hide html element
 */
function hideElement(id) {
	element=document.getElementById(id);
	element.style.display="none";
}

/**
 * show html element
 */
function showElement(id) {
	element=document.getElementById(id);
	element.style.display="block";
}

/**
 * Egy html objektum stílusának color attribútumát változtatja meg.
 */
function setElemetStyleColor(id,color) {
	if (element=document.getElementById(id)) {
		var oldColor=element.style.color;
		element.style.color=color;
		return oldColor;
	} else {
		return false;
	}
}

/**
 * Ez a művelet a form submit eseményéhez köthető, és a tinymce módosításait fixálja, hogy 
 * biztosan elküldésre kerüljenek a beírt adatok. 
 * @return
 */
function tinyMceTriggerSaveIfNeed() {
	if (typeof tinyMCE != 'undefined') {
		tinyMCE.triggerSave();
	}
	return true;
}

function append_onsubmit_event_handler_for_active_form(formId,newHandler) {
	if (formObjForClientSidePrevalidators=dojo.byId(formId)) { // Megvan a form
		if (formObjForClientSidePrevalidators.onsubmit) { // Már van valami az onSubmitban. Ez gáz lehet!
			var oldOnSubmit=formObjForClientSidePrevalidators.onsubmit;
			formObjForClientSidePrevalidators.onsubmit=function() {
//				return newHandler() && oldOnSubmit();
				return oldOnSubmit() && newHandler();
			};
		} else {
			formObjForClientSidePrevalidators.onsubmit=newHandler;
		}
	}
}

function append_onload_event_handler_for_body(newHandler) {
	if (window) { // Megvan a window objektum
		if (window.onload) { // Már van valami benne
			var oldOnLoad=window.onload;
			window.onload=function() {
				newHandler();
				oldOnLoad();
			};
		} else {
			window.onsubmit=newHandler;
		}
	}
}

