//popup
function openPopup(name, url, features){
	if(url.substring(0, 11)=="default.asp"){
	    url="lib/popup/"+url;
	}

	if(url.substring(0,2)=="//"){
	    url=url.substring(1);        
	}

	var wWin = parent.open(url, name, features);
	if(wWin==null){
		alert ("Det går inte att öppna ett fönster. Detta kan bero på att för många webbläsarfönster redan är öppna.") ;
	}
}


function cancelEvent(e) {
	return false;
}


//validate
function isEmpty(fld){
	if (!fld.value.length || fld.value==null) {
		_reportError(fld, "Det rödmarkerade fältet får inte lämnas tomt!");
		return true;
	}else {
		return false;
	}
}
function isNumeric(fld) {
	if (isNaN(fld.value)) {
		_reportError(fld, "Det rödmarkerade fältet får bara innehålla numeriska värden!");
		return false;
		}else {
			return true;
		}
}

function isDate(fld){
	if(fld.value.length==0)
		return true;

	var date = fld.value;
	var year = date.substring(0,4);
	var month = date.substring(5,7);
	var day = date.substring(8,10);
	if (_timeValidateDec(year) && _timeValidateDec(month) && _timeValidateDec(day) && date.length == 10) {
		var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
		if (parseInt(year/4)*4 == year) { months[1] = 29 }
		if (parseInt(year/100)*100 == year) { months[1] = 28 }
		if (parseInt(year/400)*400 == year) { months[1] = 29 }
		if (_timeCheckInterval(month, 1, 12) && _timeCheckInterval(day, 1, months[parseInt(month)-1]) && date.substring(4,5) == "-" && date.substring(7,8) == "-"){
			return true;
		} else {
			_reportError(fld, "Det rödmarkerade fältet innehåller inte ett giltigt datum! Giltigt format är (yyyy-mm-dd)");
			return false;
		}
	} else {
		_reportError(fld, "Det rödmarkerade fältet innehåller inte ett giltigt datum! Giltigt format är (yyyy-mm-dd)");
		return false;
	}
}

function isBetween(fld, min, max){
	if(fld.value<min&&min!=null||fld.value>max&&max!=null){
		_reportError(fld,"Det rödmarkerade fältet är inte mellan dom tillåtna gränserna!");
		return false;
	}else
		return true;
}

function isEmail(fld){
    var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if(!re.test(fld.value)){
		_reportError(fld,"Det rödmarkerade fältet är inte en e-postadress!");
		return false;
    }else{
        return true;    
    }
}

//**Radio/Checkbox validering**
function isSelected(fld, count){
	var totalCount=count;
	if(fld.length){
		for(var i=0;i<fld.length;i++){
			if(fld[i].checked){
				if(!count){
					return true;
					break;
				}else{
					count--;
					if(count==0){
						return true;
						break;
					}
				}
			}
		}
		if(!count)
			_reportError(fld, "Ett av fälten måste vara markerade!")
		else
			_reportError(fld, totalCount+" av fälten måste vara markerade!")
			
		return false;
	}else{
		if(fld.checked)
			return true;
		else{
			_reportError(fld, "F måste vara markerat!")
			return false;
		}
			
	}
	
}


function _timeValidateDec(dec){
	var b = "0123456789";
	for (n=0; n<dec.length; n++){
		if (b.indexOf(dec.charAt(n)) < 0){
			return false;
			break;
		}
	}
	return true;
}
function _timeCheckInterval(value, minValue, maxValue){
	if (value.indexOf(",") > -1) value = value.substring(0, value.indexOf(",")) + "." + value.substring(value.indexOf(",")+1,value.length)
		value = parseFloat(value);
		if (value > maxValue || value < minValue){
			return false;
		} else {
			return true;
		}
}


//**funktion som hanterar hur felaktigt värde ska hanteras
function _reportError(fld, txt){
	if(fld.length){
		for(var i=0;i<fld.length;i++){
			fld[i].style.borderColor='#ff0000';
		}
	}else{
		fld.style.borderColor='#ff0000';
	}
		
	alert(txt);
}


//quiz, questionnaire

var gValidate=true;

function setValidating(state){
	gValidate=state;
}

function getValidating(){
	return gValidate;
}

function openQuizWindow(id){
	var url="/lib/quiz/highscore.asp?id="+id
	var wWin = parent.open(url,"quizhighscore"+id,"scrollbars, height=500,width=350");
}

//survey
function openSurveyWindow(id, aid){
	if(aid==null){
		var url="lib/survey/result.asp?oewCmd=15&id="+id
	}else{
		var url="lib/survey/result.asp?oewCmd=14&id="+id
		url=url+"&alternativeid="+aid
	}
		
	var wWin = parent.open(url,"survey"+id,"scrollbars, height=350,width=400");
}
