
// ******************************************************************
//	 Nytt 20080416
// ******************************************************************

		function MM_jumpMenu(targ,selObj,restore){ //v3.0
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
		}
		
		function openURL()	{ 
		selInd = document.insuranceMenu.insuranceLink.selectedIndex; 
		goURL = document.insuranceMenu.insuranceLink.options[selInd].value;
		top.location.href = goURL; 
		}
		
		function MM_findObj(n, d) { //v4.01
		var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
		if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
		for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
		}

		function MM_showHideLayers() { //v6.0
		var i,p,v,obj,args=MM_showHideLayers.arguments;
		for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		if (obj.style) { 
		obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; 
			
			/*
			if (String(args[i])=="bigContent") {
			scroll(0,0);
			} */ 
		}

		obj.display=v; }
		}
		
		function MM_openBrWindow(theURL,winName,features) { //v2.0
		  window.open(theURL,winName,features);
		}

		function goOffer() {
 			window.location="myoffer.asp";
		} 


// ******************************************************************

function left(str, n){
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		return String(str).substring(0,n);
}

function right(str, n){
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}


if(document.all && !document.getElementById) {
	document.getElementById = function(theid) {
		return document.all[theid];
	}
}


function MM_openBrWindow(theURL,winName,features) {
	window.open(theURL,winName,features);
}


function startCountDown(howManySeconds) {
	showHelp = 1;
	setTimeout('helpMeOut();', howManySeconds);
}


function helpMeOut() {
	if (showHelp == 1) {
		try {
			//parent.window.frames[1].helpMeOut();
			parent.window.frames[1].document.all['helpMeOutLayer'].style.visibility = 'visible';
		} catch (e) {
			//nothing really
		}
	}
	showHelp = 0;
}


function setShowHelp(toWhat) {
	showHelp = toWhat;
}
var showHelp = 0;


function logOut() {
	var confirmMe = confirm('Du kommer nu att loggas ut');
	if (confirmMe == true) {
		document.location.href = '/member/logout.asp?logout=1';
	}
}


function showcontent(showdiv, hidediv) {
	document.getElementById(hidediv).style.display = 'none';
	document.getElementById(showdiv).style.display = 'inline';
	return false;
}



// form validation stuff

function getSelectValue(theelement) {
	var theform = theelement.form;
	var thelist = theform.elements[theelement.name];
	return (thelist.options[thelist.selectedIndex].value);
}


function isValidEmail(theemail){
	var rgx = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$');
	return (rgx.test(theemail));
}
		
function validatePersonalId(inpid) {
    var str = String(inpid);
    var sum = 0;
    var odd = true;
    var control = -1;
    var pattern = /^[0-9]{8}-[0-9]{4}$/;
	
    var regexp = new RegExp(pattern);
    if (!regexp.test(str)) {
        return false;
    }
	
    for (var i = 2; i < 13; i++) {
        var c = str.charAt(i);
        var digit = parseInt(c, 10);
        if (isNaN(digit) && i != 8) {
	        return false;
        } else if (i == 12) {
	        control = digit;
        } else if (i != 8) {
	        var value = (odd ? 2 : 1) * digit;
	        if (value >= 10) {
		        var most = Math.floor(value / 10);
		        var least = value % 10;
		        sum += most + least;
	        } else {
		        sum += value;
	        }
	        odd = !odd;
        }
    }
    
    var testControl = sum % 10;
    //alert("ValidPers- "+str+ " - " + testControl);
    if (testControl == 0)
        testControl = 10;
    return (testControl + control == 10);
}

function validateOrgNumber(inpid) {
    var str = String(inpid);
    var sum = 0;
    var odd = true;
    var control = -1;
    var pattern = /^[0-9]{6}-[0-9]{4}$/;
	
    var regexp = new RegExp(pattern);
    if (!regexp.test(str)) {
        return false;
    }
	
    for (var i = 0; i < 11; i++) {
        var c = str.charAt(i);
        var digit = parseInt(c, 8);
        if (isNaN(digit) && i != 6) {
	        return false;
        } else if (i == 10) {
	        control = digit;
        } else if (i != 6) {
	        var value = (odd ? 2 : 1) * digit;
	        if (value >= 10) {
		        var most = Math.floor(value / 10);
		        var least = value % 10;
		        sum += most + least;
	        } else {
		        sum += value;
	        }
	        odd = !odd;
        }
    }
    
    var testControl = sum % 10;
    //alert("ValidOrg- "+str+ " - " + testControl);
    if (testControl == 0)
        testControl = 10;
    return (testControl + control == 10);
}


function tryToFixPersonalId(thefield) {
    var str = thefield.value;
    str = str.replace(/ /g, '');
    
    var result = '';
    if (str.length==10 && result=='') {
        if (str.substr(2, 1)>1 && validateOrgNumber(str.substr(0, 6) + '-' + str.substr(6, 4))==true) {
	        result = str.substr(0, 6) + '-' + str.substr(6, 4);
        }
        else if (validatePersonalId('19' + str.substr(0, 6) + '-' + str.substr(6, 4))==true) {
	        result = '19' + str.substr(0, 6) + '-' + str.substr(6, 4);
        }
    }
	
    if (str.length==11 && result=='') {
        if (str.substr(2, 1)>1 && validateOrgNumber(str)==true) {
	        result = str;
        }
        else if (validatePersonalId('19' + str)==true) {
	        result = '19' + str;
        }
    }
	
    if (str.length==12 && result=='') {
        if (validatePersonalId(str.substr(0, 8) + '-' + str.substr(8, 4))==true) {
	        result = str.substr(0, 8) + '-' + str.substr(8, 4);
        }
    }
	
    if (result!='') {
        thefield.value = result;
    }
}

// Ska tas bort, ersätts av validatePersonalId
function isValidPersonalId(thepersonalid) {
	var str = String(thepersonalid);	
	var sum = 0;
	var odd = true;
	var control = -1;
	var pattern = /^[0-9]{8}-[0-9]{4}$/;
	
	var regexp = new RegExp(pattern);
	if (!regexp.test(str)) {
		return false;
	}
	
	for (var i = 2; i < 13; i++) {
		var c = str.charAt(i);
		var digit = parseInt(c, 10);
		if (isNaN(digit) && i != 8) {
			return false;
		} else if (i == 12) {
			control = digit;
		} else if (i != 8) {
			var value = (odd ? 2 : 1) * digit;
			if (value >= 10) {
				var most = Math.floor(value / 10);
				var least = value % 10;
				sum += most + least;
			} else {
				sum += value;
			}
			odd = !odd;
		}
	}
	
	
	//alert("Valid- " + str);
	
	var testControl = sum % 10;
	if (testControl == 0)
		testControl = 10;
	return (testControl + control == 10);
}




