function progress(show){
	var dv=top.document.getElementById('progress');
	if (show) { dv.style.display=''; dv.style.visibility='visible'; }
	else { dv.style.display='none'; }
}

function ss_progress(show){
	var dv=top.document.getElementById('progress');
	document.getElementById('loading-msg').innerHTML='Submitting details';
	if (show) { dv.style.display=''; dv.style.visibility='visible'; }
	else { dv.style.display='none'; }
}


function mobile_update(lnk) {
	progress(true);
	location.href='index.php'+lnk; // it's not dynamic anymore ;-P
}

function gallery_update(lnk){
	progress(true);
	var species=document.getElementById('species').value;
	var county=document.getElementById('county').value;
	lnk+='&species='+species+'&county='+county;
	location.href='index.php'+lnk; // it's not dynamic anymore ;-P
/*	
	var out=document.getElementById('gallery_div');
	var req = createXMLHttpRequest();
	req.onreadystatechange = function(){ if(req.readyState==4&&req.status==200){ out.innerHTML=req.responseText; progress(false);} };
	req.open('GET', 'requests/gallery.php'+lnk, true);
	req.send(null);
*/	
}

function login_check(){ // updates user list on search
	var login=document.getElementById('login').value;
	var oldlogin=document.getElementById('user_mail').value;
	var out=document.getElementById('login_res');
	var okmsg='Email accepted';
	var nokmsg='Email already exists';
	var incorrect='Incorrect email address';
	
if (login==oldlogin) { out.innerHTML=''; return true; }
if (/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/.test(login)){
	var req = createXMLHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) { 
			if (req.responseText.length==0)
				out.innerHTML='<img src="img/ok.png" alt="'+okmsg+'"  onmouseover="return overlib(\''+okmsg+'\',FGCOLOR, \'#006BD7\', TEXTCOLOR, \'#FFF\');" onmouseout="return nd();"/>'; 
			else out.innerHTML='<img src="img/nok.png" alt="'+nokmsg+'" onmouseover="return overlib(\''+nokmsg+'\');" onmouseout="return nd();"/>';
		}
	};
	req.open('GET', 'requests/login_check.php?login='+login, true);
	req.send(null);
}
else {
	if (login.length>3)
		out.innerHTML='<img src="img/nok.png" alt="'+incorrect+'" onmouseover="return overlib(\''+incorrect+'\');" onmouseout="return nd();"/>';
	else out.innerHTML='';
}
}


function closest_weather_station(id){ 
	var label=document.getElementById('weather_station_label');
	var out_span=document.getElementById('weather_station_name');
	var out_inp=document.getElementById('weather_station');
	var req = createXMLHttpRequest();
	req.onreadystatechange = function() { 
		if (req.readyState < 4 && id>0) out_span.innerHTML = 'Searching...'; 
		if (req.readyState == 4 && req.status == 200) {
			var resp=req.responseXML.documentElement;
			try{
				var dist=resp.getElementsByTagName("distance")[0].childNodes[0].nodeValue;
				var name=resp.getElementsByTagName("name")[0].childNodes[0].nodeValue;
				var id=resp.getElementsByTagName("id")[0].childNodes[0].nodeValue;
				out_span.innerHTML = name;
				out_inp.value = id;
				label.style.display='';
			} catch(e){
				out_span.innerHTML = '';
				out_inp.value = 0;
				label.style.display='none';
			}
		}
	};
	req.open('GET', 'requests/weather_station.php?id='+id, true);
	req.send(null);
}



function school_lookup(){ // updates user list on search
	var roll=document.getElementById('roll_number').value;
	var out=document.getElementById('school_combo');

	var req = createXMLHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4 && req.status == 200) { 
			out.innerHTML = req.responseText; 
			if (out.innerHTML.length>0) out.style.display='';
			else out.style.display='none';
		}
	};
	req.open('GET', 'requests/school_lookup.php?roll='+roll, true);
	req.send(null);
}



function get_weather_box(cid,lang){ // updates user list on search
	var out=document.getElementById('weatherbox');
	out.innerHTML='Loading...';
	var req = createXMLHttpRequest();
	req.onreadystatechange = function(){ if (req.readyState == 4 && req.status == 200) out.innerHTML = req.responseText; };
	req.open('GET', 'requests/get_weather.php?cid='+cid+'&lang='+lang, true);
	req.send(null);
}







function createXMLHttpRequest() {  // do sprawdzania logina
  var types = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
  for (var i = 0; i < types.length; i++) { // if MSIE give him activeX
    try { return new ActiveXObject(types[i]); } catch(e) {}
  }
  try { return new XMLHttpRequest(); } catch(e) {} // if not MSIE - usual XHR
  return false; // XMLHttpRequest is not supported by browser
}


/* fred */
// Force Caption
function caption_is_missing(page) {
	// Get the number of captions to check
	var nb=parseInt(document.getElementById('num').value);
	// Boolean: error or not
	var error=false;
	
	if(page=='newImg') { // New Images
		for(var i=1; i<=nb; i++) {
			// Get the image ID
			var id=document.getElementById('id'+i).value;
			// Check if display is selected (radio button)
			var radio=document.getElementById('disp_'+id);
			if(radio.checked) {
				// Check the corresponding caption
				var caption=document.getElementById('note_'+id).value;
				// Check length
				if(caption=='' || caption.length==0) {
					error=true;
				}
			}
		}
	} else { // Archives
		for(var i=1; i<=nb; i++) {
			// Get the image ID
			var id=document.getElementById('id'+i).value;
			// Check if display is selected (radio button)
			var radio=document.getElementById('del_'+id);
			if(!radio.checked) {
				// Check the corresponding caption
				var caption=document.getElementById('note_'+id).value;
				// Check length
				if(caption=='' || caption.length==0) {
					error=true;
				}
			}
		}
	}
	
	if(error) {
		alert('You must enter a caption for all of your selected images');
		return true;
	} else return false;
}
