﻿var scrollAreaX = 0;
var elementWidth = 89; // include padding in width!

        


var BASE_CHANGE_ARR1 = ['PdivImages'];
var BASE_CHANGE_ARR2 = [];



var NEEDS_A_BAD_WORD_CHECK = false;
var DID_NEED_CHECK_NOW_SUBMIT = false;
var SUBMIT_WITH_THIS = null;


function loadVideo(vidcode, inEleid)
{
    setEvent(window, "load", function() { document.getElementById(inEleid).innerHTML = unescape(vidcode); });
}

function checkForBadWords(ele, tag) 
{
    NEEDS_A_BAD_WORD_CHECK = true;
    jajax.request('badwordcheck.aspx', badWordsChecked, ["text"], [ele.value], [ele, tag], false, false);

}

function badWordsChecked(responseText, paramArr)
{
    if(responseText.indexOf("fail") > -1)
    {
        paramArr[0].value = (responseText.length > 4 ? responseText.substring(4) : paramArr[1]);
        if (DID_NEED_CHECK_NOW_SUBMIT)
            endWaiting();
        alert("You may not enter any bad words in the " + paramArr[1].toString() + ".\r\n They have already been deleted for you.");
        NEEDS_A_BAD_WORD_CHECK = false;
    }
    else 
    {
        NEEDS_A_BAD_WORD_CHECK = false;
        //alert("2 - " + DID_NEED_CHECK_NOW_SUBMIT);
        if(DID_NEED_CHECK_NOW_SUBMIT)
            SUBMIT_WITH_THIS.click();
    }
    DID_NEED_CHECK_NOW_SUBMIT = false;
}
function justFixHtmlText() 
{
    changeTextToPassASPValidation(videoTB.id);
}

function finishAd(ele)
{
    var ret = true;
    ret = validateAd();
    
    if (ret) 
    {
        showWaiting();
        if (NEEDS_A_BAD_WORD_CHECK)
        {
            ret = false;
            DID_NEED_CHECK_NOW_SUBMIT = true;
            SUBMIT_WITH_THIS = ele;
        }                
        else
        {
            changeTextToPassASPValidation(videoTB.id);
            //saveUpgradeChanges();
        }
    }
    return ret;
}


function getIllegalTags() {
    return ["script", "iframe", "link", "applet", "app", "base", "bgsound", "embed", "form", "frame", "frameset", "html", "body", "htmlplus", "sound", "audioscope", "server"];
}

/*function saveUpgradeChanges() 
{
    var sKeys = TheseUpgradeItems.selectedKeys();
    hfselectedUpgrades.value = sKeys.toString();
}*/

function validateAd() 
{
    var errMsg = "";
    var pjform = new jkForm();
    var htmlerr = "";

    if (titleTB.value == "" || titleTB.value == "Title") 
    {
        errMsg += "You must enter a Title before posting your ad.";
        titleTB.cssClass = "BackgroundColor7";
    }

    if (catTB.value == '' || catTB.value != cat2TB.value)
    {
        errMsg += (errMsg != "" ? "<br />" : "") + "You must select a Category for your ad.";
        catTB.cssClass = "BackgroundColor7";
    }

    /*if (urlTB.value != "http://www.MyWebSite.com" && !pjform.isUrl(urlTB.value)) 
    {
        errMsg += (errMsg != "" ? "<br />" : "") + "Your URL is not a web address.";
        urlTB.style.backgroundColor = "#FF6347";
    }*/

    if (shipPriceTB.value != "Shipping Price" && !pjform.isMoney(shipPriceTB.value)) 
    {
        errMsg += (errMsg != "" ? "<br />" : "") + "Your Shipping Price is not a legit money value.";
        shipPriceTB.cssClass = "BackgroundColor7";
    }

    //check HTML for bad tags
    var illegalTags = getIllegalTags();
    for (var i = 0; i < illegalTags.length; i++)
        if (CURR_EDITOR_HTML.indexOf("<" + illegalTags[i]) > -1)
            htmlerr += "&lt;" + illegalTags[i] + "&gt;, ";
    if (htmlerr != "")
    {
        htmlerr = "Your html will not be accepted with " + htmlerr.substring(0, htmlerr.length - 2) + " tags.";
        errMsg += (errMsg != "" ? "<br />" : "") + htmlerr;
    }
    
   /* if(zipTB.value == "" || !pjform.isZip(zipTB.value))
    {
        errMsg += (errMsg != "" ? "<br />" : "") + "Zip code must be filled out";
        changeBaseScreen(['tab9Div', 'PdivInfo'], ['tab10Div']);
        zipTB.cssClass = "BackgroundColor7";
    }*/
    
    if (errMsg != "") 
    {
        showSuccessOrError("errMsgDiv", false, errMsg);
        document.getElementById("errMsgDiv").scrollIntoView(false);
    }
    else
        showSuccessOrError("errMsgDiv", true, "Going to a Preview");


    return errMsg == "";
}

