function cmInit() {
        var list = getElementsByClassName("popUp", "div", document);
        for (var i=0;i<list.length;i++) {
                var elementId = list[i].id;
                new Draggable(elementId, {handle: 'boxOverlayHead'});
                var e = document.getElementById(elementId);
                var eList = e.select('div.headline');
                eList[0].insert('<div class="popUpIcon"><img src="/images/icon_drag.png"> <img src="/images/icon_close.png" onclick="cmExpandHandle(\''+elementId+'\')"></div>', 'content');
        }
}

function getElementsByClassName(strClassName, strTagName, oElm){
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function cmExpandHandle(elementNames, setToCursor, event, shader) {
        var elements = elementNames.split(',');
        for (var i = 0; i <= elements.length - 1; i++) {
                var element = elements[i].split('=');
                var elementName = '';
                var displayValue = 'none';
                if (element[1] == 'on' || element[1] == 'off') {
                        elementName = element[0];
                        if (element[1] == 'on') {
                                displayValue = 'inline';
                        }
                } else {
                        elementName = elements[i];
                    if (document.getElementById(elementName).style.display == "none") {
                    	if (shader == true)  {
                    		document.getElementById('shader').style.display = "inline";
                    	}
                            displayValue = "inline";
                    } else {
                    		document.getElementById('shader').style.display = "none";
                            displayValue = "none";
                    }
                }
                if (displayValue == 'inline') {
                        if (setToCursor == true) {
                                //var IE = document.all?true:false;
                                //if (IE) { // grab the x-y pos.s if browser is IE
                                                tempX = event.clientX + 10 + 'px';
                                                tempY = event.clientY + 'px';
                                        //} else {  // grab the x-y pos.s if browser is NS
                                        //      tempX = e.pageX;
                                        //      tempY = e.pageY;
                                        //}  
                                document.getElementById(elementName).style.top = tempY;
                                document.getElementById(elementName).style.left = tempX;
                        }
                        new Effect.Appear(elementName, {duration:0.25});
                } else {
                        new Effect.Fade(elementName, {duration:0.25});
                }
                //document.getElementById(elementName).style.display = displayValue;
        }
}

// form validation
function fvCheckForm(element)
{
    var list = element.getElementsByTagName('input');
    element.validateReturnCode = true;
    for (var i = 0; i < list.length; i++) {
        if (list[i].onblur != undefined) {
            list[i].focus();
            list[i].blur();
        }
    }
    return element.validateReturnCode;
}
function fvCheckString(element, mandatory)
{
    if (element.value == '' && mandatory == true) {
        element.setAttribute('class', 'error');
        element.form.validateReturnCode = false;
        return false;
    }
    element.setAttribute('class', '');
    return true;
}
function fvCheckStringEmail(element, mandatory)
{
    if (element.value == '' && mandatory == true) {
        element.setAttribute('class', 'error');
        element.form.validateReturnCode = false;
        return false;
    }
    regex = /^\w[\w|\.|\-]+@\w[\w|\.|\-]+\.[a-zA-Z]{2,4}$/;
    if (!regex.test(element.value)) {
        element.setAttribute('class', 'error');
        element.form.validateReturnCode = false;
        return false;
    }
    element.setAttribute('class', '');
    return true;
}
function cmLink(target, message)
{
    if (message != '') {
        var rc = confirm(message);
        if (rc == true) {
            if (target != '') {
                window.location.href = target;
            } else {
                window.back();
            }
        }
    } else {
        if (target != '') {
            window.location.href = target;
        } else {
            window.back();
        }
    }
}
function cmOpenPopup(address, width, height) {
        remote = window.open(address,"popup","width=" + width + ",height=" + height + ",toolbar=no,status=no,menubar=no,location=no,scrollbars=yes,resizable=yes");
        remote.opener = self;
}
