var isMapInit = false;
var filialInfo;
var cPoint = null;
var map;
var geocoder;
var xmlAttrib;

var xmlToken = 'tovXCjOfsfbxKpyPULHYTKahwOlcQGUDj';

var fields        = ['ID','Postalcode', 'City', 'Country', 'Street', 'Phone', 'OpeningDate'];
var fieldsDetail  = ['Id', 'Name','Street', 'Postalcode', 'City', 'Country', 'OpeningFromWeekdays', 'OpeningToWeekdays',
                     'OpeningFromSaturday','OpeningToSaturday', 'Phone', 'Fax', 'EMail', 'Parking01', 'Parking02',
                     'Parking03','URLPhoto', 'Approach'
                    ];
var fieldsApp     = ['Name', 'AvailableFrom','AvailableUntil'];
var contryCode = {
	'Deutschland':'DE',
	'Griechenland':'GR',
	'Luxembourg':'LB',
	'Schweiz':'CH'
};

var isDetailLoad = false;

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_LoadScript('uploads/tf/fcktools.js');

if ( navigator.userAgent.indexOf('MSIE') >= 0 ){ // IE
	_LoadScript('uploads/tf/fckxml_ie.js');
	_LoadScript('uploads/tf/fcktools_ie.js');
}else{ // Gecko
	_LoadScript('uploads/tf/fckxml_gecko.js');
	_LoadScript('uploads/tf/fcktools_gecko.js');
}

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function _LoadScript(url){
	document.write( '<script type="text/javascript" src="' + url + '"><\/script>' ) ;
	document.write( '<script type="text/javascript" src="uploads/tf/keymap.js"><\/script>' ) ;
}

function initGoogleMap(){
	if (!isMapInit) {
		
		var move = $('googleMap');
		
		if (move !=null){
			if (GBrowserIsCompatible()) {
				
				$('googleMap').style.visibility = 'hidden';
				
				map = new GMap2(document.getElementById("googleMap"));
				geocoder = new GClientGeocoder();
				
		    map.addControl(new GLargeMapControl());
				map.addControl(new GOverviewMapControl());
				
				geocoder.getLatLng(filialInfo.Street+','+filialInfo.City+','+filialInfo.Country,
					function(point) {
						if (point) {
							cPoint = point;
							map.setCenter(cPoint, 15);
							var marker = new GMarker(cPoint);
							map.addOverlay(marker);
							$('googleMap').style.visibility = 'visible';
						}else{
							$('googleMap').hide();
						}
					}
				);
				
			}
			
		}
		isMapInit = true;
	}
}

function parseXMLData(url, xmlFields, node){
	var oXml = new FCKXml();
	
	oXml.LoadUrl(url+'&token='+xmlToken);
	
	if (node == undefined){
		node = 'store';
	}
	
	var aMainNodes = oXml.SelectNodes('freshnails');
	xmlAttrib = aMainNodes[0].attributes;
	
	var aTplNodes = oXml.SelectNodes('freshnails/'+node);
	
	
	var xmlValues = new Array();
	for ( var i = 0 ; i < aTplNodes.length; i++ )
	{
		var oNode = aTplNodes[i] ;
		xmlValues[i] = {};
		
		xmlFields.each(function(elem){
				if (oNode.attributes.getNamedItem(elem)){
					xmlValues[i][elem] = oNode.attributes.getNamedItem(elem).value;
				}else{
					var oPart    = oXml.SelectSingleNode( elem, oNode ) ;
					xmlValues[i][elem] = oPart && oPart.firstChild ? oPart.firstChild.nodeValue    : '';
				}
			}
		);
	}
	return xmlValues;
}

function loadFilialsDetail(){
	var getParam = document.location.search.toQueryParams();
	var res = parseXMLData('/xmldata.php?get=filial&id='+getParam.filialId, fieldsDetail);
	filialInfo = res[0];
	
	var templ = new Template($('storeInfoDetail').innerHTML);
	$('storeInfoDetail').innerHTML = templ.evaluate(filialInfo);

	
	var templ = new Template($('tplFilialsDetail').innerHTML);
	var html = templ.evaluate(filialInfo);
	
	var detail = $$('.blockDetail');
	detail.each(function(elem){
		elem.innerHTML = html;
	});
	$('tplFilialsDetail').remove();
	
	var img = $$('.scorePhoto');
	img.each(function(elem){
		if (filialInfo.URLPhoto){
			elem.src = filialInfo.URLPhoto;
		}else{
			elem.remove();
		}
	});
	
	var templ = new Template($('tplParking').innerHTML);
	var isParking = false;
	['01', '02', '03'].each(function(num){
		if (filialInfo['Parking'+num]){
			filialInfo.parking = filialInfo['Parking'+num];
			var html = templ.evaluate(filialInfo);
			new Insertion.Bottom($('parkingInfo'), html);
			isParking = true;
		}
	});
	if (isParking){
		$('parking').show();
	}
	
	var application = parseXMLData('/xmldata.php?get=application&id='+getParam.filialId, fieldsApp, 'storeservices/Service');
	var strApp = '';
	application.each(function(elem){
		if (strApp){
			strApp += ' | ';
		}
		strApp += elem.Name;
	});
	
	if (strApp){
		$$('.divApp').each(function(element){
			element.show();
			new Insertion.Bottom(element, strApp);
		});
	}
	
//	$('mnJobs').hide();
//	$('mnJobsSpliter').hide();

	$('mnAktion').hide();
	$('mnAktionSpliter').hide();

	$('storeMenu').show();
	$('storeInfoDetail').show();

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	isDetailLoad = true;
}

function showBlock(block){
	if (!isDetailLoad){
		return false;
	}
	var td = $$('td');
	td.each(function(elem){
		if (elem.className == 'mnSelected'){
			elem.className = '';
		}
	});
	if ($('mn'+block)){
		$('mn'+block).className = 'mnSelected';
	}
	
	var div = $$('.infoBlock');
	div.each(function(elem){
		elem.hide();
	});
	if ($('info'+block)){
		$('info'+block).show();
	}
	
}