var tempX = 0;
var tempY = 0;

function show_help(target,event) {

	if(tempX == 0) {
		tempX = event.clientX 
		tempY = event.clientY
	}

	document.getElementById('help_box').style.left = tempX;
	document.getElementById('help_box').style.top = tempY;

	if(target.id == 'map_link_help')
		document.getElementById("help_box_text").innerHTML = "Käy katsomassa <a href='http://www.eniro.fi/ohje/kartat/karttalinkki/' target='_blank'>tästä</a> ohje, miten saat kartta-linkin.";
		
	document.getElementById('help_box').style.display = '';
}
function hide_help(target) {
	document.getElementById('help_box').style.display = 'none';
}

function add_image_preview()
{
 	var form = document.getElementById("form").action.value;
 	
 	if (form == 'add_news')
		document.getElementById("form").action.value = "add_news_image";
	else if (from == 'add_picture')
		document.getElementById("form").action.value = "add_picture_preview";
	document.getElementById("form").submit();
}
function update_image_preview()
{
 	var form = document.getElementById("form").action.value;
 	
 	if (form == 'update_news')
		document.getElementById("form").action.value = "update_news_image";
	else if (from == 'update_picture')
		document.getElementById("form").action.value = "update_picture_preview";
	document.getElementById("form").submit();
}

function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit)
      field.value = field.value.substring(0, maxlimit);
    else 
      countfield.value = maxlimit - field.value.length;
}

function confirm_delete() {
	return confirm("Haluatko varmasti poistaa kohteen/kohteet?");
}

function numbersonly(myfield, e, dec)
{
	var key;
	var keychar;

	if (window.event)
	   key = window.event.keyCode;
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	check_user_form();
	if ((key==null) || (key==0) || (key==8) || 
	    (key==9) || (key==13) || (key==27) )
	   return true;

	else if ((myfield.name == 'telephone') && ((("0123456789").indexOf(keychar) > -1) || ((("-").indexOf(keychar) > -1) && search_hyphen(myfield)))) {
	   return true;
	}
	
	else if ((myfield.name == 'addressline2') && (("0123456789").indexOf(keychar) > -1))
		return true;
		
	else if (dec && (keychar == "."))
	   {
	   myfield.form.elements[dec].focus();
	   return false;
	   }
	else
	   return false;
}

function search_hyphen(myfield) {
	for(i=0;i<myfield.value.length;i++) {
		if(myfield.value.charAt(i) == "-") return false;
	}
	return true;
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
  		field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else 
  		countfield.value = maxlimit - field.value.length;
}
	
function upperCase(){
	var y=document.getElementById('verification').value;
	document.getElementById('verification').value=y.toUpperCase();
}

function order_guestbook() {
	document.getElementById("orderby_form").submit();
}

function check_guestbook_form()
{
	var name = document.getElementById("name").value;
	var message = document.getElementById("message").value;
	var verification = document.getElementById("verification").value;
	var button = document.getElementsByName("submit_message")[0].id;
	var id = document.getElementById("id").value;

	if (name.length>0 && message.length>0 && verification.length>0)
		document.getElementById(button).disabled = false;
	else if (name.length>0 && message.length>0 && id != '')
		document.getElementById(button).disabled = '';
	else
		document.getElementById(button).disabled = 'disabled';
}

function check_chapter_form()
{
	var chapter = document.getElementById("chapter").value;
	var country = document.getElementById("country").value;
	var new_country = document.getElementById("new_country").value;
	var flag = document.getElementById("flag").value;
	var button = document.getElementsByName("submit_chapter")[0].id;
	
	if (country == 'add_country') {
		document.getElementById('new_country_tr').style.display = '';
		document.getElementById('new_flag_tr').style.display = '';
	}
	else {
		document.getElementById('new_country_tr').style.display = 'none';
		document.getElementById('new_flag_tr').style.display = 'none';
	}
	
	if (chapter.length>0 && (country != 'add_country' || (country == 'add_country' && new_country != '' && flag != '')))
		document.getElementById(button).disabled = '';
	else
		document.getElementById(button).disabled = 'disabled';
}

function check_contact_form()
{
	var contact = document.getElementById("contact").value;
	var category = document.getElementById("category_id").value;
	var contact_email = document.getElementById("contact_email").value;
	var new_category = document.getElementById("new_category").value;
	var button = document.getElementsByName("submit_contact")[0].id;
	
	if (category == 'add_category') {
		document.getElementById('new_category_tr').style.display = '';
	}
	else {
		document.getElementById('new_category_tr').style.display = 'none';
	}
	
	if (contact.length>0 && (category != 'add_category' || (category == 'add_category' && new_category != '')) && contact_email.length>0)
		document.getElementById(button).disabled = '';
	else
		document.getElementById(button).disabled = 'disabled';
}

function check_chapter_country_form()
{
	var country = document.getElementById("country").value;

	if (country != '')
		document.getElementById('update').disabled = '';
	else
		document.getElementById('update').disabled = 'disabled';
}


