var m_oAncor	= null;
var m_oScroll	= null;
var m_nW		= 0;
var m_nH		= 0;
var m_oStopObj	= null;
var m_nIFZin	= 150;

function genIFd(iframeId,strAncor,page_url,strScrollObj,strStopObj,strBorderColor) {
	genIFdm(iframeId,EById(strAncor),page_url,strScrollObj,strStopObj,strBorderColor);
}

function genIFdm(iframeId,strAncor,page_url,strScrollObj,strStopObj,strBorderColor) {
	var newIF				= EById(iframeId);
	if (!newIF) {
		newIF				= document.createElement("IFRAME");
		newIF.id			= iframeId;
		newIF.name			= iframeId;
		if (strBorderColor) newIF.style.border	= '1px solid '+strBorderColor;
		else				newIF.style.border	= '1px solid black';
		newIF.style.display	= 'none';
		newIF.style.position= 'absolute';
		newIF.marginHeight	= 0;
		newIF.marginWidth	= 0;
		newIF.frameBorder	= 0;
		newIF.scrolling		= "no";
		newIF.src			= "images/c.gif";
		if (strStopObj) EById(strStopObj).appendChild(newIF);
		else			document.body.appendChild(newIF);
	}
	newIF.style.zIndex	= m_nIFZin;
	m_nIFZin++;
	genIFm(iframeId,strAncor,page_url,strScrollObj,strStopObj);
}
function genIF(iframeId,strAncor,page_url,strScrollObj,strStopObj) {
	genIFm(iframeId,EById(strAncor),page_url,strScrollObj,strStopObj);
}

function genIFm(iframeId,oAncor,page_url,strScrollObj,strStopObj) {
	m_oAncor=oAncor;
	var oIFrame=EById(iframeId);
	if (strStopObj) m_oStopObj=EById(strStopObj);
	else			m_oStopObj=null;
	if (!oIFrame) {
		alert('No such Iframe defined');
		return;
	}
	var wIFrame=oIFrame.contentWindow;
//	if (!m_oAncor) {
//		alert('No Ancor object was passed as parameter')
//		return;
//	}
	oIFrame.style.left=0;
	oIFrame.style.top=0;
	m_oScroll = EById(strScrollObj);
	if ("none"!=oIFrame.style.display) oIFrame.style.display="none";
	wIFrame.location.replace(page_url);
}

function ResetFrameSize(nW,objName,inframeName,bIsNoPos,bCenterAllgined) {
	var dFF=GetCurrFrame();
	if (!dFF) {
//		alert('No parent iframe found')
		return;
	}
	var oTable=null
	if (objName)	oTable=EById(objName);
	else			oTable=document.body;
	
	dFF.style.display="block";
//	alert(oTable.id+' '+parent.m_nH+' '+oTable.offsetHeight+' '+dFF.id)
	
	dFF.style.width=parent.m_nW=nW;
	parent.m_nH = oTable.offsetHeight;
	dFF.style.height=parent.m_nH;
	dFF.contentWindow.document.body.onmousedown	= function() {dFF.style.zIndex=parent.m_nIFZin;parent.m_nIFZin++;}
	if (bIsNoPos) return;
	if (parent.m_oAncor==null) {
		if (parent.m_nW>parent.document.body.clientWidth) parent.m_nW=parent.document.body.clientWidth-20;
		if (parent.m_nH>parent.document.body.clientHeight) parent.m_nH=parent.document.body.clientHeight-20;
		dFF.style.left	= parent.document.body.clientWidth/2-parent.m_nW/2;
		dFF.style.top	= parent.document.body.clientHeight/2-parent.m_nH/2;
		return;
	}
	try	{
		dFF.style.left=parent.get_left(parent.m_oAncor,parent.m_oScroll,parent.m_nW,parent.m_oStopObj);
		dFF.style.top =parent.get_top(parent.m_oAncor,parent.m_oScroll,parent.m_nH,parent.m_oStopObj);
	}
	catch(err)	{
		dFF.style.display="none";
		return;	
	}
}
function GetCurrFrame() {
	var coll	= parent.document.getElementsByTagName('IFRAME');
	var nLength = coll.length;
	for(var i=0;i<nLength;i++) if (coll[i].contentWindow==window) return coll[i];
}
function CCPop() {
	var oFrame=GetCurrFrame();
	if (oFrame) oFrame.style.display="none";
}



