function moveDown(ident) {
					var table = document.getElementById("inner_main");
					var childs = document.getElementsByName("child");
					var children = new Array();					
					for (var x=0; x<childs.length; x++) {
						if (childs[x].childNodes){
							for (var y=0; y< childs[x].childNodes.length; y++){
								if (childs[x].childNodes[y].tagName == "DIV") {
									var className = childs[x].childNodes[y].getAttribute("className") || childs[x].childNodes[y].getAttribute("class");
									var atributes = className.split(" ");
									if (atributes[0]=="source" && childs[x].childNodes[y].id == ident) {
											var testt = x;
									}
								}
							}
						}
					}
					
					if (testt >= 0) {
						if (testt != childs.length-1){
							var theEl = childs[testt];
							var nextNum = 1+parseInt(testt);
							var nextEl = childs[nextNum];
							for (var x=0; x < childs.length; x++) {
								if(x == testt) { 
									children[x] =  nextEl ;
								} else if (x == nextNum) {
									children[x] = theEl;
								} else {
									children[x] = childs[x];								
								}
							}
							for (x in childs) {
								if (childs[0]){
									table.removeChild(childs[0]);
								}
							}
							for (var i=0; i < children.length; i ++) {
										table.appendChild(children[i]);
							}
							if (testt == 0) {
								onlyDownIfDown(ident);
							}
							if (testt == children.length - 2) {
								onlyUpIfDown(ident);
							}
						}
					}
				}
				function moveUp (ident) {
					var table = document.getElementById("inner_main");
					var childs = document.getElementsByName("child");
					var children = new Array();
					for (var x=0; x<childs.length; x++) {
						if (childs[x].childNodes){
							for (var y=0; y< childs[x].childNodes.length; y++){
								if (childs[x].childNodes[y].tagName == "DIV") {
									var className = childs[x].childNodes[y].getAttribute("className") || childs[x].childNodes[y].getAttribute("class");
									var atributes = className.split(" ");
									if (atributes[0]=="source" && childs[x].childNodes[y].id == ident) {
											var testt = x;
									}
								}
							}
						}
					}
					if (testt>=0) {
						if (testt != 0){
							var theEl = childs[testt];
							var prevNum = parseInt(testt)-1;
							var prevEl = childs[prevNum];
							for (var x=0; x < childs.length; x++) {
								if(x == testt) { 
									children[x] =  prevEl ;
								} else if (x == prevNum) {
									children[x] = theEl;
								} else {
									children[x] = childs[x];								
								}
							}
							for (var x=0; x < childs.length; x++) {
								if (childs[0]){
										table.removeChild(childs[0]);
								}
							}
							
							for (var i=0; i < children.length; i++) {
							
								table.appendChild(children[i]);
							}
							if(testt == children.length-1) {
								onlyUpIfUp(ident);
							}
							if (testt == 1) {
								onlyDownIfUp(ident);
							}
						}
					}
				}
				function onlyUpIfUp (ident){
					var el = document.getElementById(ident);
					var nextElCont = el.parentNode.nextSibling;
					for (var x=0; x < nextElCont.childNodes.length; x ++) {
							if (nextElCont.childNodes[x].tagName == "DIV") {
								var className = nextElCont.childNodes[x].getAttribute("className") || nextElCont.childNodes[x].getAttribute("class");
								var atributes = className.split(" ");
								if (atributes[0]=="source") {
										var prevEl = nextElCont.childNodes[x]
								}
							}
					}
					var twoBtns = document.getElementById("btn_"+ident);
					twoBtns.innerHTML = "<button onclick='moveDown(\""+ident+"\");'>down</button>"
					twoBtns.innerHTML += "<button onclick='moveUp(\""+ident+"\");'>up</button>"
					twoBtns.innerHTML += "<button onclick='doDeleteSection(\""+ ident +"\");'>delete</button>"
					var onlyUpBtn = document.getElementById("btn_"+prevEl.id);
					onlyUpBtn.innerHTML = "<button onclick='moveUp(\""+prevEl.id+"\");'>up</button>"
					onlyUpBtn.innerHTML += "<button onclick='doDeleteSection(\""+ prevEl.id +"\");'>delete</button>"
				}
				function onlyUpIfDown(ident){
					var el = document.getElementById(ident);
					var prevElCont = el.parentNode.previousSibling;
					for (var x=0; x < prevElCont.childNodes.length; x ++) {
							if (prevElCont.childNodes[x].tagName == "DIV") {
								var className = prevElCont.childNodes[x].getAttribute("className") || prevElCont.childNodes[x].getAttribute("class");
								if (className) {
									var atributes = className.split(" ");
									if (atributes[0]=="source") {
											var prevEl = prevElCont.childNodes[x]
									}
								}
							}
					}	
					var twoBtns = document.getElementById("btn_"+prevEl.id);
					twoBtns.innerHTML = "<button onclick='moveDown(\""+prevEl.id+"\");'>down</button>"
					twoBtns.innerHTML += "<button onclick='moveUp(\""+prevEl.id+"\");'>up</button>"
					twoBtns.innerHTML += "<button onclick='doDeleteSection(\""+ ident +"\");'>delete</button>"
					var onlyUpBtn = document.getElementById("btn_"+ident);
					onlyUpBtn.innerHTML = "<button onclick='moveUp(\""+ident+"\");'>up</button>"
					onlyUpBtn.innerHTML += "<button onclick='doDeleteSection(\""+ ident +"\");'>delete</button>"
				}
				function onlyDownIfUp (ident){
					var el = document.getElementById(ident);
					var nextElCont = el.parentNode.nextSibling;
					for (var x=0; x < nextElCont.childNodes.length; x ++) {
							if (nextElCont.childNodes[x].tagName == "DIV") {
								var className = nextElCont.childNodes[x].getAttribute("className") || nextElCont.childNodes[x].getAttribute("class");
								var atributes = className.split(" ");
								if (atributes[0]=="source") {
										var nextEl = nextElCont.childNodes[x]
								}
							}
					}
					var twoBtns = document.getElementById("btn_"+nextEl.id);
					twoBtns.innerHTML = "<button onclick='moveDown(\""+nextEl.id+"\");'>down</button>"
					twoBtns.innerHTML += "<button onclick='moveUp(\""+nextEl.id+"\");'>up</button>"
					twoBtns.innerHTML += "<button onclick='doDeleteSection(\""+ nextEl.id +"\");'>delete</button>"
					var onlyUpBtn = document.getElementById("btn_"+ident);
					onlyUpBtn.innerHTML = "<button onclick='moveDown(\""+ident+"\");'>down</button>"
					onlyUpBtn.innerHTML += "<button onclick='doDeleteSection(\""+ident +"\");'>delete</button>"
				}
				function onlyDownIfDown (ident){
					var el = document.getElementById(ident);
					var prevElCont = el.parentNode.previousSibling;
					for (var x=0; x < prevElCont.childNodes.length; x ++) {
							if (prevElCont.childNodes[x].tagName == "DIV") {
								var className = prevElCont.childNodes[x].getAttribute("className") || prevElCont.childNodes[x].getAttribute("class");
								if (className) {
									var atributes = className.split(" ");
									if (atributes[0]=="source") {
											var prevEl = prevElCont.childNodes[x]
									}
								}
							}
					}
					var twoBtns = document.getElementById("btn_"+ident);
					twoBtns.innerHTML = "<button onclick='moveDown(\""+ident+"\");'>down</button>"
					twoBtns.innerHTML += "<button onclick='moveUp(\""+ident+"\");'>up</button>"
					twoBtns.innerHTML += "<button onclick='doDeleteSection(\""+ ident +"\");'>delete</button>"
					var onlyUpBtn = document.getElementById("btn_"+prevEl.id);
					onlyUpBtn.innerHTML = "<button onclick='moveDown(\""+prevEl.id+"\");'>down</button>"
					onlyUpBtn.innerHTML += "<button onclick='doDeleteSection(\""+ prevEl.id +"\");'>delete</button>"
				}	
				function getData () {
					var main = document.getElementById("inner_main");
					var all = main.childNodes;
					var allSections = new Array();
					for (var x=0; x < all.length; x ++){
						if (all[x] == "[object HTMLDivElement]" || all[x].tagName == "DIV") {
							for (var y = 0; y < all[x].childNodes.length; y++){
								if (all[x].childNodes[y].tagName == "DIV") {
									var className = all[x].childNodes[y].getAttribute("className") || all[x].childNodes[y].getAttribute("class");
									var atributes = className.split(" ");
									if (atributes[0]=="source") {
										allSections[allSections.length] = all[x].childNodes[y];
									}
								}
							}
						}
					}
					formData (allSections);
					
				}
				function getFields(someData) {
					var allFields = new Array();
					for (var x=0; x < someData.length; x ++){
						if (someData[x]== "[object HTMLDivElement]" || someData[x].tagName == "DIV") {
							allFields[allFields.length] = someData[x];
						}
					}
					return allFields;
				}
				function formData (allSections) {
					var xml = '<?xml version="1.0" encoding="UTF-8"?>\n';
					xml += "<form>\n";
					
					for (var i = 0; i < allSections.length; i ++){
						
						xml += '\t<section\n \t\t title="content.'+allSections[i].getAttribute('Name')+'.title"\n';
						xml += '\t\t description="content.'+allSections[i].getAttribute('Name')+'.description">\n';
						var fields = getFields(allSections[i].childNodes);
						xml += formFieldXML(fields);
						xml += '\t</section>\n\n';
					}
					var mediaLib = document.getElementsByName("mediaLibrary");
					xml += '\t<mediaLibrary>\n';
					for (var i= 0; i < mediaLib.length; i++){
						xml += "\t\t<"+mediaLib[i].id+' value="'+mediaLib[i].value+'" />\n'
					}
					xml += '\t</mediaLibrary>\n';
					var commonPar = document.getElementsByName("commonParameters");
					xml += '\t<commonParameters>\n';
					for (var i= 0; i < commonPar.length; i++){
						xml += "\t\t<"+commonPar[i].id+' value="'+commonPar[i].value+'" />\n'
					}
					xml += '\t</commonParameters>\n';
					xml+= "</form>\n";
					
					sendData(xml);
				}
				function formFieldXML (fields) {
					var xml = "";
					for (var i = 0; i < fields.length; i++){
						xml += "\t<"+fields[i].getAttribute('dndtype')+"\n";
						xml += '\t name="'+fields[i].getAttribute('Name')+'"\n';
						xml += '\t label="content.'+fields[i].getAttribute('dndtype')+'.'+fields[i].getAttribute('Name')+'.label"\n';
						xml += '\t description="content.'+fields[i].getAttribute('dndtype')+'.'+fields[i].getAttribute('Name')+'.description"\n';
						if (fields[i].getAttribute('dndtype') == "field") {
							xml += '\t errorMessage="content.'+fields[i].getAttribute('dndtype')+'.'+fields[i].getAttribute('Name')+'.error"';
						}
						var cb = getAccess(fields[i].childNodes);
						if (fields[i].getAttribute('dndtype') == "select") {
							xml += '\n\t searchInfoLabel="content.'+fields[i].getAttribute('dndtype')+'.'+fields[i].getAttribute('Name')+'.search.info.label"\n';
							xml += '\t multipleSelectSearch="'+cb[12].checked+'"\n';
							xml += '\t showInStatistics="'+cb[13].checked+'">\n';
						} else {
							xml += ">\n";
						}
						xml += "\t\t<user-visibility-input>\n";
						if (cb[3].checked) {
							xml += '\t\t\t<user-role role="administrator" />\n';
						}
						if (cb[1].checked) {
							xml += '\t\t\t<user-role role="correspondent" />\n';
						}
						if (cb[2].checked) {
							xml += '\t\t\t<user-role role="editor" />\n';
						}
						if (cb[0].checked) {
							xml += '\t\t\t<user-role role="anonymous" />\n';
						}
						xml += "\t\t</user-visibility-input>\n";
						
						xml += "\t\t<user-visibility-output>\n";
						if (cb[7].checked) {
							xml += '\t\t\t<user-role role="administrator" />\n';
						}
						if (cb[5].checked) {
							xml += '\t\t\t<user-role role="correspondent" />\n';
						}
						if (cb[6].checked) {
							xml += '\t\t\t<user-role role="editor" />\n';
						}
						if (cb[4].checked) {
							xml += '\t\t\t<user-role role="anonymous" />\n';
						}
						xml += "\t\t</user-visibility-output>\n";
						
						if (fields[i].getAttribute('dndtype') == "select") {
							xml += "\t\t<user-visibility-search>\n";
							if (cb[11].checked) {
								xml += '\t\t\t<user-role role="administrator" />\n';
							}
							if (cb[9].checked) {
								xml += '\t\t\t<user-role role="correspondent" />\n';
							}
							if (cb[10].checked) {
								xml += '\t\t\t<user-role role="editor" />\n';
							}
							if (cb[8].checked) {
								xml += '\t\t\t<user-role role="anonymous" />\n';
							}
							xml += "\t\t</user-visibility-search>\n";	
						}
						xml += "\t</"+fields[i].getAttribute('dndtype')+">\n\n";
					}
					return xml;
				}
				function getAccess (field) {
					var allCheckBoxes = new Array();
					for (var i= 0; i < field.length; i ++) {
						if (field[i]== "[object HTMLSpanElement]" || field[i].tagName == "SPAN") {
							var fieldChilds = field[i]; 
						}
					}
					if (fieldChilds) {
						for (var x=0; x < fieldChilds.childNodes.length; x ++){
							
							if (fieldChilds.childNodes[x]== "[object HTMLInputElement]" || fieldChilds.childNodes[x].tagName=="INPUT") {
								allCheckBoxes[allCheckBoxes.length] =fieldChilds.childNodes[x];
							}
						}
					}
					return allCheckBoxes;
				}
			
				function capitalise(str) {
					str = str.substring(0,1).toUpperCase() + str.substring(1);
					return str;
				}
				
				function sendData(str){
					var url = appName + "/saveCSForm.do";
					var content = {xml: str};
					var target = "general";
					sendPostDojo(content, url, target);
				}
						
				function doDeleteSection(ident){
					if (confirm('Are you sure you want to delete?')) {
				  	
						var childs = document.getElementsByName("child");
					var children = new Array();					
					for (var x=0; x<childs.length; x++) {
						if (childs[x].childNodes){
							for (var y=0; y< childs[x].childNodes.length; y++){
								if (childs[x].childNodes[y].tagName == "DIV") {
									var className = childs[x].childNodes[y].getAttribute("className") || childs[x].childNodes[y].getAttribute("class");
									var atributes = className.split(" ");
									if (atributes[0]=="source" && childs[x].childNodes[y].id == ident) {
											var testt = x;
									}
								}
							}
						}
					}
						if(testt>=0)
						{
						
							var curr = childs[testt];
							curr.parentNode.removeChild(curr);
							getData();
							setTimeout("window.location.reload()", 30); 
						}
					} 
					return false;
				}
				
				
				function doAdd()
				{
					if(dojo.byId("newSectionName").value.replace(/^\s+/g, "") == "")
					{
						alert("Please specify section name! ");
						return false;
					}
					var name = dojo.byId("newSectionName").value.replace(/\s+/g,'_');
					var div = document.getElementsByName("child")[0].cloneNode(true);
					div.style.display = 'none';
					for (var y=0; y< div.childNodes.length; y++){
						if (div.childNodes[y].tagName == "DIV") {
							var className = div.childNodes[y].getAttribute("className") || div.childNodes[y].getAttribute("class");
							var atributes = className.split(" ");
							if (atributes[0]=="source" ) {
									var nodes = div.childNodes[y];
							}
						}
					}
					var v = document.getElementsByName("child");
					
					for (var y=0; y< v.length; y++){
						for (var x=0; x < v[y].childNodes.length; x++) {
							if (v[y].childNodes[x].tagName == "DIV") {
								var className = v[y].childNodes[x].getAttribute("className") || v[y].childNodes[x].getAttribute("class");
								if (className) {
									var atributes = className.split(" ");
									if (atributes[0]=="source" && y==v.length-1) {
											nodes.id = parseInt(v[y].childNodes[x].id) + 1;
									}
								}
							}
						}
					}
					nodes.setAttribute("name", name);
					
					while ( nodes.childNodes.length >= 1 )
				    {
				        nodes.removeChild( nodes.firstChild );       
				    }
				    dojo.byId("inner_main").appendChild(div);
				    getData();
					setTimeout("window.location.reload()", 60); 
					
				}
				