var prevTop = -1;
var prevLeft = -1;
var curTop = -1;
var curLeft = -1;

function pageWidth() {return window.innerWidth != null? window.innerWidth: document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body != null? document.body.clientWidth:null;}

function pageHeight() {return window.innerHeight != null? window.innerHeight: document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body != null? document.body.clientHeight:null;}

function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement && document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;}

function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement && document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;}

function $(x){return document.getElementById(x);}

function sizeFix()
{
    var mbox = $('mbox');
    if (mbox != null && mbox.style.display == 'block')
    {
        var wd = pageWidth()-100;
        var ht = (document.body.clientHeight)-100;
        ht = (ht<0 ? 0 : ht);
        wd = (wd<0 ? 0 : wd);
        var box = $('box');
        //mbox.style.height = pageHeight()+'px';
       	if (mbox.style.width.replace('px','') != document.body.clientWidth  && mbox.style.width.replace('px','') < document.body.clientWidth)
	    mbox.style.width = document.body.clientWidth+'px';
        //mbox.style.top = posTop()+'px';
        //mbox.style.left = posLeft()+'px';
        mbox.style.display = 'block';
        var tp = (50 + document.body.scrollTop);
        var lt = ((pageWidth()-wd)/2);
        box.style.top = (tp<0?0:tp)+'px';
        box.style.left = (lt<0?0:lt)+'px';
        box.style.width = wd+'px';
        box.style.height = ht+'px';
        box.style.display = 'block';
        return false;
    }
}

function scrollFix()
{
    var mbox=$('mbox');

    if (mbox != null && mbox.style.display == 'block')
    {
        var wd = pageWidth()-100;
        var ht = (document.body.clientHeight)-100;
        ht = (ht<0 ? 0 : ht);
        wd = (wd<0 ? 0 : wd);
        var tp = (50 + document.body.scrollTop);
        var lt = ((pageWidth()-wd)/2);
	curTop = (tp<0?0:tp);
	curLeft =  document.body.scrollLeft+50;
	SmoothScroll();
    }
}

var interval = -1;
function SmoothScroll()
{
	var box = $('box');
	var t = prevTop;
	var l = prevLeft;
	var s = 2;
	
	if (curTop>prevTop || curLeft>prevLeft)
	{
		t = (t+s<curTop) ? t+s : curTop;
		l = (l+s<curLeft) ? l+s : curLeft;
	}
	else
	{
		t = (t-s>curTop) ? t-s : curTop;
		l = (l-s>curLeft) ? l-s : curLeft;
	}


	if(box.style.top.replace('px','') == t && box.style.left.replace('px','') == l)
	{
		prevTop = curTop; 
		prevLeft = curLeft;
		clearInterval(interval);
	}
	else
	{

		if (box.style.top.replace('px','') != t)
			box.style.top = t +'px';
		if (box.style.left.replace('px','') != l)
        		box.style.left = l +'px';
		prevTop = t;
		prevLeft = l;
		interval = setTimeout("SmoothScroll()", 5);
	}
}

function inf(hidden)
{
    var tag = document.getElementsByTagName('select');
    for(i=tag.length-1; i>=0; i--)
        tag[i].style.visibility = hidden;
        
//    tag = document.getElementsByTagName('iframe');

//    for(i=tag.length-1; i>=0; i--)
//        tag[i].style.visibility = hidden;

    tag = document.getElementsByTagName('object');

    for(i=tag.length-1; i>=0; i--)
        tag[i].style.visibility = hidden;
}

function prepareModalBox(w)
{
    InitModalBox();
    $('box').style.display = 'block';
    $('box').src = w;
    showModalBox('box');
}

function InitModalBox()
{
    if($('mbox') == null)
    {
    var body = document.getElementsByTagName('body')[0];
    var mbox = document.createElement('div');
    mbox.setAttribute('id','mbox');
    mbox.style.backgroundImage = "url('../DAM/overlay.png')";
    mbox.style.display = 'none';
    mbox.style.position = 'absolute';
    mbox.style.top = 0;
    mbox.style.left = 0;
    mbox.style.zIndex = 998;
    
    var box = document.createElement('iframe');
    box.setAttribute('id','box');
    box.style.display = 'none';
    box.style.position = 'absolute';
    box.style.backgroundColor = 'Gray';
    box.style.border = 0;
    box.frameBorder = '0';
    box.style.top = 0;
    box.style.left = 0;
    box.style.zIndex = 999;

    body.appendChild(box);
    body.appendChild(mbox);
    }
}

function showModalBox(obl)
{
    window.onscroll = scrollFix; 
    window.onresize = sizeFix;

    var wd = pageWidth()-100;
    var ht = pageHeight()-100;
    ht = (ht<0 ? 0 : ht);
    wd = (wd<0 ? 0 : wd);
    
    var mbox = $('mbox'); 
    var tp = posTop()+((pageHeight()-ht)/2);
    var lt = posLeft()+((pageWidth()-wd)/2);
    //alert(document.body.style.height);
    mbox.style.height = document.body.scrollHeight+'px';//pageHeight()*2+'px';
    mbox.style.width = document.body.scrollWidth+'px';//pageWidth()+'px';
    mbox.style.top = '0px';
    mbox.style.left = '0px';
    mbox.style.display = 'block';
    var box = $('box');
    box.style.top = (tp<0?0:tp)+'px';
    box.style.left = (lt<0?0:lt)+'px';
    box.style.width = wd+'px';
    box.style.height = ht+'px';
    inf('hidden');
    box.style.display = 'block';
    prevTop = (tp<0?0:tp);
    prevLeft = (lt<0?0:lt);
    return false;
}

function hideModalBox(h)
{
    var mbox = $('mbox');
    var box = $('box');
    box.style.display = 'none';
    box.src = '';
    mbox.style.display = 'none';
    inf('visible');

    if (h == '1')
        setTimeout("AJAXupdate()", 1);
}

function AJAXupdate()
{
    PFSF_AjaxUpdateForm();
}

function GetDAMButtonScript(param,btnText,width)
{
    return  '<br/>' +
            '<button id="ImageChoiceButton" ' + 
            'class="button" ' +
            'onMouseOver="this.className=\'buttonRollover\'"; ' +
            'onMouseOut="this.className=\'button\'" ' +
            'onClick=\'prepareModalBox(\"' + 
            GetDAMPath() + 
            param +
            '\"); ' + 
            'return false;\' ' +
            'style="width: ' + width + 'px; display:block;">' + btnText + '</button>';
}

function GetDAMPath()
{
    return 'http://' + document.domain + '/dam/chooseimage4.aspx?';
}
