var MapData = new Array;

function parseXML( xml ) {
	if( window.ActiveXObject && window.GetObject ) {
            var dom = new ActiveXObject( 'Microsoft.XMLDOM' );
            dom.loadXML( xml );
            return dom;
        }
        else if( window.DOMParser ) {
            return new DOMParser().parseFromString( xml, 'text/xml' );
        }
        else {
            throw new Error( 'Kein XML Parser gefunden' ); 
        };
} 

function parseSVG(svg){
	var paths = $("path", svg);
	var pathsHash = new Array(paths.length);
	var pfad = "";
	var koord = null;
	
	$.each(paths, function(i){
                var iter = 0;
                var xx = new Array;
                var yy = new Array;
                
                pathsHash[i] = new Object();
                pathsHash[i].Gemeinde = this.getAttribute("id");
                
		pfad = this.getAttribute("d").split("L");
		pfad[0] = pfad[0].replace(/m/gi,"");
		pfad[pfad.length-1] = pfad[pfad.length-1].replace(/z/gi,"");
		$.each(pfad, function(j, val){		
			if(j==0 || (j%3) == 0) {
			        val = $.trim(val);
			        koord = val.split(",");
				koord[0] = parseFloat(koord[0])-35;
				koord[1] = parseFloat(koord[1])-62;
				xx[iter] = koord[0];
				yy[iter] = koord[1];
				iter++;
			};
		});
		
		pathsHash[i] = new Object();
                pathsHash[i].Gemeinde = paths[i].getAttribute("id");
		pathsHash[i].X = xx;
		pathsHash[i].Y = yy;
		MapData = pathsHash;
	});
	return true;
}

function createImageMap(Karte){
	var k_width = $(Karte).width() - 7;
	var k_height = $(Karte).height() - 5;
	
	$.each(MapData, function(i){
		var coords = [];
		var coords2 = "";
		var co;
		var x_min = null;
		var y_min = null;
		for(var j=0, len=this.X.length; j<len; j++) {
			co = Math.floor( (this.X[j] * k_width) / 696 );
			if( x_min==null || co < x_min ){ 
				x_min = co; 
			};
			coords.push(co);
			co = Math.floor( (this.Y[j] * k_height) / 871 );
			if( y_min==null || co < y_min ){ 
				y_min = co; 
			};
			coords.push(co);
		};
		coords2 = coords.join(",");
		$("#Kreiskarte area:eq(" + i + ")").attr({ 
		  	alt: this.Gemeinde,
		  	id: this.Gemeinde,
		  	coords: coords2
		});
		co = 0;
		$.each(coords, function(k){
			if(co==0) {
				coords[k] = this - x_min;
				co = 1;
			} else if(co==1) {
				coords[k] = this - y_min;
				co = 0;
			};
		})
		coords2 = coords.join(",");
		$("#K_" + this.Gemeinde + " area").attr({
			alt: this.Gemeinde,
			id: this.Gemeinde,
			coords: coords2			
		}).data(
			"X_min", x_min
		).data(
			"Y_min", y_min
		);
	});
	return true;
}
