// JavaScript Document

//Redirects to url
function redirect (url){
	window.location.href = url;
}

//Submit form pressing on enter key
//onKeyPress="return submitenter(this,event)"
function submit_enter(myfield, e){
	var keycode;
	if (window.event){
		keycode = window.event.keyCode;
	} else if (e){
		keycode = e.which;
	} else {
		return true;
	}
	if (keycode == 13){
		document.getElementById('password').value=calcMD5(document.getElementById('pwd').value); document.getElementById('pwd').value=''; 
		myfield.form.submit();
		return false;
	} else { 
		return true;
	}
}

function ValidateUsername1(objInput, e){
	
    if (e.keyCode) {
        key = e.keyCode;
    } else {
        key = e.which;
    }

    if ((key == 13) || (key == 8) || (key == 9) || (key == 37) || (key == 39)) {
        return true;
    }

    c = String.fromCharCode(key).toLowerCase();

    if (objInput.value == "") {
        validchars = "abcdefghijklmnopqrstuvwxyz0123456789";
    } else {
        validchars = "abcdefghijklmnopqrstuvwxyz0123456789.-_";
    }

    if (validchars.indexOf(c) == -1) {
        return false;
    } else {
        return true;
    }
}

function ValidateUsername2(objInput){
    
	objInput = formatInput(objInput);
    username = formatUsername(objInput.value);
	
    document.getElementById('realurl').innerHTML = 'http://www.kooliteataja.ee/' + username.toLowerCase() + '/';
	document.getElementById('realmail').innerHTML = username.toLowerCase() + '@kooliteataja.ee';
}

function GenerateUsername(objInput){
    
	objInput = formatInput(objInput);
	username = formatUsername(objInput.value);

    document.getElementById('reg_username').value = username.toLowerCase();
	ValidateUsername2(objInput);
}

function ValidateNewspaperName(objInput, e){
	
    if (e.keyCode) {
        key = e.keyCode;
    } else {
        key = e.which;
    }

    if ((key == 13) || (key == 8) || (key == 9) || (key == 37) || (key == 39)) {
        return true;
    }

    c = String.fromCharCode(key).toLowerCase();

    if (objInput.value == "") {
        validchars = "abcdefghijklmnopqrstuvwxyzõäöü0123456789";
    } else {
        validchars = "abcdefghijklmnopqrstuvwxyzõäöü0123456789.-_ ";
    }

    if (validchars.indexOf(c) == -1) {
        return false;
    } else {
        return true;
    }
}

function formatUsername(username){
	while (username != (username = username.replace("õ", "o")));
	while (username != (username = username.replace("Õ", "O")));
	while (username != (username = username.replace("ä", "a")));
	while (username != (username = username.replace("Ä", "A")));
	while (username != (username = username.replace("ö", "o")));
	while (username != (username = username.replace("Ö", "O")));
	while (username != (username = username.replace("ü", "u")));
	while (username != (username = username.replace("Ü", "U")));
	while (username != (username = username.replace(".", "-")));
    while (username != (username = username.replace("_", "-")));
	while (username != (username = username.replace(" ", "-")));
	while (username != (username = username.replace("--", "-")));
	
	return username;
}

function formatInput(objInput){
	do {
        pre = objInput.value;
		objInput.value = objInput.value.replace("  ", " ");
        objInput.value = objInput.value.replace("..", ".");
        objInput.value = objInput.value.replace(".-", ".");
        objInput.value = objInput.value.replace("._", ".");
        objInput.value = objInput.value.replace("--", "-");
        objInput.value = objInput.value.replace("-.", "-");
        objInput.value = objInput.value.replace("-_", "-");
        objInput.value = objInput.value.replace("__", "_");
        objInput.value = objInput.value.replace("_.", "_");
        objInput.value = objInput.value.replace("_-", "_");
		objInput.value = objInput.value.replace("'", "");
		objInput.value = objInput.value.replace("*", "");
		objInput.value = objInput.value.replace(",", "");
    } while (pre != objInput.value);
	
	return objInput;
}

