// Set clean URLS
function parseUrl(url) {
	var cleanUrl = (unescape(url) + " ").replace(/[^a-zA-Z0-9\/]+/g, "-");
	return cleanUrl.slice(0, cleanUrl.length -1).toLowerCase();
}
// Target links by Marc Francey
function targetLinks(domain) {
	var instr = new Number;
	var linkTarget = new String;
	var hrefValue = new String ;
	var reg=new RegExp("(http-//www-seatweb-ch/)", "g");
	for (var i=0; i<=(document.links.length-1); i++) {			
			  /*hrefValue = parseUrl(document.links[i].href);
			  hrefValue = hrefValue.replace(reg,"http://www.seatweb.ch/");
			  document.links[i].href = hrefValue;*/
			  
			  hrefValue = document.links[i].href;
			  if ((hrefValue.indexOf(domain)==-1) || (hrefValue.indexOf("_pdf")!=-1)   || (hrefValue.indexOf(".pdf")!=-1) || (hrefValue.indexOf("_blank")!=-1 || (hrefValue.indexOf("w3.org")!=-1))) { 
				  linkTarget = "_blank";
				  }
				  else {
				  linkTarget = "_self";
					  }
			 if (hrefValue.indexOf("javascript") > -1) {
				 linkTarget = "_self";
				 }
				document.links[i].target = linkTarget;
			}
	
	var formObject = document.getElementsByTagName('form');
	for (f=0; f<formObject.length; f++) {
		if ((formObject[f].action.indexOf('_pdf')!=-1) || (formObject[f].action.indexOf('_blank')!=-1)) {
			formObject[f].target = '_blank';
			}		
		}	
	}
// CKEDITOR Dynamic edition scripts

function createEditor(editorId,toolbarParams,lng) {
	var dynVar = "editor"+editorId;
	var reg = new RegExp("[\|]+", "g");
	var toolbarCode = "";
	var toolbarsArray = toolbarParams.split(reg);
	for (var i=0;i<toolbarsArray.length;i++) {
		toolbarCode += "["+toolbarsArray[i]+"]";
		if (i!=toolbarsArray.length-1) {toolbarCode += ",'/',";}
	}
	if (eval(dynVar)) {return;}
	var html = document.getElementById("editor"+editorId+'htmlcontent').innerHTML;
	document.getElementById("editor"+editorId+'content').style.display = 'none';
	// Create a new editor inside the div id="editor">
	var creator = dynVar+"= CKEDITOR.appendTo('editor"+editorId+"',{toolbar:["+toolbarCode+"],contentsCss:'/_css/afjm/ckeditor.css',doctype:'<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Strict\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-strict.dtd\">',language:'"+lng+"'});";
	alert(creator);
	eval (creator);	alert(creator);
	eval(dynVar).setData( html );
	document.getElementById("edit_editor"+editorId).style.display = 'none'; // Hide the edit button
	document.getElementById("save_editor"+editorId).style.display = 'inline'; // Show the save button
	document.getElementById("cancel_editor"+editorId).style.display = 'inline'; // Show the cancel button
}
function saveEditor(editorId,ajaxCall,field) {
	var dynVar = "editor"+editorId;
	if (!eval(dynVar)) {return;}
	// Retrieve the editor "editorId" content. In an Ajax application, this data would be
	// sent to the server or used in any other way.
	var htmlCode = eval(dynVar).getData();
	// Destroy the editor.
	eval(dynVar).destroy();
	var desctructor = dynVar+"=null;";
	eval(desctructor);
	document.getElementById("save_editor"+editorId).style.display = 'none'; // Hide the save button
	document.getElementById("cancel_editor"+editorId).style.display = 'none'; // Hide the cancel button
	document.getElementById("edit_editor"+editorId).style.display = 'inline'; // Show the edit button
	new Ajax.Request(ajaxCall, {
		method: 'post',
		parameters: {'contentId':editorId,'htmlCode':htmlCode,'field':field}, 
		onSuccess: function (transport){responseTxt = transport.responseText;},
		onComplete: function (response) {
			document.getElementById("editor"+editorId+'htmlcontent').innerHTML = responseTxt;
			document.getElementById("editor"+editorId+'content').style.display = '';
		}
	});
}
function closeEditor(editorId) {
	var dynVar = "editor"+editorId;
	if (!eval(dynVar)) {return;}
	document.getElementById("editor"+editorId+'content').style.display = '';
	eval(dynVar).destroy();
	var desctructor = dynVar+"=null;";
	eval(desctructor);	
	document.getElementById("save_editor"+editorId).style.display = 'none'; // Hide the save button
	document.getElementById("cancel_editor"+editorId).style.display = 'none'; // Hide the cancel button
	document.getElementById("edit_editor"+editorId).style.display = 'inline'; // Show the edit button
}
function showHideEditable(editorId,showhide) {
	if (showhide=="show") {	
		document.getElementById("editor"+editorId+"content").className = 'editorHighlight'; // Highlight editable region	
	}
	if (showhide=="hide") {	
		document.getElementById("editor"+editorId+"content").className = 'editorEditable';  // Downlight editable region	
	}
}

