var popupHandle;

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

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_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function closePopup() {
  if (popupHandle != null && !popupHandle.closed) popupHandle.close();
}

function displayPopup(url,name,width,height,features) {
  var properties = "height=" + height + ",width=" + width + ",toolbar=no,location=no,status=yes"
  if (features.length>0) properties=properties + "," + features;
  properties = properties + ",left=" + parseInt((window.screen.availWidth-width)/2) + ",top=" + parseInt((window.screen.availHeight-height)/2);
  popupHandle = open(url,name,properties);
  popupHandle.focus();
}

function ShowHide(layerName) {
  var lyr=MM_findObj(layerName);
  
  if (lyr.style.display=='none') {
    lyr.style.display='inline';
  } else {
    lyr.style.display='none';
  }
}

function EnterNumeric(control) {
  var num = Math.abs(control.value);
  control.value=num;
  control.style.textAlign='left';
  control.select();
}

function LeaveNumeric(control, decplaces, defaultvalue) {
  var num = Math.abs(control.value).toString();
  var strlen;
  if (isNaN(num)) { num=Math.abs(defaultvalue).toString() }
  if (Math.floor(num)==num) {
    if (decplaces!='0') { num=num + '.' }
    strlen=0;
  } else {
    strlen = (num.substr(num.lastIndexOf('.')).length - 1);
  }
  for (var i = strlen; i < decplaces; i++) { num=num + '0' }
  control.value=num;
  control.style.textAlign='right';
}

function DP_EnterNumeric(control) {
  control.style.textAlign='left';
  control.select();
}

function DP_LeaveNumeric(control, decplaces) {
  var num = Math.abs(control.value);

  if (isNaN(num)||num==0) {
	control.value = '';
  } else {
	var numTxt = num.toString();
	if (((num % Math.floor(num)).toString.length+2)>decplaces) {
	  numTxt = RoundDec(num, decplaces).toString();
	}
	control.value=numTxt;
  }
  control.style.textAlign='right';
}

function RoundDec(num, places) {
    return ((Math.round(num * Math.pow(10, places))) / Math.pow(10, places))
}

function ChangeUnits(selObj) {
  var P1Unit=MM_findObj('P1Unit');
  var PTUnit=MM_findObj('PTotal');
  P1Unit.innerHTML=selObj.options[selObj.selectedIndex].text;
  PTotal.innerHTML=selObj.options[selObj.selectedIndex].text + ' (P2-P1)';
}

function ChangeDensityUnits(selObj) {
  var CalcUnit=MM_findObj('lblDensityUnit');
  CalcUnit.innerHTML=selObj.options[selObj.selectedIndex].text;
}

function CalcPTotal(decplaces) {
  var P1=document.getElementById('txtP1');
  var P2=document.getElementById('txtP2');
  var PT=document.getElementById('txtPressure');
  var total=(Math.abs(P2.value)-Math.abs(P1.value));
  
  if (total!=0) {
	  var numTxt = total.toString();
	  if (((total % Math.floor(total)).toString.length+2)>decplaces) {
		  numTxt = RoundDec(total, decplaces).toString();
	  }
	  PT.value=numTxt;
  } else {
    PT.value='';
  }
}

function ValidateNumeric(control, event) {
  var keyNum;
  
  if (document.all) {
    keyNum=event.keyCode;
  } else {
    keyNum=event.charCode;
  }
  
  if (keyNum==0) { return };
  if (keyNum==46) 
  {
    if (control.value.indexOf('.')!=-1) {
      if (document.all) {
        event.returnValue = false;
      } else {
        event.preventDefault();
      }
    }
  }
  else if (keyNum==45)
  {
    if ((control.value.length > 0)) {
      if (document.all) {
        event.returnValue = false;
      } else {
        event.preventDefault();
      }
    }
  }
  else if (keyNum==9)
  {
    alert('TAB');
  }
  else
  {
    if (keyNum<45 || keyNum>57) {
      if (document.all) {
        event.returnValue = false;
      } else {
        event.preventDefault();
      }
    }
  }
}

