<!--
var d = document;

function init(page) {
	aCompass = new Array('ymapcompnw', 'ymapcompn', 'ymapcompne', 'ymapcompw', 'ymapcompe', 'ymapcompsw', 'ymapcomps', 'ymapcompse');
	addHandlers(aCompass, page);
	var oLoader = d.createElement('iframe');
	oLoader.id = 'loader';
	oLoader.name = 'loader';
    d.body.appendChild(oLoader);
    oLoader.outerHTML = '<iframe name=loader id=loader></iframe>';
	(page == 'maps') ? d.mapForm.action = '/maps_zloader' : d.mapForm.action = '/dd_zloader';
	d.mapForm.target = oLoader.id;
}

function addHandlers(arr, page) {
	addZoomHandlers();
    if (page == 'maps')
        d.getElementById('ymaprsz').onclick = handler;
	var compass = new Array("nw", "n", "ne", "w", "e", "sw", "s", "se");
    var aHover = new Array();
	for (var i = 0; i < arr.length; i++) { //compass handlers
		var o = d.getElementById(arr[i]);
        aHover[i] = new Image();
        aHover[i].src = o.src.replace("nrm", "sel");
		o.onmouseover = handler;
		o.onmouseout = handler;
		o.onclick = handler;
		o.compass = compass[i];
	}
}

function addZoomHandlers() {
	for (var i = 0; i < 12; i++) {
		var strId = 'ymapzoom' + i;
		var oId = d.getElementById(strId);
		var oLink = oId.getElementsByTagName('a');
		if (oLink[0]) oLink[0].onclick = handler;
	}
}

function handler(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : "");
	if (evt) {
	var o = getTargetObj(evt);
		switch(evt.type) {
			case "mouseover": o.src = o.src.replace("nrm", "sel"); break;
			case "mouseout":  o.src = o.src.replace("sel", "nrm"); break;
			case "click":
				if (o.tagName == 'IMG') {
					submitMapForm(o);
					return false;
					break;
				} else {
					// handles ZoomIn/Out, 1-10 
					if( (o.tagName == 'STRONG' || o.tagName == 'A' || o.tagName == 'B') && !(o.parentNode.id)) {
					 o = o.parentNode.parentNode;
					} else {
					// handles 1-10 div box
					 o = o.parentNode;
					}
				}
				zoom(o);
				return false;
				break;
		}
	}
}

function getTargetObj(evt) {
	var o = (evt.target) ? ( (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target ) : evt.srcElement;
	return o;
}

function submitMapForm(o) {
	if (o) {
		if (o.id == 'ymaprsz') (d.mapForm.resize.value != 'l')	? d.mapForm.resize.value = 'l' : d.mapForm.resize.value = 's';
		else d.mapForm.compass.value = o.compass;
	}
    document.mapForm.submit();
}

function getZoomLabel(lvl, state, loc) {
//	var lbl = '<b>&nbsp;'+ lvl + '</b>';
	
	var lbl;
        //add a left margin to 1-9 zoom level
        (lvl<10 && lvl !=0) ? lbl='<b class="ymapzoomlm">&nbsp;'+ lvl + '</b>' : lbl='<b>&nbsp;'+ lvl + '</b>';

	if (lvl == 0) {
        switch (loc) {
            case 'us': lbl = '<strong>Zoom<br>In</strong>'; break;
            case 'e1': lbl = '<strong>Acercar</strong>'; break;
            case 'cf': lbl = '<strong>Vue rapprochée</strong>'; break;
            case 'ca': lbl = '<strong>Zoom<br>In</strong>'; break;
            default: lbl = '<strong>Zoom<br>In</strong>'; break;
        }
	} else if (lvl == 2 || lvl == 4 || lvl == 8 || lvl == 10) {
		var view;
        switch (loc) {
            case 'us':  view = new Array(0,0,'street',0,'city',0,0,0,'state',0,'country'); break;
            case 'e1': view = new Array(0,0,'calle',0,'ciudad',0,0,0,'estado',0,'país'); break;
            case 'cf': view = new Array(0,0,'rue',0,'ville',0,0,0,'provincial',0,'pays'); break;
            case 'ca': view = new Array(0,0,'street',0,'city',0,0,0,'province',0,'country'); break;
            default: view = new Array(0,0,'street',0,'city',0,0,0,'state',0,'country'); break;
        }
		lbl += ' ' + view[lvl];
	} else if (lvl == 11) {
        switch (loc) {
            case 'us': lbl = '<strong>Zoom<br>Out</strong>'; break;
            case 'e1': lbl = '<strong>Alejar</strong>'; break;
            case 'cf': lbl = '<strong>Vue éloignée</strong>'; break;
            case 'ca': lbl = '<strong>Zoom<br>Out</strong>'; break;
            default: lbl = '<strong>Zoom<br>Out</strong>'; break;
        }
    }
	if (state == 'on') lbl = '<a href="#">' + lbl + '</a>';
	return lbl;
}

function zoom(o) {
	var lvl = o.id.substr(8) - 0; /* get level from id and convert to int */
	var oMag = d.mapForm.mag;
    var loc = d.mapForm.elements['.intl'].value;
    switch (d.mapForm.action) { 
        case '/maps_zloader':
        	if (lvl == 0) (oMag.value != 10) ? lvl = 10 - oMag.value : 0;
        	else if (lvl == 11) (oMag.value != 1) ? lvl = 12 - oMag.value : 0;
        	oMag.value = 11 - lvl;
	        break;    
        case '/dd_zloader':
            if (lvl == 0) (oMag.value != 1) ? lvl = oMag.value - 1 : 0;
            else if (lvl == 11) {
                     (oMag.value != 10) ? lvl = oMag.value : 0;
                     lvl++;
    	    }
        	oMag.value = lvl;
            break;
    }
	submitMapForm();	
}

function updateZoomButtons(lvl, loc) {
	var oId = d.getElementById('ymapzoom');
	var oDl = oId.getElementsByTagName('div');	
	if (lvl != 1) {
		oDl[0].innerHTML = getZoomLabel(0, 'on', loc);
		oDl[0].className = '';		
	} else {
		 oDl[0].innerHTML = getZoomLabel(0, 'off', loc);	
		 oDl[0].className = 'ymapzoomin';
	}
	for (var i = 1; i < 11; i++) {
		if (i != lvl) {
			oDl[i].innerHTML = getZoomLabel(i, 'on', loc);
			oDl[i].className = 'ymapzoomnums';
		} else {
			oDl[i].innerHTML = getZoomLabel(i, 'off', loc);
			oDl[i].className = 'ymapzoomon';
		}
	}
	if (lvl != 10) {
		oDl[11].innerHTML = getZoomLabel(11, 'on', loc);
		oDl[11].className = '';
	} else {
		oDl[11].innerHTML = getZoomLabel(11, 'off', loc);	
		oDl[11].className = 'ymapzoomout';
	}
    addZoomHandlers();
}
//-->

