function adjustMarkerLocation(){
	if (document.forms.publicFaultReportForm.locationX.value&&document.forms.publicFaultReportForm.locationY.value){
        var x = (document.forms.publicFaultReportForm.locationX.value - xmin)/((xmax-xmin)/sizeX);
        var y = (ymax - document.forms.publicFaultReportForm.locationY.value)/((ymax-ymin)/sizeY)

        if (x>=0&&x<=400&&y>=0&&y<=400){
	        showMarker(x-3, y-3);
        }else{
        	hideMarker();
        }
	}else{
	}
}

function selectZoomBtn(id, idx){
	var btn1 = document.getElementById('_zoom1');
	var btn2 = document.getElementById('_zoom2');
	var btn3 = document.getElementById('_zoom3');
	var btn4 = document.getElementById('_zoom4');
	var btn5 = document.getElementById('_zoom5');

	var btnActive = document.getElementById(id);

	btn1.className="zoomcontrolpanel zi1";
	btn2.className="zoomcontrolpanel zi2";
	btn3.className="zoomcontrolpanel zi3";
	btn4.className="zoomcontrolpanel zi4";
	btn5.className="zoomcontrolpanel zi5";

	btnActive.className="zoomcontrolpanel za"+idx;
}

function zoomout(){
	if (zoomLevel > minLevel){
		switchZoom(zoomLevel-1);
	}
	return;
}
function zoomin(){
	if (zoomLevel < maxLevel){
		switchZoom(zoomLevel+1);
	}
	return;
}

function switchZoom(z){
	switch (z){
	case 1:
		zoom1();
		break;
	case 2:
		zoom2();
		break;
	case 3:
		zoom3();
		break;
	case 4:
		zoom4();
		break;
	case 5:
		zoom5();
		break;
	default:
		break;
	}
}

function zoomop(i){
	zoomMap(m[i-1], m[i-1]);
}

function zoom1(){
	if (zoomLevel!=1){
		zoomop(1);
		zoomLevel = 1;
		selectZoomBtn('_zoom1', 1);
	}
	return;
}
function zoom2(){
	if (zoomLevel!=2){
		zoomop(2);
		zoomLevel = 2;
		selectZoomBtn('_zoom2', 2);
	}
	return;
}
function zoom3(){
	if (zoomLevel!=3){
		zoomop(3);
		zoomLevel = 3;
		selectZoomBtn('_zoom3', 3);
	}
	return;
}
function zoom4(){
	if (zoomLevel!=4){
		zoomop(4);
		zoomLevel = 4;
		selectZoomBtn('_zoom4', 4);
	}
	return;
}
function zoom5(){
	if (zoomLevel!=5){
		zoomop(5);
		zoomLevel = 5;
		selectZoomBtn('_zoom5', 5);
	}
	return;
}

function zoomMax(){
	zoom5();
	showHelpMessage();
}

function moveMapLeft(){
	moveMapHorizontal(-1*(xmax-xmin)*shiftMult);
}
function moveMapRight(){
	moveMapHorizontal(((xmax-xmin)*shiftMult));
}

function moveMapTop(){
	moveMapVertical((ymax-ymin)*shiftMult);
}

function moveMapDown(){
	moveMapVertical(-1*(ymax-ymin)*shiftMult);
}

function moveMapHorizontal(shift){
	xmin +=shift;
	xmax +=shift;
	updateMap();
	return;
}

function moveMapVertical(shift){
	ymin +=shift;
	ymax +=shift;
	updateMap();
	return;
}

function zoomMap(zoomX, zoomY){
	var xc = xmin + (xmax-xmin)/2;
	var yc = ymin + (ymax-ymin)/2;

	xmin = xc - zoomX/2;
	ymin = yc - zoomY/2;

	xmax = xc + zoomX/2;
	ymax = yc + zoomY/2;

	updateMap();
	return;
}

