 //var waitUrl = appName + '/pages/wait.jsp'

function deleteFile(fileId, action){
	var removeFile = document.getElementById('deleteFileId');
	removeFile.value = fileId;	
	var actionElems = document.getElementById('actionDel');
	actionElems.value = action // 'delete';
	var contentEditForm = document.getElementById('contentEditForm');
	contentEditForm.submit();
	return false;
}

function doContent(id, action, target){
//	var url = appName + "/browseContent.do?action="+action;
//	var params = "contentId=" + id; 
//	params = params + "&action="+action;
//	doAjax(url, params, target);
	
	var url = appName + "/browseContent.do";
	var content = {action: action, contentId: id};
	sendRequestDojo(content, url, target);
	
	
	highlightContent(id);
	if ("v3" == action || "v2" == action) {
		showViewEditToolbar(id);
		scroll(0,0);
	} else {
		proccess("column_toolbar", "");
	}
	
	if("v4" == action){
		proccess("editView","");
	}
	if ("publish" == action) {
		proccess("editViewToolbar","");
	}
	return false;
}

function showViewEditToolbar (id) {
	var backLink ="<a href=\"#\" onClick=\"hide('editView_column');show('browse_column')\" id=\"backLink\"><img src=\"images/arrow_back.gif\" alt=\"back\"/>back</a>"

	var printLink = "<a onclick=\"window.open('" + appName + "/browseContent.do?action=print&contentId=" + id + "', '', 'status=no,toolbar=no,scrollbars=no,titlebar=no,menubar=no,resizable=no,width=700,height=500,directories=no,location=no');return false;\" href=\"" + appName + "/browseContent.do?action=print&contentId=" + id + "\" target=\"_blank\"><img src=\"images/print.gif\" alt=\"print\"/>print</a>";
	
	var exportLink = "<a href=\"export.do?action=exportDoc&contentId=" + id + "\"><img src=\"images/save_as_doc.gif\" alt=\"save as doc\"/>export DOC</a>";

	var exportPDFLink = "<a href=\"export.do?action=exportPDF&contentId=" + id + "\"><img src=\"images/save_as_pdf.gif\" alt=\"save as pdf\"/>export PDF</a>";
	
	var toolbarContent = backLink + "&nbsp;" + printLink + "&nbsp;" + exportLink + "&nbsp;" + exportPDFLink;
	proccess("editViewToolbar", toolbarContent);
}


function highlightContent(id) {
	dojo.query("#browse_column #browse .selected").forEach (
		function (selectTag) {
			selectTag.className = "caseResult";;
		}
	);
	if(document.getElementById("case_"+id) != null){
		document.getElementById("case_"+id).className = "caseResult selected";
	}
}

function doDelete(id, action, target, text){
	var confirmed = confirm(text);
	if (confirmed) {
		proccess("editView","");
		var url = appName + "/browseContent.do";
		var content = {action: action, contentId: id};
		sendRequestDojo(content, url, target);
	}
	return false;
}

function doAction(form, struts, target, action){
	var url = appName + "/"+ struts+ ".do";
	if(form != null){
		sendFormDojo(form, action, url, target);
	} else {
		var content = {action: action}; 
		sendRequestDojo(content, url, target);

		// var params = "action="+action;
		// doAjax(url, params, target);
	}
	setLinkFocus(action);
	if (action == "Search") {
		proccess("editView","");
	}
	return false;
}

function sendRequestDojo(content, url, target){
	addHistory();
	dijit.byId("ajax_underlay").show();
     document.body.style.cursor = 'wait';
     var pleaseWaitDiv = document.createElement("div");
     pleaseWaitDiv.innerHTML = '<div class="ajax_wait">Please wait<br /><img src="'+appName+'/images/ajax-loader.gif" /></div>';
     dojo.byId("ajax_underlay").appendChild(pleaseWaitDiv);
     dojo.xhrGet({
          url: url,
          method: "GET",
          handleAs: "text",
          content: content,
          handle: function(data,ioArgs){
               dojo.byId(target).innerHTML = data;
               runScripts(target);
               document.body.style.cursor = 'default';
               dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
		 		dijit.byId("ajax_underlay").hide();
          }
     });
}

function sendPostDojo(content, url, target){
addHistory();
document.body.style.cursor = 'wait';
var pleaseWaitDiv = document.createElement("div");
pleaseWaitDiv.innerHTML = '<div class="ajax_wait">Please wait<br /><img src="'+appName+'/images/ajax-loader.gif" /></div>';
dijit.byId("ajax_underlay").show();
dojo.byId("ajax_underlay").appendChild(pleaseWaitDiv);
     dojo.xhrPost({
          url: url,
          method: "POST",
          handleAs: "text",
          content: content,
          handle: function(data,ioArgs){
          	   dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
               dojo.byId(target).innerHTML += data;
               runScripts(target);
               document.body.style.cursor = 'default';
               dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
				dijit.byId("ajax_underlay").hide();               
          }
     });
}        

