var num=1;
var check_timer;
var selfurl;
var search = false;;

var asiakasnumero = function() {
	asnum = $('#asiakasnumero');
	resiina = $F('r');

	if (resiina == null) asnum.hide();
	else asnum.show();
}

var nsfbox;

var center = function(elem) {
	h = $(window).height();
	w = $(window).width();
	elem.css('top', (h/2)-(elem.height()/2)+$(window).scrollTop( ));
	elem.css('left', (w/2)-(elem.width()/2)+'px');

}

var createSarja = function(e) {
	name = $('#nsn').val();
	text = $('#txt').val();
	$('#sa').load('../luo_sarja',{'a':'n','n':name,'t':text});
	$('#nsn').val('');
	nsfbox.hide();
}

var closeNS = function(e) {
	nsfbox.hide();
	e.preventDefault();
}
var tagSelectEvents = function(e) {
	num = e;
	for (i=0;i<e;i++) {
		$('#tag_1_'+i+'s').change(function() {
			t1_sel = $(this).val();
			id = $(this).attr('id');
			id = id.substr(id.lastIndexOf('_')+1,id.length-id.lastIndexOf('_')-2);
			if (t1_sel == '' || t1_sel < 0) {
				$('#tag_2_'+id).html('');
				$('#tag_3_'+id).html('');
				return false;
			}
			$('#tag_2_'+id).html('ladataan...');
			$('#tag_2_'+id).load(selfurl + 'kalusto/',{'t2':t1_sel,'s':(search?1:0)},function() {
                $('#tag_3_'+id).html('<input class="taginp_3" type="text" name="t3[]"/>');
                if (search == true) input_events();
                });
		});
	}
	
	
}


var addTags = function() {

	newrow = $(document.createElement('tr'));
	newrow.attr('id','tagrow_'+num);
	sel = $(document.createElement('select'));
	sel.attr('name','t1[]');
	sel.attr('id','tag_1_'+num+'s');
	sel.html($('#tag_1_0s').html());

	for (var x=1;x<=3;x++) {
		td = $(document.createElement('td'));
		td.attr('id','tag_'+x+'_'+num);
		if (x==1) {
			td.append(sel);
		}
		newrow.append(td)
	}
	$('#tagTable').append(newrow);

	num+=1;
	tagSelectEvents(num);
}

var alkuun = function()  {
  $(window).scrollTo($('#hd'),400);
  return false;
}

var kuvaAlku = function() {
  $(document).scrollTo($('div.mainarea'),400);
}

var init_addphoto = function(e) {
	$('input.taginp_3').live('keypress',function(e) {
		key = e.which
		if (key==null || key==0 || key==8 ||  key==9 || key==13 || key==27) return true;
		chr = String.fromCharCode(key);
		allowed = '0123456789,'
		if (allowed.indexOf(chr) == -1) {
			e.preventDefault();
		}
	});
	
	$(window).load(function() {
		nslink = $(document.createElement('a'));
		nslink.html('Luo uusi kuvasarja');
		nslink.attr('href','');

		$('#ns').html(nslink);

		nslink.click(function (e) {
			e.preventDefault();
			if (!nsfbox) {
				nsfbox = $(document.createElement('div'));
				nsfbox.hide();
				nsfbox.append('<h3>Luo uusi kuvasarja</h3><br/>Kuvasarjan nimi:<br/><input id="nsn" type="text" name="n" size="50" maxlength="100"/><br/>Kuvasarjan teksti:<br/><textarea name="t" id="txt"></textarea><br/><input id="nss" type="button" name="s" value="Luo"/><a id="nsc" href="./">Sulje</a>');
				nsfbox.css({'text-align':'left','background-color':'white','position':'absolute','z-index':999,'padding':'1em','border':'1px solid black'});
				$('body').append(nsfbox);
				$('#nss').click(createSarja);
				$('#nsc').click(closeNS);
				center(nsfbox);
			}
			nsfbox.show();

		});

		tagSelectEvents(e);

		$('#uploadForm').submit(function(e) {

			paik = $(':input[name=paik]').val()=='';
			liikp1 = $(':input[name=liikp1]').val()==-1;
			liikp2 = $(':input[name=liikp2]').val()==-1;
			liikp3 = $(':input[name=liikp3]').val()==-1;
			tasor = $(':input[name=tasor]').val()=='';
			ratakm = $(':input[name=ratakm]').val()=='';
			lat = $(':input[name=lat]').val()=='';
			lon = $(':input[name=lon]').val()=='';
			text = $(':input[name=teks]').val()=='';
			img = $(':file[name=img]').val()=='';
			edit = $(':input[name=e]').val() == 'Muokkaa kuvaa';

			if (!liikp3 && liikp2) {
				alert('Valitse myös toinen liikennepaikka');
				e.preventDefault();
				return false;
			}

			if ((!liikp3 && !liikp2) && ($(':input[name=liikp2]').val() == $(':input[name=liikp3]').val())) {
				alert('Kuva ei voi sijaita vain yhden aseman välillä');
				e.preventDefault();
				return false;
			}
			if (lat && !lon || lon && !lat) {
				alert('Anna molemmat koordinaatit');
				e.preventDefault();
				return false;
			}
			if (paik && liikp1 && liikp2 && liikp3 && tasor && ratakm && lat && lon) {
				alert('Anna edes jokin vihje paikasta');
				e.preventDefault();
				return false;
			}
			if (text) {
				alert('Sinun pitää kirjoittaa jonkinlainen kuvateksti');
				e.preventDefault();
				return false;
			}
			if (img && !edit) {
				alert('Et voi lisätä kuvaa ilman kuvaa');
				e.preventDefault();
				return false;
			}

			numsel = 0;
			for (i=0;i<num;i++) {
				if ($('#tag_1_'+i+'s').val() != '') numsel+=1;
			}
			numsel += $('input:checkbox:checked').length;
			if (numsel == 0) {
				alert('Et voi lisätä kuvaa ilman tunnisteita');
				e.preventDefault();
				return false;
			}
		return true;
		});
	});
}
var oldQuery;
var getNumResults = function() {
  clearTimeout(check_timer);
  qstr = $('#kuvahaku :input').serialize();
  qstr += '&getnum=1';
  
  if (qstr == oldQuery) return;
  oldQuery = qstr;
  $.post($('#kuvahaku').attr('action'), qstr, function (data) {
   $('#num_results').html(data);
  },'html');
}

var input_events = function() {
    inputs = $('#kuvahaku :input');
    inputs.each(function(inp) {
      if ($(this).attr('type') != 'text') {
        $(this).change(function() {check_timer = setTimeout(getNumResults,500);});
      } else {
        $(this).keyup(function() {check_timer = setTimeout(getNumResults,500);});
      }
    });
}
var init_search = function(e) {
  $(window).ready(function() {
    input_events();
  });
}


var initLiikennepaikat = function() {
	$(window).load(function() {
		$('.add_info').each(function (ai) {
			$(this).click(function(e) {window.open(selfurl + 'liikennepaikka/' + $(this).attr('id').substr(3),
undefined,"width=800,height=280");e.preventDefault();});
		});
	});
}
