/***************************************************************************
File name 		: java_functions.js
Author			: $Author: Addy koster $
Description		: Contains all java functions needed for admin_newsletter.php.
Date Created	: Tuesday 24 February 2004 15:32:07
File Version	: $Revision: 3.10 $
Date			: $Date: 2005/03/10 15:53:50 $
Source			: $Source: /e107newsletter/java/java_functions.js $
----------------------------------------------------------------------------

Revision history:
Version    		: 3.10, date 15 May 2007
					* New file
************************************************************************/


	function popwindow(popsrc,stuff)
		{
		videoWindow = window.open(popsrc, 'Popups', stuff)
		}

	function deletemember()
		{
		if (confirm('Before we continue are you sure you want to do this.'))
			{
			return true;
			}
			else
				{
				return false;
				}
		}

	function insertAtCursor(myField, myvalue) {
		//IE support
		// calling the function
		//insertAtCursor(document.formname.fieldname, 'this value');
		if (document.selection) {
			myField.focus();
			sel = document.selection.createRange();
			sel.text = myvalue;
		}
		//MOZILLA/NETSCAPE support
		else if (myField.selectionStart || myField.selectionStart == '0') {
			var startPos = myField.selectionStart;
			var endPos = myField.selectionEnd;
			myField.value = myField.value.substring(0, startPos)
			+ myvalue
			+ myField.value.substring(endPos, myField.value.length);
		} else {
			myField.value += myvalue;
		}
	}


/*
	function iFrameHeight() {
       var h = 0;
       if ( !document.all ) {
          h = document.getElementById('blockrandom').contentDocument.height;
              document.getElementById('blockrandom').style.height = h + 60 + 'px';
       } else if( document.all ) {
          h = document.frames('blockrandom').document.body.scrollHeight;
              document.all.blockrandom.style.height = h + 20 + 'px';
       }
    }*/



/***********************************************
* IFrame SSI script II- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/

//Input the IDs of the IFRAMES you wish to dynamically resize to match its content height:
//Separate each ID with a comma. Examples: ["myframe1", "myframe2"] or ["myframe"] or [] for none:
	var iframeids=["achive_frame"]

//Should script hide iframe from browsers that don't support this script (non IE5+/NS6+ browsers. Recommended):
	var iframehide="yes"

	var getFFVersion=navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
	var FFextraHeight=parseFloat(getFFVersion)>=0.1? 16 : 0 //extra height in px to add to iframe in FireFox 1.0+ browsers

function resizeCaller() {

	var dyniframe=new Array()
	for (i=0; i<iframeids.length; i++){
		if (document.getElementById) resizeIframe(iframeids[i])
		//reveal iframe for lower end browsers? (see var above):
		if ((document.all || document.getElementById) && iframehide=="no"){
			var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
			tempobj.style.display="block"
		}
	}
}

function resizeIframe(frameid){

	var currentfr=document.getElementById(frameid)

	if (currentfr && !window.opera){
		currentfr.style.display="block"
		if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
			currentfr.height = currentfr.contentDocument.body.offsetHeight+FFextraHeight;
		else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
				currentfr.height = currentfr.Document.body.scrollHeight;
		if (currentfr.addEventListener)
			currentfr.addEventListener("load", readjustIframe, false)
		else if (currentfr.attachEvent){
				currentfr.detachEvent("onload", readjustIframe) // Bug fix line
				currentfr.attachEvent("onload", readjustIframe)
			 }
	}
}

function readjustIframe(loadevt) {

	var crossevt=(window.event)? event : loadevt
	var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement

	if (iframeroot)
		resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url){
	if (document.getElementById) document.getElementById(iframeid).src=url
}

if (window.addEventListener)
	window.addEventListener("load", resizeCaller, false)
	else if (window.attachEvent)
			window.attachEvent("onload", resizeCaller)
			else
				window.onload=resizeCaller


// tooltip functions: www.texSoft.it
//==================================
function xstooltip_findPosX(obj)
{
  var curleft = 0;
  if (obj.offsetParent)
  {
    while (obj.offsetParent)
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}
function xstooltip_findPosY(obj)
{
    var curtop = 0;
    if (obj.offsetParent)
    {
        while (obj.offsetParent)
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}
function xstooltip_show(tooltipId, parentId, posX, posY)
{
    it = document.getElementById(tooltipId);

    if ((it.style.top == '' || it.style.top == 0)
        && (it.style.left == '' || it.style.left == 0))
    {
        // need to fixate default size (MSIE problem)
        it.style.width = it.offsetWidth + 'px';
        it.style.height = it.offsetHeight + 'px';

        img = document.getElementById(parentId);

        // if tooltip is too wide, shift left to be within parent
        if (posX + it.offsetWidth > img.offsetWidth) posX = img.offsetWidth - it.offsetWidth;
        if (posX < -200 ) posX = -200;

        x = xstooltip_findPosX(img) + posX;
        y = xstooltip_findPosY(img) + posY;

        it.style.top = y + 'px';
        it.style.left = x + 'px';
    }

    it.style.visibility = 'visible';
}
function xstooltip_hide(id)
{
    it = document.getElementById(id);
    it.style.visibility = 'hidden';
}
