/*
-------------------------------------------------------------
2010/03/16 v.1.0
Simon Tim Reinfrank
-------------------------------------------------------------
*/

// ------------------------------------------ [ Parameter Handling with Javascript ] --------------------------------->
 
 function parameterabfrage(name) // returns a named value from querystring
 {
 var tmp = ( location.search.substring(1) );
 var i = tmp.toUpperCase().indexOf(name.toUpperCase()+"=");

 if ( i >= 0 )
 {
 tmp = tmp.substring( name.length+i+1 );
 i = tmp.indexOf("&");
 return unescape( tmp = tmp.substring( 0, (i>=0) ? i : tmp.length ));
 }

	return("");
}

//var language = parameterabfrage("lang");


// ------------------------------------------ [ buildMap ] --------------------------------->
function buildMap(dotsImage,linkDoc,lang)
{
    //IE Testing
    //---------------------------------------------------------------->
    // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase();
    
     // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);

    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_ie3    = (is_ie && (is_major < 4));
    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
    var is_ie4up  = (is_ie && (is_major >= 4));
    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
   
    //---------------------------------------------------------------->

	var theBody = document.getElementsByTagName('body')[0];
	var rootFrame = document.getElementById('mapApp');
	
	//create rootimage
	var myRootImage	= document.createElement('img');
		myRootImage.setAttribute("id","rootImg");
		myRootImage.setAttribute("src","Images/FullMap.gif");
		
	
	//create hoverimage
	var hoverimage	= document.createElement('div');
		hoverimage.setAttribute("id","overlayImg");
		hoverimage.style.backgroundImage = "url('Images/pixels.gif')"; // IE6 hack
		hoverimage.innerHTML = "&nbsp;";
		
	//create dodsLayImg for dots
	var dotImg	= document.createElement('div');
		dotImg.setAttribute("id","dotsLayImg");
		
		if(is_ie6 || is_ie5 || is_ie5_5 || is_ie5up || is_ie5_5up)
		{
		   dotImg.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src='" + dotsImage + "')"; // IE6 hack
		}
		else
		{
		    dotImg.style.backgroundImage = "url('" + dotsImage + "')"; 
		}
		
		
		dotImg.innerHTML = "&nbsp;";
		
	//create devimage
	var devimage= document.createElement('div');
		devimage.setAttribute("id","devRegionImg");
		
		var getRegion =  parameterabfrage("RegionId");
		var getLang =  parameterabfrage("Lang");
		
		if(getRegion)
		{
			var choosenImg = "Images/" + getRegion + ".gif";
		}
		else
		{
			var choosenImg = "Images/pixel.gif";	
		}

		devimage.style.backgroundImage = "url(" + choosenImg + ")"; // IE6 hack
		devimage.innerHTML = "&nbsp;";
		
		
	//create navimage
	var navImage = document.createElement('img');
		navImage.setAttribute("id","imgMap");
		navImage.setAttribute("alt","");
		navImage.setAttribute("usemap","#imgMap");
		navImage.setAttribute("src","Images/pixel.gif");
		navImage.border = "0";

	//create Map	
	var myMap = document.createElement('map');		
		myMap.setAttribute("name","imgMap");
		myMap.setAttribute("id","imgMap");
		
	
	for(var x = 0;x < myMapCoords.length ;x++)
	{			
		var elArea  = document.createElement('area');
        elArea .setAttribute("href",""+ linkDoc + "?RegionId=" + myMapCoords[x][0] + "&Lang=" + lang + "");

	
		elArea .setAttribute("shape","poly");
		
		elArea .setAttribute("alt",myMapCoords[x][1]);
		elArea .setAttribute("coords",myMapCoords[x][2]);
	
		
		elArea .setAttribute("id",myMapCoords[x][0]);
		elArea .setAttribute("title",myMapCoords[x][1]);
	
		elArea .onmouseover = function()
		{
			showRegion(this.getAttribute('id'));
		}
		
		
		elArea .onmouseout = function()
		{
			hideRegion(this.getAttribute('id'));
		}

		
		myMap.appendChild(elArea );
	}
	
	
	rootFrame.appendChild(myRootImage);
	rootFrame.appendChild(hoverimage);
	rootFrame.appendChild(devimage);
	rootFrame.appendChild(dotImg);
	
	rootFrame.appendChild(myMap);
	
}

// ------------------------------------------ [ showRegion ] --------------------------------->

function showRegion(region)
{
	var hoverimage = document.getElementById('overlayImg');
	hoverimage.style.backgroundImage = "url('Images/"+ region +".gif')"; // IE6 hack

}

// ------------------------------------------ [ hideRegion ] --------------------------------->

function hideRegion(region)
{

	var hoverimage = window.document.getElementById('overlayImg');
	hoverimage.style.backgroundImage = "url('Images/pixel.gif')"; // IE6 hack
	

}