function showDescription(divid) 
{
    var box = new jkBox(divid + "_Box");
    box.setHeader("Created HTML", [], []);
    box.setCenterPosition();
    box.setMinimizeAbility(false);
    var d = box.makeBox(document.getElementById(divid).innerHTML, "#cccccc", "white", "#90cc69", 1, 8, 75, "0px");
    document.body.appendChild(d);
}
/*
function showNeedUpgradeMessage(uItem, selectionHandler, paramArr) {
    var tmp = document.createElement("DIV");
    var jbox = new jkBox("upgradeInfo");

    tmp.innerHTML = unescape(uItem.desc) + "<br /><br />";
    tmp.innerHTML += "<br /><div  style='font-size: 18px;'><center>Continue with upgrade? <br /><input type='button' id='yesButton' value='Yes' /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' id='noButton' value='No' /></center></div>";
    tmp.innerHTML += "<br /><br /><br /><span style='font-size: 12px;'><input type='checkbox' id='cbStopShowingUpgradeWarnings' />Don't warn me when I select an upgrade.</span>";
    [tmp].setStyle(["width"], ["300px"]);
    jbox.setCenterPosition();
    jbox.setShowScreen(true, "#dddddd");
    jbox.setMinimizeAbility(false);
    jbox.setCloseAbility(false);
    jbox.setHeader(unescape(uItem.name) + " - $" + uItem.price, ["padding", "backgroundColor", "fontSize", "fontWeight"], ["5px", "#F2F1F7", "20px", "bold"], 5);
    var d = jbox.makeBox(tmp, "#82e65f", "white", "black", 1, 5, 75, "10px");
    document.body.appendChild(d);

    document.getElementById('yesButton').onclick = function() { selectionHandler(true, paramArr); jbox.killBox(true); };
    document.getElementById('noButton').onclick = function() { selectionHandler(false, paramArr); jbox.killBox(true); };
    
    return false;
}

function warnForSimpleUpgrade(thisEle, defaultVal, opt, enable)
{
    var key = opt == "url" ? 3 : opt == "video" ? 7 : opt == "365" ? 8 : 4;
    var uItem = TheseUpgradeItems.getItem(key);
    if (enable) {
        uItem.purchasingQty = 1;
    }
    else {
        var isTB = (key == 3 || key == 7);
        //alert(key);
        //alert(TheseUpgradeItems.toString(true));
        var jf = new jkForm();

        if (hfShowUpgradeWarnings.value == "1" && !(uItem.alreadyPurchased || uItem.purchasingQty > 0) && (!isTB || thisEle.value != '') && (key != 3 || jf.isUrl(thisEle.value)))
            showNeedUpgradeMessage(uItem, SimpleUpgradeHandler, [thisEle, defaultVal, key, isTB]);
        else if ((key == 4 || key == 8) && !defaultVal)//disable
            uItem.purchasingQty = 0;
        else if ((key == 3 || key == 7) && thisEle.value == '')
            uItem.purchasingQty = 0;
    }
}

function SimpleUpgradeHandler(isAYes, paramArr)
{
    if(isAYes)
        TheseUpgradeItems.getItem(paramArr[2]).purchasingQty++;
    else if(paramArr[3])
        paramArr[0].value = paramArr[1];
    else
        paramArr[1].checked = true;

    if (document.getElementById('cbStopShowingUpgradeWarnings').checked)
        hfShowUpgradeWarnings.value = 0;
}*/

