﻿//SCRIPTCONTROLLER (execute functions at pageLoad)
function AWFScriptController() {
    this.m_pageLoadFunctions = Array();

    this.AddPageLoad = function(pageLoadFunction) {
        this.m_pageLoadFunctions.push(pageLoadFunction);
    }

    this.pageLoaded = function() {
        for (wierdoName = 0; wierdoName < this.m_pageLoadFunctions.length; wierdoName++) {
            this.m_pageLoadFunctions[wierdoName]();
        }
    }
}

var ScriptController = new AWFScriptController();

/* PAGELOAD 
    Only one pageLoad() function is automatically executed.
    Therefore all modules can use ScriptController.AddPageLoad(FunctionName) instead of window.pageload.*/
function pageLoad() {
    ScriptController.pageLoaded();
}

/* Helpers  */
function isUInt(s) {
    return (s.toString().search(/^[0-9]+$/) == 0);
}

function isInt(s) {
    return (s.toString().search(/^-?[0-9]+$/) == 0);
}

if (!Array.prototype.contains) {
    Array.prototype.contains = function(obj) {
        var len = this.length;
        for (var i = 0; i < len; i++) {
            if (this[i] === obj) { return true; }
        }
        return false;
    };
}
if (!Array.prototype.keyValueJoin) {
    Array.prototype.keyValueJoin = function() {
        var _ret = "";
        for (var key in this) {
            if (!(typeof (this[key]) == 'function')) {
                _ret += key + "=" + this[key] + ";";
            }
        }
        return _ret;
    }
}

/* RIS - UCSELECTOBJECT.ASCX */
var _ristextControl;
//var _ristextControlId;
var _rishiddenfieldControl;
var _risnamehiddenfieldControl;
var _onClickDelegate;
var _risClientChangeFunction;

//OpenWindow
function showRisSelection(textboxID, risHiddenfieldID, risnameHiddenfieldID, ClientChangeFunction) {
    _ristextControl = document.getElementById(textboxID);
    //_ristextControlId = textboxID; 
    _rishiddenfieldControl = document.getElementById(risHiddenfieldID);
    if (risnameHiddenfieldID) { _risnamehiddenfieldControl = document.getElementById(risnameHiddenfieldID); }
    window.radopen(_detailPage_searchRis, "SearchRis");
    _risClientChangeFunction = ClientChangeFunction;
    return false;
}

//Handle Result
function OnRisSearchclose(radWindow) {
    try {
        var oValue = radWindow.argument;
        if (oValue) {
            if ((_risClientChangeFunction != null) && (_rishiddenfieldControl.value != oValue[0])) {
                _risClientChangeFunction(oValue);
            }
            var displayName = oValue[1]
            if (displayName == "") { displayName = _risEmptyName }
            _rishiddenfieldControl.value = oValue[0];
            //_ristextControl.value = displayName;
            //if (_ristextControl.focus) { _ristextControl.focus(); }
                    _ristextControl.value  = displayName;
                    // _ristextControl.innerHTML  = displayName;
            //__doPostBack(_ristextControlId, '');
            //if (_ristextControl.blur) { _ristextControl.blur(); }
            if (_risnamehiddenfieldControl) { _risnamehiddenfieldControl.value = oValue[1]; }
        }
    } catch (Err) {
        alert(Err.name + " " + Err.message);
    }
}

//delete
function deleteRis(txt, hfld, hfldName) {
    if (document.getElementById(txt)) { document.getElementById(txt).value = ''; }
    if (document.getElementById(hfld)) { document.getElementById(hfld).value = ''; }
    if (document.getElementById(hfldName)) { document.getElementById(hfldName).value = ''; }
    return false;
}

//TODO: [WGF] search in ander scherm://BASS SEARCH
//var _txtBassDescriptionControl;
//var _hiddenBassSelectedIdControl;
//var _hiddenBassSelectedVersionControl;
//var _hiddenBassSelectedDescriptionControl;

////OpenWindow
//function showBassSelection(hiddenSelectedfieldIDID, hiddenSelectedVersionfieldID, hiddenSelectedDescriptionfieldID, txtDescriptionfieldID) {
//    _hiddenBassSelectedIdControl = document.getElementById(hiddenSelectedfieldIDID);
//    _hiddenBassSelectedVersionControl = document.getElementById(hiddenSelectedVersionfieldID);
//    _hiddenBassSelectedDescriptionControl = document.getElementById(hiddenSelectedDescriptionfieldID);
//    if (txtDescriptionfieldID) { _txtBassDescriptionControl = document.getElementById(txtDescriptionfieldID); }
//    window.radopen(_detailPage_searchBass, "SearchBass");
//    return false;
//}

////Handle Result
//function OnBASSSearchClose(radWindow) {
//alert('OnBASSSearchClose');
//    try {
//        var arg = radWindow.argument;
//        if (arg) {
//            _hiddenBassSelectedIdControl.value = arg[0];
//            _hiddenBassSelectedVersionControl.value = arg[1];
//            _hiddenBassSelectedDescriptionControl.value = arg[2];
//            if (_hiddenBassSelectedDescriptionControl) { _hiddenBassSelectedDescriptionControl.value = arg[2]; }

