/***************** browser detection ******************/

// IE browser? IE version?
Browser_is_unsupported=false;
Browser_is_IE_6_or_lower=false;
Browser_is_FF=Browser_is_Opera=Browser_is_Safari=Browser_is_Seamonkey=false;
Browser_is_FF_old=false;
Browser_Version=0;

var js_UserAgent = navigator.userAgent.toLowerCase();
Browser_Nom_Version = parseFloat(navigator.appVersion); 

if (Browser_Nom_Version < 4) Browser_is_unsupported=true;

while(true) {
    if (Browser_is_unsupported)
        break;
    Browser_is_IE = ( (js_UserAgent.indexOf('msie') != -1) && (js_UserAgent.indexOf('opera') == -1) && (js_UserAgent.indexOf('webtv') == -1) ); 
    if (Browser_is_IE) {
        Browser_Version = parseFloat( js_UserAgent.substring( js_UserAgent.indexOf('msie ') + 5 ) );
        Browser_is_IE_6_or_lower=(Browser_is_IE && Browser_Version<7.0);
        if (Browser_Version<6) Browser_is_unsupported=true;
        break;
    }
    Browser_is_FF = (js_UserAgent.indexOf('firefox/')!=-1);
    if (Browser_is_FF) {
        Browser_Version = parseFloat( js_UserAgent.substring(js_UserAgent.indexOf('firefox/')+8));
        Browser_is_FF_old=(Browser_Version<3.0);
        if (Browser_Version<1.5) Browser_is_unsupported=true;
        break;
    }
    Browser_is_Opera=(js_UserAgent.indexOf('opera/') != -1);
    Browser_is_Safari=(js_UserAgent.indexOf('safari') != -1);
    Browser_is_Seamonkey=(js_UserAgent.indexOf('seamonkey') != -1);
    break;
}

/***************** client size ******************/

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}


function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  wsize=new Object();
  wsize.width=myWidth; wsize.height=myHeight;
  return wsize;
}

/***************** modal box ******************/

var modalbox_modaldiv=null;
var modalbox_interval=null;
var modalbox_iframe=null;
var modalbox_iframe_top=0;
var modalbox_parent_doc_body=null;

function modalbox_setbackgroundsize() {
    wsize=getWindowSize();
    modalbox_modaldiv.style.top="0px"; //f_scrollTop()
    modalbox_modaldiv.style.width=wsize.width+"px";
    modalbox_modaldiv.style.height=getDocHeight()+"px"; //wsize.height
    //modalbox_iframe.style.top=f_scrollTop()+modalbox_iframe_top+"px";
}

function modalbox_start(contenturl,contentwidth,contentheight) {
    wsize=getWindowSize();
    var mdiv = document.createElement( 'div' ) ;
    mdiv.type = 'div';
    mdiv.style.position="absolute";
    mdiv.style.zIndex="11000";
    mdiv.style.left="0px";
    mdiv.style.top="0px";
    mdiv.style.opacity="0.75";
    mdiv.style.filter = 'Alpha(opacity=65)'; 
    mdiv.style.backgroundColor="#fff";
    document.body.appendChild(mdiv);

    var ifr = document.createElement( 'iframe' ) ;
    ifr.type = 'iframe';
    ifr.allowTransparency=true;
    ifr.style.background="transparent";
    ifr.frameBorder="0";
    ifr.style.border = "none";
    ifr.style.position = "absolute";
    ifr.style.zIndex = "20001";
    extern_width=contentwidth+40;
    extern_height=contentheight+45;
    ifr.style.width=extern_width+"px";
    ifr.style.height=extern_height+"px";
    leftpos=(wsize.width-extern_width)/2; if (leftpos<0) leftpos=0;
    ifr.style.left=leftpos+"px";
    modalbox_iframe_top=(wsize.height-extern_height)/2; if (modalbox_iframe_top<0) modalbox_iframe_top=0;
    ifr.style.top=modalbox_iframe_top+f_scrollTop()+"px";
    document.body.appendChild(ifr);
    ifr.setAttribute("src",contenturl);

    modalbox_modaldiv=mdiv;
    modalbox_iframe=ifr;
    modalbox_parent_doc_body=document.body;
    
    modalbox_setbackgroundsize();
    modalbox_interval=setInterval('modalbox_setbackgroundsize()',100);

}
function modalbox_finish() {
    clearInterval(modalbox_interval);
    modalbox_parent_doc_body.removeChild(modalbox_iframe);
    modalbox_parent_doc_body.removeChild(modalbox_modaldiv);
    modalbox_iframe=null;
}


/***************** tools ******************/

function popupwindow(url,width) {
    newcustomwindow=window.open(url,'name','width='+width+',resizable=1,scrollbars=1,toolbar=0');
    if (window.focus) { newcustomwindow.focus() }
}


