// ikonForums Javascript Code
// Originally written by Matthew Mecham and rewritten by KEVaholic00
// Revised for ikonForums by 'Eidolon'
// Copyright (c) 2007 Ikonforums.com
// <http://www.ikonforums.com>

// Smilies JS
function emoticon(theSmilie) {
    ptarget.focus();
    if (ie) {
        var rng = document.selection.createRange();
        rng.text = ' ' + theSmilie + ' ';
    } else if (ns) {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var before   = ptarget.value.substring(0, selStart);
        var after    = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ' ' + theSmilie + ' ' + after;
    } else {
        ptarget.value += ' ' + theSmilie + ' ';
    }
    ptarget.focus();
}

// IF CODE
function IFCurl(type) {
    ptarget.focus();
    if (ie) {
        var enterURL = '', enterTITLE = '', FoundErrors = '';
        var rng = document.selection.createRange();
        if (type == 1) {
            if (rng.text == "") {
                enterURL   = prompt(text_enter_url, "http://");
                enterTITLE = '';
                if (!enterURL) {
                    FoundErrors += "\n" + error_no_url;
                }
            } else {
                enterURL = rng.text;
                if (enterURL.indexOf('http://') != 0) {
                    FoundErrors += "\n" + error_not_url;
                }
            }
            if (FoundErrors) {
                alert("Error!" + FoundErrors);
                return;
            }
            rng.text = "[URL]" + enterURL + "[/URL]";
            ptarget.focus();
        } else {
            if (rng.text == "") {
                enterURL   = prompt(text_enter_url, "http://");
                enterTITLE = prompt(text_enter_url_name, "My Webpage");
                if (!enterURL) {
                    FoundErrors += "\n" + error_no_url;
                }
            } else {
                if (rng.text.indexOf('http://') == 0) {
                    enterURL   = rng.text;
                    enterTITLE = prompt(text_enter_url_name, "My Webpage");
                } else {
                    enterURL   = prompt(text_enter_url, "http://");
                    enterTITLE = rng.text;
                }
            }
            rng.text = "[URL=" + enterURL + "]" + enterTITLE + "[/URL]";
            ptarget.focus();
        }
    } else {
        var enterURL = '', enterTITLE = '', FoundErrors = '';
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (type == 1) {
            if (text == "") {
                enterURL   = prompt(text_enter_url, "http://");
                enterTITLE = '';
                if (!enterURL) {
                    FoundErrors += "\n" + error_no_url;
                }
            } else {
                enterURL = text;
                if (enterURL.indexOf('http://') != 0) {
                    FoundErrors += "\n" + error_not_url;
                }
            }
            if (FoundErrors) {
                alert("Error!" + FoundErrors);
                return;
            }
            //ptarget.value.substring(selStart, selEnd) = "[URL]" + enterURL + "[/URL]";
            var before = ptarget.value.substring(0, selStart);
            var after  = ptarget.value.substring(selEnd, ptarget.textLength);
            ptarget.value = before + "[URL]" + enterURL + "[/URL]" + after;
            ptarget.focus();
        } else {
            if (text == "") {
                enterURL   = prompt(text_enter_url, "http://");
                enterTITLE = prompt(text_enter_url_name, "My Webpage");
                if (!enterURL) {
                    FoundErrors += "\n" + error_no_url;
                }
            } else {
                if (text.indexOf('http://') == 0) {
                    enterURL   = text;
                    enterTITLE = prompt(text_enter_url_name, "My Webpage");
                } else {
                    enterURL   = prompt(text_enter_url, "http://");
                    enterTITLE = text;
                }
            }
            if (!enterTITLE) enterTITLE = enterURL;
            //ptarget.value.substring(selStart, selEnd) = "[URL=" + enterURL + "]" + enterTITLE + "[/URL]";
            var before = ptarget.value.substring(0, selStart);
            var after  = ptarget.value.substring(selEnd, ptarget.textLength);
            ptarget.value = before + "[URL=" + enterURL + "]" + enterTITLE + "[/URL]" + after;
            ptarget.focus();
        }
    }
}


function IFCimage() {
    ptarget.focus();
    if (ie) {
        var enterURL = '', FoundErrors = '';
        var rng = document.selection.createRange();
        if (rng.text == "") {
            enterURL    = prompt(text_enter_image, "http://");
            if (!enterURL) {
                FoundErrors += "\n" + error_no_url;
            }
        } else {
            if (rng.text.indexOf('http://') == 0) {
                enterURL    = rng.text;
            } else {
                FoundErrors += "\n" + error_not_url;
            }
        }
        if (FoundErrors) {
            alert("Error!" + FoundErrors);
            return;
        }
        rng.text = "[IMG]" + enterURL + "[/IMG]";
        ptarget.focus();
    } else {
        var enterURL = '', FoundErrors = '';
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            enterURL    = prompt(text_enter_image, "http://");
            if (!enterURL) {
                FoundErrors += "\n" + error_no_url;
            }
        } else {
            if (text.indexOf('http://') == 0) {
                enterURL    = text;
            } else {
                FoundErrors += "\n" + error_not_url;
            }
        }
        if (FoundErrors) {
            alert("Error!" + FoundErrors);
            return;
        }
        //ptarget.value.substring(selStart, selEnd) = "[IMG]" + enterURL + "[/IMG]";
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + "[IMG]" + enterURL + "[/IMG]" + after;
        ptarget.focus();
    }
}