function swtichPlaceMode(){
	if (document.forms.publicFaultReportForm._placeLocation.checked==true){
		document.forms.publicFaultReportForm._placeLocation.checked=false;
		document.getElementById('_swtichPlaceModeBtn').className="zoombutton placefaultbutton";
		hideHelpMessage();
	}else{
		document.forms.publicFaultReportForm._placeLocation.checked=true;
		document.getElementById('_swtichPlaceModeBtn').className="zoombutton selectedplacefaultbutton";
	}
}

 	function showAddressHelp(){
  		document.getElementById("_addressHelpMsg").style.display="";
 	}
 	function hideAddressHelp(){
		document.getElementById("_addressHelpMsg").style.display="none";
 	}

 	function popupCallbackSetAddress(addressid, addressname, x, y){
  	document.forms.publicFaultReportForm.addressId.value=addressid;
  	document.forms.publicFaultReportForm.address.value=addressname;
  	_x=x;
  	_y=y;
  	showAddress();
 		return;
 	}

 	function showPoint(x, y){
	xmin1 = parseFloat(x) - parseFloat((xmax - xmin)/2);
	ymin1 = parseFloat(y) - parseFloat((ymax - ymin)/2);
	xmax1 = parseFloat(x) + parseFloat((xmax - xmin)/2);
	ymax1 = parseFloat(y) + parseFloat((ymax - ymin)/2);

	xmin = xmin1;
	ymin = ymin1;
	xmax = xmax1;
	ymax = ymax1;

	updateMap();

 		return;
 	}


 	function showAddress(){
		if (null==_x||null==_y)
			return;
		showPoint(_x, _y);
		zoomMax();
	
		document.forms.publicFaultReportForm.locationX.value = _x;
		document.forms.publicFaultReportForm.locationY.value = _y;
		adjustMarkerLocation();
	
		return;
 	}

 	function sendReport(b){
 		if (isPublicFaultReportFormValid()&&canSubmit()){
		document.forms.publicFaultReportForm.confirmed.value=b;
	  	document.forms.publicFaultReportForm.submit();
	}
 	}

 	function zoomMaxToFaultLocation(realX, realY){
	if (!realX||!realY){
 			return;
		}
 		if (zoomLevel!=maxLevel){
  		var tmpXmin = realX - ((xmax-xmin)/2);
  		var tmpXmax = realX + ((xmax-xmin)/2);

  		var tmpYmin = realY - ((ymax-ymin)/2);
  		var tmpYmax = realY + ((ymax-ymin)/2);

  		xmin = tmpXmin;
  		xmax = tmpXmax;
  		ymin = tmpYmin;
  		ymax = tmpYmax;
		zoomMax();
	 }else{
	 	adjustMarkerLocation();
	 }
 	}

 	function showMarker(relX, relY){
 		var crs = document.getElementById("cross");
		crs.style.visibility = "visible";
       	crs.style.left = relX;
       	crs.style.top = relY;
 	}

 	function hideMarker(){
  		document.getElementById("cross").style.visibility = "hidden";
 	}


   function point_it (evt) {
       var tempX = 0;
       var tempY = 0;

       if (window.event){
           tempX = window.event.offsetX;
           tempY = window.event.offsetY;
       }else if (evt.target) {
           var coords = {x: 0, y: 0 };
           var el = evt.target;
           do {
               coords.x += el.offsetLeft;
               coords.y += el.offsetTop;
           }
           while ((el = el.offsetParent));

           tempX = evt.clientX - coords.x + document.body.scrollLeft;
           tempY = evt.clientY - coords.y + document.body.scrollTop;
       }

  	var realX = parseFloat(xmin + ((xmax-xmin)/sizeX) * tempX);
  	var realY = parseFloat(ymax - ((ymax-ymin)/sizeY) * tempY);

   	if (document.forms.publicFaultReportForm._placeLocation.checked==true){
		document.forms.publicFaultReportForm.locationX.value = realX;
		document.forms.publicFaultReportForm.locationY.value = realY;
		zoomMaxToFaultLocation(realX, realY);
	}else{
		showPoint(realX, realY);
	}
   }

   function showHelpMessage(){
	document.getElementById("_helpMsg").style.display="";
   }

   function hideHelpMessage(){
	document.getElementById("_helpMsg").style.display="none";
   }

jQuery(function () {
	jQuery('#networkFaultsTree').click( function () {
		jQuery('.networkFaultsIn').removeAttr("disabled");
		jQuery('#faultTreeOnTheLineId1').attr("checked","checked");
		jQuery('.networkPowerFaultsIn').attr("checked","");
		jQuery('.networkPowerFaultsIn').attr("disabled", true);
  		}
	);
  		
	jQuery('#networkFaultsPower').click( function () { 
		jQuery('.networkPowerFaultsIn').removeAttr("disabled");
		jQuery('#faultPowerFailureId1').attr("checked","checked");
		jQuery('.networkFaultsIn').attr("checked","");
		jQuery('.networkFaultsIn').attr("disabled", true);
  		}
  	);
});


function HideContent(d) {
  if(d.length < 1) { return; }
  document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
  if(d.length < 1) { return; }
  HideAllContents();
  document.getElementById(d).style.display = "block";
}
function HideAllContents() {
  HideContent('suurjannite_sahkot_on');
  HideContent('pienjannite_sahkot_on');
  HideContent('suurjannite_sahkot_ei');
  HideContent('pienjannite_sahkot_ei');
  HideContent('paasulake');
  HideContent('puu_linjalla');
}


