var currentTime = new Date()
var today_year = currentTime.getFullYear();
var today_month = currentTime.getMonth();
var today_day = currentTime.getDate();
function makeDropMonth(form, timing, order){
	var y = eval("form.year"+order);
	var m = eval("form.month"+order);

	var limit1 = 0;
	var limit2 = months.length;
	var cur_month = m.value-1;

	if(y.value==today_year){
		switch(timing) {
			case 0: 
				var newdate = new Date(currentTime);
				newdate.setDate(newdate.getDate()-1);
				limit2 = newdate.getMonth()+1; break;
			case 1: 
				if(order==1) limit2 = today_month+1;
				else limit1 = today_month;
				break;
			case 2:
				var newdate = new Date(currentTime);
				newdate.setDate(newdate.getDate()+1);
				limit1 = newdate.getMonth(); break;
				break;
		}
	}
	m.options.length=0;
	for (i=0; limit1 < limit2; i++) {		// add new items
		m.options[i] = new Option(months[limit1]);
		m.options[i].value=(limit1+1);
		if(limit1==cur_month) m.options[i].selected = true;
		limit1++;
	}
	 makeDropDay(form, timing, order);
}

function makeDropDay(form, timing, order){
	var y = eval("form.year"+order);
	var m = eval("form.month"+order);
	var d = eval("form.day"+order);

	var limit1 = 1;
	var limit2 = 31;
	var cur_day = d.value;
	if(y.value==today_year && m.value==(today_month+1)){
		switch(timing) {
			case 0: 
				var newdate = new Date(currentTime);
				newdate.setDate(newdate.getDate()-1);
				limit2 = newdate.getDate(); break;
			case 1: 
				if(order==1) limit2 = today_day;
				else limit1 = today_day;
				break;
			case 2: 
				var newdate = new Date(currentTime);
				newdate.setDate(newdate.getDate()+1);
				limit1 = newdate.getDate(); break;
				break;
		}
	}

	d.options.length=0;
	for (i=0; limit1 <= limit2; i++) {		// add new items
		d.options[i] = new Option(limit1);
		d.options[i].value=(limit1);
		if(limit1==cur_day) d.options[i].selected = true;
		limit1++;
	}
}

function myexpandcollapse(val,top){
	for(var i=2; i<=val ;i++) (new getObj("ppnames"+i)).obj.className="fieldshown";
	for(; i<=top;i++) (new getObj("ppnames"+i)).obj.className="fieldhidden";
}

function lightup(ch){
	var opac = ch ? 40 : 100;
	var object = (new getObj('pplfoto')).style;
	object.opacity = (opac / 100);
	object.MozOpacity = (opac / 100);
	object.KhtmlOpacity = (opac / 100);
	object.filter = "alpha(opacity=" + opac + ")";
}

function showmaps(type){
	for(var i=1; i<=2 ;i++) (new getObj("type"+i)).obj.className= (i==type) ? "fieldshown" : "fieldhidden";
}

function chooseMap(k,all){
	(new getObj('radio'+k)).obj.checked=true;
	(new getObj('map'+k)).style.background='#FFE8E8';
	for(var i=0;i<all;i++)if(i!=k && (new getObj('map'+i))){
		(new getObj('map'+i)).style.background='#FFFFFF';
	}
	(new getObj("continue")).obj.disabled=false;
}

function resizeMap(file, s, r){
	(new getObj('loadingthemap')).style.display='block';
	(new getObj('viewmap')).style.display='none';
	(new getObj('radio'+s)).obj.checked=true;
	(new getObj('td'+s)).style.background='#FFE8E8';
	var d=0;
	for(var i=0;i<6;i++){
		d = 100-(10*i);
		if(d!=s && (new getObj('td'+d))){
			(new getObj('td'+d)).style.background='#FFFFFF';
		}
	}
	(new getObj("viewmap")).obj.src="viewmap.php?"+(md?"di":"id")+"="+file+"&p="+s+"&"+r;
}