function IFCemail() {
    ptarget.focus();
    if (ie) {
        var emailAddress = '';
        var rng = document.selection.createRange();
        if (rng.text == "") {
            emailAddress = prompt(text_enter_email, "");
            if (!emailAddress) {
                alert(error_no_email);
                return;
            }
        } else {
            if (rng.text.indexOf('@') != -1) {
                emailAddress = rng.text;
            } else {
                alert(error_invalid_email);
                return;
            }
        }
        rng.text = "[EMAIL]" + emailAddress + "[/EMAIL]";
        ptarget.focus();
    } else {
        var emailAddress = '';
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            emailAddress = prompt(text_enter_email, "");
            if (!emailAddress) {
                alert(error_no_email);
                return;
            }
        } else {
            if (text.indexOf('@') != -1) {
                emailAddress = text;
            } else {
                alert(error_invalid_email);
                return;
            }
        }
        //ptarget.value.substring(selStart, selEnd) = "[EMAIL]" + emailAddress + "[/EMAIL]";
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + "[EMAIL]" + emailAddress + "[/EMAIL]" + after;
        ptarget.focus();
    }
}


function IFCflash(maxWidth, maxHeight) {
    ptarget.focus();
    if (ie) {
        var FoundErrors = '', FlashURL = '', FlashWidth = '', FlashHeight = '';
        var rng = document.selection.createRange();
        if (rng.text == "") {
            FlashURL = prompt(text_enter_flash, "http://");
        } else {
            FlashURL = rng.text;
        }
        FlashWidth  = prompt(text_flash_width  + " " + maxWidth , "");
        FlashHeight = prompt(text_flash_height + " " + maxHeight, "");
        if (!FlashURL) {
            FoundErrors += "\n" + error_no_url;
        }
        if (!FlashWidth) {
            FoundErrors += "\n" + error_no_width;
        }
        if (!FlashHeight) {
            FoundErrors += "\n" + error_no_height;
        }
        if (FoundErrors) {
            alert("Error!" + FoundErrors);
            return;
        }
        rng.text = "[FLASH=" + FlashWidth + "," + FlashHeight + "]" + FlashURL + "[/FLASH]";
        ptarget.focus();
    } else {
        var FoundErrors = '', FlashURL = '', FlashWidth = '', FlashHeight = '';
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            FlashURL = prompt(text_enter_flash, "http://");
        } else {
            FlashURL = text;
        }
        FlashWidth  = prompt(text_flash_width  + " " + maxWidth , "");
        FlashHeight = prompt(text_flash_height + " " + maxHeight, "");
        if (!FlashURL) {
            FoundErrors += "\n" + error_no_url;
        }
        if (!FlashWidth) {
            FoundErrors += "\n" + error_no_width;
        }
        if (!FlashHeight) {
            FoundErrors += "\n" + error_no_height;
        }
        if (FoundErrors) {
            alert("Error!" + FoundErrors);
            return;
        }
        //ptarget.value.substring(selStart, selEnd) = "[FLASH=" + FlashWidth + "," + FlashHeight + "]" + FlashURL + "[/FLASH]";
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + "[FLASH=" + FlashWidth + "," + FlashHeight + "]" + FlashURL + "[/FLASH]" + after;
        ptarget.focus();
    }
}


function IFCcode() {
    ptarget.focus();
    if (ie) {
        var rng   = document.selection.createRange();
        var ToAdd = '';
        if (rng.text == "") {
            if (Code == 0) {
                ToAdd = "[CODE]";
                document.getElementById('REPLIER').code.value = " Code*";
                Code = 1;
            } else {
                ToAdd = "[/CODE]";
                document.getElementById('REPLIER').code.value = " Code ";
                Code = 0;
            }
        } else {z
            ToAdd = "[CODE]" + rng.text + "[/CODE]";
        }
        rng.text = ToAdd;
        ptarget.focus();
    } else {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            if (Code == 0) {
                ToAdd = "[CODE]";
                document.getElementById('REPLIER').code.value = " Code*";
                Code = 1;
            } else {
                ToAdd = "[/CODE]";
                document.getElementById('REPLIER').code.value = " Code ";
                Code = 0;
            }
        } else {
            ToAdd = "[CODE]" + text + "[/CODE]";
        }
        //ptarget.value.substring(selStart, selEnd) = ToAdd;
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ToAdd + after;
        ptarget.focus();
    } 
}


