
var gDialogHiddenFieldId = 'ctl00_DialogContainer_HiddenFieldDialogName';
var gCounter = 0;
function format(str)
{
    for(i = 1; i < arguments.length; i++)
    {
        str = str.replace('{' + (i - 1) + '}', arguments[i]);
    }
    return str;
}

//window.onload = function()
//{		
//    if (window.attachEvent == undefined)
//    {
//        var tag = document.getElementsByTagName("span");
//        for (var i = 0; i < tag.length; i++)
//        {	
//            if (tag.item(i).className.indexOf("word-wrap") > -1 && tag.item(i).offsetWidth > 520)
//            {
//                var text = tag.item(i).innerHTML;
//                var frags = text.split(' ');
//                for(var j=0; j<frags.length; j++)
//                {
//                    if(frags[j].length > 60)
//                    {
//                        text = text.replace(frags[j], frags[j].substring(0, frags[j].length/2) + '<wbr />' +  frags[j].substring(frags[j].length/2));
//                    } 
//                }
//                tag.item(i).innerHTML = text;
//                // tag.item(i).innerHTML = text.replace(/(.*?)/g, "<wbr />");
//            }
//        }
//    }
//}

function OpenPopup(pageid, type)
{
    var w = 600;
    var left = (screen.width/2)-(w/2);
    var top = (screen.height/2)-(h/2);
    //'/netroots/templates/Pages/InfoPopupPage.aspx?pageid=' + pageid + '&type=' + type;
} 

function openDialog()
{
	var dialogName	= arguments[0];
	var dialog		= document.getElementById('dialog');
	var hiddenField	= document.getElementById(gDialogHiddenFieldId);

	if (dialog && hiddenField)
	{
		dialog.className  = 'Dialog ' + dialogName;
		hiddenField.value = '';
		// Make a delimited string with the dialogname and parameters
		for (var i = 0; i < arguments.length; i++)
		{
			hiddenField.value += arguments[i];
			if (i+1 < arguments.length) hiddenField.value += '|';
		}
		__doPostBack(gDialogHiddenFieldId,'');

		hideWindowedControls();
		showDialogBackground();
		positionDialog('dialog');
	}
}

function hideWindowedControls()
{
	if ((BrowserDetect.browser == 'Explorer') && (BrowserDetect.version < 7))
	{
	    // Hides all listboxes
		for (var i = 0; i < document.getElementsByTagName('select').length; i++)
		{
			document.getElementsByTagName('select')[i].style.visibility = 'hidden';
		}
	}
}

function showWindowedControls()
{
	if ((BrowserDetect.browser) == 'Explorer' && (BrowserDetect.version < 7))
	{
	    // Show all listboxes
		for (var i = 0; i < document.getElementsByTagName('select').length; i++)
	    {
		    document.getElementsByTagName('select')[i].style.visibility = 'visible';
	    }
    }
}

function showDialogBackground()
{
	var bgDiv = document.getElementById('DialogBG');
	if (bgDiv)
	{
		var height = document.getElementById('main').clientHeight + 40;
		bgDiv.style.height	= height + 'px';
		bgDiv.style.display	= 'block';

		// IE6 and below needs a special class
		if ((BrowserDetect.browser == 'Explorer') && (BrowserDetect.version < 7))
		{
			bgDiv.className = 'DialogBGIE6';
		}	
	}
}

// ---------------
// Hides the semi-transparent div
// ---------------
function hideDialogBackground()
{
	var bgDiv = document.getElementById('DialogBG');
	if (bgDiv)
	{
		bgDiv.style.display = 'none';
	}
}

function positionDialog(id)
{
	var dialog = document.getElementById(id);
	if (dialog)
	{
		var viewSize   = getViewportSize();
		var scrollSize = getScrollOffset();
		dialog.style.display = 'block';
		
		// Center window on screen
		dialog.style.left = (scrollSize.x + (viewSize.width )  / 2) + 'px';
				
		var marginTop = dialog.clientHeight>viewSize.height ? ((viewSize.height-dialog.clientHeight)/2):100;
        var top = (scrollSize.y + ((viewSize.height - dialog.clientHeight) / 2) - marginTop);
		if( top>scrollSize.y)
		    dialog.style.top  = top  + 'px';    
		 else
		    dialog.style.top  = scrollSize.y  + 'px';    		 		
	}
}

function getViewportSize()
{
    size = {};
    if (window.innerHeight)
    {
    	size.width  = window.innerWidth;
    	size.height = window.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight)
    {
    	size.width  = document.documentElement.clientWidth;
    	size.height = document.documentElement.clientHeight;
    }
    else if (document.body)
    {
    	size.width  = document.body.clientWidth;
    	size.height = document.body.clientHeight;
    }
    return size;
}

// ---------------
// Closes the dialog-layer.
// ---------------
function closeDialog()
{
	var dialog = document.getElementById('dialog');
	var hiddenField	= document.getElementById(gDialogHiddenFieldId);
	
	if (dialog && hiddenField)
	{
		dialog.style.display = 'none';
        if(hiddenField)
        {
            hiddenField.value	 = '';
		    __doPostBack(gDialogHiddenFieldId,'');	
        }
		hideDialogBackground();
        showWindowedControls();
	}
}

function getScrollOffset()
{
    scrollOffset = {};
    if (window.pageYOffset)// all except Explorer
    { 
    	scrollOffset.x = window.pageXOffset;
    	scrollOffset.y = window.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
    {
    	scrollOffset.x = document.documentElement.scrollLeft;
    	scrollOffset.y = document.documentElement.scrollTop;
    }
    else if (document.body) // all other Explorers
    {
    	scrollOffset.x = document.body.scrollLeft;
    	scrollOffset.y = document.body.scrollTop;
    }
    return scrollOffset;
}
//function PropertyGeoDialog(obj,type)
//{
//    var win = window.open('/Labs.EPiServer/GoogleMap/util/geopicker.aspx?tb=' + obj + '&callback=PropertyGeoDialog_callback', '', 'menubar=0,resizable=0,width=592,height=442');
//}

function PropertyGeoDialog(obj, type) {
    var ret = window.showModalDialog('/Labs.EPiServer/GoogleMap/util/geopicker.aspx', '', 'dialogwidth=592px;dialogheight=442px;');

    if (ret) {
        var o = document.getElementById(obj);

        o.value = ret.lat + ',';
        o.value += ret.lng;

        setTimeout('__doPostBack(\'ctl00$DialogArea$DialogContainer1$ctl01$tbGoogle\',\'\')', 0);
    }
}

function PropertyGeoDialog_callback() {
    setTimeout('__doPostBack(\'ctl00$DialogArea$DialogContainer1$ctl01$tbGoogle\',\'\')', 0);
}