function sendFormDojo(form, action, url, target){
addHistory();
document.body.style.cursor = 'wait';
var pleaseWaitDiv = document.createElement("div");
pleaseWaitDiv.innerHTML = '<div class="ajax_wait">Please wait<br /><img src="'+appName+'/images/ajax-loader.gif" /></div>';
dijit.byId("ajax_underlay").show();
dojo.byId("ajax_underlay").appendChild(pleaseWaitDiv);
	if(target=='resNumber' && dojo.byId('resNumber') == null)
		return false;
	if(target=='browse' && dojo.byId('browse') == null) {
		var url2 = appName + "/"+ "toolbar" + ".do";
		var content2 = {action: "v35"};
	dojo.xhrGet({
          url: url2,
          method: "GET",
          handleAs: "text",
          content: content2,
          handle: function(data,ioArgs){
               dojo.byId("general").innerHTML = data;
               document.body.style.cursor = 'default';
		doAction('searchContentFormToolbar', 'searchContentToolbar', 'browse', 'Search');
		formModifier()
		   runScripts(dojo.byId('pagesettings'));
		hide('editView_column');
		dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
		dijit.byId("ajax_underlay").hide();
          }
     });
	}
	else if (target=='browse') {
     dojo.xhrPost({
          url: url,
          method: "POST",
          handleAs: "text",
          form: dojo.byId(form),
          content: {action: action},
          handle: function(data,ioArgs){
          	dojo.byId(target).innerHTML = data;
            runScripts(target);
		doAction('searchContentForm', 'searchContent', 'resNumber', 'v31');
            document.body.style.cursor = 'default';
            dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
		dijit.byId("ajax_underlay").hide();
		hide('editView_column');
          }
     });
	}
	else{
     dojo.xhrPost({
          url: url,
          method: "POST",
          handleAs: "text",
          form: dojo.byId(form),
          content: {action: action},
          handle: function(data,ioArgs){
               dojo.byId(target).innerHTML = data;
               runScripts(target);
               document.body.style.cursor = 'default';
               dojo.byId("ajax_underlay").removeChild(pleaseWaitDiv);
			dijit.byId("ajax_underlay").hide();
          }
     });
	}
}     


function setLinkFocus (action) {
	var userLink = document.getElementById('users_link');
	var textFieldsLink = document.getElementById('text_fields_link');
	var categoriesLink = document.getElementById('categories_link');
	var notificationLink = document.getElementById('notification_link');
	var searchLink = document.getElementById('search_link');
	var statisticsLink = document.getElementById('statistics_link');
	var addContentLink = document.getElementById('add_content_link');
	var exportLink = document.getElementById('export_link');
	var manageCSFormlink = document.getElementById('manage_cs_form_link');
	switch (action) {
		case 'v32':
			// users
			userLink.className = "reiter r2 active";
			textFieldsLink.className = "reiter r2";
			categoriesLink.className = "reiter r2";
			notificationLink.className = "reiter r1";
			searchLink.className = "reiter r1";
			statisticsLink.className = "reiter r2";
			exportLink.className = "reiter r1";
			manageCSFormlink.className = "reiter r2";
			break;
		case 'v33':
			// text fields
			userLink.className = "reiter r2";
			textFieldsLink.className = "reiter r2 active";
			categoriesLink.className = "reiter r2";
			notificationLink.className = "reiter r1";
			searchLink.className = "reiter r1";
			statisticsLink.className = "reiter r2";
			exportLink.className = "reiter r1";
			manageCSFormlink.className = "reiter r2";
			break;
		case 'v34':
			// categories
			userLink.className = "reiter r2";
			textFieldsLink.className = "reiter r2";
			categoriesLink.className = "reiter r2 active";
			notificationLink.className = "reiter r1";
			searchLink.className = "reiter r1";
			statisticsLink.className = "reiter r2";
			exportLink.className = "reiter r1";
			manageCSFormlink.className = "reiter r2";
			break;
		case 'v39':
			// notification
			userLink.className = "reiter r2";
			textFieldsLink.className = "reiter r2";
			categoriesLink.className = "reiter r2";
			notificationLink.className = "reiter r1 active";
			searchLink.className = "reiter r1";
			statisticsLink.className = "reiter r2";
			exportLink.className = "reiter r1";
			manageCSFormlink.className = "reiter r2";
			break;
		case 'v35':
			// search
			if (userLink) {
				userLink.className = "reiter r2";
				textFieldsLink.className = "reiter r2";
				categoriesLink.className = "reiter r2";
				notificationLink.className = "reiter r1";
				statisticsLink.className = "reiter r2";
				exportLink.className = "reiter r1";
				searchLink.className = "reiter r1 active";
				manageCSFormlink.className = "reiter r2";
			}
			else {
				searchLink.className = "reiter r2 active";
			}
			break;
		case 'v36':
			// statistics
			if (userLink) {
				userLink.className = "reiter r2";
				textFieldsLink.className = "reiter r2";
				categoriesLink.className = "reiter r2";
				notificationLink.className = "reiter r1";
				exportLink.className = "reiter r1";
				statisticsLink.className = "reiter r2 active";
				searchLink.className = "reiter r1";
				manageCSFormlink.className = "reiter r2";
			}
			searchLink.className = "reiter r1";
			break;
		case 'v37':
			// add_content
			if (userLink) {
				userLink.className = "reiter r2";
				textFieldsLink.className = "reiter r2";
				categoriesLink.className = "reiter r2";
				notificationLink.className = "reiter r1";
				exportLink.className = "reiter r1";
				statisticsLink.className = "reiter r2";
				searchLink.className = "reiter r1";
				manageCSFormlink.className = "reiter r2";
			}
			else {
				searchLink.className = "reiter r2";
			}
			break;
		case 'v40':
			// manage_cs_form
			if (userLink) {
				userLink.className = "reiter r2";
				textFieldsLink.className = "reiter r2";
				categoriesLink.className = "reiter r2";
				notificationLink.className = "reiter r1";
				exportLink.className = "reiter r1";
//				statisticsLink.className = "reiter r2";
				searchLink.className = "reiter r1";
				manageCSFormlink.className = "reiter r2 active";
			}
	}
}