function CalcKFactor(control,ancil) {
  var kFactor=MM_findObj('kf'+ancil);
  var totalK=MM_findObj('tkf'+ancil);
  var estTotal=parent.document.forms(0).txtEstimatedK; //MM_findObj('txtEstimatedK');
  var oldTotal=totalK.innerHTML;
  var total;
  var difference;
  if (control.value=='on') {
    if (control.checked) {
      total=(1*kFactor.innerHTML);
    } else {
      total=0;
    }
  } else {
    total=(control.value*kFactor.innerHTML);
  }
  total=Math.round(total*Math.pow(10,2))/Math.pow(10,2);
  var num = Math.abs(total).toString();
  var strlen;
  if (Math.floor(num)==num) {
    num=num + '.';
    strlen=0;
  } else {
    strlen = (num.substr(num.lastIndexOf('.')).length - 1);
  }
  for (var i = strlen; i < 2; i++) { num=num + '0' }
  totalK.innerHTML=num;
  difference=total-oldTotal;
  estTotal.value=eval(estTotal.value)+difference;
  LeaveNumeric(estTotal,2,'0.00');
}

function OpenTechSheetEx(src,id,options) {
  if (isNaN(src)) { return false } 
  location.href='tech_sheet.aspx?id=' + id + '&src=' + src + options;
}

function OpenDrawingD(src,id,options) {
  if (isNaN(src)) { return false } 
  location.href='draw_dims_detect.htm?id=' + id + '&src=' + src + options;
}

function OpenPrintT(src,id,options) {
  if (isNaN(src)) { return false } 
  location.href='print_info.aspx?id=' + id + '&src=' + src + options;
}

function PrintPage(src,id) {
  location.href='print_info.aspx?id=' + id + '&src=' + src;
}

function PrintProject() {
  location.href='project_editor.aspx?function=print';
}

function AddToProjectTab(id,options) {
  location.href='project_editor.aspx?function=id=' + id + options;
}

function ManageProjects() {
  location.href='project_editor.aspx';
}

function OpenDrawing(src,options) {
  if (isNaN(src)) { return false }
  var input = document.getElementById('grdFansFocusedRow');
  var pos = input.value.lastIndexOf('~') + 1;
  if (pos != -1) { displayPopup('/draw_dims_detect.htm?id=' + input.value.substr(pos) + '&src=' + src + options,'Drawing',724,468,'scrollbars=no,resizable=yes') }
}

function OpenPriceDetailEx(src,id,options) {
  if (isNaN(src)) { return false }
  displayPopup('price_detail.aspx?id=' + id + '&src=' + src + options,'PriceDetail',350,250,'scrollbars=yes');
}

function OpenPriceDetail(src,options) {
  if (isNaN(src)) { return false }
  var input = document.getElementById('grdFansFocusedRow');
  var pos = input.value.lastIndexOf('~') + 1;
  if (pos != -1) { displayPopup('/price_detail.aspx?id=' + input.value.substr(pos) + '&src=' + src + options,'PriceDetail',350,250,'scrollbars=yes') }
}

function OpenMultipler(isItem) {
  if (isNaN(isItem)) { return false }
  var input = document.getElementById('grdFansFocusedRow');
  var pos = input.value.lastIndexOf('~') + 1;
  if (pos != -1) {
    if (isItem) {
      displayPopup('price_editor.aspx?m=0&id=' + input.value.substr(pos),'PriceEditor',662,390,'scrollbars=no')
    } else {
      displayPopup('price_editor.aspx?m=1','PriceEditor',662,75,'scrollbars=no')
    }
  }
}

function OpenBadSelection(num,dir) {
  if (isNaN(num)) { return false }
  displayPopup('/bad_selection.aspx?n=' + num + '&m=' + dir,'BadSelection',492,120,'');
}

function OpenTunnelDesign() {
	displayPopup('tunnel_design.aspx','TunnelDesign',762,546,'scrollbars=no,resizable=yes');
}

function OpenTunnelDesignProperties(setnum, fannum) {
	displayPopup('tunnel_design_properties.aspx?s=' + setnum + '&f=' + fannum,'TunnelDesignProperties',342,136,'scrollbars=no');
}

function OpenTunnelDesignDistance(setnum) {
	displayPopup('tunnel_design_distance.aspx?s=' + setnum,'TunnelDesignDistance',342,100,'scrollbars=no');
}

function DeleteFan() {
  var input = document.getElementById('grdFansFocusedRow');
  var pos = input.value.lastIndexOf('~') + 1;
  if (pos != -1) {
    document.forms(0).FanID.value=input.value.substr(pos);
    return ConfirmRemove('');
  } else {
    return false;
  }
}

