// function to allow XHTML compliant turning off of browser auto-completing of fields
jQuery.fn.nocomplete = function() {
  i = 0;
  d = new Date;
  time = d.getTime();
  return this.each(function(){
    newName = time+''+i;
    oldName = this.name;
    this.name = newName;
    jQuery(this).keyup(function(e) {
      jQuery(this).next()[0].value = jQuery(this).attr('value');
    }).after('<input type="hidden" name="'+oldName+'" value="'+this.value+'" />');
    i++;
  });
};
jQuery(function() {
  jQuery('input.nocomplete').nocomplete();
});

function showHide() {
  var objID = [ "obj1", "obj2" ];
  var a = showHide.arguments;
  if(a.length >= 1) {
    if(a[0] == '2') {
      for(var i=0; i < objID.length; i++) {
        var obj = MM_findObj(objID[i]);
        if(null != obj) {
          obj.style.display = '';
        }
      }
      return false;          
    } else {
      for(var i=0; i < objID.length; i++) {
        var obj = MM_findObj(objID[i]);
        if(null != obj) {
          obj.style.display = 'none';
        }
      }
      return false;          
    }
  }
}

function resetDate(target, source) {
  document.getElementById(target).value = 'dd/mm/yyyy';
  document.getElementById(source).blur();
}

function orderEditIe6() {
  var newTop = $('#container').height() - 34;
  $('#footer').css({ top: newTop+'px' });
}

function vesselDetailsFormChanger(source) {
  var vesselTableId = 'vesselDetailsTable';
  var sourceObj = document.getElementById(source);
  var targetObj = document.getElementById(vesselTableId);
  var selectedValue = sourceObj.options[sourceObj.selectedIndex].value;
  if (selectedValue == 1) {
    setExportEAD();
    setExportAAD();
    targetObj.style.display = 'block';
  } else if (selectedValue == 2) {
    setImportEAD();
    setImportAAD();
    targetObj.style.display = 'block';
  } else {
    targetObj.style.display = 'none';
  }
}

function checkBoxChangeClassRfpDetails(sourceObj, targetObj, classNameOn, classNameOff) {
  if (document.getElementById(sourceObj).checked == true) {
    document.getElementById(targetObj).className = classNameOn;
    document.getElementById(targetObj+'_details').className = classNameOn;
    fetchProductDetails(sourceObj);
  } else if (document.getElementById(sourceObj).checked == false) {
    document.getElementById(targetObj).className = classNameOff;
    document.getElementById(targetObj+'_details').className = classNameOff;
    removeProductDetails(sourceObj);
  }
  document.getElementById(sourceObj).blur();
}

function checkBoxChangeClass(sourceObj, targetObj, classNameOn, classNameOff) {
  if (document.getElementById(sourceObj).checked == true) {
    document.getElementById(targetObj).className = classNameOn;
  } else if (document.getElementById(sourceObj).checked == false) {
    document.getElementById(targetObj).className = classNameOff;
  }
  document.getElementById(sourceObj).blur();
}

function changeClass(obj, className) {
  if (undefined == document.getElementById(obj) || null == document.getElementById(obj)) {
    return;
  }
  if (document.getElementById(obj).className != 'dataTableRowSelected')
    document.getElementById(obj).className = className;
}

function makeArray() {
  var array = new Array();
  for (i=0; i < arguments.length; i++) {
    array[i] = arguments[i];
  }
  return array;
}

function ie6head(){	// output any correcting css for ie6
	var width = getIeWidth();	
	setHeaderFooterWidth(width);
}

function getIeWidth(){	// only works in IE not FF
	var width = document.getElementById('content').offsetWidth;
	return width;
}

function getHeight(target){
    var height = document.getElementById(target).offsetHeight;
    return height;
}

function ffHead(){
	var width = getFFWidth();
	setHeaderFooterWidth(width);
}

function getFFWidth(){	// TODO: Need work around : Firefox not returning adjusted width of object
	document.getElementById('content').style.width = '';
	var width = document.getElementById('content').offsetWidth;
	return width;
}

function setHeaderFooterWidth(width){
	document.getElementById('header').style.width = width + 'px';
	document.getElementById('footer').style.width = width + 'px';
}

function cssHack(override){
	if (document.getElementById('content') != null){
		var app = navigator.appName;
		var ver = navigator.appVersion;
		if (app == 'Microsoft Internet Explorer'){
			var search = ver.search('MSIE 7.0');
            
			if (search > -1){
				// user is running IE 7
				// ie7head(); // problems getting ie7 css to work use ie6 hack instead
				ie6head();
			} else {
				// user is running pre IE 7 MS browser
				if (override == 1) {
					ie6head();	// needs to run at bottom of page to get page width
				}
				if (override == 2) {
				    var sourceDiv = 'container';
					var height = getHeight(sourceDiv);
	                height += 200;
	                document.getElementById('footer').style.top = height + 'px';
				}
				if (override == 3) {
				    var sourceDiv = 'content';
					var height = getHeight(sourceDiv);
	                height += 160;
	                document.getElementById('footer').style.top = height + 'px';
				}
			}
		} else {
			// user is running a non MS browser
			ffHead();
		}
		// alert(app+'\n'+ver);
	}
}

cssHack(0);