var lineCount=0;
function newLine(count){
	if(lineCount==0)lineCount=count;
	window.frames['drawmap'].window.TimesMousePressed = 0;
	window.frames['drawmap'].window.init(); 
	(new getObj('titlebox')).obj.innerHTML="&nbsp;";
	(new getObj('all_lines_block')).obj.className="fieldhidden";
	(new getObj('new_line_step1')).obj.className="fieldshown";
	(new getObj('newLineButton')).obj.disabled=true;
}
function cancelNewLine(){
	(new getObj('titlebox')).obj.innerHTML="Lines:";
	(new getObj('all_lines_block')).obj.className="fieldshown";
	(new getObj('new_line_step1')).obj.className="fieldhidden";
	(new getObj('new_line_step2')).obj.className="fieldhidden";
	(new getObj('new_line_step3')).obj.className="fieldhidden";
	(new getObj('newLineButton')).obj.disabled=false;
	window.frames['drawmap'].window.TimesMousePressed = 10;
	window.frames['drawmap'].window.jg.clear();
}
function showDots(id,x1,y1,x2,y2){
	if(!window.frames['drawmap'].window.loaded) return;
	(new getObj('linediv'+id+'row')).style.background='#FFFFFF';
	eval("jgline"+id+" = new window.frames['drawmap'].window.jsGraphics('idImageToMonitor')");
	eval("jgline"+id+".setColor('"+(new getObj("colorbox"+id+"field")).obj.value+"'); jgline"+id+".fillEllipse("+x1+"-8, "+y1+"-8, 16, 16); jgline"+id+".fillEllipse("+x2+"-8, "+y2+"-8, 16, 16); jgline"+id+".paint();");
}

function hideDots(id){
	if(!window.frames['drawmap'].window.loaded) return;
	(new getObj('linediv'+id+'row')).style.background='#FFE8E8';
	eval("jgline"+id+".clear();");
}

// ###################################
// AJAX ADD LINE FUNCTION
// ###################################
function updateLine(map,line,color){
	window.frames['drawmap'].window.msg.style.display='block';
	window.frames['drawmap'].window.container.style.display='none';
	if(color){var par = "color="+escape((new getObj('colorbox'+line+'field')).obj.value);var cpar = "C";}else{var par = "thick="+escape((new getObj('linethickness'+line)).obj.value);var cpar = "T";}
	http.open("GET", "mytrips_maplines.php?" + (md?"da":"a") + "=u"+cpar+"&map=" + escape(map)+"&line=" + escape(line)+"&"+par,false); http.send(null);
	if(http.readyState == 4){(new getObj("drawmap")).obj.src = "viewmapedit.php?"+(md?"di":"id")+"="+map+"&"+Math.random();}//window.frames['drawmap'].location.reload();}
}
function deleteLine(map,line,count){
	window.frames['drawmap'].window.msg.style.display='block';
	window.frames['drawmap'].window.container.style.display='none';
	http.open("GET", "mytrips_maplines.php?" + (md?"da":"a") + "=dL&map=" + escape(map)+"&line=" + escape(line),false); http.send(null);
	if(http.readyState == 4){(new getObj("drawmap")).obj.src = "viewmapedit.php?"+(md?"di":"id")+"="+map+"&"+Math.random(); //window.frames['drawmap'].location.reload();
	(new getObj("linediv"+line)).obj.innerHTML = "<table border='0' cellspacing='0' cellpadding='0' style='width:150px;'><tr style='background:#FFE8E8;' id='linediv"+line+"row'><td align='center'><span style='text-decoration:line-through;'>line #"+(count<10?"0":"")+count+"</span>&nbsp;&nbsp; - &nbsp;<span style='color:red; font-weight:bold;'>deleted</span><input type='hidden' name='colorbox"+line+"field' id='colorbox"+line+"field' value='"+(new getObj("colorbox"+line+"field")).obj.value+"'></td></tr></table>";
	}
}
function addLine(map){
	window.frames['drawmap'].window.msg.style.display='block';
	window.frames['drawmap'].window.container.style.display='none';
	var thick = (new getObj('linethickness')).obj.value;
	var color = (new getObj('colorboxfield')).obj.value;
	var x1 = window.frames['drawmap'].window.LinePoint1_X;
	var y1 = window.frames['drawmap'].window.LinePoint1_Y;
	var x2 = window.frames['drawmap'].window.LinePoint2_X;
	var y2 = window.frames['drawmap'].window.LinePoint2_Y;
	http.open("GET", "mytrips_maplines.php?" + (md?"da":"a") + "=aL&map=" + escape(map)+"&thick=" + escape(thick)+"&color=" + escape(color)+"&x1=" + escape(x1)+"&y1=" + escape(y1)+"&x2=" + escape(x2)+"&y2=" + escape(y2),false); http.send(null);
	if(http.readyState == 4){
//		window.frames['drawmap'].location.reload();
		(new getObj("drawmap")).obj.src = "viewmapedit.php?"+(md?"di":"id")+"="+map+"&"+Math.random();
		(new getObj('titlebox')).obj.innerHTML="Lines:";
		var newID = http.responseText;
		(new getObj('all_lines_block')).obj.innerHTML=newID;

		(new getObj('all_lines_block')).obj.className="fieldshown";
		(new getObj('new_line_step3')).obj.className="fieldhidden";
		(new getObj('newLineButton')).obj.disabled=false;
		window.setTimeout(function() {alert('New line was successfully added to the map!');},2000);
		lineCount++;
	}
}

