/*
 * $Id: common.js 500 2008-11-24 11:10:04Z steven $
 */
function newWindow(mypage,myname,w,h,features) {
	if(screen.width){
		var winl = (screen.width-w)/2;
		var wint = (screen.height-h)/2;
	}
	else{winl = 0;wint =0;}
	if (winl < 0) winl = 0;
	if (wint < 0) wint = 0;

	var settings = 'height=' + h + ',';
	settings += 'width=' + w + ',';
	settings += 'top=' + wint + ',';
	settings += 'left=' + winl + ',';
	settings += features;
	win = window.open(mypage,myname,settings);
	win.window.focus();
}

var translation = {};	// store translations here
var actionAttacher = new PrezentDomApi.ActionAttacher();
pDomApi.addEvent(window, 'domload', function() { actionAttacher.attach(); });

// Password field in user menu
var textStore = {};

function wipeTextOnFocus(input) {

    textStore[input.getAttribute('id')] = input.value;

    pDomApi.addEvent(input, 'focus', function(e) {
        if (input.value == textStore[input.getAttribute('id')]) {
            input.value = '';
        }
        pDomApi.setClassName(input, 'focus');
    });

    pDomApi.addEvent(input, 'blur', function(e) {
         if(input.value == '') {
            input.value = textStore[input.getAttribute('id')];
            pDomApi.setClassName(input, '', 'focus');
        }
    });
}

function replacePasswordBox(passwd) {
    var text = document.createElement('input'); // create new input element
    text.setAttribute('type', 'text'); // type = text
    text.setAttribute('value', passwd.getAttribute('value'));
    text.setAttribute('tabIndex', passwd.getAttribute('tabIndex'));
    text.className = passwd.className;
    text.setAttribute('readonly', 'readonly');
    passwd.setAttribute('value', '');
    passwd.parentNode.insertBefore(text, passwd);
    passwd.parentNode.removeChild(passwd);

    pDomApi.addEvent(text, 'focus', function (e) {
        text.parentNode.insertBefore(passwd, text);
        passwd.parentNode.removeChild(text);
        passwd.focus();
    });

    pDomApi.addEvent(passwd, 'blur', function(e) {
        if (passwd.value == '') {
            passwd.parentNode.insertBefore(text, passwd);
            passwd.parentNode.removeChild(passwd);
        }
    });
}

// Add a clearing div for IE to prevent guillotine bug
/*@cc_on
	@if (@_jscript_version == 5.6)
	pDomApi.addEvent(window, 'domload', function() {
		var elem;
		var clearDiv = document.createElement('div');
		clearDiv.className = 'clear';
		if(elem = eId('tabBody')) {
			elem.appendChild(clearDiv);
		}
		else if(elem = eId('body')) {
			elem.appendChild(clearDiv);
		}
	});
	@end
@*/


// Password field in user menu
pDomApi.addEvent(window, 'domload', function() {
    var passwd, email;

    if (passwd = eId('userMenuPass')) {
        replacePasswordBox(passwd);
    }
    if (email = eId('userMenuEmail')) {
        wipeTextOnFocus(email);
    }
});

pDomApi.addEvent(window, 'domload', function() {

    var scrollTables = pDomApi.getElementsByClassName(document.body, 'table', 'scrollable');

    for (var i = 0; i < scrollTables.length; i++) {
        var tbl = scrollTables[i];
        var theads = tbl.getElementsByTagName('thead');
        var tfoots = tbl.getElementsByTagName('tfoot');

        if (theads.length > 0) {
            copyTablePart(tbl, theads[0], 'before');
        }
        if (tfoots.length > 0) {
            copyTablePart(tbl, tfoots[0], 'after');
        }

        var div = document.createElement('div');
        div.className = tbl.className;
        tbl.parentNode.insertBefore(div, tbl);
        div.appendChild(tbl);

    }

    //Register button onclick
	pDomApi.addEvent('registerButton', 'click', function() {
		window.location="/potato/portal/signup/";
	});
});

function copyTablePart(source, part, position) {
    var cols = source.getElementsByTagName('col');
    var newTbl = source.cloneNode(false);

    for (var j = 0; j < cols.length; j++) {
        newTbl.appendChild(cols[j].cloneNode(true));
    }

    newTbl.appendChild(part);
    if (position == 'before') {
        source.parentNode.insertBefore(newTbl, source);
    } else {
        source.parentNode.insertBefore(newTbl, source.nextSibling);
    }
}

function toggleInfoWindow(e) {
    if (! e) { var e = window.event; }
    var elem = e.target ? e.target : e.srcElement;
    elem = elem.parentNode.parentNode;
    if (pDomApi.hasClassName(elem, 'windowHidden')) {
        pDomApi.setClassName(elem, 'windowVisible', 'windowHidden');
    } else {
        pDomApi.setClassName(elem, 'windowHidden', 'windowVisible');
    }
}
actionAttacher.addTagEvent(new PrezentDomApi.TagEvent('a', 'infoWindowButton', 'click', toggleInfoWindow));
actionAttacher.addTagEvent(new PrezentDomApi.TagEvent('input', 'wipe', 'attach', wipeTextOnFocus));
actionAttacher.addTagEvent(new PrezentDomApi.TagEvent('a', 'external', 'click', function(e) {
    if (!e) { var e = window.event; } targ = e.target ? e.target : e.srcElement;
    while (targ.nodeType != 1 || targ.tagName.toLowerCase() != 'a') {
    	targ = targ.parentNode;
    }
    window.open(targ.href); pDomApi.preventDefault(e);
}));