function trim(str) {
	return str.replace(/^\s+|\s+$/g,"").replace(/^\n+|\n+$/g,"").replace(/^\r+|\r+$/g,"").replace(/^\t+|\t+$/g,"");
}

function validate(el) {

var pattern = 'default';
var val = $(el).attr('value');
var classes = $(el).attr('class');

classes.search('pattern-name') != -1 ? pattern = 'name' : pattern = pattern;
classes.search('pattern-text') != -1 ? pattern = 'text' : pattern = pattern;
classes.search('pattern-pass') != -1 ? pattern = 'pass' : pattern = pattern;
classes.search('pattern-numeric') != -1 ? pattern = 'numeric' : pattern = pattern;
classes.search('pattern-address') != -1 ? pattern = 'address' : pattern = pattern;
classes.search('pattern-postnum') != -1 ? pattern = 'postnum' : pattern = pattern;
classes.search('pattern-phone') != -1 ? pattern = 'phone' : pattern = pattern;
classes.search('pattern-email') != -1 ? pattern = 'email' : pattern = pattern;
classes.search('pattern-radio') != -1 ? pattern = 'radio' : pattern = pattern;

	switch(pattern) {
		case 'name' :
			pattern = /^[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ]+\-?[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ]+\s{1}[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ]+\-?[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ]+$/;
		break;
		case 'text' :
			pattern = /^[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ]+$/;
		break;
		case 'pass' :
			pattern = /^[a-zA-Z0-9-._]{8,32}/;
		break;
		case 'numeric' :
			pattern = /^[0-9]+$/;
		break;
		case 'address' :
			pattern = /^[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ0-9\-\s]+$/;
		break;
		case 'postnum' :
			pattern = /^[0-9]{5}$/;
		break;
		case 'phone' :
			pattern = /^[0-9]{2,3}\-?[0-9]+$/;
		break;
		case 'email' :
			pattern = /^([a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ0-9_.\-]){2,32}@(([a-zA-Z0-9\-]){2,32}.)+([a-zA-Z0-9]{2,4})+$/;
		break;
		default :
			pattern = /^[a-zA-ZáéíóäëiöúàèììùüÜÁÉÍÓÄËIÖÚÀÈÌÌÙ0-9\!\?\_\.\-\s]+$/;
	}

	if(val==''&&$(el).hasClass('required')) {
		$(el).removeClass('input-field-valid');
		$(el).addClass('input-field-notify');
		$(el).prevAll('label').children('span').show();
		return false;
	} else {
		if(pattern.test(val)) {
			$(el).prevAll('label').children('span').hide();
			$(el).removeClass('input-field-notify');
			$(el).addClass('input-field-valid');
			return true;
		} else {
			$(el).prevAll('label').children('span').show();
			$(el).removeClass('input-field-valid');
			$(el).addClass('input-field-notify');
			return false;
		}
	}

}

function validateAll(form) {
	validates = true;
	$('.required', form).each(function(i, el) {
		if(validate(el)!=true) {
			validates = false;
		}
	});
	return validates;
}

﻿function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function pull(val, arr, n) {
	var newArr = new Array();

if(n==undefined) {
	for (i=0;i<arr.length;i++) {
		if(arr[i]!=val) {
			newArr.push(arr[i]);
		}
	}
	if(newArr.length==1&&newArr[0]=='') {
		newArr = new Array();
	}
} else {
	for (i=0;i<arr.length;i++) {
		if(i!=n) {
			newArr.push(arr[i]);
		}
	}
	if(newArr.length==1&&newArr[0]=='') {
		newArr = new Array();
	}
}

	return newArr;
}

function cookieToArray(name) {
	if(readCookie(name)!=null) {
		var str = readCookie(name);
		var arr = str.split(',');
		for(i=0;i<arr.length;i++) {
			if(arr[i] == '') {
				arr = pull('-', arr, i);
			}
		}
		return arr;
	} else {
		return new Array();
	}
}

function inArray(val, arr, trim) {
	var len = arr.length;
	var ret = false;
	trim == true ? val = trim(val) : val = val;

	for (i=0;i<=len;i++) {
		if(arr[i]==val) {
			ret = true;
		}
	}
	return ret;
}

function checkArr() {
var valitut = cookieToArray('valitutKarkit');
	if(valitut.length==5) {
		window.location='http://www.karkkikatu.fi/tallenna-pussi';
	} else {
		$('#valmis-on').stop().fadeOut();
	}
}


// JavaScript Document
$(document).ready(function()
{

		var height = $("body").outerHeight(true);
	
		var ie = false;
		
		var viewportwidth;
		var viewportheight;
		
		// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
		if (typeof window.innerWidth != 'undefined')
		{
			viewportwidth = window.innerWidth;
			viewportheight = window.innerHeight;
		}
		
		// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
		else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
		{
			viewportwidth = document.documentElement.clientWidth;
			viewportheight = document.documentElement.clientHeight;
			ie = true;
		}
		
		// older versions of IE
		else
		{
			viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
			viewportheight = document.getElementsByTagName('body')[0].clientHeight;
			ie = true;
		}
		
		
			if ( ie == true )
			{
								$("head").append('<style type="text/css"></style><!--[if lte IE 6]><style type="text/css">#footer_container {position: absolute; right: auto; bottom: auto; left: 0px; top: expression( ( 0 - footer_container.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + "px" );} </style><![endif]--><!--[if IE 7]><style type="text/css">#footer_container {position: fixed; left: 0px; bottom: 0px;}</style><![endif]--><!--[if gt IE 7]><style type="text/css">#footer_container {position: fixed; left: 0px; bottom: 0px;}</style><![endif]-->');
			}
			else
			{
				$("#footer_container").css({'position': 'fixed', 'bottom': '0px', 'z-index': '99'});
			}
		
		

});