// ###################################
// AJAX RETRIEVE THUMBNAILS OF MAPS
// ###################################
function getMaps(type, name){
	(new getObj('loadingthemap')).style.display = 'block';
	window.setTimeout(function() { getMapsMain(type,name) },1000);
}
function getMapsMain(type,name){
	var output = "";
	http.open("GET", "mytrips_getmaps.php?t="+escape(type)+"&n="+escape(name),false); http.send(null);
	if(http.readyState == 4){
		var allimages = http.responseText.split("|||");
		if(allimages[0]=="error"){
			output = allimages[1];
			(new getObj('loadingthemap')).style.display = 'none';
		}else if(allimages!=""){
			for(var k=0; k<allimages.length && allimages[k]!=""; k++){
				if(k==0) output += "<table border='0' cellspacing='0' cellpadding='3'><tr>";
				output += "<td valign='top' width='140' id='map"+k+"' align='center'><a href=\"javascript:popImage('viewmap.php?src="+allimages[k]+"&amp;w=600','Map')\"><img src='viewmap.php?src="+allimages[k]+"&amp;h=120&amp;w=120&amp;iar=1' border='0' style='border:1px solid black;'";
				if((k+1)==allimages.length) output += " onLoad=\"(new getObj('loadingthemap')).style.display = 'none';\"";
				output += "></a><br><span class='small_text'>click on map to enlarge</span><br><input type='radio' name='thmap' value='"+allimages[k]+"' id='radio"+k+"' onClick=\"javascript:chooseMap("+k+", "+allimages.length+")\"><br><a href=\"javascript:chooseMap("+k+", "+allimages.length+")\">choose this map</a></td>";
			}
			if(allimages.length>0) output+="</tr></table><br><input type='submit' name='mapselected' value='Continue' disabled id='continue' style='font-weight:bold;'>";
		}
	}
	if(output==""){
		(new getObj('loadingthemap')).style.display = 'none';
		output="<b>there are no maps for this area</b>";
	}
	(new getObj('showthumbs')).obj.innerHTML = output;
}
// ###################################
// AJAX UPDATE OF THE CURRENT LOCATION
// ###################################
function updateLocation(trip,country){
	if(country=="0"){ alert("Please select a country"); document.uploc.location.focus(); return;}
	var o = new getObj('pleasewaitScreen');
	o.style.pixelTop = (document.body.scrollTop + 50); o.style.display="block";
	window.setTimeout(function() { updateLocationMain(trip,country) },1000);
}
function updateLocationMain(trip,country){
	http.open("GET", "mytrips_newlocation.php?t="+escape(trip)+"&c="+escape(country),false); http.send(null);
	if(http.readyState == 4){
		var r = http.responseText.split("|||");
		if(r[0]=="error") (new getObj('locationupdate2')).obj.innerHTML = r[1];
		else (new getObj('locationupdate')).obj.innerHTML = http.responseText;
	}
	(new getObj('pleasewaitScreen')).style.display="none";
}
// ###################################
// AJAX CORE
// ###################################
function getHTTPObject(){
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){try{xmlhttp = new XMLHttpRequest();}catch(e){xmlhttp = false;}}
  return xmlhttp;
}
var http = new getHTTPObject(); // We create the HTTP Object