var isTradeAllowed = true;

function doContractChange() {
	var crapObj = document.getElementById('craps');
	if (document.action_form.contract.value < '20')	{
		document.action_form.ports.style.display = 'inline';
		crapObj.style.display = 'inline';
	} else {
		document.action_form.ports.style.display = 'none';
		crapObj.style.display = 'none';
	}
}

function doSetDelete() {
	var obj = document.getElementById('action');
	if (obj)	{
		obj.value = 'delete';
	}
}

/*function doTab(tabIndex) {
	var otherIndex = 1 - tabIndex;
	var obj = document.getElementById('Tab' + otherIndex + 'Entry');
	obj.style.display = 'none';
	var obj = document.getElementById('Tab' + tabIndex + 'Entry');
	obj.style.display = 'block';
}

function doToggleTab(tabIndex) {
	var obj = document.getElementById('Tab' + tabIndex + 'Toggle');
	obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
}*/

function doToggleOn(isEdit) {									// set trade tab on
	if (!isTradeAllowed) return;								// don't toggle if we can't trade an order
	var obj = document.getElementById('ActionTabs');
	obj.className = 'TabTrade';
	var obj = document.getElementById('TradeToggle');
	obj.style.display = 'block';
	var obj = document.getElementById('TradeToggle2');
	obj.style.display = 'block';
	var obj = document.getElementById('InputToggle2');
	obj.style.display = 'none';
	if (isEdit == 1)	{										// this is the edit screen
		var obj = document.getElementById('InputToggle');
		obj.style.display = 'none';
		var obj = document.getElementById('DeleteToggle');
		obj.style.display = 'none';
	}
	var obj = document.getElementById('UnderRef');
	obj.style.display = 'none';
	var obj = document.getElementById('SubmitButton');
	obj.value = 'Trade';
	var obj = document.getElementById('action');
	obj.value = 'trade';
	document.action_form.action += '&trade';
}

function doToggleOff(isEdit) {									// set input tab on
	var obj = document.getElementById('ActionTabs');
	obj.className = 'TabInput';
	var obj = document.getElementById('TradeToggle');
	obj.style.display = 'none';
	var obj = document.getElementById('TradeToggle2');
	obj.style.display = 'none';
	var obj = document.getElementById('InputToggle2');
	obj.style.display = 'block';
	if (isEdit == 1)	{										// this is the edit screen
		var obj = document.getElementById('InputToggle');
		obj.style.display = 'block';
		var obj = document.getElementById('DeleteToggle');
		obj.style.display = 'inline';
	}
	var obj = document.getElementById('UnderRef');
	obj.style.display = 'block';
	var obj = document.getElementById('SubmitButton');
	obj.value = 'Enter';
	var obj = document.getElementById('trade_with');
	obj.selectedIndex = 0;
	var obj = document.getElementById('action');
	obj.value = 'input';
	document.action_form.action = '';
}

function doLinkage(linkageType, linkSuffix) {
	var lSuff = (linkSuffix) ? linkSuffix : '';
	var objIcons = document.getElementById('LinkageIcons' + lSuff);
	var classLink = (linkageType == '') ? '' : ' LinkType' + linkageType;
	objIcons.className = 'NoLabel' + classLink;
	var objOth = document.getElementById('linkage_other' + lSuff);
	if (linkageType == '')	{
		objIcons.style.display =  'none';
		objOth.style.display = 'none';
		objOth.value = '';
	} else {
		objIcons.style.display = 'block';
		if (linkageType == 'oth')	{
			objOth.style.display = 'block';
		} else {
			objOth.style.display = 'none';
			objOth.value = '';
		}
	}
}

function doPriceType(objPriceType) {
	var objOrder = document.getElementById('OrderIcons');
	var objUpper = document.getElementById('UpperPrice');
	var objTabs = document.getElementById('ActionTabs');
	if (objPriceType.value > 1)	{
		objOrder.style.display = 'block';
		objUpper.style.display = 'block';
		isTradeAllowed = false;
		objTabs.className = 'TabInput NoSwitch Greyed ClearFix';
	} else {
		objOrder.style.display = 'none';
		objUpper.style.display = 'none';
		isTradeAllowed = true;
		objTabs.className = 'TabInput ClearFix';
	}
}

function doOtherPeriodOn() {									// show other period fields
	var obj = document.getElementById('period');
	obj.style.display = 'none';
	var obj = document.getElementById('period_select');
	obj.style.display = 'none';
	var obj = document.getElementById('period_period');
	obj.style.display = 'inline';
	var obj = document.getElementById('period_year');
	obj.style.display = 'inline';
	var obj = document.getElementById('period_input');
	obj.value = 'bespoke';
}

function doOpenPrice(objName, bgNum) {
	this.className = 'BlockSel';
	opener.document.getElementById(objName + 'p').className = 'BackGround' + bgNum;
	opener.document.getElementById(objName + 't').className = 'BackGround' + bgNum;
}

function getObj(fieldName)	{
	var obj = document.getElementById(fieldName);
	return obj;
}

/*function doBlankUser(thisField)	{
	if (thisField.value == 'Username') thisField.value = '';
}*/

function doBlankEmail(thisField)	{
	if (thisField.value == 'Email') thisField.value = '';
}

function doBlankPass(thisField)	{
//	if (thisField.type != 'password')	{	not supported
	if (thisField.value == 'Password')	{
		thisField.value = '';
		thisField.type = 'password';
	}
}

function doMO() {
	var fieldObj = getObj('origin_other');
	fieldObj.value = 'M/O';
}

function doPop(winurl, winwidth, winheight) {
	popwin = window.open(winurl, 'LondonCommodityBrokersPopup', 'location=0,toolbar=0,top=50,left=50,width=' + winwidth + ',height=' + winheight + ',resizable=1,scrollbars=1');
	popwin.focus();
}

function doOpenBoard(winurl, winname, winparams) {
	popwin = window.open(winurl, winname, 'location=0,toolbar=0,top=50,left=50,' + winparams + ',resizable=1,scrollbars=1');
	popwin.focus();
}

/* login form overlabel stuff

function initOverLabels () {
  if (!document.getElementById) return;      

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // labels with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {

    if (labels[i].className == 'OverLabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute ('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      } 

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'OverLabelApply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to label elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i].getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-1000em' : '0';
      return true;
    }
  }
}

window.onload = function () {
  setTimeout(initOverLabels, 50);
};*/


function loadMap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("GoogleMap"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(51.5133, -0.11), 14);

		// Create our "tiny" marker icon
		var icon = new GIcon();
		icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
		icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		icon.iconSize = new GSize(12, 20);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);
		
		// Add markers to the map
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var lngSpan = northEast.lng() - southWest.lng();
		var latSpan = northEast.lat() - southWest.lat();
		var point = new GLatLng(51.5113, -0.1084);
		map.addOverlay(new GMarker(point, icon));
	}
}
