function loginControl() {
    if (getCookie("SessLVal") != "") {
        return "1";
    } else {
        return "0";
    }
}

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function setCookie2(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie2(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function checkCookie(cname) {
    var _cname = getCookie(cname);
    if (_cname != "") {
        return "1";
    } else {
        return "0";
    }
}

//function checkCookie(cookieName) {
//    var user = getCookie(cookieName);
//    if (user != "") {
//        alert("Welcome again " + user);
//    } else {
//        user = prompt("Please enter your name:", "");
//        if (user != "" && user != null) {
//            setCookie("username", user, 30);
//        }
//    }
//}

function getUserLanguage()
{
	if(checkCookie("Lang") == 1)
	{
		return getCookie("Lang");		
	}else
	{
		return getBrowserLanguage();
	}
}

function getUserTimeZone()
{
	if(checkCookie("Timezone") == 1)
	{
		return getCookie("Timezone");		
	}else
	{
		return getTimeZone();
	}
}

function getBrowserLanguage()
{
	var language = window.navigator.userLanguage || window.navigator.language;
	return language; //it (italy), en-US
}

function getTimeZone()
{
	var offset = new Date().getTimezoneOffset(); // (-180): +3   120:-2 
	return offset; //addminutes( -1 * offset)
	
}

function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}

function setDatetoTimeZone(systemdatevalue)
{
	return addMinutes(systemdatevalue, (-1 * getTimeZone()));
	
}


function createEditor(id, lang, hiddenInputId,value) {
    ClassicEditor
        .create(document.querySelector("#" + id), {
            language: lang,
        })
        .then(editor => {
            if (value != "") {
                editor.data.set(value.substring(0, value.length - 1));
            }

            editor.editing.view.document.on('keydown', (evt, data) => {
                console.log(editor.getData());
                document.getElementById(hiddenInputId).value = editor.getData();
            });
        })
        .catch(error => {
            //console.error(error);
        });
}

$.validator.addMethod("pwcheck", function (value) {
    return /^[A-Za-z0-9\d=!\-@@._*]*$/.test(value) // consists of only these
        && /[a-z]/.test(value) // has a lowercase letter
        && /\d/.test(value) // has a digit
});

  function fillAjaxGetData(data, elementId) {
        //ElementId daha sonra sayfa üzerinde bir yerde createedilmek suretiyle oluşturalacaktır
        var obj = jQuery.parseJSON(data);
        var keys = Object.keys(obj[0]); //returns an array of the keys present in 'items'
        var keyArray = new Array();
        for (var i = 0; i < keys.length; i++) {
            keyArray.push(keys[i]);
            //Jsondan gelen verinin başlıkları burada array list'e dolduruluyor
        }

        //for (var i = 0; i < keyArray.length; i++) {
        //    //Array List'e doldurulan Verilerin Başlık Olarak Sayfa Üzerinde bir yere yazılması
        //    document.getElementById("thead").innerHTML += "<th scope=\"col\">" + keyArray[i] + "</th>";
        //}

        for (var i = 0; i < obj.length; i++) {
            var objTemp = obj[i];
            //Her bir row'un value değerlerinde gezmesinin sağlanması
            //document.getElementById("tbody").innerHTML += "<tr>";
            for (var key in objTemp) {
                var attrName = key;
                var attrValue = objTemp[key];
                //Json value'larının tanımlanması ve ekrana yazdırılmasının sağlanması Buralarda verilen tbody ve thead gibi id değerleri sayfanın herhangi bir yerinde statik olarak tanımlanmıştır Bir önemi yoktur
                //document.getElementById("tbody").innerHTML += "<td>" + attrValue + "</td>";
            }
            //document.getElementById("tbody").innerHTML += "<tr>";
        }
    }

    function clearFormElement(formId) {
        $(':input', "#" + formId)
            .not(':button, :submit, :reset, :hidden')
            .val('')
            .prop('checked', false)
            .prop('selected', false);
    }


	function EncryptLocalDataString(SessLVal, SessVal, Data, isSessValActive = 0){
	    //var SessValue = "";
		//var SessLValue = "";
		//var SessValueP = "";
		var SessLValueP = "";
		//var keyClientId = "";
		//var ivClientid = "";
		
		//SessLValue = document.getElementById('SessLVal').value;
		//SessLValue = getCookie('SessLVal');
		//SessValue = document.getElementById('SessVal').value;
		//SessLValue = getCookie('SessLVal');
        if (isSessValActive == 0 && document.getElementById('SessLVal') != null && document.getElementById('SessLVal').value != "") {
             SessLValueP = DecrypttoStringAESLocal(document.getElementById('SessLVal').value).split('~|~');
        } else if (isSessValActive == 0 && getCookie('SessLVal') != undefined && getCookie('SessLVal') != null && getCookie('SessLVal') != "") {
            SessLValueP = DecrypttoStringAESLocal(decodeURIComponent(getCookie('SessLVal'))).split('~|~');
        } else if (document.getElementById('SessVal') != null && document.getElementById('SessVal').value != "") {
            SessLValueP = DecrypttoStringAESLocal(document.getElementById('SessVal').value).split('~|~');
        } else if (getCookie('SessVal') != undefined && getCookie('SessVal') != null && getCookie('SessVal') != "") {
            SessLValueP = DecrypttoStringAESLocal(decodeURIComponent(getCookie('SessVal'))).split('~|~');
		}	  
	  
		return EncrypttoStringAESLocal(EncrypttoStringAESbyKey(Data, SessLValueP[1] , SessLValueP[0]));
	  
	}
  
	function DecyrptLocalDataString(SessLVal, SessVal, Data, isSessValActive = 0){
	    //var SessValue = "";
		//var SessLValue = "";
		var SessValueP = "";
		//var SessLValueP = "";
		//var keyClientId = "";
		//var ivClientid = "";
		
		//SessLValue = document.getElementById('SessLVal').value;
		//SessLValue = getCookie('SessLVal');
		//SessValue = document.getElementById('SessVal').value;
		//SessLValue = getCookie('SessLVal');
        if (isSessValActive == 0 && document.getElementById('SessLVal') != null && document.getElementById('SessLVal').value != "") {
            SessLValueP = DecrypttoStringAESLocal(document.getElementById('SessLVal').value).split('~|~');
        } else if (isSessValActive == 0 && getCookie('SessLVal') != undefined && getCookie('SessLVal') != null && getCookie('SessLVal') != "") {
            SessLValueP = DecrypttoStringAESLocal(decodeURIComponent(getCookie('SessLVal'))).split('~|~');
        }else if (document.getElementById('SessVal') != null && document.getElementById('SessVal').value != "") {
            SessLValueP = DecrypttoStringAESLocal(document.getElementById('SessVal').value).split('~|~');
        } else if (getCookie('SessVal') != undefined && getCookie('SessVal') != null && getCookie('SessVal') != "") {
            SessLValueP = DecrypttoStringAESLocal(decodeURIComponent(getCookie('SessVal'))).split('~|~');
		}
		
		return DecrypttoStringAESbyKey(DecrypttoStringAESLocal(Data), SessLValueP[1] , SessLValueP[0]);
	  
	}
  
  
  
function EncrypttoStringAESLocal(cryptText, key = "bCr556tFe46mg4S2jNfROktYHbWzPbMx", iv = "U3cHver8ygVd3Az2") {
        var _key = CryptoJS.enc.Utf8.parse(key);
        var _iv = CryptoJS.enc.Utf8.parse(iv);

        var encryptedstr = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(cryptText), _key,
            {
                keySize: 256,
                iv: _iv,
                mode: CryptoJS.mode.CBC,
                padding: CryptoJS.pad.Pkcs7
            });
        return encryptedstr;
}

