/**
 * Initializes required behavior of dynamic elements
 */
function init() {
    // Initialize keywords
    var EMAIL_VALUE = '@e-mail';
    var NAME_VALUE = 'Your name';
    var SUBJECT_VALUE = 'Subject';
    var MESSAGE_TEXT_VALUE = 'Message text';

    // Configure Subscribe form
    var formSubscribe = document.getElementById('frm-subscribe');
    if (formSubscribe) {
        var emailField = formSubscribe.elements[0];
        emailField.value = EMAIL_VALUE;

        // --- Email field
        emailField.onblur = function() {
            if (emailField.value == '') emailField.value = EMAIL_VALUE;
        }

        emailField.onfocus = function() {
            if (emailField.value == EMAIL_VALUE) emailField.value = '';
        }
    }

    // Configure Contact form
    var formContact = document.getElementById('frm-contact');
    if (formContact) {
        var nameField = formContact.name;
        var contactEmailField = formContact.email;
        var subjectField = formContact.subject;
        var messageTextField = formContact.text;

        nameField.value = NAME_VALUE;
        contactEmailField.value = EMAIL_VALUE;
        subjectField.value = SUBJECT_VALUE;
        messageTextField.value = MESSAGE_TEXT_VALUE;

        // --- Name field
        nameField.onblur = function() {
            if (nameField.value == '') nameField.value = NAME_VALUE;
        }

        nameField.onfocus = function() {
            if (nameField.value == NAME_VALUE) nameField.value = '';
        }
        // --- Email field
        contactEmailField.onblur = function() {
            if (contactEmailField.value == '') contactEmailField.value = EMAIL_VALUE;
        }

        contactEmailField.onfocus = function() {
            if (contactEmailField.value == EMAIL_VALUE) contactEmailField.value = '';
        }
        // --- Subject field
        subjectField.onblur = function() {
            if (subjectField.value == '') subjectField.value = SUBJECT_VALUE;
        }

        subjectField.onfocus = function() {
            if (subjectField.value == SUBJECT_VALUE) subjectField.value = '';
        }
        // --- Message text field
        messageTextField.onblur = function() {
            if (messageTextField.value == '') messageTextField.value = MESSAGE_TEXT_VALUE;
        }

        messageTextField.onfocus = function() {
            if (messageTextField.value == MESSAGE_TEXT_VALUE) messageTextField.value = '';
        }
    }

    var popups = document.getElementsByTagName('a');
    for (var i=0; i < popups.length; i++) {
	    if (popups[i].className.match('popuptrigger')) {
            popups[i].onclick = function(e) {
                // Check event
                var innerLink = this;
                var innerPopupId = innerLink.getAttribute('href').split('#')[1];
                var innerPopup = document.getElementById(innerPopupId);
                var layout = document.getElementById('header');

                // Configure popup style
                innerPopup.style.left = (layout.offsetWidth - 380) + 'px';
                innerPopup.style.top = findPosY(innerLink) + 'px';
                innerPopup.style.display = 'block';

                // Configure close button
                var closebutton = document.createElement('a');
                closebutton.className = 'closebutton';
                closebutton.style.cursor = 'pointer';
                closebutton.style.display = 'block';
                closebutton.appendChild(document.createTextNode('Close'));

                // Add close button to popup
                var innerDiv = innerPopup.getElementsByTagName('div')[0];
                innerDiv.appendChild(closebutton);

                // Close popup when close button clicked
                closebutton.onclick = function() {
                    innerPopup.style.display = 'none';
                    return false;
                }

                return false;
            }
        }
    }
}

/**
 * Gets the specified element horizontal position
 */
function findPosX(obj) {
    var curleft = 0;
    if(obj.offsetParent) {
        while(1) {
            curleft += obj.offsetLeft;
            if(!obj.offsetParent) {
                break;
            }
            obj = obj.offsetParent;
        }
    } else if(obj.x) {
        curleft += obj.x;
    }
    return curleft;
  }

/**
 * Gets the specified element vertical position
 */
function findPosY(obj) {
    var curtop = 0;
    if(obj.offsetParent) {
        while(1) {
            curtop += obj.offsetTop;
            if(!obj.offsetParent) {
                break;
            }
            obj = obj.offsetParent;
        }
    } else if(obj.y) {
        curtop += obj.y;
    }
    return curtop;
  }

/**
 * Opens the specified URL in a new browser window.
 */
function wo(_url, _w, _h)
{
	var k = 50;
	var body = document.getElementsByTagName("BODY")[0];
	var h = Math.floor(body.offsetHeight*0.5);
	var w = Math.floor(body.offsetWidth*0.5);
	var t = Math.floor(screen.height/2 - h/2);
	var l = Math.floor(screen.width/2 - w/2);
	t = Math.floor(screen.height/2 - _h/2);
	l = Math.floor(screen.width/2 - _w/2);
    var ww = _w + k;
	var hh = _h + k;
	window.open(_url, "Enlarged","scrollbars=yes, resizable=yes, width="+ ww +", height=" + hh + ", top="+ t +", left=" + l);
    return false;
}



function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=760,height=550');");
}
