//sicherung erstellen
function exportier(){

	if(typeof(stat_timeout) != "undefined") clearTimeout(stat_timeout);
	document.getElementById("neustat").innerHTML=dwe;
	document.getElementById("neustat").style.background="none";
	
	//dialog ausgeben
	var ordnerpfad = ShowOpenFolder();
	
	//vorgang abgebrochen
	if(ordnerpfad == "") statreset();
	else{
		
		var temp="DATENSICHERUNG VON GADGET DENK-DARAN - DIESE DATEI NICHT BEARBEITEN! - DATA BACKUP OF GADGET DENK-DARAN - DO NOT EDIT THIS FILE!\r\n";
		temp+=System.Gadget.version+"\r\n";
		temp+=document.getElementById("farbwae").checked+"\r\n";
		temp+=farbe_rahm+"\r\n";
		temp+=farbe_hint+"\r\n";
		temp+=document.getElementById("rahmbreite").selectedIndex+"\r\n";
		temp+=document.getElementById("effekt").selectedIndex+"\r\n";
		temp+=uhr+"\r\n";
		temp+=(document.getElementById("segfarb").selectedIndex+1)+"\r\n";
		temp+=document.getElementById("sek_segment").checked+"\r\n";
		temp+=document.getElementById("blinkgeschw").checked+"\r\n";
		temp+=(document.getElementById("ziffblfarb").selectedIndex+1)+"\r\n";
		temp+=(document.getElementById("hfarb").selectedIndex+1)+"\r\n";
		temp+=(document.getElementById("mfarb").selectedIndex+1)+"\r\n";
		temp+=(document.getElementById("sfarb").selectedIndex+1)+"\r\n";
		temp+=document.getElementById("sek_zeiger").checked+"\r\n";
		temp+=document.getElementById("regspeich").checked+"\r\n";
		temp+=document.getElementById("autoupdate").checked;
		
			
		if(fso.FileExists(ordnerpfad)){
			if (bestat(dvh) == 6) SchreibeDatei(ordnerpfad, temp);
			else statreset();
		}
		else SchreibeDatei(ordnerpfad, temp);
	}
}

function SchreibeDatei(ordnerpfad, temp){
	var fso_dat = fso.CreateTextFile(ordnerpfad, true, true);
	fso_dat.Write(temp+"\r\n\r\n"+auftraege[0].join("\r\n")+"\r\n\r\n"+auftraege[1].join("\r\n"));
	fso_dat.close();
	
	document.getElementById("neustat").innerHTML=dad;
	document.getElementById("neustat").style.background="#00CC33";
	stat_timeout = setTimeout("statreset()", 3000);
}


function ShowOpenFolder(){
	//ordner suchen dialog oeffnen
	var objShell =  new ActiveXObject("Shell.Application");
	var objFolder = objShell.BrowseForFolder(0, wao, 0); 
	
	//Wenn abgebrochen wurde
	if(objFolder == null){
		return "";
	}
	else{ 
		//Pfad des Ordners aus Rueckgabewert extrahieren
		var Pfad = objFolder.Self.Path;
		
		vers=System.Gadget.version;
		
		datnamergeb=datnam();
		if(typeof(datnamergeb) == "undefined") return "";
		else return Pfad+"\\"+datnamergeb+".dat";
	}
}