function getFormAsString(formName){	      
	returnString ="";		
			
	formElements=document.forms[formName].elements; 
	       
	for(var i=formElements.length-1;i>=0; --i ){
       if(formElements[i].options != null){
       		for(var j = 0 ; j < formElements[i].options.length ; j++){
       			if(formElements[i].options[j].selected){
       				returnString+="&" 
					+escape(formElements[i].name)+"=" 
					+escape(formElements[i].options[j].value);
       			}
       		}       	
       }else if(formElements[i].value!='on'){
	       returnString+="&" 
	       +escape(formElements[i].name)+"=" 
	       +escape(formElements[i].value);
       }else{
       		if(formElements[i].checked){
       			returnString+="&" 
				+escape(formElements[i].name)+"=" 
				+escape(formElements[i].value);
       		}
       }
	}
	return returnString; 
}
function doAjax(url, params, target){
	alert ("doAjax called for URL: " + url);
//	waitReq = GetXmlHttpObject();
	
//	waitReq.onreadystatechange = function(){
//		if (waitReq.readyState == 4) {
//			if (waitReq.status == 200) {
//				var text = waitReq.responseText;
				proccess(target, 'Please wait...');
//			} else {
//				alert("Problem: " + req.statusText);
//			}
//		}
//	}
	
//	waitReq.open("GET",waitUrl,true);
//	waitReq.send(null);

	req = GetXmlHttpObject();
	req.onreadystatechange = function(){
		if (req.readyState == 4) {
			if (req.status == 200) {
				var text = req.responseText;
				proccess(target, text);
			} else {
				alert("Problem: " + req.statusText);
			}
		}
	}
	req.open('POST', url, true);
	req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	req.setRequestHeader("Content-length", params.length);
	req.setRequestHeader("Connection", "close");
	req.send(params);
}

function GetXmlHttpObject(){ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest();
	}
	else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}
 
function proccess(target, text){
	if(document.getElementById(target) != null){
		document.getElementById(target).innerHTML = text;
	}
	runScripts(target)
}

function runScripts(id) {
	var elem = document.getElementById(id);
	if(elem != null){
		var e = document.getElementById(id).getElementsByTagName("script");
		if(e != null){
			for(var i=0;i<e.length;i++) {
				 eval(e[i].innerHTML);
			}
		}		
	}
}

var activeField = "";


function closeActiveField () {
	if ("" != activeField) {
		var editDiv = document.getElementById("div_" + activeField.name);
		activeField.update();
		var htmlContent = activeField.html;
		var hiddenDiv = document.getElementById("hdn" + activeField.name);
		editDiv.innerHTML = "";



		var previewDiv = document.getElementById("div_" + activeField.name + "_preview");
		previewDiv.innerHTML = hiddenDiv.value;
		previewDiv.style.display = "block";
		activeField = "";
	}
}

// hyper text are related functions
function showHta_edit (hta_name, div_height) {
	var contentDiv = document.getElementById("hdnsingleMapped(" + hta_name + ")");

	closeActiveField();

	var previewDiv = document.getElementById("div_singleMapped(" + hta_name + ")_preview");
	previewDiv.style.display = "none";
	
	rte_area = new HyperTextArea("singleMapped(" + hta_name + ")", contentDiv.value, 420, div_height, "");
	activeField = rte_area;
//	doSomething();

}

function showHta_preview (hta_name, div_height) {
	var contentDiv = document.getElementById("hdnsingleMapped(" + hta_name + ")");
	var previewDiv = document.getElementById("div_singleMapped(" + hta_name + ")_preview");
	previewDiv.className = "hta_preview";

	
	previewDiv.style.height = div_height + "px";
//	previewDiv.addEventListener("click", showHta_edit, false);
	
	previewDiv.innerHTML = contentDiv.value;
}

function initHta (hta_name, div_height) {
	var contentDiv = document.getElementById("hdnsingleMapped(" + hta_name + ")");
	var rte_area = new HyperTextArea("singleMapped(" + hta_name + ")", contentDiv.value, 420, div_height, "");
}