//           //TODO: [WGF] dit moet nog gebeuren om terugkoppeling met de lijst te hebben <%=OnSelected%>

//        }
//    } catch (Err) {
//        alert(Err.name + " " + Err.message);
//    }
//}

/* ADDRESS - UCSELECTEMAILS.ASCX */
var _emailtextControl;
var _emailClientChangeFunction;

//OpenWindow
function showEmailSelection(textboxID, ClientChangeFunction) {
    _emailtextControl = document.getElementById(textboxID);
    window.radopen(_detailPage_searchEmail, "SearchEmail");
    _emailClientChangeFunction = ClientChangeFunction;
    return false;
}

//Handle Result
function OnEmailSearchclose(radWindow) {
    try {
        var oValue = radWindow.argument;
        if (oValue) {
            if ((_emailClientChangeFunction != null) && (_emailtextControl.value != oValue[1])) {
                _emailClientChangeFunction(oValue);
            }
            if ((_emailtextControl.value[1] != null) && (_emailtextControl.value[1].length > 0)){
               _emailtextControl.value += "; " + oValue[1];
            }
            else{
               _emailtextControl.value = oValue[1];
            }
            radWindow.argument = null;
        }
    } catch (Err) {
        alert(Err.name + " " + Err.message);
    }
}

//delete
function deleteEmail(txt) {
    if (document.getElementById(txt)) { document.getElementById(txt).value = ''; }
    return false;
}

/* ADDRESS - UCSELECTADDRESSES.ASCX */
var _addresstextControl;
var _addressClientChangeFunction;

//OpenWindow
function showAddressSelection(uclistboxobject, ClientChangeFunction) {
    _addresstextControl = uclistboxobject;
    window.radopen(_detailPage_searchAddress, "SearchAddress");
    _addressClientChangeFunction = ClientChangeFunction;
    return false;
}

//Handle Result
function OnAddressSearchclose(radWindow) {
    try {
        var oValue = radWindow.argument;
        if (oValue) {
            if (_addressClientChangeFunction != null) {
                _addressClientChangeFunction(oValue);
            }
            _addresstextControl.AddListItem(oValue[0], oValue[1]);
            radWindow.argument = null;
        }
    } catch (Err) {
        alert(Err.name + " " + Err.message);
    }
}


/*HYMEDIS - UCSELECTWATERSTAND.ASCX */
var _waterstandtextControl;
var _waterstandhiddenfieldControl;
var _waterstandnamehiddenfieldControl;
var _waterstandClientChangeFunction;

//OpenWindow
function showWaterstandSelection(textboxID, waterstandHiddenfieldID, waterstandnameHiddenfieldID, ClientChangeFunction) {
    _waterstandtextControl = document.getElementById(textboxID);
    _waterstandhiddenfieldControl = document.getElementById(waterstandHiddenfieldID);
    if (waterstandnameHiddenfieldID) { _waterstandnamehiddenfieldControl = document.getElementById(waterstandnameHiddenfieldID); }
    window.radopen(_detailPage_searchWaterstand, "SearchWaterstand");
    _waterstandClientChangeFunction = ClientChangeFunction;
    return false; 
}

//Handle Result
function OnWaterstandSearchclose(radWindow) {
   try {
        var oValue = radWindow.argument;
        if (oValue) {
            if ((_waterstandClientChangeFunction != null) && (_waterstandhiddenfieldControl.value != oValue[0])) {
                _waterstandClientChangeFunction(oValue);
            }
            if (oValue[1] == "") { oValue[1] = "." }
            _waterstandhiddenfieldControl.value = oValue[0];
            //_waterstandtextControl.value = oValue[1];
            _waterstandtextControl.value = oValue[1];
            if (_waterstandnamehiddenfieldControl) { _waterstandnamehiddenfieldControl.value = oValue[1] };
        }
    } catch (Err) {
        alert(Err.name + " " + Err.message);
    }
}

//delete
function deleteWaterstand(txt, hfld, hfldName) {
    if (document.getElementById(txt)) { document.getElementById(txt).value = ''; }
    if (document.getElementById(hfld)) { document.getElementById(hfld).value = ''; }
    if (document.getElementById(hfldName)) { document.getElementById(hfldName).value = ''; }
    return false;
}


/* Fontresize */

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 86400000)); //86400000 = milliseconden per dag
        var expires = "; expires=" + date.toGMTString();
    }
    else {
        var expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}

function changeFontSize(newSize) {
    var body = document.getElementsByTagName('body')[0];
    var size = parseInt(body.style.fontSize.replace("%", ""));
    if (size == null) { return };
    body.style.fontSize = newSize;
    createCookie('fontSize', body.style.fontSize, 365);
}

function setFontSize() {
    var cookieFontSize = readCookie('fontSize');
    var body = document.getElementsByTagName('body')[0];
    if (cookieFontSize == null) body.style.fontSize = '100%';
    else body.style.fontSize = cookieFontSize;
}

/* login module */

function SubmitEnter(control) {
    if (event.keyCode && event.keyCode == 13) {
        event.returnValue = false;
        event.cancel = true;
        control.click();
    }
}
