var siteid = 'encore';

$(document).ready(function() {

	// Form input "autoclear" functionality
	$('form .autoclear').focus(function () {
		if ($(this).hasClass('autoclear-default')) {
			$(this).removeClass('autoclear-default');
			$(this).addClass('autoclear-edited');
			$(this).val('');
		}
	}).blur(function () {
		if ($(this).val() == '') {
			$(this).addClass('autoclear-default');
			$(this).removeClass('autoclear-edited');
			$(this).val($(this).attr('default_value'));
		}
	}).each(function() {
		if ($(this).hasClass('required'))
			$(this).val($(this).val() + ' *');
		$(this).attr('default_value', $(this).val());
	});
	
	$('body.exfiles form a.submit').click(function(e) {
		e.preventDefault();
		$(this).parents('form:first').submit();
	});
	
	$('body.exfiles form label').click(function(e) {
		e.preventDefault();
		$(this).toggleClass('checked');
		var input = $('input[type=checkbox]', this)
			.attr('checked', $(this).hasClass('checked') ? 'checked' : '');
	}).each(function() {
		if ($('input[type=checkbox]:checked', this).length > 0)
			$(this).addClass('checked');
	});

	$('body.exfiles form').submit(function() {
		var valid = true;
		$('input.required', this).each(function() {
			if ($(this).val() == ''
			   || $(this).hasClass('autoclear-default')
			   || ($(this).hasClass('email') && $(this).val().indexOf('@') == -1)) {
				alert('Ole hyvä ja täytä tähdellä merkityt kentät.');
				$(this).focus();
				valid = false;
				return false;
			}
		});
		/*
		var captcha = $('input.captcha', this);
		if (! checkCaptcha(captcha.get(0), $('.captcha-check', this).get(0))) {
			alert('Tarkista että syötit varmistusnumeron oikein. Isoilla ja pienillä kirjaimilla ei ole merkitystä.');
			captcha.focus();
			return false;
		}*/
		if (valid) $('.autoclear-default').val('');
		return valid;
	});


$('form.check-required').submit(function() {
    ok = true;

    $(this).find('input.required[@value=""], textarea.required[@value=""]').each(function() {
      $(this).addClass('alert').change(function() {
        if(!$(this).is('[@value=""]')) {
          $(this).removeClass('alert');
        }
        else {
          $(this).addClass('alert');
        }
      }).keyup(function() {
        $(this).trigger('change');
      });
     
      ok = false;
    });    

    if(!ok) {
      $('p.red').slideDown('fast');
      return(false);
    }

    else {
      $('p.red').slideUp('fast');
    }
  });







  // Guide-labels for search bar
  $('#search input.keyword').guideLabel();
  
  $('#topnavi li:last').css('margin-right', '0');
  
  // Fix png-images

  if($.browser.msie) {
    $('img.fixpng').each(function() {
      $(this).after('<div id="'+this.id+'" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src=\''+this.src+'\'); width: '+this.width+'px; height: '+this.height+'px;"></div>');
      $(this).hide();
    });
  }

  $('#topnavi li').hoverImages();
  $('#leftnavi li').hoverImages();
  $('#subpage-navi div').not('#sub_subnav').not(':first').hoverImages();
  
  $('#kuvaslider_valikko img').each(function(i) {
    $('#kuvaslider div:eq('+i+')').css('left', 338*i);
    $(this).click(function() {
      $(this).addClass('selected').siblings().removeClass('selected');
      $('#kuvaslider').animate({
        left: -338*i
      });
    }, 1500);
  });
  
  /*
  $('#hakutulokset').each(function() {
    $(this).find('> div:gt(10)').hide();
    amount = $(this).find('> div').size();
    
    for(i = 0; i < (amount/10); i++) {
      $(this).next('#hakutulokset-sivujako').append('<a href="">'+(i+1)+'</a>');
      $(this).next('#hakutulokset-sivujako a:last').click(function(i) {
        $('#hakutulokset > div').hide();
        $('#hakutulokset > div:gt('+(i*10)+')').not(':gt(10)').hide();
      });
    }
  });
  */
});


/**
 * sIFR
 */

if(typeof sIFR == "function"){
  sIFR.replaceElement(named({
    sSelector: "#subpage-content h1",
    sFlashSrc: "/files/encore/flash/stainless-bold.swf",
    sColor: "#008232"
  }));
};


jQuery.fn.hoverImages = function() {
  if($.browser.msie) {
    this.each(function() {
      defsrc = $(this).find('img').attr('src');
      imgw = $(this).find('img').get(0).width;
      imgh = $(this).find('img').get(0).height;
      
      $(this).find('img').remove();
      
      $(this).find('a').html('<img src="/files/encore/img/blank.gif" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=image, src=\''+defsrc+'\'); width: '+imgw+'px; height: '+imgh+'px;" style="cursor: pointer;" />');
      if(!$(this).is('.selected')) {
      $(this).find('img').hover(function() {
        this.filters(0).src = this.filters(0).src.replace('Off', 'On');
      }, function() {
        this.filters(0).src = this.filters(0).src.replace('On', 'Off');
      });
      }
    });
  }
  else {
    this.not('.selected').hover(function() {
      $(this).addClass('hover');
      $(this).find('img').each(function() {
        this.src = this.src.replace('Off', 'On');
      });
    }, function() {
      $(this).find('img').each(function() {
        this.src = this.src.replace('On', 'Off');
      });
      $(this).removeClass('hover');
    });
  }
}


/**
 * Guide-labels inside inputs
 */

jQuery.fn.guideLabel = function() {
 this.each(function() {
   $(this).attr('default_value', $(this).attr('value'));
   
   $(this).click(function() {
     if(this.value == $(this).attr('default_value')) {
       this.value = '';
     }
   }).blur(function() {
     if(this.value == '') {
       this.value = $(this).attr('default_value');
     }
   });
  });
}


function checkCaptcha(field, checkNum) {
	var cStr = field.value;
	var totalSum = 0;
	for (var i = 0, o = 0; i < cStr.length; i++, o++) {
		var cNum = new Number(cStr.substr(i, 1));
		if (o == 0) {
			totalSum += (cNum.valueOf() * 7);
		} 
		if (o == 1) {
			totalSum += (cNum.valueOf() * 3);
		} 
		if (o == 2) {
			totalSum += cNum.valueOf();
			o = -1;
		} 
	}
	return totalSum % 10 == checkNum.value;
}