function registerConfirm(message1, message2){
	
	if (document.getElementById('is_agree').checked){
		
		if(confirm(message1)){
			return true;	
		} else {
			return false;	
		}
	} else {
		
		if(confirm(message2)){
			document.getElementById('is_agree').checked = true;
			
			if(confirm(message1)){
				return true;	
			} else {
				return false;
			}
		} else {
			return false;	
		}
	}
}

function collapseDivDefault(_div, is_open){
	
	div_obj = document.getElementById(_div);
	
	if (is_open == true){
		div_obj.style.display = 'block'; 
	} else {
		div_obj.style.display = 'none';
	}
}

function collapseDiv(_div){
	
	div_obj = document.getElementById(_div);
	
	if (div_obj.style.display == 'none'){
		div_obj.style.display = 'block'; 
	} else {
		div_obj.style.display = 'none';
	}
}

function noRepeatSubmit(form_obj, button_obj){
	
	button_obj.disabled = true;
	
	if(document.getElementById(form_obj) == null){
		form_obj.submit();
	} else {
		document.getElementById(form_obj).submit();
	}
}



function smilie (smilietext, form, name) {
	code = 'document.' + form + '.' + name + '.value += "' + smilietext + ' ";';
	eval(code);
}

function agreesubmit(_checkbox, _button){
	
	cb = document.getElementById(_checkbox);
	btn = document.getElementById(_button);
	
	if (cb.checked == true){
		btn.disabled = false;
	} else {
		btn.disabled = true;
	}
}

function nospam(user, domain) {
	locationstring = "mailto:" + user + "@" + domain;
	window.location = locationstring;
}

var sessionTime;
var firstAlert = true;
var secondAlert = true;

function initSessionAlert(){
	if( sessionTimeOut != undefined ){
		sessionTime = new Date();
		sessionTime.setSeconds( sessionTime.getSeconds() + sessionTimeOut );
		
		setTimeout("timeChecking()",500);
		//alert( 'Time now: ' + Date() + '<br />New time: ' + sessionTime);
	}
}

function timeChecking(){
	var timeNow = new Date();
	
	if( timeNow.getTime() < sessionTime.getTime() ){
		var div = document.getElementById('sessionCountdown');
		if( div != undefined ){
			var timeLeft = sessionTime.getTime() - timeNow.getTime();
			div.innerHTML = 'Session time: ' + msTime( timeLeft );
			if( Math.floor(timeLeft/1000) < 300 && Math.floor(timeLeft/1000) > 296 && firstAlert ){
				alert( 'Session aegub umbes 5 min pärast!' );
				firstAlert = false;
			}else if( Math.floor(timeLeft/1000) < 60 && Math.floor(timeLeft/1000) > 56 && secondAlert ){
				alert( 'Session aegub varsti, salvesta või refresh-i lehte!' );
				secondAlert = false;
			}
		}
		setTimeout("timeChecking()",500);
	}else{
		alert( 'Session on aegunud!' );
	}
}

function msTime(ms) {
	var sec = Math.floor(ms/1000);
	ms = ms % 1000;
	var t = "";
	//t = ":" + three(ms)
	
	var min = Math.floor(sec/60);
	sec = sec % 60;
	t = two(sec) + t;
	
	var hr = Math.floor(min/60);
	min = min % 60;
	t = two(min) + ":" + t;
	
	var day = Math.floor(hr/60);
	hr = hr % 60;
	t = two(hr) + ":" + t;
	t = day + ":" + t;
	
	return t;
}
function two(x) {return ((x>9)?"":"0")+x}
function three(x) {return ((x>99)?"":"0")+((x>9)?"":"0")+x}

function disableSelection(target){
	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart=function(){return false}
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "default"
}

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	else 
		countfield.value = maxlimit - field.value.length;
}

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else
	cntfield.value = maxlimit - field.value.length;
}

