function SForm2TXT(){ this.version = "1.0"; }; SForm2TXT.prototype.decode = function($dt){ var $f = $ds = $s = $dv = $fe = $o = null; if($dt.indexOf("=")){ $f = document.forms[$dt.substring(0, $dt.indexOf("="))]; if($f!=null){ $dt = SX_uEsc($dt.substring($dt.indexOf("=") + 1)); $ds = $dt.split("##"); for(var i=0; i<$ds.length; i++){ $s = $ds[i]; $dv = $s.split("|"); for(var j=0; j<$dv.length; j++) $dv[j] = SX_uEsc($dv[j].replace(/_X8/g, ";")); $fe = $f.elements[$dv[0]]; if($fe!=null){ if($fe.type==$dv[1]){ switch($fe.type){ case "checkbox": $fe.checked = ($dv[2]=="true"); break; case "select-one": for(var j=0; j<$fe.options.length; j++){ $o = $fe.options[j]; if($o.value==$dv[2]){ $o.selected = true; if($dv[0]=="BILLTO_COUNTRY") SMShop.setActiveRegionByISOCode($dv[2]); } else $o.selected = false; }; break; case "select-multiple": for(var j=0; j<$fe.options.length; j++){ $o = $fe.options[j]; $o.selected = false; for(var k=2; k<$dv.length; k = k + 2){ if($dv[k]==$o.value){ $o.selected = true; break; }; }; }; break; default: $fe.value = $dv[2]; break; }; } else if($fe.length!=0){ for(var j=0; j<$fe.length; j++){ if($fe[j].type==$dv[1]) $fe[j].checked = ($fe[j].value==$dv[2]); }; }; }; }; }; }; }; SForm2TXT.prototype.encodeElement = function(){ var $dt = "", $ag = arguments; for(var i=0; i<$ag.length; i++) $dt += (($dt!="") ? "|" : "") + SX_esc($ag[i]).replace(/;/g, "_X8"); return($dt); }; SForm2TXT.prototype.writeToCookie = function($f){ var $dt = new Date(); $dt.setTime($dt.getTime() + 2592000000); document.cookie = this.encode($f) + ";expires=" + $dt.toGMTString(); }; SForm2TXT.prototype.readFromCookie = function($n){ var $t = this, $data = document.cookie, $found = false; $data = $data.split(";") for(var i=0; i<$data.length; i++){ while($data[i].charAt(0)==" ") $data[i] = $data[i].substring(1); if($data[i].substring(0, $n.length)==$n){ $data = $data[i]; $found = true; break; }; }; if($found){ $t.decode($data); }; }; SForm2TXT.prototype.encode = function($f){ var $t = this, $dt = "", $o = null, $ag = null, $e = null; for(var i=0; i<$f.elements.length; i++){ $e = $f.elements[i]; if($e.type!="button"&&$e.type!="submit"&&$e.type!="reset"){ if($e.type=="radio"){ if($e.checked){ if($dt!="") $dt += "##"; $dt += $t.encodeElement($e.name, $e.type, $e.value, $e.title); }; } else{ if($dt!="") $dt += "##"; switch($e.type){ case "checkbox": $dt += $t.encodeElement($e.name, $e.type, (($e.checked) ? "true" : "false"), (($e.checked) ? "Ja" : "Nein" )); break; case "select-one": $o = $e.options[$e.options.selectedIndex]; $dt += $t.encodeElement($e.name, $e.type, $o.value, $o.text); break; case "select-multiple": $ag = new Array(); $ag[0] = $e.name; $ag[1] = $e.type; for(var j=0; j<$e.options.length; j++){ $o = $e.options[j]; if($o.selected){ $ag[$ag.length] = $o.value; $ag[$ag.length] = $o.text; }; }; $dt += $t.encodeElement.apply(null, $ag); break; default: $dt += $t.encodeElement($e.name, $e.type, $e.value); break; }; }; }; }; $dt = $f.name + "=" + SX_esc($dt); return($dt); }; var Form2TXT = new SForm2TXT();