


function nullify(theType, urlField, md5Field, multi_edit)
{
    var rowForm = document.forms['insertForm'];

    if (typeof(rowForm.elements['funcs' + multi_edit + '[' + urlField + ']']) != 'undefined') {
        rowForm.elements['funcs' + multi_edit + '[' + urlField + ']'].selectedIndex = -1;
    }

    if (theType == 1 || theType == 3 || theType == 4) {
        rowForm.elements['field_' + md5Field + multi_edit + '[]'].selectedIndex = -1;
    }
    else if (theType == 2) {
        var elts     = rowForm.elements['field_' + md5Field + multi_edit + '[]'];
        if (elts.checked) {
            elts.checked = false;
        } else {
            var elts_cnt = elts.length;
            for (var i = 0; i < elts_cnt; i++ ) {
                elts[i].checked = false;
            }
        }
    }
    else {
        rowForm.elements['fields' + multi_edit + '[' + urlField + ']'].value = '';
    }

    return true;
} 




function unNullify(urlField, multi_edit)
{
    var rowForm = document.forms['insertForm'];

    if (typeof(rowForm.elements['fields_null[multi_edit][' + multi_edit + '][' + urlField + ']']) != 'undefined') {
        rowForm.elements['fields_null[multi_edit][' + multi_edit + '][' + urlField + ']'].checked = false
    }

    if (typeof(rowForm.elements['insert_ignore_' + multi_edit]) != 'undefined') {
        rowForm.elements['insert_ignore_' + multi_edit].checked = false
    }

    return true;
}

var day;
var month;
var year;
var hour;
var minute;
var second;
var clock_set = 0;



function openCalendar(params, form, field, type) {
    window.open("calendar.php?" + params, "calendar", "width=400,height=200,status=yes");
		dateField = eval("document.getElementById('" + field + "')");
    //dateField = eval("document." + form + "." + field);
    dateType = type;
}



function formatNum2(i, valtype) {
    f = (i < 10 ? '0' : '') + i;
    if (valtype && valtype != '') {
        switch(valtype) {
            case 'month':
                f = (f > 12 ? 12 : f);
                break;

            case 'day':
                f = (f > 31 ? 31 : f);
                break;

            case 'hour':
                f = (f > 24 ? 24 : f);
                break;

            default:
            case 'second':
            case 'minute':
                f = (f > 59 ? 59 : f);
                break;
        }
    }
    return f;
}



function formatNum4(i) {
    return (i < 1000 ? i < 100 ? i < 10 ? '000' : '00' : '0' : '') + i;
}



