// twistie.js

var req = null

function toggle(name)
{
  var style = getClassStyle(name)
  //alert("name=" + name + ",style.display=" + style.display)
  
	var expd = xbGetElementById("imgexp" + name)
	var col = xbGetElementById("imgcol" + name)
	var sumy = xbGetElementById("summary" + name)
	var lbl = xbGetElementById("lblexp" + name)
	var altlbl = xbGetElementById("lblcol" + name)
	
	if(style.display == "none")
  {		
		style.display = "block"
		
		expd.style.display = "none"
		lbl.style.display = "none"
		col.style.display = "block"
		altlbl.style.display = "block"
		
		//may not be available
		if(sumy != null) sumy.style.display = "none"
	}
  else
  {		
		style.display = "none"
		
		expd.style.display = "block"
		lbl.style.display = "block"
		col.style.display = "none"
		altlbl.style.display = "none"
		if(sumy != null) sumy.style.display = "block"
	}
  sendTwistieState(name)
}

/**
 * Tab Function to follow
 */
function switchTabs(obj)
{
	//get names of clicked 
	//alert("Obj :" + obj)
	var celName = "cel" + obj.substring(0, obj.lastIndexOf("~"))
	//alert("celName :" + celName)
	var lblName = "lbl" + celName.substring(3)
	var cntName = "content" + celName.substring(3)
	var lftName = "left" + celName.substring(3)
	var rtName = "right" + celName.substring(3)
	//get the id of the clicked
	var celId = "cel" + obj
	
	var lblId = "lbl" + celId.substring(3)
	var cntId = "content" + celId.substring(3)
	var lftId = "left" + celId.substring(3)
	var rtId = "right" + celId.substring(3)
	
		//change everything
	for (var i = 0; i < NoTabs; i++)
	{
		celObj = xbGetElementById(celName + "~" + (i + 1))
		lftObj = xbGetElementById(lftName + "~" + (i + 1))
		rtObj = xbGetElementById(rtName + "~" + (i + 1))
		lblObj = xbGetElementById(lblName + "~" + (i + 1))
		contentObj = xbGetElementById(cntName + "~" + (i + 1))		
		lblObj.className = cssUnselectClass
		celObj.className = cssUnselectClass
		lftObj.className = cssUnselectedLeftClass
		rtObj.className = cssUnselectedRightClass
		contentObj.style.display = "none"		
	}
	//now show the clicked
	celObj = xbGetElementById(celId)
	lblObj = xbGetElementById(lblId)
	var contentObj = xbGetElementById(cntId)
	var lftIdObj = xbGetElementById(lftId)
	var rtIdObj = xbGetElementById(rtId)
	celObj.className = cssSelectClass
	lblObj.className = cssSelectClass
	lftIdObj.className = cssSelectedLeftClass
	rtIdObj.className = cssSelectedRightClass	
	contentObj.style.display = "block"		
	
	//Send data to server via XMLHttpRequest
	sendTabState(obj)
}


function sendTabState(tabId)
{
  req = new XMLHttpRequest()
  var sendTo = g_virtualRoot + "/fujStateStore"
  var state = "?" + "pageid=" + escape(pageID) + "&tabid=" + escape(tabId)
  //alert("To Send : " + sendTo + state)
  req.open("POST", sendTo + state, true);
  req.onreadystatechange = handleHttpResponse;
  req.send(null)
}

function sendTwistieState(twistieId)
{
  req = new XMLHttpRequest()
  var sendTo = g_virtualRoot + "/fujStateStore"
  var state = "?" + "pageid=" + escape(pageID) + "&opentwistie=" + escape(twistieId)
  //alert("To Send : " + sendTo + state)
  req.open("POST", sendTo + state, true);
  req.onreadystatechange = handleHttpResponse;
  req.send(null)
}

function handleHttpResponse()
{
  if (req.readyState == 4)
  {
    //alert("Response : " + req.status + " " + req.statusText)
  }
}