function check_picture_form()
{
	//var picture = document.getElementById("uploadedfile").value;
	var picture_name = document.getElementById("picture_name").value;
	var category = document.getElementById("category").value;
	var update = document.getElementById("isUpdate").value;
	var new_category = document.getElementById("new_category").value;
	var button = document.getElementsByName("submit_picture")[0].id;
	var picture = document.getElementById("picture").value;

	if (category == 'add_category')
		document.getElementById('new_category_tr').style.display = '';
	else
		document.getElementById('new_category_tr').style.display = 'none';
		
	if ((category == 'add_category' && new_category.length==0))
		document.getElementById(button).disabled = 'disabled';
	else
		document.getElementById(button).disabled = '';
}

function check_links_form()
{
	var link = document.getElementById("link").value;
	var link_description = document.getElementById("link_description").value;
	var category = document.getElementById("category").value;
	var button = document.getElementsByName("submit_link")[0].id;

	if (category == 'add_category')
		document.getElementById('new_category_tr').style.display = '';
	else
		document.getElementById('new_category_tr').style.display = 'none';
	
	if (link.length>0 && link_description.length>0 && link != 'http://')
		document.getElementById(button).disabled = '';
	else
		document.getElementById(button).disabled = 'disabled';
}

function check_news_form()
{
	var short_description = document.getElementById("short_description").value;
	var start_date = document.getElementById("start_date").value;
	var end_date = document.getElementById("end_date").value;
	var button = document.getElementsByName("submit_news")[0].id;
	
	if (short_description.length>0 && (end_date.length>0 || start_date.length>0))		
		document.getElementById(button).disabled = checkDate();
	else if(short_description.length>0 && (end_date.length==0 && start_date.length==0))
		document.getElementById(button).disabled = '';
	else
		document.getElementById(button).disabled = 'disabled';	
}

function check_user_form()
{
	var username = document.getElementById("username").value;
	var password = document.getElementById("password").value;
	var passwordconf = document.getElementById("password_confirm").value;
	var firstname = document.getElementById("firstname").value;
	var lastname = document.getElementById("lastname").value;
	var telephone = document.getElementById("telephone").value;
	var invalid_phone = false;

	if ((password.length>0 && passwordconf.length>0) && (password != passwordconf))
		document.getElementById("error").innerHTML = "<p class='error'>Passwords doesn't match!</p>";
	else if((telephone.charAt(2) != "-" && telephone.charAt(3) != "-" && telephone.charAt(4) != "-") && telephone.length>4) {
		document.getElementById("error").innerHTML = "<p class='error'>Invalid phone number!</p>";
		invalid_phone = true;
	}
	else {
		document.getElementById("error").innerHTML = "";
		ivalid_phone = false;
	}

	if (username.length>0 && password.length>0 && passwordconf.length>0 && firstname.length>0 && lastname.length>0)	{	
	 	if(password == passwordconf && !invalid_phone && (telephone.length>=10 || telephone.length==0))
			document.getElementById("add").disabled = '';
		else
			document.getElementById("add").disabled = 'disabled';
	}
	else {
		document.getElementById("add").disabled = 'disabled';
	}
}

function check_event_form()
{
	var event_name = document.getElementById("event_name").value;
	var place = document.getElementById("place").value;
	var event_date = document.getElementById("start_date").value;
	var button = document.getElementsByName("submit_event")[0].id;
	
	if (event_name.length>0 && place.length>0 && event_date.length>0)		
		document.getElementById(button).disabled = checkDate();
	else {
		document.getElementById(button).disabled = 'disabled';
	}
}

function checkDate() {
 	var endDate = '';
	var startDate = document.getElementById('start_date').value.split('-');
	if(document.getElementById('end_date'))
		endDate = document.getElementById('end_date').value.split('-');
	if(endDate != '')
		var endyear = endDate[2].slice(0,4);
	if(startDate != '')
		var startyear = startDate[2].slice(0,4);

	//Tehdään alku- ja loppupäivämäärille objectit muodossa: vvvv.kk.dd
	if(start_d != '')
		var start_d = new Date(startyear, (startDate[1]-1), startDate[0]);
	if(end_d != '')
		var end_d = new Date(endyear, (endDate[1]-1), endDate[0]);

	// Tehdään myös tälle päivälle objecti muotoon vvvv.kk.dd jotta annettuja päivämääriä voi vertailla tähän
	var today = new Date()
	var d = new Date(today.getFullYear(), today.getMonth(), today.getDate());
			
	//Vertaillaan onko loppupäivässä vähemmän sekunteja kuin alkupäivässä kun sekunnit lasketaan päivästä 1.1.1970
	if (endDate != '' && startDate != '') {
		if (start_d.getTime() > end_d.getTime()) {
			document.getElementById("error").innerHTML = "<p class='error'>Virhe! Loppupäivä on asetettu ennen alkupäivää.</p>";
			return 'disabled';
		}
		//Tarkistetaan onko loppupäivämäärä asetettu menneisyyteen
		if (end_d.getTime() < d.getTime()) {
			document.getElementById("error").innerHTML = "<p class='error'>Virhe! Loppupäivä on asetettu menneisyyteen.</p>";
			return 'disabled';
		}
	}
	document.getElementById("error").innerHTML = "";
	return '';
}