function importier(){
	
	if(typeof(stat_timeout) != "undefined") clearTimeout(stat_timeout);
	if(typeof(sumtime) != "undefined") clearTimeout(sumtime);
	
	document.getElementById("neustat").innerHTML=dwg;
	document.getElementById("neustat").style.background="none";
	
	//vermeiden dass noch eine datei vorgewählt ist
	document.fileform.reset();
	
	
	
	if(document.getElementById("set_ch").checked == false && document.getElementById("auf_ch").checked == false){//keine haken gesetzt
		document.getElementById("neustat").innerHTML=hak;
		document.getElementById("neustat").style.background="red";
		stat_timeout=setTimeout("statreset()", 3000);
	}
	else{
		//durchsuchen-button "anklicken"
		document.getElementById("dateifile").click();
		
		if(document.getElementById("dateifile").value == "") statreset();
		else{
			
			//erster einleseversuch mit prüfung auf leere datei
			var fso_dat = fso.OpenTextFile(document.getElementById("dateifile").value, 1);
			if(fso_dat.AtEndOfStream == false) var dattxt = fso_dat.ReadAll();
			else var dattxt = "";
			fso_dat.close();
			
			//wenn unicode-datei (ab 1.0.0) -> datei in unicode neu laden
			if(dattxt.substring(0, 3) == "ÿþD"){
				var fso_dat = fso.OpenTextFile(document.getElementById("dateifile").value, 1, false, -1);
				var dattxt = fso_dat.ReadAll();
				fso_dat.close();
			}
			
			
			
			dattxt = dattxt.split("\r\n\r\n"); //in untergruppen aufteilen
			dattxt[0] = dattxt[0].split("\r\n"); //einstellungen aufteilen
			
			
			//gültigkeitsprüfung
			if(dattxt[0][0] != "DATENSICHERUNG VON GADGET DENK-DARAN - DIESE DATEI NICHT BEARBEITEN! - DATA BACKUP OF GADGET DENK-DARAN - DO NOT EDIT THIS FILE!"){
				document.getElementById("neustat").innerHTML=ddu;
				document.getElementById("neustat").style.background="red";
				stat_timeout = setTimeout("statreset()", 3000);
			}
			else{ //datei gültig, mit einlesen fortfahren
			
				//Achtung, ab hier wird zb 0.1.2 zu 102, 0.12.3 zu 1203 oder 1.2.3 zu 10203!
				var vers_dat_temp = dattxt[0][1].split(".");
				//0 zusätzlich einfügen wenn zahl kleiner 10
				for (var i=0; i < vers_dat_temp.length; i++){
					if(vers_dat_temp[i].length == 1) vers_dat_temp[i] = "0" + vers_dat_temp[i];	
				}
				var vers_dat = parseFloat(vers_dat_temp.join(""));
				
				var vers_gad_temp = System.Gadget.version.split(".");
				//0 zusätzlich einfügen wenn zahl kleiner 10
				for (var i=0; i < vers_gad_temp.length; i++){
					if(vers_gad_temp[i].length == 1) vers_gad_temp[i] = "0" + vers_gad_temp[i];	
				}
				var vers_gad = parseFloat(vers_gad_temp.join(""));
				
				
				if(vers_dat > vers_gad){ //ist datei neuer als gadget?
					document.getElementById("neustat").innerHTML=ddn;
					document.getElementById("neustat").style.background="red";
					stat_timeout = setTimeout("statreset()", 3000);
				}
				else{ //alles ok, mit import starten
					
					// - - - - - - - Einstellungen - - - - - - -
					
					if(document.getElementById("set_ch").checked == true){
					
					
						
						// - - - - - Version-Konvertierung(en) - - - - -
						
						
						//Ältere Version?
						if(vers_gad > vers_dat){
							
							//Älter als Version 0.29.0?
							if(vers_dat < 2900){
								//"bileff" wurde entfernt
								dattxt[0].splice(7,1);
								//"pfad" wird nicht neu eingelesen
								dattxt[0].splice(11,1);
							}
							
							//Älter als Version 0.31.0?
							if(vers_dat < 3100){
								//zifferblatt: bilder können gewählt werden
								dattxt[0].splice(10, 0, document.getElementById("ziffblfarb").selectedIndex+1, document.getElementById("hfarb").selectedIndex+1, document.getElementById("mfarb").selectedIndex+1, document.getElementById("sfarb").selectedIndex+1);
							}
							
							//Älter als Version 0.32.0?
							if(vers_dat < 3200){
								//schriftfarbe wurde entfernt
								dattxt[0].splice(5,1);
							}
							
							//Älter als Version 1.1.3?
							if(vers_dat < 10103){
								//neue, logischere Reihenfolge
								var tmp = dattxt[0][5];
								dattxt[0].splice(5, 1);
								dattxt[0].splice(2, 0, tmp);
								
								tmp = dattxt[0][8];
								dattxt[0].splice(8, 1);
								dattxt[0].splice(7, 0, tmp);
								
								
								tmp = new Array(dattxt[0][14], dattxt[0][15]);
								dattxt[0].splice(14, 2);
								dattxt[0].splice(9, 0, tmp[0], tmp[1]);
							}
							
							//Älter als Version 1.2.0?
							if(vers_dat < 10200){
								//option "autoupdate" kommt hinzu
								dattxt[0].splice(17,0, String(document.getElementById("autoupdate").checked));
							}
							
							//Älter als Version 1.2.2?
							if(vers_dat < 10202){
								//option "upmeld" wurde entfernt (wird nun intern geregelt)
								dattxt[0].splice(18,1);
							}
						}
						
						
						
						//boolean-werte von string in boolean
						if(dattxt[0][2] == "true") dattxt[0][2] = true;
						else dattxt[0][2] = false;
						
						if(dattxt[0][9] == "true") dattxt[0][9] = true;
						else dattxt[0][9] = false;
						
						if(dattxt[0][10] == "true") dattxt[0][10] = true;
						else dattxt[0][10] = false;
						
						if(dattxt[0][15] == "true") dattxt[0][15] = true;
						else dattxt[0][15] = false;
						
						if(dattxt[0][16] == "true") dattxt[0][16] = true;
						else dattxt[0][16] = false;
						
						if(dattxt[0][17] == "true") dattxt[0][17] = true;
						else dattxt[0][17] = false;
						
						
						// - - - - - einstellungen setzen - - - - -
					
						//farben erweitert definieren
						document.getElementById("farbwae").checked = dattxt[0][2];
						
						//Rahmenfarbe
						farbe_rahm = dattxt[0][3];
						document.getElementById("farbe_rahm_div").style.backgroundColor = farbe_rahm;
						
						//Hintergrundfarbe
						farbe_hint = dattxt[0][4];
						document.getElementById("farbe_hint_div").style.backgroundColor = farbe_hint;
						
						//Rahmendicke
						document.getElementById("rahmbreite").selectedIndex = dattxt[0][5];
						
						//Hintergrundeffekt
						document.getElementById("effekt").selectedIndex = dattxt[0][6];
						
						//Segment oder Zifferblatt
						document.getElementsByName("uhrinput")[dattxt[0][7]].checked = true;
						zei(dattxt[0][7]);
						
						//segmentfarbe
						document.getElementById("segfarb").selectedIndex = (dattxt[0][8]-1);
						
						//sekunden anzeigen
						document.getElementById("sek_segment").checked = dattxt[0][9];
						
						//blinkgeschwindigkeit
						document.getElementById("blinkgeschw").checked = dattxt[0][10];
						disspeed();
						
						//zifferblattfarbe
						document.getElementById("ziffblfarb").selectedIndex = (dattxt[0][11]-1);
						
						//stundenzeiger
						document.getElementById("hfarb").selectedIndex = (dattxt[0][12]-1);
						
						//minutenzeiger
						document.getElementById("mfarb").selectedIndex = (dattxt[0][13]-1);
						
						//sekundenzeiger
						document.getElementById("sfarb").selectedIndex = (dattxt[0][14]-1);
						
						//Sekundenzeiger anzeigen
						document.getElementById("sek_zeiger").checked = dattxt[0][15];
						
						//Register Position merken
						document.getElementById("regspeich").checked = dattxt[0][16];
						
						//auto-update
						document.getElementById("autoupdate").checked = dattxt[0][17];
						
					}
					
					
					
					// - - - - - - -  Aufträge - - - - - - - 
					
					if(document.getElementById("auf_ch").checked == true){					
						//hinweis: einträge werden an existierene angehängt

						//einmalig
						if(dattxt[1] != ""){
							
							//kompatiblität zu dateistruktur vor v0.32.0
							if(vers_dat < 3200) dattxt[1] = dattxt[1].split(",");
							else dattxt[1] = dattxt[1].split("\r\n");
							
							
							// - - - - - Version-Konvertierung(en) - - - - -
							
							//Ältere Version?
							if(vers_gad > vers_dat){
								
								//Version 0.32.0?
								if(vers_dat == 3200){
									//maskierte ascii-dateien (wurde nur in dieser version verwendet)
									for(var i=0; i<dattxt[1].length; i++){
										dattxt[1][i] = decodeURIComponent(dattxt[1][i]);
									}
								}
								
								//Älter als Version 1.3.0?
								if(vers_dat < 10300){
									//nachreich-funktion hinzugefügt
									for(var i=0; i<dattxt[1].length; i++){
										dattxt[1][i] = dattxt[1][i].substring(0,12) + "0" + dattxt[1][i].substring(12);
									}
								}
							
							}
							
							//in bestehende strukur einbinden
							for(var i=0; i<dattxt[1].length; i++){
								auftraege[0].push(dattxt[1][i]);
							}
							//übersicht aktualisieren
							sumschreib(0);
						}
						
						
						
						//wöchentlich
						if(dattxt[2] != ""){
							
							//kompatiblität zu dateistruktur vor v0.32.0
							if(vers_dat < 3200) dattxt[2] = dattxt[2].split(",");
							else dattxt[2] = dattxt[2].split("\r\n");
							
							// - - - - - Version-Konvertierung(en) - - - - -
							
							//Ältere Version?
							if(vers_gad > vers_dat){
								
								//Version 0.32.0?
								if(vers_dat == 3200){
									//maskierte ascii-dateien (wurde nur in dieser version verwendet)
									for(var i=0; i<dattxt[2].length; i++){
										dattxt[2][i] = decodeURIComponent(dattxt[2][i]);
									}
								}
								
								//Älter als Version 1.3.0?
								if(vers_dat < 10300){
									//nachreich-funktion hinzugefügt; montag ist nun statt sonntag an erster stelle
									for(var i=0; i<dattxt[2].length; i++){
										dattxt[2][i] = dattxt[2][i].substring(1,7) + dattxt[2][i].substring(0,1) +  dattxt[2][i].substring(7,11) + "00" + dattxt[2][i].substring(11);
									}
								}
							}
							
							//in bestehende strukur einbinden
							for(var i=0; i<dattxt[2].length; i++){
								auftraege[1].push(dattxt[2][i]);
							}
							//übersicht aktualisieren
							sumschreib(1);
						}
						
						ztensave();
					}
					
					
					//import abgeschlossen
					document.getElementById("neustat").innerHTML=wie;
					document.getElementById("neustat").style.background="#00CC33";
					stat_timeout = setTimeout("statreset()", 3000);
					
				}
			}
		}
	}
}


//status resetten
function statreset(){
	document.getElementById("neustat").innerHTML="";
	document.getElementById("neustat").style.background="none";
}