function confirmCheckoutAdPrice(intb) {
    var jf = new jkForm();
    var mandatePrice = pprb.checked || grb.checked;
    var ret = jf.isMoney(priceTB.value);
    if (mandatePrice && !ret) {
        var msg = "Your Ad's price must be in a proper money format. ($5,585.00)";
        if (mandatePrice && intb) {
            msg += "\r\nDisable your checkout buttons to enter a non-monatary price.";
            priceTB.value = "";
        }
        alert(msg);
        priceTB.focus();
        priceTB.select();
    }
    return ret;
}


var CURR_EDITOR_HTML = "";
var THE_EDITOR;

function contentSaved(ed, o) 
{
    changeTextToPassASPValidation(contentTB.id);
}
function setCurrEditorHTML(ed, cm) 
{
    THE_EDITOR = ed;
    CURR_EDITOR_HTML = ed.getContent();
    CURR_EDITOR_HTML = CURR_EDITOR_HTML ? CURR_EDITOR_HTML : "";
}

function editorCheckLengthForUpgrade3(ed, cmd, ui, val) {
    editorCheckLengthForUpgrade(ed, false, true);
}

function editorCheckLengthForUpgrade2(ed, o) {
    editorCheckLengthForUpgrade(ed, false, o);
}
function editorCheckLengthForUpgrade(ed, e, o)
{
    var text = ed.getContent();
    var len = text.length;
    var maxLen = UserMaxHTML;
    if (len >= UltiMaxHTML) {
        alert('You have reached the maximum character limit allowed (75,000).');
        ed.setContent(CURR_EDITOR_HTML != "undefined" ? CURR_EDITOR_HTML : "");
    }
    else if (len > maxLen)// || reg.test(text))
    {
        //alert(UserIsReg);
        if(UserIsReg == "true")
            alert('You have reached your allowed character limit of 2,000. Upgrade your user to get 75,000');
        else
            alert('You must be registerd to add more text to you HTML ad.');
        ed.setContent(CURR_EDITOR_HTML != "undefined" ? CURR_EDITOR_HTML : "");
    }
    else if (o || len > (maxLen - 10))
        CURR_EDITOR_HTML = text;
}

/*function lengthUpgradeHandler(isAYes, paramArr) 
{
    if(isAYes)
        TheseUpgradeItems.getItem(2).purchasingQty++;
    //alert(CURR_EDITOR_HTML);
    paramArr[0].setContent(CURR_EDITOR_HTML != "undefined" ? CURR_EDITOR_HTML : "");

    if (document.getElementById('cbStopShowingUpgradeWarnings').checked)
        hfShowUpgradeWarnings.value = 0;
}*/

function changeBaseScreen(showArr, hideArr)
{
    showAndHide(showArr.concat(BASE_CHANGE_ARR2), hideArr.concat(BASE_CHANGE_ARR1), []);
    BASE_CHANGE_ARR1 = showArr;
    BASE_CHANGE_ARR2 = hideArr;
}




function scrollRight() {
    scrollAreaX -= elementWidth;
    document.getElementById('leftArrow').style.visibility = "visible";

    var sw = -document.getElementById('scrollArea').offsetWidth + document.getElementById('scrollAreaContainer').offsetWidth;

    if (scrollAreaX <= sw) {
        scrollAreaX = sw;
        document.getElementById('rightArrow').style.visibility = "hidden";
    }

    document.getElementById('scrollArea').style.left = scrollAreaX + 'px';
}

function scrollLeft() {
    scrollAreaX += elementWidth;

    document.getElementById('rightArrow').style.visibility = "visible";

    if (scrollAreaX >= 0) {
        scrollAreaX = 0;
        document.getElementById('leftArrow').style.visibility = "hidden";
    }

    document.getElementById('scrollArea').style.left = scrollAreaX + 'px';
}