/* Copyright (c) 2006 Inuvia Technologies - All rights reserved. */

var paj_agent = navigator.userAgent.toLowerCase();

var paj_IE7         = ( paj_agent.indexOf("msie 7.") != -1 );

var paj_submitActive = false;
function paj_registerSubmit()
{
    paj_submitActive = true;
}

function paj_unregisterSubmit()
{
    paj_submitActive = false;
}

function paj_isSubmitActive()
{
    return paj_submitActive;
}

function paj_CreateXMLDOM() 
{ 
	try{return new ActiveXObject('MSXML2.DOMDocument');}catch(x){} 
	try{return new ActiveXObject('Microsoft.XMLDOM');}catch(x){} 
	throw(new Error(-1,'Cant Create XMLDOM')); 
} 
 
function paj_CreateXMLHTTP() 
{ 
	try{return new ActiveXObject('MSXML2.XMLHTTP');}catch(x){} 
	try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(x){} 
	try{return new XMLHttpRequest();}catch(x){}
	throw(new Error(-1,'Cant Create XMLHTTP')); 
}
 
function paj_handleEvent( obj, eventname, eventfn, onoff )
{
    if( !obj ) return;
    
	if( obj.addEventListener ) {
		if( onoff )
			obj.addEventListener( eventname, eventfn, true );
		else
			obj.removeEventListener( eventname, eventfn, true );			
	} else {
		if( onoff )
			obj.attachEvent(eventname, eventfn);
		else
			obj.detachEvent(eventname, eventfn);
	}
}

function paj_eventTarget() {
    var targ;
    var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    
    if (targ.nodeType == 3)
        targ = targ.parentNode;
        
    return targ;
}

function paj_addBacking( elem ) {
    if( elem /*&& elem.style.position == 'absolute' */ ) {
        var backing = elem.document.createElement('iframe');
        backing.setAttribute('src','javascript: false;');
        backing.setAttribute('frameborder','0');
        backing.setAttribute('scrolling','no');
        backing.setAttribute('name',elem.id+'_bk');
        backing.setAttribute('id',elem.id+'_bk');
        
        backing.runtimeStyle.top = elem.currentStyle.top;
        backing.runtimeStyle.left = elem.currentStyle.left;
        backing.runtimeStyle.width = elem.offsetWidth;
        backing.runtimeStyle.height = elem.offsetHeight;
        backing.runtimeStyle.zIndex = elem.currentStyle.zIndex-1;
        backing.runtimeStyle.position = 'absolute';
        backing.runtimeStyle.visibility = 'visible';
        
        elem.document.body.appendChild(backing);
    }
}

function paj_moveBacking( elem ) {
    if( elem )
    {
        var backing = document.getElementById(elem.id+'_bk');
        if( backing ) {
            backing.runtimeStyle.top = elem.currentStyle.top;
            backing.runtimeStyle.left = elem.currentStyle.left;
            backing.runtimeStyle.width = elem.offsetWidth;
            backing.runtimeStyle.height = elem.offsetHeight;
            backing.runtimeStyle.zIndex = elem.currentStyle.zIndex-1;
        }        
    }
}

function paj_removeBacking( elem ) {
    if( elem /*&& elem.style.position == 'absolute' */ ) {
        //elem.document.body.removeChild(window.frames[elem.id+'_bk']);
        document.getElementById(elem.id+'_bk').runtimeStyle.display = 'none';
        document.getElementById(elem.id+'_bk').outerHTML='';
    }
}

function paj_getElementByID( id ) {
    return document.getElementById( id );
}

function paj_positionCentered( pane, ctrlRelTo )
{
	//var panept = new plp_pt(0,0)
	var ctrlpt = new plp_pt(0,0);
	
	//plp_GetPos( pane, panept );
	plp_GetPos( ctrlRelTo, ctrlpt );
	
	pane.style.left = ctrlpt.x+(ctrlRelTo.offsetWidth-pane.offsetWidth)/2;
	pane.style.top = ctrlpt.y+(ctrlRelTo.offsetHeight-pane.offsetHeight)/2;
	pane.style.position = 'absolute';
}
	
function paj_positionCenteredAndShow( pane, ctrlRelTo )
{
    if( !ctrlRelTo )
        ctrlRelTo = document.body;
    paj_positionCentered( pane, ctrlRelTo );
    pane.style.display = 'block';
    pane.style.visibility = 'visible';
}

