﻿// JScript File
//add intellisense for jquery.
/// <reference path="jquery-vsdoc.js" />

function styleChanged(sender)
{
    var newStyleValue = "";
    var newStyleText = "";
    var textBox = null;

    if (sender.type == "text" || sender.type == "select-one")		//from textbox.
    {
        textBox = sender;
    }
    else		//from color picker control.
    {
        textBox = sender._textbox.get_element();
        //newColor = sender.get_selectedColor();
    }

    if (textBox == null)
        return;

    newStyleValue = $(textBox).val();
    var StyleRuleNameRaw = new String($(textBox).attr("StyleRuleName"));
    var StyleRuleAttributeNameRaw = new String($(textBox).attr("StyleRuleAttributeName"));
    var valueSuffix = new String($(textBox).attr("ValueSuffix"));
    var StyleRuleNames = StyleRuleNameRaw.split(",");
    var StyleAttributes = StyleRuleAttributeNameRaw.split(",");
    var StyleRuleName = StyleRuleNameRaw;

    valueSuffix = (isNull(valueSuffix)) ? "" : valueSuffix;
    //alert(valueSuffix);alert(isNull(valueSuffix));
    for (var i = 0; i < StyleAttributes.length; i++)
    {
        if (StyleAttributes[i] != "")
            newStyleText += TrimString(StyleAttributes[i]) + ": " + newStyleValue + valueSuffix + " !important; ";
    }

    WriteStyleToPage(StyleRuleNameRaw + " {" + newStyleText + "}");

    for (var i = 0; i < StyleRuleNames.length; i++)
    {
        var name = new String(StyleRuleNames[i].replace(".", ""));
        if (name.indexOf(" ") > 0)
            name = name.substring(0, name.indexOf(" "));

        //alert(i + ". name: " + name + "; prevName: " + prevName);

        $("." + name).removeClass(name).addClass(name);

    }

    //$("" + StyleRuleName).removeClass(StyleRuleName.substring(1)).removeClass(StyleRuleNamePreview.substring(1)).addClass(StyleRuleNamePreview.substring(1));

}


function WriteStyleToPage(s)
{
    s = '<style type="text/css">' + s + '</style>';
    $("body").append(s);
    //alert(s);
}

function TrimString(sInString)
{
    sInString = sInString.replace(/^\s+/g, "");
    return sInString.replace(/\s+$/g, "");
}


//OLD FUNCTIONS

/*
function colorChanged1(sender)
{
    var newColor = "";
    var newStyleText = "";
    var textBox = null;

    if (sender.type == "text" || sender.type == "select-one")		//from textbox.
    {
        textBox = sender;
    }
    else		//from color picker control.
    {
        textBox = sender._textbox.get_element();
        //newColor = sender.get_selectedColor();
    }

    if (textBox == null)
        return;

    newColor = $(textBox).val();
    var StyleRuleNameRaw = new String($(textBox).attr("StyleRuleName"));
    var StyleRuleAttributeNameRaw = new String($(textBox).attr("StyleRuleAttributeName"));
    var StyleRuleNames = StyleRuleNameRaw.split(",");
    var StyleAttributes = StyleRuleAttributeNameRaw.split(",");
    var StyleRuleName = StyleRuleNameRaw;
    var StyleRuleNamePreview = "";

    if (StyleRuleNameRaw.indexOf(",") > 0)
        StyleRuleName = StyleRuleNameRaw.substring(0, StyleRuleNameRaw.indexOf(","));

    StyleRuleNamePreview = ReplaceAll(StyleRuleNameRaw, StyleRuleName, "@@@");
    StyleRuleNamePreview = ReplaceAll(StyleRuleNamePreview, "@@@", StyleRuleName + "_PREVIEW");
    
    for (var i = 0; i < StyleAttributes.length; i++)
    {
        if (StyleAttributes[i] != "")
            newStyleText += TrimString(StyleAttributes[i]) + ": " + newColor + " !important; ";
    }

    WriteStyleToPage(StyleRuleNamePreview + " {" + newStyleText + "}");
    
    for (var i = 0; i < StyleRuleNames.length; i++)
    {
        var name = new String(StyleRuleNames[i].replace(".",""));
        if (name.indexOf(" ") > 0)
            name = name.substring(0, name.indexOf(" "));

        var prevName = new String(name + "_PREVIEW");

        //alert(i + ". name: " + name + "; prevName: " + prevName);

        $("." + prevName).removeClass(prevName).addClass(name);
        $("." + name).removeClass(name).addClass(prevName);
        
    }

    //$("" + StyleRuleName).removeClass(StyleRuleName.substring(1)).removeClass(StyleRuleNamePreview.substring(1)).addClass(StyleRuleNamePreview.substring(1));


}

function widthChanged(sender)
{
    var newWidth = "";
    var newStyleText = "";
    var textBox = null;

    if (sender.type == "text" || sender.type == "select-one")		//from textbox.
    {
        textBox = sender;
    }

    if (textBox == null)
        return;

    newWidth = $(textBox).val();
    var StyleRuleNameRaw = new String($(textBox).attr("StyleRuleName"));
    var StyleRuleAttributeNameRaw = new String($(textBox).attr("StyleRuleAttributeName"));
    var StyleRuleNames = StyleRuleNameRaw.split(",");
    var StyleAttributes = StyleRuleAttributeNameRaw.split(",");
    var StyleRuleName = StyleRuleNameRaw;
    var StyleRuleNamePreview = "";

    if (StyleRuleNameRaw.indexOf(",") > 0)
        StyleRuleName = StyleRuleNameRaw.substring(0, StyleRuleNameRaw.indexOf(","));

    StyleRuleNamePreview = ReplaceAll(StyleRuleNameRaw, StyleRuleName, "@@@");
    StyleRuleNamePreview = ReplaceAll(StyleRuleNamePreview, "@@@", StyleRuleName + "_PREVIEW");

    for (var i = 0; i < StyleAttributes.length; i++)
    {
        if (StyleAttributes[i] != "")
            newStyleText += TrimString(StyleAttributes[i]) + ": " + newWidth + "px !important; ";
    }

    WriteStyleToPage(StyleRuleNamePreview + " {" + newStyleText + "}");

    for (var i = 0; i < StyleRuleNames.length; i++)
    {
        var name = new String(StyleRuleNames[i].replace(".", ""));
        if (name.indexOf(" ") > 0)
            name = name.substring(0, name.indexOf(" "));

        var prevName = new String(name + "_PREVIEW");

        //alert(i + ". name: " + name + "; prevName: " + prevName);

        $("." + prevName).removeClass(prevName).addClass(name);
        $("." + name).removeClass(name).addClass(prevName);

    }
    
}
*/