﻿function changeItemStyleStatus(itemID, modeA, modeB) {
    var theItem = document.getElementById(itemID)
    if (theItem.style.display == modeA) {
        theItem.style.display = modeB;
    }
    else {
        theItem.style.display = modeA;
    }
}



var thedate = new Date();
var rndNum = thedate.getTime() + 'a' + thedate.getSeconds();

function submitCommentFormAjax(theDiv, messageID) {
    //var fade = $("div_AddComment" + messageID);
    theDiv.setOpacity(0);
    var url = "/ajax/Forum/AddComment.aspx?MessageID=" + messageID + "&inp_AuthorEmail=" + $("inp_Email") + "&subject=" + $("inp_Subject") + "&author=" + $("inp_AuthorName") + "&Postback=1" + "&theDiv=" + $("inp_theDiv") + "&p=" + rndNum;
    new Ajax(url, {
        method: 'get',
        update: theDiv,
        onComplete: function() {
            var fx = new Fx.Style(theDiv, 'opacity', { duration: 100, wait: false });
            theDiv.setStyle('display', 'block');
            fx.start(0, 1);
        }
    }).request();
}

function showDivInLiteralForAJAX(divName, messageID, buttonID) {
    var fade = $(divName);
    if (fade.className == "addResBox") {

        if (0 == messageID) {
            document.getElementById(buttonID).src = "images/commu_add.gif";
            document.getElementById(buttonID).width = "119";
        }
        else {
            document.getElementById(buttonID).src = "images/commu_add2.gif";
            document.getElementById(buttonID).width = "81";
        }
        fade.setOpacity(0);
        var fx = new Fx.Style(fade, 'opacity', { duration: 500, wait: false });
        fade.innerHTML = "";
        fade.className = "";
        fx.start(0, 1);
    }
    else {
        document.getElementById(buttonID).width = "64";
        document.getElementById(buttonID).src = "images/butt_cancel.gif";
        fade.setOpacity(0);
        var url = "/ajax/Forum/AddComment.aspx?parentMessageID=" + messageID + "&theDiv=" + divName + "&openCloseButtonid=" + buttonID + "&p=" + rndNum;
        new Ajax(url, {
            method: 'get',
            update: $(divName),
            onComplete: function() {
                var fx = new Fx.Style(fade, 'opacity', { duration: 500, wait: false });
                fade.className = "addResBox";
                fx.start(0, 1);
            }
        }).request();
    }
}


function WORKS_BUT_NO_CSS_showDivInLiteralForAJAX(divName, messageID) {
    var fade = $(divName);
    fade.setOpacity(0);
    var url = "/ajax/Forum/AddComment.aspx?parentMessageID=" + messageID + "&theDiv=" + divName + "&p=" + rndNum;
    new Ajax(url, {
        method: 'get',
        update: $(divName),
        onComplete: function() {
            var fx = new Fx.Style(fade, 'opacity', { duration: 500, wait: false });
            fade.setStyle('display', 'block');
            fx.start(0, 1);
        }
    }).request();
}