function paj_hide( pane )
{
    pane.style.display = 'none';
    pane.style.left = -1000;
}

var hourglass = null;
var hourglassTimerID = null;
function paj_setHourglass( pane )
{
    hourglass = pane;
}

function paj_showHourglass()
{
    hourglassTimerID = null;
    if( hourglass ) paj_positionCenteredAndShow(hourglass,null);
}

function paj_hideHourglass()
{
    if( hourglassTimerID ) window.clearTimeout( hourglassTimerID );
    hourglassTimerID = null;
    if( hourglass ) paj_hide( hourglass );
}

function paj_delayHourglass()
{
    hourglassTimerID = window.setTimeout( paj_showHourglass, 1500);
}

var paj_cssFiles    = new Array();

function paj_loadCSSFile( path )
{
    var i;
    for( i = 0; i < paj_cssFiles.length; i++ )
        if( paj_cssFiles[i] == path ) {
            return false;
        }

    paj_cssFiles[paj_cssFiles.length] = path;
    
    if( document.styleSheets ) {
        try
        {
            document.createStyleSheet(path);
            return true;
        } catch(ex) {}
    }
    
    var link=document.createElement('link');
    link.setAttribute('rel', 'stylesheet');
    link.setAttribute('type', 'text/css');
    link.setAttribute('href', path ); 
    document.getElementsByTagName('head')[0].appendChild(link);
    
    return true;
}

function paj_touch(item)
{
    var ret = false;
    var child = item.firstChild;
    while( child != null ) {
        ret = paj_touch(child) || ret;
        child = child.nextSibling;
    }

    if( item.className && item.className != '')
        item.className = item.className;

//    // 'touch' all DIV tags with images who have their classname set
//    if( item.tagName == 'DIV' && ret && item.className != '')
//        item.className = item.className;
//    else if( item.tagName == 'IMG' )
//        ret = true;
    
    return ret;
}

function paj_loadCSSFilesPageLoading( sender, args ) {
    // called during the async loading
    var newcsss = new Array();
    
    var items = args.get_dataItems();
    for( var item in items ) 
        try { 
            var someloaded = false;
            var csslist = eval(items[item]); 
            for( var index in csslist ) {
                var css = csslist[index];
                if( newcsss[css] == 1 )
                    someloaded = true;
                else if( paj_loadCSSFile( css ) ) {
                    newcsss[css] = 1; 
                    someloaded = true;
                }
            }
            // MSIE has a bug the requires a kludge
            //  update any DIV tags that may have styles defined in the to-be-loaded CSS
            if( someloaded ) //&& document.styleSheets )
                window.setTimeout( 'paj_touch($get(\''+item+'\'));', 10);
        } catch( ex ) {} 
}


function paj_attachElement( name, aftername )
{
    var elem = paj_getElementByID(name);
    if( elem ) {
        var afterelem = paj_getElementByID(aftername);
        elem.parentElement.removeChild(elem);
        afterelem.parentElement.insertBefore(elem, afterelem.nextSibling);
        
        paj_positionCenteredAndShow(elem);
    }
}

function paj_detachElement(name)
{
    var elem = paj_getElementByID(name);
    if( elem ) {
        elem.parentElement.removeChild(elem);
    }
}

function paj_downloadFile(url)
{
    if( Sys.Browser.agent == Sys.Browser.InternetExplorer ) {
        var panel = document.createElement('<div class="ie_download_panel" id="download_panel">');
        panel.innerHTML = '<p class="ie_download_msg">Your file is ready to be downloaded.</p><p><a href="javascript:paj_downloadFileComplete();window.location.href=\'' 
                + url + '\';"><span class="ie_download_button">Download</span></a><a href="javascript:paj_downloadFileComplete();"><span  class="ie_download_button">Cancel</span></a></p>';
                
        var parent = paj_getElementByID('PageCell')
        if( parent == null )
            parent = document.body;
            
        parent.appendChild(panel);
        paj_positionCenteredAndShow( panel, null );
    } else {
        window.location.href = url;
    }
}

function paj_downloadFileComplete()
{
    var panel = paj_getElementByID('download_panel');
    if( panel != null )
    {
        panel.parentNode.removeChild( panel );
    }
}

var a;
function paj_debug()
{
    a = 10;
}

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();