function OpenPrintDialog(id,src,options) {
  if (isNaN(id)&&isNaN(src)) {
    var input = document.getElementById('grdFansFocusedRow');
    var pos = input.value.lastIndexOf('~') + 1;
    if (pos != -1) { displayPopup('print_info.aspx?id=' + input.value.substr(pos) + '&src=0' + options,'PrintInfo',680,350,'') }
  } else {
    displayPopup('print_info.aspx?id=' + id + '&src=' + src + options,'PrintInfo',680,380,'');
  }
}

function AddToProject(id,options) {
    displayPopup('users/project_selector.aspx?function=add&id=' + id + options,'ProjectEditor',735,450,'resizable=yes,scrollbars=yes')
}

function GetFocusedRowId(ctrl) {
  var input = document.getElementById(ctrl);
  var pos = input.value.lastIndexOf('~') + 1;
  if (pos != -1) {
    return input.value.substr(pos);
  } else {
    return 0;
  }
}

function SelectFOR(fofr) {
  var thisTD=MM_findObj('tdA');
  if (fofr=='A') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('tdB');
  if (fofr=='B') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('tdAD');
  if (fofr=='AD') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('tdAU');
  if (fofr=='AU') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('tdBD');
  if (fofr=='BD') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('tdBU');
  if (fofr=='BU') {
    thisTD.background='images/for/button_on.jpg';
  } else {
    thisTD.background='images/for/button_off.jpg';
  }
  thisTD=MM_findObj('txtFOR');
  thisTD.value=fofr;
}

function ShowSpecs(id,lang) {
  var img=parent.document.getElementById('imgFan');
  var frm=parent.document.getElementById('ifrSpecs');
  var frmDoc;
  
  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }

  img.src='images/group/' + id + '.gif';
  frm.src='get_specs.aspx?f=' + encodeURI('specs/' + lang + '/' + id + '.htm');
}

function setCookie(sName,sValue,nDays) {
	var expires = "";
	if ( nDays ) {
		var d = new Date();
		d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 );
		expires = "; expires=" + d.toGMTString();
	}
	document.cookie = sName + "=" + sValue + expires + "; path=/";
};

function getCookie(sName) {
	var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" );
	var res = re.exec( document.cookie );
	return res != null ? res[3] : null;
}

function LoadSelector() {
  var selectedPane=getCookie('SelectedPane');
  var frm=document.getElementById('ifrFilters');
  
  if (selectedPane!=null) {
    frm.src=selectedPane;
  } else {
    frm.src='ancillaries.aspx';
  }
}

function NavigateIFrame(url) {
  var frm=document.getElementById('ifrFilters');
  var frmDoc, tarURL;
  
  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }
  tarURL=frmDoc.getElementById('targetURL');
  if (tarURL!=null) {
    tarURL.value=url;
    frmDoc.forms[0].submit();
    return false;
  } else {
    frm.src=url;
    return false;
  }
}

function GoSelect() {
  var frm=document.getElementById('ifrFilters');
  var frmDoc, tarURL;

  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }
  tarURL=frmDoc.getElementById('targetURL');
  if (tarURL!=null) {
    tarURL.value='SELECT';
    frmDoc.forms[0].submit();
    return false;
  } else {
    SubmitSelect();
    return false;
  }
}

function loadGrid(cbo) {
  var grp=cbo.options[cbo.selectedIndex].value;
  if (cbo.selectedIndex!=0) {
    ifrGrid.navigate('ancillaries_edit_grid.aspx?g=' + grp)
  } else {
    ifrGrid.navigate('ancillaries_edit_grid.aspx')
  }
}

function submitIFrame(frmName) {
  var frm=document.getElementById(frmName);
  var frmDoc, tarURL;

  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }

  frmDoc.forms[0].submit();
}

function loadProducts(sub) {
  var frm=document.getElementById('ifrGrid');
  var cbo=document.getElementById('cboRanges');
  var g=cbo.options[cbo.selectedIndex].value;
  var frmDoc, tarURL;

  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }

  tarURL=frmDoc.getElementById('targetURL');
  if (tarURL != null) {
    if (sub) {
      tarURL.value='ACCEPT';
    } else {
      tarURL.value=g;
    }
  }
  frmDoc.forms[0].submit();
}

function RefreshIFrame(f) {
  var frm=document.getElementById(f);
  var frmDoc;

  if (document.all) {
    frmDoc=frm.contentWindow.document;
  } else {
    frmDoc=frm.contentDocument;
  }
  
  frmDoc.URL=frmDoc.URL;  
}