function submitCommentForm(DivCtrl, ParentCtrl, AuthorCtrl, AuthorEmailCtrl, ContentCtrl, isShowEmailCtrl, SubjectCtrl, MessageTextDivClientID) {

    var isEverythingOK = "1";
    var msgBoxTxt1 = "";
    var msgBoxTxt2 = "";
    var msgBoxTxt3 = "";

    var authorName = $(AuthorCtrl);
    if (authorName.value == "") {
        msgBoxTxt1 = "שם משתמש ";
        isEverythingOK = 0;
    }
    var authorEmail = $(AuthorEmailCtrl);
    if (authorEmail.value == "") {
        msgBoxTxt2 = "דואר אלקטרוני "
        isEverythingOK = 0;
    }
    var subjectTxt = $(SubjectCtrl);
    if (subjectTxt.value == "") {
        msgBoxTxt3 = "נושא ";
        isEverythingOK = 0;
    }
    var divOfInputMessageContent = $(MessageTextDivClientID);
    if ((divOfInputMessageContent.innerText).length > 800) {
        msgBoxTxt3 = " אורך הודעה עד 300 תווים";
        isEverythingOK = 0;
    }
    else {
    //the only HTML i will need is for the emoticons - so convert them into text and forget about the HTML, this way - no scripts
        divOfInputMessageContent.innerHTML = divOfInputMessageContent.innerHTML.replace(/<IMG src=\"http:\/\/www.rest.co.il\/img\/forum\//g, "HTMLIMAGESTART");
        divOfInputMessageContent.innerText=divOfInputMessageContent.innerText.replace(/.gif\" align=absMiddle border=0>/g, "HTMLIMAGEEND");
    }

    if (isEverythingOK == "1")  {
        if (ValidateEmail(AuthorEmailCtrl)) {
            var inputMessageContentControl = $(ContentCtrl);
            inputMessageContentControl.value =  divOfInputMessageContent.innerText;
            //inputMessageContentControl.value = escape(inputMessageContentControl.value
            submitFormByAJAX($(DivCtrl).value, $(ParentCtrl).value, authorName.value, $(AuthorEmailCtrl).value, inputMessageContentControl.value, $(isShowEmailCtrl).value, $(SubjectCtrl).value);
            //
        }
        else {
            alert("יש למלא כתובת דואר אלקטרוני תקנית.");
        }
    }
    else {
        alert("יש למלא " + msgBoxTxt1 + msgBoxTxt2 + msgBoxTxt3 + ".");
    }
}



function submitFormByAJAX(divName, parentMessageID, author, authorEmail, msgContent, isShowEmail, msgSubject) {
    rndNum = thedate.getTime() + 'a' + thedate.getSeconds();
    var fade = $(divName);
    fade.setOpacity(0);
    var url = "/ajax/Forum/AddComment.aspx?submit=1&parentMessageID=" + parentMessageID + "&theDiv=" + divName + "&author=" + escape(author) + "&authorEmail=" + escape(authorEmail) + "&msgContent=" + msgContent + "&isShowEmail=" + isShowEmail + "&msgSubject=" + escape(msgSubject) + "&p=" + rndNum;
    new Ajax(url, {
        method: 'get',
        update: $(divName),
        onComplete: function() {
                document.location.href = "Forum.aspx";
        }
    }).request();
}



function insertIconIntoText(imgHTML, textAreaClientID) {
    var textArea = $(textAreaClientID);
    textArea.innerHTML += imgHTML;
}






function showHideEmoticons() {

    var arrowThingie = $('div_emoticonArrow');
    var emoticonArea = $('div_EmoticonsAtClient');

    if (emoticonArea.style.visibility != "hidden") {
        arrowThingie.setStyle('visibility', 'hidden');
        emoticonArea.setStyle('visibility', 'hidden');
    }
    else {
        arrowThingie.setStyle('visibility', 'visible');
        emoticonArea.setStyle('visibility', 'visible');

    }

}



function checkBoxOnClick(theDivChkBox, theInputBoxToUpdate) {
    var checkBoxDiv = $(theDivChkBox);
    var inputBoxUpdate = $(theInputBoxToUpdate);
    var newCheckBoxStyle = "chk";
    if (checkBoxDiv.className == "chkBoxs") {
        //checkBoxDiv.className = "chk";
        inputBoxUpdate.value = "1";
    } else {
        newCheckBoxStyle = "chkBoxs";
        inputBoxUpdate.value = "0";
    }
    var fx = new Fx.Style(checkBoxDiv, 'opacity', { duration: 100, wait: false });
    checkBoxDiv.className = newCheckBoxStyle;
    fx.start(0, 1);
}

function cancelButtonClick(divName, messageID, buttonID) {
    showDivInLiteralForAJAX(divName, messageID, buttonID);
}




function echeck(str) {

    var at = "@";
    var dot = ".";
    var lat = str.indexOf(at);
    var lstr = str.length;
    var ldot = str.indexOf(dot);
    if (str.indexOf(at) == -1) {
        return false;
    }

    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        return false;
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        return false;
    }

    if (str.indexOf(at, (lat + 1)) != -1) {
        return false;
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
        return false;
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        return false;
    }

    if (str.indexOf(" ") != -1) {
        return false;
    }

    return true;
}

function ValidateEmail(emailAddressCtrlID) {
    var emailID = $(emailAddressCtrlID);

    if ((emailID.value == null) || (emailID.value == "")) {
        emailID.focus();
        return false;
    }
    if (echeck(emailID.value) == false) {
        emailID.focus();
        return false;
    }
    return true
}