function IFCquote() {
    ptarget.focus();
    if (ie) {
        var rng   = document.selection.createRange();
        var ToAdd = '';
        if (rng.text == "") {
            if (Quote == 0) {
                ToAdd = "[QUOTE]";
                document.getElementById('REPLIER').quote.value = " Quote*";
                Quote = 1;
            } else {
                ToAdd = "[/QUOTE]";
                document.getElementById('REPLIER').quote.value = " Quote ";
                Quote = 0;
            }
        } else {
            ToAdd = "[QUOTE]" + rng.text + "[/QUOTE]";
        }
        rng.text = ToAdd;
        ptarget.focus();
    } else {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            if (Quote == 0) {
                ToAdd = "[QUOTE]";
                document.getElementById('REPLIER').quote.value = " Quote*";
                Quote = 1;
            } else {
                ToAdd = "[/QUOTE]";
                document.getElementById('REPLIER').quote.value = " Quote ";
                Quote = 0;
            }
        } else {
            ToAdd = "[QUOTE]" + text + "[/QUOTE]";
        }
        //ptarget.value.substring(selStart, selEnd) = ToAdd;
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ToAdd + after;
        ptarget.focus();
    }
}


function IFCbold() {
    ptarget.focus();
    if (ie) {
        var rng = document.selection.createRange();
        var ToAdd = '';
        if (rng.text == "") {
            if (Bold == 0) {
                ToAdd = "[B]";
                document.getElementById('REPLIER').bold.value = " B*";
                Bold = 1;
            } else {
                ToAdd = "[/B]";
                document.getElementById('REPLIER').bold.value = " B ";
                Bold = 0;
            }
        } else {
            ToAdd = "[B]" + rng.text + "[/B]";
        }
        rng.text = ToAdd;
        ptarget.focus();
    } else {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            if (Bold == 0) {
                ToAdd = "[B]";
                document.getElementById('REPLIER').bold.value = " B*";
                Bold = 1;
            } else {
                ToAdd = "[/B]";
                document.getElementById('REPLIER').bold.value = " B ";
                Bold = 0;
            }
        } else {
            ToAdd = "[B]" + text + "[/B]";
        }
        //ptarget.value.substring(selStart, selEnd) = ToAdd;
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ToAdd + after;
        ptarget.focus();
    }
}


function IFCitalic() {
    ptarget.focus();
    if (ie) {
        var rng = document.selection.createRange();
        var ToAdd = '';
        if (rng.text == "") {
            if (Italic == 0) {
                ToAdd = "[I]";
                document.getElementById('REPLIER').italic.value = " I*";
                Italic = 1;
            } else {
                ToAdd = "[/I]";
                document.getElementById('REPLIER').italic.value = " I ";
                Italic = 0;
            }
        } else {
            ToAdd = "[I]" + rng.text + "[/I]";
        }
        rng.text = ToAdd;
        ptarget.focus();
    } else {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            if (Italic == 0) {
                ToAdd = "[I]";
                document.getElementById('REPLIER').italic.value = " I*";
                Italic = 1;
            } else {
                ToAdd = "[/I]";
                document.getElementById('REPLIER').italic.value = " I ";
                Italic = 0;
            }
        } else {
            ToAdd = "[I]" + text + "[/I]";
        }
        //ptarget.value.substring(selStart, selEnd) = ToAdd;
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ToAdd + after;
        ptarget.focus();
    }
}


function IFCunder() {
    ptarget.focus();
    if (ie) {
        var rng = document.selection.createRange();
        var ToAdd = '';
        if (rng.text == "") {
            if (Underline == 0) {
                ToAdd = "[U]";
                document.getElementById('REPLIER').under.value = " U*";
                Underline = 1;
            } else {
                ToAdd = "[/U]";
                document.getElementById('REPLIER').under.value = " U ";
                Underline = 0;
            }
        } else {
            ToAdd = "[U]" + rng.text + "[/U]";
        }
        rng.text = ToAdd;
        ptarget.focus();
    } else {
        var selStart = ptarget.selectionStart;
        var selEnd   = ptarget.selectionEnd;
        var text     = ptarget.value.substring(selStart, selEnd);
        if (text == "") {
            if (Underline == 0) {
                ToAdd = "[U]";
                document.getElementById('REPLIER').under.value = " U*";
                Underline = 1;
            } else {
                ToAdd = "[/U]";
                document.getElementById('REPLIER').under.value = " U ";
                Underline = 0;
            }
        } else {
            ToAdd = "[U]" + text + "[/U]";
        }
        //ptarget.value.substring(selStart, selEnd) = ToAdd;
        var before = ptarget.value.substring(0, selStart);
        var after  = ptarget.value.substring(selEnd, ptarget.textLength);
        ptarget.value = before + ToAdd + after;
        ptarget.focus();
    }
}

