if(typeof use == 'function') {
	use("af5");
	use("json");
	use("lib");
	use("select");
	use("md5");
//	use("smoothgallery");
//	alert('use');
}

if (typeof(basePath) == 'undefined') {
        var basePath = window.parent.document.location.protocol + "//navngo.com/";
}

document.write('<sc' + 'ript language="javascript" type="text/javascript" src="/jscripts/smoothgallery.js"></sc' + 'ript>');

/**
 * Check quickform values
 * called by HTML_QuickForm_confirmedsubmit::saveWarning
 *
 * @todo browser test (.nodeName value)
 */
function checkFormValues(){
	var txt = "Are you sure to save?\n\n";
	var form = document.forms[0];
	var formlabels = getFormLabels();

	for(x = 0; x < formlabels.length; x += 2) {
		if(form[formlabels[x]].nodeName.toUpperCase() == "SELECT") {
			var sel = form[formlabels[x]];
			if(sel.selectedIndex != -1) {
				txt += formlabels[x + 1];
				txt += ': ' + sel.options[sel.selectedIndex].text + '\n';
			}
		} else {
			txt += formlabels[x + 1];
			txt += ': ' + form[formlabels[x]].value + '\n';
		}

	}
	return confirm(txt);
}

function params() {
	var sel = getElement('elementSelector');
	var selValue = sel.options[sel.selectedIndex].value;
	if(selValue == '0') {
		getElement('attribList').innerHTML = '';
		return;
	}
	af5.request('get_attr', 'element_id=' + selValue,
		function (data) {
			var list = eval('(' + data + ')');
			var txt = '';

			for (var x in list) {
				txt += x + ': <input type="text" name="attr_' + list[x] + '" value="' + x + '"/><br/>';
			}

			getElement('attribList').innerHTML = txt;
		});
}

function toggleCheckboxes() {
	var checked = getElement('checkbox').checked;
	var inputs = document.getElementsByTagName("input");

	for(var x = 0; x < inputs.length; x++) {
		var input = inputs[x];
		if(input.type == "checkbox" && input.name.substring(0, 8) == "checkbox") {
			input.checked = checked;
		}
	}
}

function pager(value) {
	window.location.search = (new queryString(window.location.search.toString())).set("itemnum", value).set("page", "1").toString();
}

function changeFlags(role) {
	af5.request("page_flags", "role_id="+role, function(data) {
			var flags = eval('(' + data + ')');
			var flagSelect = getElement("flagSelect");
			flagSelect.options.length = 0;

			for(var k in flags) {
				flagSelect.options[flagSelect.options.length] = new Option(flags[k], k);
			}
		});
}

function paramsList() {
	var pl = getElement('aliasList').value;
	var values = {};

	var selects = document.getElementsByTagName('select');
	for(var x = 0; x < selects.length; x++) {
		values[selects[x].name] = selects[x].value;
	}

	var inputs = document.getElementsByTagName('input');
	for(var x = 0; x < inputs.length; x++) {
		values[inputs[x].name] = inputs[x].value;
	}

	values = encodeURIComponent(toJSONString(values));

	getElement('usedPage').value = '';

	af5.request('get_param_list', 'param_list='+pl+'&values='+values, function (data) {
			getElement('params').innerHTML = data;
		});
}

function useStructure(chooser, hidden) {
	var select = getElement(chooser);
	var page_id = select.value;

	getElement('usedPage').value = page_id;

	af5.request('get_structure_templates', 'page_id='+page_id, function (data) {
		data = eval('(' + data + ')');
		var e = getElement('page');
		e.options.length = 0;
		for(i=0; i<data.length; i++) {
			e.options[i] = new Option(data[i], data[i] + "_" + MD5("x" + Math.random()));
		}
		storeList("page", "aliasList");
		paramsList();
	});
}

function addElement() {
	moveElement("structures", "page", true);
	af5.request('unique_key', '', function (data) {
		var e = getElement('page');
		e.options[e.options.length-1].value += '_' + data;
	}, function (data) {
		storeList("page", "aliasList");
		paramsList();
	});
}

function schemaPreview(alias) {
	af5.request('schemapreview', 'alias='+alias, function(html) {
			overlib(html, STICKY, CAPTION, "Schema Preview", FGCOLOR, "white", CLOSECLICK);
		});
}

function elementPreview() {
	var formData = {};
	var frm = document.forms[0];

	for(var x = 0; x < frm.length; x++) {
		if(frm[x].className == "tinyEdit") {
			formData[frm[x].name] = tinyMCE.getContent(tinyMCE.getEditorId(frm[x].name));
		} else {
			formData[frm[x].name] = frm[x].value;
		}
	}

	formStr = encodeURIComponent(toJSONString(formData));
	af5.request("elementpreview", "formdata="+formStr, function(html) {
			overlib(html, FGCOLOR, 'white', HAUTO, STICKY, CLOSECLICK, CAPTION, 'Preview', RIGHT);
		});
}