// drag and drop frames

var objFrameName=null;

function initDragDropFrame(objName) {
	objFrameName=document.window;
	var coll	= parent.document.getElementsByTagName('IFRAME');
	if (!coll) return;
	var nLength=coll.length;
	for(var i=0;i<nLength;i++) {
		if (coll[i].contentWindow==window) {
			objFrameName=coll[i];
			break;
		}
	}
	var tbl = EById(objName);
	if(tbl == null) return;
	if (document.all) {
		tbl.onmousedown			= dragInitFrame;
		tbl.ondragstart			= dragStartFrame;
		tbl.ondragend			= dragEndFrame;
		tbl.ondrop				= dragEndFrame;
	}
	else {
		tbl.onmousedown			= function (evt) {	dragInitFramFF(evt);	}
	}
}

function dragInitFramFF(evt) {
	if (!dragStart && evt.which==1) {
		document.onmousemove	= function (evt) {	dragStartFrameFF(evt);	}
		document.onmouseup		= function (evt) {	dragStopFF(evt);}
	}
}

function dragOverFrameFF(evt) {
	evt.returnValue = false;
	evt.cancelBubble = true;
	dragOverFromP(evt.screenX,evt.screenY);
}

function dragStopFF(evt) {
	document.onmouseup	= null;
	document.onmousemove= null;
	dragStart=false;
}

function dragStartFrameFF(evt) {
	dragStart=true;
	var dFF=objFrameName;
	oldX=evt.screenX;
	oldY=evt.screenY;
	origX=dFF.offsetLeft;
	origY=dFF.offsetTop;
	origScrollY=parent.document.body.scrollTop;
	var myObj = document.body;
	document.onmousemove	= function (evt) {	dragOverFrameFF(evt); }
}


function dragInitFrame() {
//	if(window.event.srcElement.tagName != "TD") return;
	window.event.srcElement.dragDrop();
}

var oldX=0;
var oldY=0;
var origX=0;
var origY=0;
var origScrollX=0;
var origScrollY=0;
var dragStart=false;

function dragStartFrame() {
	dragStart=true;
	event.dataTransfer.effectAllowed = "move";
	var dFF=objFrameName;
	oldX=event.screenX;
	oldY=event.screenY;
	origX=dFF.offsetLeft;
	origY=dFF.offsetTop;
	origScrollY=parent.document.body.scrollTop;
	origScrollX=parent.document.body.scrollLeft;
	var myObj = document.body;
	markAll(document.body,top);
	document.body.ondragover	= dragOverFrame;
	dFF.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=70);"
}

function dragOverFromP(x,y) {
	if (!dragStart) return;
	var dFF=objFrameName;
	if (!dFF) return;
	var maxObj	= parent.document.body;
	if (parent.m_oStopObj) maxObj=parent.m_oStopObj;

	var changeScrollY = parent.document.body.scrollTop-origScrollY;
	var changeScrollX = parent.document.body.scrollLeft-origScrollX;
	var newX=origX+x-oldX+changeScrollX;
	var newY=origY+y-oldY+changeScrollY;
	var maxY	= (maxObj.scrollHeight>maxObj.offsetHeight?maxObj.scrollHeight:maxObj.offsetHeight)-2;
	var maxX	= (maxObj.scrollWidth>maxObj.offsetWidth?maxObj.scrollWidth:maxObj.offsetWidth)-2;
	//alert(maxObj.scrollHeight+' '+maxObj.offsetHeight)
	if (newX<0) dFF.style.left=0;	
	else {
		if (newX+dFF.offsetWidth>maxObj.scrollWidth) dFF.style.left=maxObj.scrollWidth-dFF.offsetWidth;
		else dFF.style.left = newX;
	}
	if (newY<0) dFF.style.top=0;
	else {
		if (newY+dFF.offsetHeight>maxY) dFF.style.top=maxY-dFF.offsetHeight;
		else dFF.style.top = newY;
	}
}

function dragOverFrame() {
	event.returnValue = false;
	dragOverFromP(event.screenX,event.screenY);
	return false;
}

function dragEndFrame() {
	dragStart=F;
	var dFF=objFrameName;
	unmarkAll(top);
	dFF.style.filter=null;
}