function darDar(doWarn, requestUrl, refreshURL, refreshTarget, params, evalJavascript, actionMethod, jsActionsAfterAll) {
	var pos;
	var referenceArray;
	var warningAccepted=true;
	if (doWarn!=null && doWarn!="") {
		var warning; 
		warning = confirm(doWarn); 
		if (warning==true) {
			pos=0;
			for (var i in requestUrl) {
				referenceArray = getReqRefTar (requestUrl,refreshURL,refreshTarget,pos);
				dar(doWarn, referenceArray[0], referenceArray[1], referenceArray[2], params, evalJavascript, actionMethod);
				pos+=1;
			}
		} else {
			warningAccepted=false;
		}	
	} else {
			pos=0;
			for (var i in requestUrl) {
				referenceArray = getReqRefTar (requestUrl,refreshURL,refreshTarget,pos);
				dar(doWarn, referenceArray[0], referenceArray[1], referenceArray[2], params, evalJavascript, actionMethod);
				pos+=1;
			}
	}
	if (jsActionsAfterAll!=null && warningAccepted==true) {eval(jsActionsAfterAll);}
}
function modBox(modBoxUrl,modBoxTitle,modBoxWidth,modBoxHeight,modBoxAfterHide) {
	/**/
	var modBox= "Modalbox.show('"+modBoxUrl+"', {'title':'"+modBoxTitle+"','width':'"+modBoxWidth+"','height':'"+modBoxHeight+"', afterHide: function() {"+modBoxAfterHide+"}});";
	eval(modBox);
	
	}
function dar(doWarn, requestUrl, refreshURL, refreshTarget, params, evalJavascript, actionMethod){
	// AJAX REQUEST
	if (requestUrl!=null && requestUrl!="") {
		if (refreshURL!=null && refreshURL!="") { // WITH REFRESH
			new Ajax.Request(requestUrl,{
				parameters:params,
				evalJS:evalJavascript,
				onSuccess:function(transport){responseTxt=transport.responseText;},
				onComplete:function(response){rec(refreshURL, refreshTarget, params, evalJavascript, actionMethod);}
			});
		} else {  // WITHOUT REFRESH
			new Ajax.Request(requestUrl,{parameters:params,evalJS:evalJavascript,onSuccess:function(transport){responseTxt=transport.responseText;},onComplete:function(response){return responseTxt;}});
		}
	} else {
		if (refreshURL!=null && refreshURL!="") {rec(refreshURL, refreshTarget, params, evalJavascript, actionMethod);}
	}	
}
function rec(refreshURL, refreshTarget, params, evalJavascript, actionMethod) {
	new Ajax.Updater(refreshTarget,refreshURL, {parameters:params,evalScripts:evalJavascript, method:actionMethod});
}

function getReqRefTar (requestUrl,refreshURL,refreshTarget,pos) {
	var ret = new Array();
	var x=0;
	for (var i in requestUrl) {if (x==pos) {ret.push(requestUrl[i]);}x+=1;}
	var y=0;
	for (var j in refreshURL) {if (y==pos) {ret.push(refreshURL[j]);}y+=1;}
	var z=0;
	for (var k in refreshTarget) {if (z==pos) {ret.push(refreshTarget[k]);}z+=1;}
	return(ret);
}

function getNodeOrder(TreeId) {
	var string2Eval = 'var nodeOrder = '+TreeId+'Obj.getNodeOrders();';
	window.eval(string2Eval);
	return(nodeOrder);
	}

function setNewTree(TreeId,MaximumDepth,RenameAllowed,DeleteAllowed,FileNameRename,ImageFolder,MessageMaximumDepthReached,expandAll) {
	window.eval(TreeId+'Obj = new JSDragDropTree();');
	window.eval(TreeId+'Obj.setTreeId(\''+TreeId+'\');');
	window.eval(TreeId+'Obj.setMaximumDepth('+MaximumDepth+');');
	window.eval(TreeId+'Obj.setFileNameRename('+FileNameRename+');');
	window.eval(TreeId+'Obj.setImageFolder(\''+ImageFolder+'\');');
	window.eval(TreeId+'Obj.setMessageMaximumDepthReached(\''+MessageMaximumDepthReached+'\');');
	window.eval(TreeId+'Obj.setRenameAllowed('+RenameAllowed+');');
	window.eval(TreeId+'Obj.setDeleteAllowed('+DeleteAllowed+');');
	window.eval(TreeId+'Obj.initTree();');
	if (expandAll==true) {window.eval(TreeId+'Obj.expandAll(\''+TreeId+'\');');}
}
function expandCollapse(TreeId,Action) {
	var string2Eval = TreeId+'Obj.'+Action+'();';
	alert(string2Eval);
	window.eval(string2Eval);
	}
function getFormValues(formId) { 
	var str = '';
	var formElements = new Array();
	var elem = document.getElementById(formId).elements; 
	for(var i = 0; i < elem.length; i++) {
		 if (str!="") {str+=", ";}
		 str += "__"+elem[i].id+":'"+elem[i].value+"'";
		 formElements["__"+elem[i].id] = elem[i].value;
	} 
	// Get the size of an object 
	var size = i; 
	formElements['__formElementsSize']=size;
	return formElements;
	} 	