function initCalendar() {
    if (!year && !month && !day) {
        if (window.opener.dateField.value) {
            value = window.opener.dateField.value;
            if (window.opener.dateType == 'datetime' || window.opener.dateType == 'date') {
                if (window.opener.dateType == 'datetime') {
                    parts   = value.split(' ');
                    value   = parts[0];

                    if (parts[1]) {
                        time    = parts[1].split(':');
                        hour    = parseInt(time[0],10);
                        minute  = parseInt(time[1],10);
                        second  = parseInt(time[2],10);
                    }
                }
                date        = value.split("/");
                day         = parseInt(date[0],10);
                month       = parseInt(date[1],10) - 1;
                year        = parseInt(date[2],10);
            } else {
                year        = parseInt(value.substr(6,4),10);
                month       = parseInt(value.substr(3,2),10) - 1;
                day         = parseInt(value.substr(0,2),10);
                hour        = parseInt(value.substr(8,2),10);
                minute      = parseInt(value.substr(10,2),10);
                second      = parseInt(value.substr(12,2),10);
            }
        }
        if (isNaN(year) || isNaN(month) || isNaN(day) || day == 0) {
            dt      = new Date();
            year    = dt.getFullYear();
            month   = dt.getMonth();
            day     = dt.getDate();
        }
        if (isNaN(hour) || isNaN(minute) || isNaN(second)) {
            dt      = new Date();
            hour    = dt.getHours();
            minute  = dt.getMinutes();
            second  = dt.getSeconds();
        }
    } else {
        if (month > 11) {
            month = 0;
            year++;
        }
        if (month < 0) {
            month = 11;
            year--;
        }
    }

    if (document.getElementById) {
        cnt = document.getElementById("calendar_data");
    } else if (document.all) {
        cnt = document.all["calendar_data"];
    }

    cnt.innerHTML = "";

    str = ""
    str += '<table class="calendar"><tr><th width="50%">';
    str += '<form method="none" onsubmit="return 0">';
    str += '<a href="javascript:month--; initCalendar();">&laquo;</a> ';
    str += '<select id="select_month" name="monthsel" onchange="month = parseInt(document.getElementById(\'select_month\').value); initCalendar();">';
    for (i =0; i < 12; i++) {
        if (i == month) selected = ' selected="selected"';
        else selected = '';
        str += '<option value="' + i + '" ' + selected + '>' + month_names[i] + '</option>';
    }
    str += '</select>';
    str += ' <a href="javascript:month++; initCalendar();">&raquo;</a>';
    str += '</form>';
    str += '</th><th width="50%">';
    str += '<form method="none" onsubmit="return 0">';
    str += '<a href="javascript:year--; initCalendar();">&laquo;</a> ';
    str += '<select id="select_year" name="yearsel" onchange="year = parseInt(document.getElementById(\'select_year\').value); initCalendar();">';
    for (i = year - 25; i < year + 25; i++) {
        if (i == year) selected = ' selected="selected"';
        else selected = '';
        str += '<option value="' + i + '" ' + selected + '>' + i + '</option>';
    }
    str += '</select>';
    str += ' <a href="javascript:year++; initCalendar();">&raquo;</a>';
    str += '</form>';
    str += '</th></tr></table>';

    str += '<table class="calendar"><tr>';
    for (i = 0; i < 7; i++) {
        str += "<th>" + day_names[i] + "</th>";
    }
    str += "</tr>";

    var firstDay = new Date(year, month, 1).getDay();
    var lastDay = new Date(year, month + 1, 0).getDate();

    str += "<tr>";

    dayInWeek = 0;
    for (i = 0; i < firstDay; i++) {
        str += "<td>&nbsp;</td>";
        dayInWeek++;
    }
    for (i = 1; i <= lastDay; i++) {
        if (dayInWeek == 7) {
            str += "</tr><tr>";
            dayInWeek = 0;
        }

        dispmonth = 1 + month;

        if (window.opener.dateType == 'datetime' || window.opener.dateType == 'date') {
            actVal = formatNum2(i, 'day') + "/" + formatNum2(dispmonth, 'month') + "/" + formatNum4(year);
        } else {
            actVal = "" + formatNum2(i, 'day') + formatNum2(dispmonth, 'month') + formatNum4(year);
        }
        if (i == day) {
            style = ' class="selected"';
        } else {
            style = '';
        }
        str += "<td" + style + "><a href=\"javascript:returnDate('" + actVal + "');\">" + i + "</a></td>"
        dayInWeek++;
    }
    for (i = dayInWeek; i < 7; i++) {
        str += "<td>&nbsp;</td>";
    }

    str += "</tr></table>";

    cnt.innerHTML = str;
}



function returnDate(d) {
    txt = d;
    if (window.opener.dateType != 'date') {
        h = parseInt(document.getElementById('hour').value,10);
        m = parseInt(document.getElementById('minute').value,10);
        s = parseInt(document.getElementById('second').value,10);
        if (window.opener.dateType == 'datetime') {
            txt += ' ' + formatNum2(h, 'hour') + ':' + formatNum2(m, 'minute') + ':' + formatNum2(s, 'second');
        } else {
            txt += formatNum2(h, 'hour') + formatNum2(m, 'minute') + formatNum2(s, 'second');
        }
    }

    window.opener.dateField.value = txt;
    window.close();
}





