<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    width="100%" height="100%" 
    creationComplete="on_creation_complete()" viewSourceURL="srcview/index.html"
>

<mx:HTTPService id="srv" result="intro=String(srv.lastResult)" resultFormat="text" useProxy="false" />

<mx:Style source="main.css" />
<mx:Script>
<![CDATA[
import mx.containers.Box;
import mx.collections.ArrayCollection;
import korax.controls.ColorPicker.*;
import flash.net.URLRequest;


private var color_index:int = -1;
[Bindable]
private var cc:String = "";

[Bindable]
private var intro:String = "";

private function on_clr_click(event:Event):void
{
    var sbox:Box = Box(event.currentTarget);
    var cbox:Box = Box(sbox.getChildAt(0));

    var color:uint = cbox.getStyle("backgroundColor");
    color_index = rp.getChildIndex(sbox);
    ColorPickerWindow.show_window(this, color, false);
}

private function on_creation_complete():void
{
    var lang:String = Capabilities.language;
    if (lang.length > 2) lang = lang.substr(0, 2);
    change_lang(lang);

    addEventListener("change", color_change_event);
    addEventListener("apply",  color_complete_event);
    addEventListener("cancel", color_complete_event);

    randomize_color();
}

private function randomize_color():void
{
    rp.removeAllChildren();
    for (var i:int = 0; i < 16; i++) {
        var r:uint = Math.round((Math.random() * 0xC0)) + 0x3F;
        var g:uint = Math.round((Math.random() * 0xC0)) + 0x3F;
        var b:uint = Math.round((Math.random() * 0xC0)) + 0x3F;
        var color:uint = r << 16 | g << 8 | b;


        var sbox:Box = new Box();
        sbox.styleName = "bbbox";
        sbox.addEventListener("click", on_clr_click);
        sbox.useHandCursor = true;
        
        var cbox:Box = new Box();
        cbox.width = cbox.height = 32;
        cbox.setStyle("backgroundColor", color);

        sbox.addChild(cbox);
        rp.addChild(sbox);
    }
}

private function color_change_event(event:ColorPickerEvent):void
{
    if (color_index < 0) return;
    var sbox:Box = Box(rp.getChildAt(color_index));
    var cbox:Box = Box(sbox.getChildAt(0));
    var color:uint = event.color;
    cbox.setStyle("backgroundColor", color);
}

private function color_complete_event(event:ColorPickerEvent):void
{
    cc = event.type;
}

private function change_lang(lang:String):void
{
    if (lang != 'ru' && lang != 'en') lang = 'en';

    srv.url='intro-'+lang+'.xml';
    srv.send();
    if (lang =='ru') {
        ss.label = 'Посмотреть исходники';
        rnd.label = 'Случайные цвета';
        rc.text = 'Код завершения:';
    }
    else {
        ss.label = 'Show Source';
        rnd.label = 'Random Colors';
        rc.text = 'Return Code:';
    }
}

    
]]>
</mx:Script>

<mx:HBox width="100%">
<mx:Spacer width="36" />
<mx:HBox id="rp" width="100%" horizontalAlign="center"/>
<mx:Box styleName="bbbox" click="change_lang('ru')"><mx:Image source="ru.png"  /></mx:Box>
<mx:Box styleName="bbbox" click="change_lang('en')"><mx:Image source="uk.png"  /></mx:Box>
</mx:HBox>

<mx:Button id="rnd" label="Random Colors" click="randomize_color()" />
<mx:HBox visible="{cc != ''}" verticalAlign="middle">
    <mx:Label id="rc" text="Return Code:" />
    <mx:Label color="#FF0000" text="{cc}" />
    <mx:Image source="{cc=='apply' ? 'icon_wink.gif' : 'icon_sad.gif'}" />
</mx:HBox>

<mx:Panel title="korax.controls.ColorPicker">
    <mx:Box paddingLeft="8" paddingRight="8" paddingBottom="8" paddingTop="8" >
        <mx:TextArea htmlText="{intro}" condenseWhite="true" width="400" height="300" editable="false" paddingLeft="8" paddingRight="8" />
    </mx:Box>
</mx:Panel>
<mx:Button id="ss" label="Show Source" click="navigateToURL(new URLRequest('./srcview/index.html'))" />
    
</mx:Application>