function sei_generate_action(elementkind, elementkey, settings, mode){
if (typeof(mode)=="undefined")
mode="join";
if (typeof(sei_action_settings)!="object")
sei_action_settings=new Array;
if (typeof(sei_action_settings[elementkind])!="object")
sei_action_settings[elementkind]=new Array;
if (typeof(sei_action_settings[elementkind][elementkey])!="object")
sei_action_settings[elementkind][elementkey]=new Array;
if (mode=="only"){
sei_action_settings_before=sei_action_settings;
sei_action_settings=new Array;
sei_action_settings[elementkind]=new Array;
sei_action_settings[elementkind][elementkey]=new Array;}
if (settings=="reset"){
sei_action_settings[elementkind][elementkey]=null;
sei_action_settings[elementkind][elementkey]=new Array;
sei_action_settings[elementkind][elementkey]["reset"]=true;}
else{
sei_action_settings[elementkind][elementkey]["reset"]=null;
settingarray=settings.split(";");
for (settingcounter=0; settingcounter<settingarray.length; settingcounter++){
curraction=settingarray[settingcounter].split("=");
if (curraction[1]=="null")
sei_action_settings[elementkind][elementkey][curraction[0]]=null;
else
sei_action_settings[elementkind][elementkey][curraction[0]]=""+curraction[1];
if (mode=="only")
sei_action_settings_before[elementkind][elementkey][curraction[0]]=""+curraction[1];}}
urlaction="";
for (currelementkind in sei_action_settings){
if (urlaction>"")
urlaction+=")";
urlaction+=currelementkind+"(";
counter=0;
for (currelementkey in sei_action_settings[currelementkind]){
if (counter>0)
urlaction+="!!";
urlaction+="key!"+currelementkey;
for (currkey in sei_action_settings[currelementkind][currelementkey]){
if (sei_action_settings[currelementkind][currelementkey][currkey]!=null && (sei_action_settings[currelementkind][currelementkey][currkey]>"" || sei_action_settings[currelementkind][currelementkey][currkey]==false || sei_action_settings[currelementkind][currelementkey][currkey]==true))
urlaction+="!!"+currkey+"!"+sei_action_settings[currelementkind][currelementkey][currkey];}
counter++;}}
urlaction+=")";
if (mode=="only")
sei_action_settings=sei_action_settings_before;
return urlaction;}
function sei_get_action(elementkind, elementkey, setting){
if (typeof(sei_action_settings)!="object")
return false;
if (typeof(sei_action_settings[elementkind])!="object")
return false;
if (typeof(sei_action_settings[elementkind][elementkey])!="object")
return false;
if (typeof(sei_action_settings[elementkind][elementkey][setting])=="undefined")
return false;
else
return sei_action_settings[elementkind][elementkey][setting];}
function sei_do_action(elementkind, elementkey, settings, seturl, formname, addreload){
urlaction=sei_generate_action(elementkind, elementkey, settings);
if (typeof(seturl) != "undefined" && seturl>"")
newurl=sei_href_parameter_add("sei_custom_action="+urlaction, seturl);
else
newurl=sei_href_link("sei_custom_action="+urlaction);
if (typeof(formname)!="undefined" && formname>""){
if(typeof(sei_fieldchange_cancel)=="function")
sei_fieldchange_cancel();
if (typeof(addreload)=="undefined" || addreload==true)
document.forms[formname].action=sei_href_parameter_add("action=reload", newurl);
else
document.forms[formname].action=newurl;
document.forms[formname].submit();}
else
document.location=newurl;}
function sei_save_action(elementkind, elementkey, settings, application){
urlaction=sei_generate_action(elementkind, elementkey, settings, "only");
newurl=sei_href_link("sei_custom_action="+urlaction+"&app="+application, "http://www.innoform-testservice.de/sei_system/components/usersystem/pages/savesettings.php");
sei_reload_jscode(newurl);}
