function format(num, dec1, dec2, minlen){
	var num1 = new Number(parseInt(num, dec1)).toString(dec2);;
	while(num1.length < minlen) num1 = "0" + num1;
	return num1;
}

function ipaddr2mask(ipaddr){
	var ad = ipaddr.split(".");
	var str = "";
	for(var i = 0; i < ad.length; i++){
		str += format(ad[i],10,2,8);
	}
	for(var i = str.length-1; i > 0 ; i--){
		if(str.charAt(i)!=0){return i+1;}
	}
	return 0;
}

function mask2ipaddr(mask){
	var m1 = format(mask,10,10,1);
	var str = "";
	while(str.length < 32){ str+= (str.length < m1) ? "1" : "0"; }
	var ipaddr = "";
	for(var i = 0; i < 4; i++){
		if(i > 0){ ipaddr+="."; }
		ipaddr+=format(str.substr(i*8, 8),2,10,1);
	}
	return ipaddr;
}