// --
		var map;
		var side_bar_html = "";
		//var side_bar_map = document.getElementById("side_bar");
		var gmarkers = [];
		var i = 0;

      var keolisIcon = new GIcon();
      keolisIcon.image = "grp_keolis_ico.gif";
		//keolisIcon.shadow = "shadow50.png";
      keolisIcon.iconSize = new GSize(15, 22);
      //keolisIcon.shadowSize = new GSize(37, 34);
      keolisIcon.iconAnchor = new GPoint(6, 20);
      keolisIcon.infoWindowAnchor = new GPoint(9, 2);
      keolisIcon.infoShadowAnchor = new GPoint(18, 25);
      keolisIcon.transparent = "grp_keolis_ico.gif";
      keolisIcon.printImage = "grp_keolis_ico.gif";
      keolisIcon.mozPrintImage = "grp_keolis_ico.gif";


      var busIcon = new GIcon();
      busIcon.image = "img_ico_bus.gif";
      busIcon.iconSize = new GSize(23, 23);
      busIcon.iconAnchor = new GPoint(6, 20);
      busIcon.infoWindowAnchor = new GPoint(9, 2);
      busIcon.infoShadowAnchor = new GPoint(18, 25);
      busIcon.transparent = "img_ico_bus.gif";
      busIcon.printImage = "img_ico_bus.gif";
      busIcon.mozPrintImage = "img_ico_bus.gif";

      var icons = [];
      icons['Keolis'] = keolisIcon;
      icons['bus'] = busIcon;


		function createMarker(point,name,html,icontype) {
			var marker = new GMarker(point,icons[icontype]);
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml('<b>'+name+'</b><br/>'+html);
			});
			gmarkers[i] = marker;
			//var trktxt = ;
			//side_bar_html += '<li><a href="javascript:myclick(' + i + ')">' + trkLbl(name) + '</a></li>';
			i++;
			return marker;
		}


		function clrMap()
		{
			side_bar_html = "";
			map.clearOverlays();
			//var element = document.getElementById("side_bar");
			//while(element.hasChildNodes())
			//	element.removeChild(element.firstChild);
			//document.getElementById("side_bar").innerHTML = "Chargement...<br /><img src=\"../img_loader.gif\" alt=\"\" />";
		}

		function finMap()
		{
			//var element = document.getElementById("side_bar");
			//while(element.hasChildNodes())
			//	element.removeChild(element.firstChild);
		}


		function trkLbl(label)
		{
			label = label.replace(new RegExp("Saint-","gi"), "St-" );
			label = label.replace(new RegExp("Sainte-","gi"), "Ste-" );
			label = label.replace(new RegExp("-sur-","gi"), "/" );
			if(label.length > 16)
			{
				return(label.substring(0,15) + "&hellip;");
			}
			else
			{
				return label;
			}
		}


      function myclick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }


		function load() {
    		if (GBrowserIsCompatible())
    		{
 		      map = new GMap2(document.getElementById("map"));
		      map.addControl(new GLargeMapControl());
		      map.addControl(new GMapTypeControl());
					//var iptAffRsxPro000 = document.getElementById("iptAffRsxPro000");
					//iptAffRsxPro000.checked = true;
					affTransgironde();
   				var kml = new GGeoXml("http://dev.transbus.org/calculateur/doc.kml");
   				map.addOverlay(kml);
			} else {
      		alert("Cette fonctionnalit&eacute; est incompatible avec votre navigateur");
			}
		}

		function affTransgironde()
		{
				//clrMap();
		      map.setCenter(new GLatLng(44.91,-0.73), 10,G_NORMAL_MAP);
		      var request = GXmlHttp.create();
		      request.open("GET", "visu.ge.php", true);
		      request.onreadystatechange = function() {
					if (request.readyState == 4) {
						var xmlDoc = request.responseXML;
						//var xmlDoc = GXml.parse(request.responseText);
						var markers = xmlDoc.documentElement.getElementsByTagName("mk");

						for (var i = 0; i < markers.length; i++) {
							var lat = parseFloat(markers[i].getAttribute("lat"));
							var lng = parseFloat(markers[i].getAttribute("lng"));
							var point = new GLatLng(lat,lng);
							var label = markers[i].getAttribute("lbl");
							var html = GXml.value(markers[i].getElementsByTagName("iw")[0]);
							var marker = createMarker(point,label,html,"bus");
							map.addOverlay(marker);
						}

						//finMap();
						//sidetxt = "<p>R&eacute;sea<ul class=\"ulSSTitre\">";
						//document.getElementById("side_bar").innerHTML = sidetxt + side_bar_html + "</ul>";
					}
				}
				request.send(null);
				//alert("oooooo");
		}



function allerretour()
{
			// masque les boutons radio du retour si la case A/R n'est pas cochée
			boutonsretour = document.getElementsByName('trajetretour');
			//if(document.getElementById('iptAllerretour').value == 'on')
			// test sur le premier bouton de retour
			if(boutonsretour[1].style.display != 'none')
			{
				//alert('masquer');
				//document.getElementById('trajetretour1').style.display = 'none';
				for(i=0;i<boutonsretour.length;i++)
				{
					boutonsretour[i].style.display='none';
					boutonsretour[i].checked='';
				}
			}
			else
			{
				//alert('afficher');
				for(i=0;i<boutonsretour.length;i++)
				{
					boutonsretour[i].checked='';
					boutonsretour[i].style.display='inline';
				}
			}
				//document.getElementById('trajetretour[]').style.display = 'none';
				//if(boutonsretour[i].selected == true && boutonsretour[i].value=='oui')
				//{
				//alert(i);
				//}
			//document.getElementById('iptContratCPS').style.display = 'none';
			//document.getElementByName('trajetaller').style.display = 'none';
			//document.getElementById('ddContrat_nbheures_mois').style.display = 'none';
			//document.getElementById('nationalite').value = 'française';
}