function CreateSession() {
    $.ajax(
        {
            url: '/eolplatformWebApp/CreateSession',
            type: 'post',
            dataType: 'text',
            contentType: "text/plain;charset=utf - 8",
	        success : function(data) {
                customSuccessForm(data, '{"tableRequestType":"insert","opvalue":"","formId":"Form765957607558","successTargetUrl":"","errorTargetUrl":""}')
            },
            beforeSend: function (request) {
                //$("#loading-overlay").show(); 
                request.setRequestHeader('SessLVal', getCookie('SessLVal'));
                request.setRequestHeader('SessVal', getCookie('SessVal'));
                request.setRequestHeader('Source', getCookie('Source'));
                request.setRequestHeader('Local', '{"language": "' + getUserLanguage() + '" , "timezone":"' + getUserTimeZone() + '" }');
                request.setRequestHeader('Data', EncryptLocalDataString('', '', '{"optarget":"tbl_user","optype":"login","opvalue":"","formid":"Form679437416307","user_username":"' + document.getElementById('user_username').value + '","user_password":"' + document.getElementById('user_password').value + '","usertype":"' + document.getElementById('usertype').value + '"}', 0));
            },
            error: function (data) {
                customErrorForm(data)
            }
        }
    ).toString();
}

function DecrypttoStringAESLocal(cryptText, key = "bCr556tFe46mg4S2jNfROktYHbWzPbMx", iv = "U3cHver8ygVd3Az2") {
        var _key = CryptoJS.enc.Utf8.parse(key);
        var _iv = CryptoJS.enc.Utf8.parse(iv);

        const crypted = CryptoJS.enc.Base64.parse(cryptText);

        var decryptedstr = CryptoJS.AES.decrypt({ ciphertext: crypted }, _key, {
            iv: _iv,
            keySize: 256,
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        });

        return decryptedstr.toString(CryptoJS.enc.Utf8);
}

    function EncrypttoStringAESbyKey(cryptText, key, iv) {
        var _key = CryptoJS.enc.Utf8.parse(key);
        var _iv = CryptoJS.enc.Utf8.parse(iv);

        var encryptedstr = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(cryptText), _key,
            {
                keySize: 256,
                iv: _iv,
                mode: CryptoJS.mode.CBC,
                padding: CryptoJS.pad.Pkcs7
            });
        return encryptedstr;
    }

    function DecrypttoStringAESbyKey(cryptText, key, iv) {
        var _key = CryptoJS.enc.Utf8.parse(key);
        var _iv = CryptoJS.enc.Utf8.parse(iv);

        const crypted = CryptoJS.enc.Base64.parse(cryptText);

        var decryptedstr = CryptoJS.AES.decrypt({ ciphertext: crypted }, _key, {
            keySize: 256,
            iv: _iv,
            mode: CryptoJS.mode.CBC,
            padding: CryptoJS.pad.Pkcs7
        });

        return decryptedstr.toString(CryptoJS.enc.Utf8);
    }
	