function pagePreview() {
	var list = getElement('aliasList').value.split(';');

	var t = {};

	for(var x = 0; x < list.length; x++) {
		t[list[x]] = getInputValues(list[x] + '-');
	}

	af5.request('get_page_preview_key', 'data='+encodeURIComponent(toJSONString(t)), function(data) {
			var key = data;
			window.open(basePath + "?d=get_page_preview_html&key="+key, 'preview', 'width=750,height=600,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=yes');
		});
}

function getInputValues(prefix) {
	var is = document.getElementsByTagName("input");
	var sels = document.getElementsByTagName("select");
	var o = {};

	for(var x = 0; x < is.length; x++) {
		var ss = is[x].name.substr(0, prefix.length);
		if(ss == prefix) {
			o[is[x].name.substr(prefix.length)] = is[x].value;
		}
	}

	for(var x = 0; x < sels.length; x++) {
		var ss = sels[x].name.substr(0, prefix.length);
		if(ss == prefix) {
			o[sels[x].name.substr(prefix.length)] = sels[x].value;
		}
	}

	return o;
}

function valueEdit(id) {
	getElement(id + "_a").style.display = "none";
	getElement(id + "_s").style.display = "inline";
}

function valueOk(id) {
	getElement(id + "_a").style.display = "inline";
	getElement(id + "_s").style.display = "none";
	getElement(id + "_a").innerHTML = getElement(id + "_v").value;
}

function valueCancel(id) {
	getElement(id + "_a").style.display = "inline";
	getElement(id + "_s").style.display = "none";
	getElement(id + "_v").value = getElement(id + "_a").innerHTML;
}

function changeElementLoc() {
	getElement('elementTypeList').selectedIndex = 0;
	changeElementList();
}

function changeElementLang() {
	getElement('elementTypeList').selectedIndex = 0;
	changeElementList();
}

function changeElementList() {
	var element = getElement('elementTypeList').value;
	var loc = getElement('loc').value;
	var lang = getElement('lang').value;

	af5.request('element_instances', 'element=' + element + '&loc=' + loc + '&lang=' + lang, function(data) {
		data = eval('(' + data + ')');
		setSelectValues(getElement('items'), data, true);
		getElement('list').options.length = 0;
		storeList('list', 'listElements');
	});


	af5.request('element_attributes', 'element=' + element, function (data) {
		data = eval('(' + data + ')');
		setSelectValues(getElement('rsselementtitle'), data, true);
		setSelectValues(getElement('rsselementdescription'), data, true);
	});
}

function loadCssContent() {
	var select = getElement('css_files');
	var selected = select.options[select.selectedIndex].text
	af5.request('getCssContent', 'css_file=' + selected, function(data) {
		getElement('cssTextArea').value = data;
	});
}

function calcHeight(name) {
	getElement(name).height = 0;
	var the_height = getElement(name).contentWindow.document.body.scrollHeight;
	getElement(name).height = the_height;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function popup(mylink, windowname, scrollbars, width, height) {

	if(scrollbars == 'undefined') {
		scrollbars = 'yes'
	}
	if(width == 'undefined') {
		width = '600';
	}
	if(height == 'undefined') {
		height = '300';
	}

	if (! window.focus)return true;
	var href;
	if (typeof(mylink) == 'string') {
		href=mylink;
	}
	else {
		href=mylink.href;
	}
	window.open(href, windowname, 'width='+width+', height='+height+', scrollbars='+scrollbars);
	return false;
}

function flashFix()
{
	theObjects = document.getElementsByTagName("object");
	for (var i = 0; i < theObjects.length; i++) {
		theObjects[i].outerHTML = theObjects[i].outerHTML;
	}
}

function addObjEvent(obj, functionName, functionCode) {
     eval("var oldEvent = obj.on" + functionName + ";");

     if (oldEvent != null) {
         var additionalEvents = "obj.on" + functionName + " = function(e) { oldEvent(e); functionCode(); };"
         eval(additionalEvents);
     } else {
         eval("obj.on" + functionName + " = functionCode;");
     }
}

function addObjListener(obj, functionName, functionCode) {
     if (obj.addEventListener) {
         obj.addEventListener (functionName, functionCode, false );
     } else if (obj.attachEvent) {
         obj.attachEvent( "on" + functionName, functionCode);
     } else {
      addObjEvent(obj, functionName, functionCode);
     }
}

addObjListener(window, "load", flashFix);
flashFix();
