function calcViewBandwidth(rateValue,sizeValue,cameraValue) {		var size =  1024 * eval(sizeValue);	var nrofcams = eval(cameraValue);		var result = 0;			if (size != "") {		result = eval(size * nrofcams);	}		return Math.round(result); 	}function calcRecBandwidth(rateSecValue,rateMinValue,rateHourValue,sizeValue,cameraValue) {		var framerate;	var size =  1024 * eval(sizeValue);	var nrofcams = eval(cameraValue);				var result = 0;			if (size != "") { 		result = eval(size * nrofcams);	}		return Math.round(result);}function calcRecStorage(rateSecValue,sizeValue,cameraValue,dayValue,weekValue) {			var size =  1024 * eval(sizeValue) / 8; //Bit/s converted to Kb/s	var nrofcams = eval(cameraValue);	var day =  eval(dayValue);	var week =  eval(weekValue);			var result = 0;			if ((size != "")) {		result = 1*3600*size*nrofcams*day;	}		return Math.round(result);	}function unit(bandwidth,unitType) {		var result = "0&nbsp;bit/s";	var resultArray = new Array;	var resultBefore = "";	var resultAfter = "";		var inputString = ("" + bandwidth);	var stringLength = inputString.length;	var unit;		if (stringLength > 12) {						if (unitType) {			unit = "&nbsp;TB";		} else {			unit = "&nbsp;Tbit/s";		}		result = "" + inputString/1024/1024/1024/1024;		resultArray = result.split(".");		resultBefore = resultArray[0];				if (resultArray.length>1) {			resultAfter = "." + resultArray[1];		} else {				}				result = resultBefore + resultAfter.substring(0, 2) + unit;		} else if (stringLength > 9) {				if (unitType) {			unit = "&nbsp;GB";		} else {			unit = "&nbsp;Gbit/s";		}				result = "" + inputString/1024/1024/1024;		resultArray = result.split(".");		resultBefore = resultArray[0];				if (resultArray.length>1) {			resultAfter = "." + resultArray[1];		}				result = resultBefore + resultAfter.substring(0, 2) + unit;			} else if (stringLength > 6) {				if (unitType) {			unit = "&nbsp;MB";		} else {			unit = "&nbsp;Mbit/s";		}				result = "" + inputString/1024/1024;		resultArray = result.split(".");		resultBefore = resultArray[0];				if (resultArray.length>1) {			resultAfter = "." + resultArray[1];				}				result = resultBefore + resultAfter.substring(0, 2) + unit;			} else if (stringLength > 3) {				if (unitType) {			unit = "&nbsp;Kb";		} else {			unit = "&nbsp;Kbit/s";		}						result = "" + inputString/1024;		resultArray = result.split(".");		resultBefore = resultArray[0];				if (resultArray.length>1) {			resultAfter = "." + resultArray[1];		}				result = resultBefore + resultAfter.substring(0, 2) + unit;			} else {				if (unitType) {			unit = "&nbsp;byte";		} else {			unit = "&nbsp;bit/s";		}				result = inputString + unit;					}					return result; }function changeViewSize () {		var formObj = document.cameraForm;		var locatation = formObj.locatation.value; //model 0	var complexity = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[0]; //estimateImageComplexity 1	var nightScene = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[1]; //estimateImageComplexity 1	var model = formObj.cameraName.options[formObj.cameraName.selectedIndex].text; //model name 2	var modelID = formObj.cameraName.options[formObj.cameraName.selectedIndex].value; //model ID 3	var resolution = formObj.estimateViewImageResolution.options[formObj.estimateViewImageResolution.selectedIndex].value; // 5	var compressionType = formObj.estimateViewCompressionType.options[formObj.estimateViewCompressionType.selectedIndex].value; //6	var compression = formObj.estimateViewImageCompression.options[formObj.estimateViewImageCompression.selectedIndex].value; //7	var framerate = formObj.view_rate.options[formObj.view_rate.selectedIndex].value; //8	var audio = formObj.audio.checked; // audio		videoArray[0] = new Array(locatation,complexity,model,modelID,complexity,resolution,compressionType,compression,framerate,audio,nightScene);		formObj.estimateViewImageSize.value = Math.round(changeSize(0)/1024);	}function changeRecSize () {	var formObj = document.cameraForm;		var locatation = formObj.locatation.value; //model	var complexity = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[0]; //estimateImageComplexity 1	var nightScene = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[1]; //estimateImageComplexity 1	var model = formObj.cameraName.options[formObj.cameraName.selectedIndex].text; //model name	var modelID = formObj.cameraName.options[formObj.cameraName.selectedIndex].value; //model ID	var resolution = formObj.estimateRecImageResolution.options[formObj.estimateRecImageResolution.selectedIndex].value; //resolution	var compressionType = formObj.estimateRecCompressionType.options[formObj.estimateRecCompressionType.selectedIndex].value; //compressionType	var compression = formObj.estimateRecImageCompression.options[formObj.estimateRecImageCompression.selectedIndex].value; //compression	var framerate = formObj.rec_rate_sec.options[formObj.rec_rate_sec.selectedIndex].value; //framerate	var audio = formObj.audio.checked;		videoArray[1] = new Array(locatation,complexity,model,modelID,complexity,resolution,compressionType,compression,framerate,audio,nightScene);		formObj.estimateRecImageSize.value = Math.round(changeSize(1)/1024);	}function changeAlarmSize () {	var formObj = document.cameraForm;		var locatation = formObj.locatation.value; //model	var complexity = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[0]; //estimateImageComplexity 1	var nightScene = formObj.estimateImageComplexity.options[formObj.estimateImageComplexity.selectedIndex].value.split("_")[1]; //estimateImageComplexity 1	var model = formObj.cameraName.options[formObj.cameraName.selectedIndex].text; //model name	var modelID = formObj.cameraName.options[formObj.cameraName.selectedIndex].value; //model ID	var resolution = formObj.estimateAlarmImageResolution.options[formObj.estimateAlarmImageResolution.selectedIndex].value;	var compressionType = formObj.estimateAlarmCompressionType.options[formObj.estimateAlarmCompressionType.selectedIndex].value;	var compression = formObj.estimateAlarmImageCompression.options[formObj.estimateAlarmImageCompression.selectedIndex].value;	var framerate = formObj.alarm_rate_sec.options[formObj.alarm_rate_sec.selectedIndex].value;	var audio = formObj.audio.checked;		videoArray[2] = new Array(locatation,complexity,model,modelID,complexity,resolution,compressionType,compression,framerate,audio,nightScene);		formObj.estimateAlarmImageSize.value = Math.round(changeSize(2)/1024);	}function changeExampleSize () {		var formObj = document.cameraForm;		var locatation = userMemory[0][cameraListID][cameraSetID][0];	var complexity = userMemory[0][cameraListID][cameraSetID][1].split("_")[0];	var nightScene = userMemory[0][cameraListID][cameraSetID][1].split("_")[1];	var model = userMemory[0][cameraListID][cameraSetID][2];	var modelID = userMemory[0][cameraListID][cameraSetID][3];	var resolution = formObj.estimateExampleImageResolution.options[formObj.estimateExampleImageResolution.selectedIndex].value; // 5	var compressionType = formObj.estimateExampleCompressionType.options[formObj.estimateExampleCompressionType.selectedIndex].value; //6	var compression = formObj.estimateExampleImageCompression.options[formObj.estimateExampleImageCompression.selectedIndex].value; //7	var framerate = formObj.example_rate.options[formObj.example_rate.selectedIndex].value; //8	var audio = userMemory[0][cameraListID][cameraSetID][2];		for (n=0; n<cameraList.length; n++) {		if (cameraList[n][0] == modelID) {			model =	cameraList[n][1];		}	}		videoArray[videoArrayIndex] = new Array(locatation,complexity,model,modelID,complexity,resolution,compressionType,compression,framerate,audio,nightScene);		formObj.estimateExampleImageSize.value = Math.round(changeSize(videoArrayIndex)/1024);			if (videoArray[videoArrayIndex][9] > 704) {		var thisWidth = videoArray[videoArrayIndex][12];		var thisHeight = videoArray[videoArrayIndex][13];	} else {	    if (videoArray[videoArrayIndex][9] == 704 && videoArray[videoArrayIndex][10] == 288) {		   var thisHeight = 576;	    } else if (videoArray[videoArrayIndex][9] == 704 && videoArray[videoArrayIndex][10] == 240) {		   var thisHeight = 480;	    } else {		   var thisHeight = videoArray[videoArrayIndex][10];	   	}		var thisWidth = videoArray[videoArrayIndex][9];			}		if (videoArray[videoArrayIndex][9] > 704) {		writeWarning(19);	} else if (thisWidth == 640 && thisHeight == 480) {		clearWarning();			} else if (thisWidth == 704 && thisHeight == 576) {		clearWarning();			} else if (thisWidth == 352 && thisHeight == 288) {		clearWarning();			} else if (thisWidth == 704 && thisHeight == 480) {		clearWarning();			} else if (thisWidth == 352 && thisHeight == 240) {		clearWarning();					} else {		writeWarning(18);	}		if (IE) {		var thisMarginLeft = "0";	} else {			var thisMarginLeft = Math.round((704-thisWidth)/2);	}		htmlObj = "";		htmlObj += "<div style='margin-top:"+Math.round((576-thisHeight)/2)+"px; margin-left:"+thisMarginLeft+"px; width: "+thisWidth+"px; height:"+thisHeight+"px;'>";	htmlObj += "<OBJECT id='mediaPlayer' width='"+thisWidth+"' height='"+thisHeight+"' ";	htmlObj += "classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' ";	htmlObj += "codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701' ";	htmlObj += "standby='Loading Microsoft Windows Media Player components...' "; 	htmlObj += "type='application/x-oleobject'> ";	//htmlObj += "type='video/x-ms-wmv'> ";	htmlObj += "<param name='fileName' value='"+videoArray[videoArrayIndex][14]+".wmv'> ";	htmlObj += "<param name='animationatStart' value='true'> ";	htmlObj += "<param name='transparentatStart' value='true'> ";	htmlObj += "<param name='autoStart' value='true'> ";	htmlObj += "<param name='showControls' value='false'>";	htmlObj += "<param name='loop' value='true'> ";	htmlObj += "<EMBED type='application/x-mplayer2' ";	htmlObj += "pluginspage='http://microsoft.com/windows/mediaplayer/en/download/' ";	htmlObj += "id='mediaPlayer' "; 	htmlObj += "name='mediaPlayer' "; 	htmlObj += "displaysize='4' "; 	htmlObj += "autosize='1' ";	htmlObj += "bgcolor='black' "; 	htmlObj += "showcontrols='0' "; 	htmlObj += "showtracker='0' ";	htmlObj += "showdisplay='0' "; 	htmlObj += "showstatusbar='0' "; 	htmlObj += "videoborder3d='0' ";	htmlObj += "autostart='1' "; 	htmlObj += "designtimesp='5311' "; 	htmlObj += "loop='1' ";	htmlObj += "width='"+thisWidth+"' height='"+thisHeight+"'";	htmlObj += "src='"+videoArray[videoArrayIndex][14]+".wmv'> ";	htmlObj += "</EMBED> ";	htmlObj += "</OBJECT> ";	htmlObj += "</div> ";		writeTrace("<b>Size:</b> "+thisWidth+"x"+thisHeight+"px <b>Source:</b> "+videoArray[videoArrayIndex][14]+".wmv");		/*	htmlObj += "<div style='width:"+videoArray[videoArrayIndex][9]+";height:"+videoArray[videoArrayIndex][10]+"; background-color: black;color: white;'>"+videoArray[videoArrayIndex][14]+"</div>";	*/	document.getElementById("movie").innerHTML = htmlObj;	}function changeSize (index) {		var model = videoArray[index][2];	var complexity = videoArray[index][4];	var resolution = videoArray[index][5];	var compressionType = videoArray[index][6];	var compression = videoArray[index][7];	var framerate = videoArray[index][8];	var audio = videoArray[index][9];	var nightScene = videoArray[index][10];		var processorType = cameraData[videoArray[index][3]][0][20];		//alert(compressionType);		var result = 0;		var resolutionWidth = resolution.split("x")[0];	var resolutionHeight = resolution.split("x")[1].split(" ")[0];		var resolutionArea = resolutionWidth*resolutionHeight;		if (model.indexOf("(")>-1) {		var encodingsystem = model.split("(")[1].split(")")[0];	} else {		var encodingsystem = "VGA";	}							if (resolutionArea>352*288 && encodingsystem == "PAL") {		var sampleFormat = "4CIF";		var sampleWidth = 704;		var sampleHeight = 576;			} else if (resolutionArea<=352*288 && encodingsystem == "PAL") {		var sampleFormat = "CIF";		var sampleWidth = 352;		var sampleHeight = 288;		} else if (resolutionArea>352*288 && encodingsystem == "NTSC") {		var sampleFormat = "4CIF";		var sampleWidth = 704;		var sampleHeight = 480;			} else if (resolutionArea<=352*288 && encodingsystem == "NTSC") {		var sampleFormat = "CIF";		var sampleWidth = 352;		var sampleHeight = 240;		} else if (encodingsystem == "VGA") {		var sampleFormat = "VGA";		var sampleWidth = 640;		var sampleHeight = 480;			}		var sampleArea = sampleWidth*sampleHeight;	var resolutionFactor = resolutionArea/sampleArea;			if (compressionType == "MPEG-4") {		var compressionType = "MPEG4"; 		var trueCompressionType = "MPEG4";		}else if(compressionType== "H.264"){			var compressionType = "H264";			var trueCompressionType = "MPEG4"; 		} else {		var compressionType = "MJPEG";		var trueCompressionType = "MJPEG";	}			if (compression == "Very low") {		compression = "10";	} else if (compression == "Low") {		compression = "30";	} else if (compression == "Medium") {		compression = "50";	} else if (compression == "High") {		compression = "70";	} else if (compression == "Very high") {		compression = "90";	}		for (var i=0;i<sampleSizeArray.length;i++) {			if (sampleSizeArray[i][0] == encodingsystem && sampleSizeArray[i][1] == complexity.toLowerCase() && sampleSizeArray[i][2] == trueCompressionType && sampleSizeArray[i][3] == sampleFormat && sampleSizeArray[i][4] == compression && sampleSizeArray[i][5] == framerate) {			var bandwidth = sampleSizeArray[i][6];			var filename = sampleSizeArray[i][7];					}	}		var audioAddon = 0;		if (audio) {		audioAddon = 32000;	}		var nightSceneFactor = 1;		if (nightScene == "night" && trueCompressionType == "MPEG4" ) {		nightSceneFactor = 1.7;	}			var processorTypeFactor = 1;		if (compressionType == "MPEG4" && (processorType == "ARTPEC-A" || processorType == "ARTPEC-B") && videoArray[index][4] != "station" ) {		processorTypeFactor = 0.6; 	} 		if (compressionType == "H264" && (processorType == "ARTPEC-3" || processorType == "ARTPEC-B") && compression < 50){		processorTypeFactor = 0.35; 	} 		if (compressionType == "H264" && (processorType == "ARTPEC-3" || processorType == "ARTPEC-B") && compression > 30){		processorTypeFactor = 0.5; 	}		// new Array("PAL","intersection","MJPEG","4CIF","50","25","5065613","intersection_MJPEG_4CIF_c50_f25"),	//alert(encodingsystem+":"+complexity.toLowerCase()+":"+compressionType+":"+sampleFormat+":"+compression+":"+framerate+"="+result);		videoArray[index][9] = resolutionWidth;	videoArray[index][10] = resolutionHeight;	videoArray[index][11] = sampleFormat;	videoArray[index][12] = sampleWidth;	videoArray[index][13] = sampleHeight;	videoArray[index][14] = filename;		return Math.round(bandwidth*resolutionFactor*nightSceneFactor*processorTypeFactor+audioAddon);	}loaded["bandwidth_cal.js"] = true;