function successForm(data, parameters) {

    $("#loading-overlay").hide();
    var jsonParameters = "";
    if (typeof parameters !== 'undefined') {

        if (/^[\],:{}\s]*$/.test(parameters.replace(/\\["\\\/bfnrtu]/g, '').
            replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
            replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
            jsonParameters = JSON.parse(parameters);
            //the json is ok

        } else {
            jsonParameters = JSON.parse(JSON.stringify(parameters));
            //the json is not ok

        }
    }

    var jsonData = "";
    if (typeof data !== 'undefined') {

        if (data.startsWith('{"status":') == true || (jsonParameters.tableRequestType == 'createsession') || (jsonParameters.tableRequestType == 'createlogintype'))
            ;
        else if ((jsonParameters.tableRequestType == 'newmember') || (jsonParameters.tableRequestType == 'checkvalidationcode') || (jsonParameters.tableRequestType == 'resetpassword') || (jsonParameters.tableRequestType == 'passwordvalidation') || (jsonParameters.tableRequestType == 'login'))
            data = DecyrptLocalDataString('', '', data, 1);
        else
            data = DecyrptLocalDataString('', '', data, 0);


        if ((jsonParameters.tableRequestType == 'createsession') || (jsonParameters.tableRequestType == 'createlogintype'))
            ;
        else {
            jsonData = JSON.parse(("" + data + ""));//JSON.parse(JSON.stringify("[" + data + "]"));

        }

    }

    //'{\"tableRequestType\":\"" + tableRequestType + "\"," + "\"opvalue\":\"" + opvalue + "\"," + "\"formId\":\"" + formId + "\"," + "\"successTargetUrl\":\"" + successTargetUrl+ "\"," + "\"errorTargetUrl\":\"" + errorTargetUrl + "\"}'

    if (jsonData != "" && jsonData.targeturl != "" && typeof jsonData.targeturl !== 'undefined') {
        window.location.href = jsonData.targeturl;
    }
    else if (jsonData != "" && jsonData.status == "ok") {

        if (jsonParameters != "" && jsonParameters.successTargetUrl != "" && typeof jsonParameters.successTargetUrl !== 'undefined') {
            window.location.href = jsonParameters.successTargetUrl;
        }
        //if (jsonData.message == "successful")
        //  ViewBag.successful;
        if (jsonParameters != "" && jsonParameters.tableRequestType == 'deletev')//Deletevvalue@encrpytId
        {
            if (jsonParameters != "" && jsonParameters.successTargetUrl != "" && typeof jsonParameters.successTargetUrl !== 'undefined') {
                window.location.href = jsonParameters.successTargetUrl;
            } else if (jsonParameters != "" && jsonParameters.opvalue != '') {
                document.getElementById("trrow" + jsonParameters.opvalue).style.display = "none";
            }
            //document.getElementById(updateelementid.replace('Deletevvalue', 'Trrow')).style.display = "none";
        } else if (jsonParameters != "" && jsonParameters.tableRequestType == 'insert') {
            clearFormElement(jsonParameters.formId);
        }
        else if (jsonParameters != "" && jsonParameters.tableRequestType == 'newmember') {
            //clearFormElement(jsonParameters.formId);
            let forgetPass = document.querySelector(".form-login");
            let formLoginSecond = document.querySelector(".form-login-second");

            forgetPass.classList.add("hide");
            formLoginSecond.classList.remove("hide");

            forgetPass.style.display = 'none';
            formLoginSecond.style.display = 'block';
            return;
        }
        else if (jsonParameters != "" && jsonParameters.tableRequestType == 'select') {
            if (jsonData.data.startsWith("Encryptedhtmldata")) { jsonData.data = jsonData.data.replace("Encryptedhtmldata", ""); jsonData.data = DecyrptLocalDataString('', '', jsonData.data, 0); }
            var response = jsonData.data.split("~|~");

            $('#contenttable tbody').html(response[0]);
            $("#newscript").html(response[1]);
            //console.log(jsonData.data);
        }
		else if (jsonParameters != "" && jsonParameters.tableRequestType == 'resetpassword') {
            //clearFormElement(jsonParameters.formId);
            let formLoginSecond = document.querySelector(".form-login-second");
            let formLoginThird = document.querySelector(".form-login-third");
            formLoginSecond.style.display = 'none';
            formLoginThird.style.display = 'block';
            return;
        }
        else if (jsonParameters != "" && jsonParameters.tableRequestType == 'passwordvalidation') {
            //clearFormElement(jsonParameters.formId);
            let formLoginThird = document.querySelector(".form-login-third");
            formLoginThird.style.display = 'none';
            //location.reload();
            return;
        }

        if (jsonParameters != "" && (jsonParameters.tableRequestType == 'newmember' || jsonParameters.tableRequestType == 'insert' || jsonParameters.tableRequestType == 'update' || jsonParameters.tableRequestType == 'membership')) {
            $("#informationText").html("<br>" + $("#warning_successful").val());
			
			if (jsonParameters.tableRequestType == 'membership')
                location.reload();
        }
		
		

    }
    else if (jsonData != "" && jsonData.status == "error") {
        if (jsonParameters != "" && jsonParameters.errorTargetUrl != "" && typeof jsonParameters.errorTargetUrl !== 'undefined')
            window.location.href = jsonParameters.errorTargetUrl;
        else if (jsonData.message == "notauthorized")
            alert($("#warning_notauthorized").val());
        else if (jsonData.message == "notvalidsession")
            alert($("#warning_notvalidsession").val());
        else if (jsonData.message == "exceptionerror")
            alert($("#warning_exceptionerror").val());
        else if (jsonData.message == "validationerror")
            alert($("#warning_validationerror").val());
        else if (jsonData.message == "notvalidrequest")
            alert($("#warning_notvalidrequest").val());
        else if (jsonData.message == "operationerror")
            alert($("#warning_operationerror").val());
        else if (jsonData.message == "notregisteredmember")
            alert($("#warning_notregisteredmember").val());
        else if (jsonData.message == "registeredbefore")
            alert($("#warning_registeredbefore").val());
        else if (jsonData.message == "nodata")
            alert($("#warning_nodata").val());
    }

}

function errorForm(data) {
    $("#loading-overlay").hide();

    if (data.startsWith('{"status":') == false)
        data = DecyrptLocalDataString("", "", data, 0);
    alert(data.message);
}

function customOnChange(idname, type) {
    if (type == "checkbox") {

        if ($('#' + idname).is(':checked')) {
            $('input[name="' + idname.replace("_checkboxitem", "") + '"]').val('True');
        } else {
            $('input[name="' + idname.replace("_checkboxitem", "") + '"]').val('False');
        }

    } else if (type == "radiobutton") {

        if ($('#' + idname).is(':checked')) {
            var idnamearray = idname.split("_radiobuttonitem_");
            $('input[name="' + idnamearray[0] + '"]').val($('input[id="' + idname + '"]').val());
        }

    } else if (type == "multiselectbox") {

        var selectionlist = [];
        $.each($('#' + idname + " option:selected"), function () {
            selectionlist.push($(this).val());
        });
        $('input[name="' + idname.replace("_multiselectboxitem", "") + '"]').val(',' + selectionlist.join(",") + ',');
    }
}

function logout() {
    $.ajax({ url: '/<_project_name_>WebApp/Logout', type: 'post', dataType: 'json', contentType: "application/json; charset=utf-8", success: function (data) { successForm(data, '{"tableRequestType":"logout","opvalue":"","formId":"","successTargetUrl":"","errorTargetUrl":""}') }, beforeSend: function (request) { request.setRequestHeader('SessLVal', getCookie('SessLVal')); request.setRequestHeader('SessVal', getCookie('SessVal')); request.setRequestHeader('Source', getCookie('Source')); request.setRequestHeader('Local', '{"language": "' + getUserLanguage() + '" , "timezone":"' + getUserTimeZone() + '" }'); request.setRequestHeader('Data', EncryptLocalDataString('', '', '{"optarget":"logout","optype":"logout","opvalue":","formid":""}', 0)); }, error: function (data) { errorForm(data) } }).toString();
}



function addfiltercondition(formid) {

    var activeCountNumber = $("#active_count_number").val();
    var activeListNumber = $("#active_list_number").val();

    activeCountNumber = parseInt(activeCountNumber) + 1;

    var trrowinnercondition = $("#trrowinnercondition_1").html();
    var trrowfield = $("#trrowfield_1").html();
    var trrowmaincondition = $("#trrowmaincondition_1").html();


    trrowinnercondition = "<tr id='trrowinnercondition_" + activeCountNumber + "'>" + trrowinnercondition + "</tr>";
    trrowfield = "<tr id='trrowfield_" + activeCountNumber + "'>" + trrowfield + "</tr>";
    trrowmaincondition = trrowmaincondition.replace("display:none", "");
    trrowmaincondition = "<tr id='trrowmaincondition_" + activeCountNumber + "'>" + trrowmaincondition + "</tr>";


    trrowfield = trrowfield.replace("display:none", "");
    trrowfield = trrowfield.replace("deletefiltercondition(1,", "deletefiltercondition(" + activeCountNumber + ",");
    trrowfield = trrowfield.replace(/\_1_/g, "_" + activeCountNumber + "_");
    while (trrowfield.indexOf("field-wrapper") > -1)
        trrowfield = trrowfield.replace("field-wrapper", '');

    trrowinnercondition = trrowinnercondition.replace(/\_1_/g, "_" + activeCountNumber + "_");
    trrowmaincondition = trrowmaincondition.replace(/\_2_/g, "_" + activeCountNumber + "_");

    $("#trrowfield_" + (parseInt(activeCountNumber) - 1)).after(trrowmaincondition + trrowinnercondition + trrowfield);

    //$("#trrowmaincondition_" + (parseInt(activeCountNumber) - 1)).show();
    //$("#trrowmaincondition_" + activeCountNumber).hide();
    $("#active_count_number").val(activeCountNumber);
    $("#active_list_number").val(activeListNumber + "," + activeCountNumber + ",");

    //fieldliste göre ajaxı güncelle
    var tempfilterajaxfunction = $("#tempfilterajaxfunction").html();

    /*
     function FormjsForm861130585726(pgidx = null){$.ajax({url:'/word_content/word_contentSelectFilterResultHtml',type:'post',dataType:'json',contentType : "application/json; charset=utf-8",success : function(data){successForm(data, '{"tableRequestType":"select","opvalue":"","formId":"Form861130585726","successTargetUrl":"","errorTargetUrl":""}')},beforeSend:function(request){ $("#loading-overlay").show(); request.setRequestHeader('SessLVal',  getCookie('SessLVal') );request.setRequestHeader('SessVal', getCookie('SessVal') );request.setRequestHeader('Source', getCookie('Source') );request.setRequestHeader('Local', '{"language": "' + getUserLanguage() + '" , "timezone":"' + getUserTimeZone()+ '" }');request.setRequestHeader('Data', EncryptLocalDataString( '' , '' ,'{"optarget":"word_content","optype":"select","opvalue":"'+ pgidx +'","formid":"Form861130585726","
     operator_1_word_content_id":"'+document.getElementById('operator_1_word_content_id').value+'","field_1_word_content_id":"'+document.getElementById('field_1_word_content_id').value+'","operator_1_word_content_tagname1":"'+document.getElementById('operator_1_word_content_tagname1').value+'","field_1_word_content_tagname1":"'+document.getElementById('field_1_word_content_tagname1').value+'","operator_1_word_content_tagname2":"'+document.getElementById('operator_1_word_content_tagname2').value+'","field_1_word_content_tagname2":"'+document.getElementById('field_1_word_content_tagname2').value+'","operator_1_word_content_tagname3":"'+document.getElementById('operator_1_word_content_tagname3').value+'","field_1_word_content_tagname3":"'+document.getElementById('field_1_word_content_tagname3').value+'","operator_1_word_content_tagname4":"'+document.getElementById('operator_1_word_content_tagname4').value+'","field_1_word_content_tagname4":"'+document.getElementById('field_1_word_content_tagname4').value+'","operator_1_word_content_tagname5":"'+document.getElementById('operator_1_word_content_tagname5').value+'","field_1_word_content_tagname5":"'+document.getElementById('field_1_word_content_tagname5').value+'","operator_1_word_content_language_id":"'+document.getElementById('operator_1_word_content_language_id').value+'","field_1_word_content_language_id":"'+document.getElementById('field_1_word_content_language_id').value+'","operator_1_word_content_content_text":"'+document.getElementById('operator_1_word_content_content_text').value+'","field_1_word_content_content_text":"'+document.getElementById('field_1_word_content_content_text').value+'","operator_1_word_content_is_active":"'+document.getElementById('operator_1_word_content_is_active').value+'","field_1_word_content_is_active":"'+document.getElementById('field_1_word_content_is_active').value+'","operator_1_word_content_is_deleted":"'+document.getElementById('operator_1_word_content_is_deleted').value+'","field_1_word_content_is_deleted":"'+document.getElementById('field_1_word_content_is_deleted').value+'","operator_1_word_content_create_datetime":"'+document.getElementById('operator_1_word_content_create_datetime').value+'","field_1_word_content_create_datetime":"'+document.getElementById('field_1_word_content_create_datetime').value+'","innercondition_1_":"'+document.getElementById('innercondition_1_').value+'"}', 0));},error : function(data){errorForm(data)}}).toString();}
     */

    var tempfilterajaxfunctionstart = tempfilterajaxfunction.substring(0, tempfilterajaxfunction.indexOf("operator_1")); //.split('operator_1',2);

    tempfilterajaxfunctionstart = tempfilterajaxfunctionstart.replace('selectfiltertemplatefunction', 'Formjs' + formid);
    var tempfilterajaxfunctionend = tempfilterajaxfunction.substring(tempfilterajaxfunction.indexOf('"}\','), tempfilterajaxfunction.length);
    var tempfilterajaxfunctionbody = tempfilterajaxfunction.substring(tempfilterajaxfunction.indexOf("operator_1"), tempfilterajaxfunction.indexOf('"}\','));


    activeListNumber = $("#active_list_number").val();
    activeListNumber = activeListNumber.replace(',1,', '');

    var addbody = "";
    if (activeListNumber.includes(",,")) {
        var numberList = activeListNumber.split(',,');
        for (var i = 0; i < numberList.length; i++) {
            addbody += "\",\"" + tempfilterajaxfunctionbody.replace(/\_1_/g, "_" + numberList[i].replace(/\,/g, '') + "_");
            if (i == numberList.length - 1)
                addbody = addbody + "\",\"maincondition_" + numberList[i].replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + numberList[i].replace(/\,/g, '') + "_').value+'";
            else
                addbody = addbody + "\",\"maincondition_" + numberList[i].replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + numberList[i].replace(/\,/g, '') + "_').value+'";
        }
    } else if (activeListNumber != "") {

        addbody += "\",\"" + tempfilterajaxfunctionbody.replace(/\_1_/g, "_" + activeListNumber.replace(/\,/g, '') + "_");
        addbody = addbody + "\",\"maincondition_" + activeListNumber.replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + activeListNumber.replace(/\,/g, '') + "_').value+'";
    }

    $("#newfilterajaxfunction").html(tempfilterajaxfunctionstart + tempfilterajaxfunctionbody + addbody + tempfilterajaxfunctionend);

}

function deletefiltercondition(row, formid) {

    var activeCountNumber = $("#active_count_number").val();
    var activeListNumber = $("#active_list_number").val();

    activeListNumber = activeListNumber.replace("," + row + ",", "");


    $("#active_count_number").val(parseInt(activeCountNumber) - 1);
    $("#active_list_number").val(activeListNumber);

    $("#trrowinnercondition_" + row).remove();
    $("#trrowfield_" + row).remove();
    $("#trrowmaincondition_" + row).remove();

    //fieldliste göre ajaxı güncelle
    var tempfilterajaxfunction = $("#tempfilterajaxfunction").html();
    var tempfilterajaxfunctionstart = tempfilterajaxfunction.substring(0, tempfilterajaxfunction.indexOf("operator_1")); //.split('operator_1',2);

    tempfilterajaxfunctionstart = tempfilterajaxfunctionstart.replace('selectfiltertemplatefunction', 'Formjs' + formid);
    var tempfilterajaxfunctionend = tempfilterajaxfunction.substring(tempfilterajaxfunction.indexOf('"}\','), tempfilterajaxfunction.length);
    var tempfilterajaxfunctionbody = tempfilterajaxfunction.substring(tempfilterajaxfunction.indexOf("operator_1"), tempfilterajaxfunction.indexOf('"}\','));

    activeListNumber = activeListNumber.replace(',1,', '');

    var addbody = "";
    if (activeListNumber.includes(",,")) {
        var numberList = activeListNumber.split(',,');
        for (var i = 0; i < numberList.length; i++) {
            addbody += "\",\"" + tempfilterajaxfunctionbody.replace(/\_1_/g, "_" + numberList[i].replace(/\,/g, '') + "_");
            if (i == numberList.length - 1)
                addbody = addbody + "\",\"maincondition_" + numberList[i].replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + numberList[i].replace(/\,/g, '') + "_').value+'";
            else
                addbody = addbody + "\",\"maincondition_" + numberList[i].replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + numberList[i].replace(/\,/g, '') + "_').value+'";
        }
    } else if (activeListNumber != "") {

        addbody += "\",\"" + tempfilterajaxfunctionbody.replace(/\_1_/g, "_" + activeListNumber.replace(/\,/g, '') + "_");
        addbody = addbody + "\",\"maincondition_" + activeListNumber.replace(/\,/g, '') + "_\": \"'+document.getElementById('maincondition_" + activeListNumber.replace(/\,/g, '') + "_').value+'";
    }
    $("#newfilterajaxfunction").html(tempfilterajaxfunctionstart + tempfilterajaxfunctionbody + addbody + tempfilterajaxfunctionend);

}

function uploadfile(elementnameupload, elementname, targetposturl, targetfolder, targetType, IDSecretKey, opType) {
    $("#loading-overlay").show();

    var fileUpload = $("#" + elementnameupload).get(0);
    var files = fileUpload.files;

    // Create FormData object
    var fileData = new FormData();

    // Looping over all files and add it to FormData object
    for (var i = 0; i < files.length; i++) {
        fileData.append(files[i].name, files[i]);
    }

    // Adding one more key to FormData object
    fileData.append('targetFolder', targetfolder);
    fileData.append('targetType', targetType);
    fileData.append('IDSecretKey', IDSecretKey);
    fileData.append('opType', opType);

    $.ajax({
        url: targetposturl,
        type: "POST",
        contentType: "text/plain; charset=utf-8", // Not to set any content header
        processData: false, // false Not to process data
        data: fileData,
        success: function (result) {
            $("#loading-overlay").hide();

            result = DecyrptLocalDataString("", "", result, 0);
            var jsonData = "";
            jsonData = JSON.parse((result));
            if (jsonData != "" && jsonData.status == "ok") {
                $('input[name="' + elementname + '"]').val(jsonData.data);
            }

        },
        beforeSend: function (request) {
            request.setRequestHeader('SessLVal', getCookie('SessLVal'));
            request.setRequestHeader('SessVal', getCookie('SessVal'));
            request.setRequestHeader('Source', getCookie('Source'));
            request.setRequestHeader('Local', '{\"language\": \"' + getUserLanguage() + '\" , \"timezone\":\"' + getUserTimeZone() + '\" }');
            request.setRequestHeader('Data', EncryptLocalDataString('', '', fileData, 0));
        },
        error: function (err) {
            $("#loading-overlay").hide();
            //err = DecyrptLocalDataString("", "", err, 0);
            alert(err.statusText);
        }
    });

}

function cancelupload(elementnameold, elementname) {
    $('input[name="' + elementname + '"]').val($('input[name="' + elementname + "_old" + '"]').val());
    $('input[name="' + elementname + "_upload" + '"]').val($('input[name="' + elementname + "_old" + '"]').val());
}


    function customSuccessForm(data, parameters) {

    //$("#loading-overlay").hide();

    var jsonParameters = "";
    if (typeof parameters !== 'undefined') {

        if (/^[\],:{}\s]*$/.test(parameters.replace(/\\["\\\/bfnrtu]/g, '').
            replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
            replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
        jsonParameters = JSON.parse(parameters);
            //the json is ok

        } else {
        jsonParameters = JSON.parse((parameters));
            //the json is not ok

        }
    }

	console.log(jsonParameters.tableRequestType );
	console.log(data );

	var jsonData = "";

	if (typeof data !== 'undefined') {

        if(data.startsWith('{"status":') == true ||  (jsonParameters.tableRequestType == 'createsession') ||  (jsonParameters.tableRequestType == 'createlogintype'))
             ;
		else if((jsonParameters.tableRequestType == 'newmember') || (jsonParameters.tableRequestType == 'checkvalidationcode') || (jsonParameters.tableRequestType == 'resetpassword') || (jsonParameters.tableRequestType == 'passwordvalidation') || (jsonParameters.tableRequestType == 'login'))
			data = DecyrptLocalDataString('', '', data, 1);
		else
			data = DecyrptLocalDataString('', '', data, 0);

		console.log(data );

		if((jsonParameters.tableRequestType == 'createsession') ||  (jsonParameters.tableRequestType == 'createlogintype'))
			;
		else{
            jsonData = JSON.parse(("" + data + ""));//JSON.parse(JSON.stringify("[" + data + "]"));

		}

    }

    //'{\"tableRequestType\":\"" + tableRequestType + "\"," + "\"opvalue\":\"" + opvalue + "\"," + "\"formId\":\"" + formId + "\"," + "\"successTargetUrl\":\"" + successTargetUrl+ "\"," + "\"errorTargetUrl\":\"" + errorTargetUrl + "\"}'


	if (jsonParameters != "" && (jsonParameters.tableRequestType == 'createsession')) {
        setCookie('SessVal', data, '100');
		CreateLoginType();
	}else if (jsonParameters != "" && (jsonParameters.tableRequestType == 'createlogintype')) {
        setCookie('Source', data, '100');
    } else if (jsonParameters != "" && (jsonParameters.tableRequestType == 'passwordvalidation' || jsonParameters.tableRequestType == 'validationcode' || jsonParameters.tableRequestType == 'checkvalidationcode' || jsonParameters.tableRequestType == 'login')) {
        console.log(jsonData.data);
        //var returndata = JSON.parse(JSON.stringify("[" + jsonData.data + "]"));//JSON.parse(JSON.stringify("["+jsonData.data+"]"));
        setCookie('SessLVal', jsonData.data.SessLVal, '100');
        setCookie('Source', jsonData.data.Source, '100');
		//{\"status\":\"ok\", \"statuscode\":\"200\", \"message\": \"successful\", \"language\":\"" + LocalLanguageId + "\",\"timezone\":\"" + LocalOffset + "\", \"rowcount\":\"1\", \"data\":{\"member_id\":\"" + memberId + "\",\"member_secretkey\":\"" + memberSecretKey + "\",\"images_url\":\"" + images_url + "\",\"image_source\":\"" + image_source + "\",\"member_name\":\"" + member_name + "\",\"member_surname\":\"" + member_surname + "\",\"corporate_name\":\"" + corporate_name + "\",\"Source\":\"" + UserTypeEncrypted + "\",\"SessLVal\":\"" + SessionValue + "\" }, \"targeturl\":\"\"}

    }



    if (jsonData != "" && jsonData.status == "ok") {

        if (jsonParameters != "" && jsonParameters.successTargetUrl != "" && typeof jsonParameters.successTargetUrl !== 'undefined') {
           window.location.href = jsonParameters.successTargetUrl;
        }




        if (jsonParameters != "" && jsonParameters.tableRequestType == 'deletev')
        {
            if (jsonParameters != "" && jsonParameters.successTargetUrl != "" && typeof jsonParameters.successTargetUrl !== 'undefined') {
        window.location.href = jsonParameters.successTargetUrl;
            } else if (jsonParameters != "" && jsonParameters.opvalue != '') {
        //document.getElementById("trrow" + jsonParameters.opvalue).style.display = "none";
        console.log(jsonData.data);
            }
            //document.getElementById(updateelementid.replace('Deletevvalue', 'Trrow')).style.display = "none";
        } else if (jsonParameters != "" && jsonParameters.tableRequestType == 'insert') {
        //clearFormElement(jsonParameters.formId);
        console.log(jsonData.data);
        }
        else if (jsonParameters != "" && jsonParameters.tableRequestType == 'newmember') {
        //clearFormElement(jsonParameters.formId);
        console.log(jsonData.data);
        }
        else if (jsonParameters != "" && jsonParameters.tableRequestType == 'select') {
        console.log(jsonData.data);
             //var response = jsonData.data.split("~|~");

            //$('#contenttable tbody').html(response[0]);
            //$("#newscript").html(response[1]);
            //console.log(jsonData.data);
        }

        if (jsonParameters != "" && (jsonParameters.tableRequestType == 'newmember' || jsonParameters.tableRequestType == 'insert' || jsonParameters.tableRequestType == 'update' || jsonParameters.tableRequestType == 'membership')) {
        console.log(jsonData.data);
        // $("#informationText").html("<br>" + $("#warning_successful").val());
    }

    }
    else if (jsonData != "" && jsonData.status == "error") {
        if (jsonParameters != "" && jsonParameters.errorTargetUrl != "" && typeof jsonParameters.errorTargetUrl !== 'undefined')
            window.location.href = jsonParameters.errorTargetUrl;
        else if (jsonData.message == "notauthorized")
            console.log($("#warning_notauthorized").val());
        else if (jsonData.message == "notvalidsession")
            console.log($("#warning_notvalidsession").val());
        else if (jsonData.message == "exceptionerror")
            console.log($("#warning_exceptionerror").val());
        else if (jsonData.message == "validationerror")
            console.log($("#warning_validationerror").val());
        else if (jsonData.message == "notvalidrequest")
            console.log($("#warning_notvalidrequest").val());
        else if (jsonData.message == "operationerror")
            console.log($("#warning_operationerror").val());
        else if (jsonData.message == "notregisteredmember")
            console.log($("#warning_notregisteredmember").val());
        else if (jsonData.message == "registeredbefore")
            console.log($("#warning_registeredbefore").val());
        else if (jsonData.message == "nodata")
            console.log($("#warning_nodata").val());
    }

}

function customErrorForm(data) {
    //$("#loading-overlay").hide();
    if(data.startsWith('{"status":') == false)
        data = DecyrptLocalDataString("", "", data, 0);
    console.log(data);
    return data;
}




        function CreateSession() {
            $.ajax(
                {
                    url: 'http://185.50.68.167:2085/eolplatformWebApp/CreateSession',
                    type: 'post',
                    dataType: 'text',
                    contentType: "text/plain;charset=utf-8",
                    success: function (data, parameters) {
                        customSuccessForm(data, '{"tableRequestType":"createsession","opvalue":"","formId":"Form765957607558","successTargetUrl":"","errorTargetUrl":""}')
                    },
                    beforeSend: function (request) {
                        //$("#loading-overlay").show(); 
                    },
                    error: function (data) {
                        customErrorForm(data)
                    }
                }
            ).toString();
}

function CreateLoginType()
{
            $.ajax(
                {
                    url: 'http://185.50.68.167:2085/eolplatformWebApp/CreateLoginType?UserType=user&sesvaluecreated=' + getCookie('SessVal'),
                    type: 'post',
                    dataType: 'text',
                    contentType: "text/plain; charset=utf-8",
                    success: function (data) {
                        customSuccessForm(data, '{"tableRequestType":"createlogintype","opvalue":"","formId":"Form765957607558","successTargetUrl":"","errorTargetUrl":""}')
                    },
                    beforeSend: function (request) {
                        //$("#loading-overlay").show(); 

                    },
                    error: function (data) { customErrorForm(data) }
                }
            ).toString();
}

function NewMember()
{
            console.log(EncryptLocalDataString('', '', '{"optarget":"tbl_user","optype":"newmember","opvalue":"","formid":"","user_name":"' + document.getElementById('user_name').value + '","user_surname":"' + document.getElementById('user_surname').value + '","user_active_email":"' + document.getElementById('user_active_email').value + '","user_password":"' + document.getElementById('user_password').value + '","usernametype":"email","loginusertype":"user","roletype":"enduser"}', 1).toString());

$.ajax({url:'http://185.50.68.167:2085/eolplatformWebApp/NewMember',type:'post',dataType:'text',contentType : "text/plain; charset=utf-8",success : function(data){customSuccessForm(data, '{"tableRequestType":"newmember","opvalue":"","formId":"","successTargetUrl":"","errorTargetUrl":""}')},beforeSend:function(request){ //$("#loading-overlay").show(); 
            request.setRequestHeader('SessVal', getCookie('SessVal'));
request.setRequestHeader('Source', getCookie('Source') );
request.setRequestHeader('Local', '{"language": "' + getUserLanguage() + '" , "timezone":"' + getUserTimeZone()+ '" }');
request.setRequestHeader('Data', EncryptLocalDataString( '' , '' ,'{"optarget":"tbl_user","optype":"newmember","opvalue":"","formid":"","user_name":"'+document.getElementById('user_name').value+'","user_surname":"'+document.getElementById('user_surname').value+'","user_active_email":"'+document.getElementById('user_active_email').value+'","user_password":"'+document.getElementById('user_password').value+'","usernametype":"email","loginusertype":"user","roletype":"enduser"}', 1));},
error : function(data){customErrorForm(data)}}).toString();

}


function CheckValidationCode()
{
            console.log(EncryptLocalDataString('', '', '{"optarget":"tbl_user","optype":"validationcode","opvalue":"","formid":"","user_active_email":"' + 'ok2@tubek.net' + '","user_active_email_validation_code":"' + '123456' + '","usertype":"user"}', 1).toString());

$.ajax({url:'http://185.50.68.167:2085/eolplatformWebApp/CheckValidationCode',type:'post',dataType:'text',contentType : "text/plain; charset=utf-8",success : function(data){customSuccessForm(data, '{"tableRequestType":"checkvalidationcode","opvalue":"","formId":"","successTargetUrl":"","errorTargetUrl":""}')},beforeSend:function(request){ //$("#loading-overlay").show(); 

            request.setRequestHeader('SessVal', getCookie('SessVal'));
request.setRequestHeader('Source', getCookie('Source') );
request.setRequestHeader('Local', '{"language": "' + getUserLanguage() + '" , "timezone":"' + getUserTimeZone()+ '" }');
request.setRequestHeader('Data', EncryptLocalDataString( '' , '' ,'{"optarget":"tbl_user","optype":"validationcode","opvalue":"","formid":"","user_active_email":"'+document.getElementById('user_active_email').value+'","user_active_email_validation_code":"'+'123456'+'","usertype":"user"}', 1));},
error : function(data){customErrorForm(data)}}).toString();
}



