﻿var rotation_to_save = -1;
var initial_rotation = 0;

var base_image = null;
var new_image = null;
var image_frame = null;
var infobar = null;
var frame = null;
var back = null;
var toolbar = null;
var placeholder = null;
var frame_border = '1px solid #e2e6e5';
var scale_factor = 1;
var is_processing = 0;

var move_step = 15;
var fgrow_step = 7;
var ires_step = 4;
var placeholder_width = 300;
var default_dest_width = 150;
var dest_width = default_dest_width;
var infobar_h = 80;
var toolbar_h = 60;
var flash_dst = null;
var img_dst = null;

setInterval('stopgrow()', 500);


function mstd_getWindowScroll() {

    var scr_x = 0, scr_y = 0;

    if (typeof (window.pageYOffset) == 'number') {

        scr_y = window.pageYOffset;

        scr_x = window.pageXOffset;

    }

    else

        if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {

        scr_y = document.body.scrollTop;

        scr_x = document.body.scrollLeft;

    }

    else

        if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {

        scr_y = document.documentElement.scrollTop;

        scr_x = document.documentElement.scrollLeft;

    }

    return [scr_x, scr_y];

}


function mstd_getWindowSize() {



    var w_width = 0, w_height = 0;

    if (typeof (window.innerWidth) == 'number') {

        w_width = window.innerWidth;

        w_height = window.innerHeight;

    }

    else

        if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {

        w_width = document.documentElement.clientWidth;

        w_height = document.documentElement.clientHeight;

    }

    else

        if (document.body && (document.body.clientWidth || document.body.clientHeight)) {

        w_width = document.body.clientWidth;

        w_height = document.body.clientHeight;

    }

    return [w_width, w_height];

}


function mstd_getObjectPtr(id) {

    var obj_ptr = null;

    if (document.getElementById) {

        obj_ptr = document.getElementById(id);

    }

    else {

        if (document.all) {

            obj_ptr = document.all[id];

        }

    }



    return obj_ptr;

}




function mstd_getWindowRect() {

    var wscr = mstd_getWindowScroll();

    var wsiz = mstd_getWindowSize();



    var rect = new Object();

    rect.top = wscr[1];

    rect.bottom = wscr[1] + wsiz[1];

    rect.left = wscr[0];

    rect.right = wscr[0] + wsiz[0];

    return rect;

}


function stopgrow(event, forceclose) {
    if (forceclose && placeholder) {
        placeholder.style.display = 'none';
        new_image.src = '0';

        if (rotation_to_save != -1 && initial_rotation != rotation_to_save) {
            image_id = base_image.id.search(/[0-9]/);
            image_id = base_image.id.substr(image_id);
            storePhotoRotation(image_id, rotation_to_save);
        }
    }

    var close_window = false;
    if (event) {
        var target = event.target ? event.target : event.srcElement;
        if (target.id == 'grw_back' || (is_processing & ~(16 | 32))) {
            if (placeholder) {
                close_window = true;
            }
        }
    }

    if (!is_processing && placeholder && placeholder.style.display != 'none') {

        var placeholder_w = mstd_getSWidth(placeholder);
        var placeholder_h = mstd_getSHeight(placeholder);
        var placeholder_t = mstd_getSTop(placeholder);
        var placeholder_b = placeholder_t + placeholder_h;
        var placeholder_l = mstd_getSLeft(placeholder);
        var placeholder_r = placeholder_l + placeholder_w;

        var mouse_pos = mstd_getMousePosition();

        if (mouse_pos[0] < placeholder_l ||
			 mouse_pos[0] > placeholder_r ||
			 mouse_pos[1] < placeholder_t ||
			 mouse_pos[1] > placeholder_b)
            close_window = 'true';

    }


    if (close_window) {
        if (placeholder) {
            placeholder.style.display = 'none';
            new_image.src = '0';
        }

        if (rotation_to_save != -1 && initial_rotation != rotation_to_save) {
            image_id = base_image.id.search(/[0-9]/);
            image_id = base_image.id.substr(image_id);
            storePhotoRotation(image_id, rotation_to_save);
        }
    }
}

function prepare1stage(id, infobar_c_id, toolbar_c_id, link_href, dst_width) {

    if (is_processing) return;

    if (dst_width) dest_width = dst_width;
    else dest_width = default_dest_width;

    base_image = mstd_getObjectPtr(id);
    if (!base_image.complete) return;
    new_image = mstd_getObjectPtr('grw_image');
    image_frame = mstd_getObjectPtr('grw_image_frame');
    infobar = mstd_getObjectPtr('grw_infobar');
    frame = mstd_getObjectPtr('grw_frame');
    back = mstd_getObjectPtr('grw_back');
    toolbar = mstd_getObjectPtr('grw_toolbar');
    placeholder = mstd_getObjectPtr('grw_placeholder');


    var image_link = mstd_getObjectPtr('grw_image_link');
    var coded_tb = mstd_getObjectPtr('t_' + image_id);
    if (!link_href) {
        var image_id = id.substr(id.indexOf('_') + 1);
        var link_arr = image_link.href.split(',');
        link_arr[link_arr.length - 2] = image_id;
        image_link.href = link_arr.join(',');
    }
    else {
        image_link.href = link_href;
    }



    var rot = (new_image.src.search(/\,[0-9]\./));


    if (rot == -1)
        rot = 0
    else
        rot = parseInt(new_image.src.substr(rot + 1, 1));
    initial_rotation = rot;
    rotation_to_save = -1;

    placeholder.style.display = "none";

    new_image.style.width = base_image.style.width;
    new_image.style.height = base_image.style.height;
    new_image.style.marginLeft = '2px';
    new_image.style.marginRight = '2px';
    new_image.style.marginTop = '2px';
    new_image.style.marginBottom = '2px';


    if (img_dst) {
        new_image.src = img_dst;
    }
    else {
        new_image.src = base_image.src;
    }



    var image_w = mstd_getSWidth(new_image);
    var image_h = mstd_getSHeight(new_image);
    scale_factor = dest_width / image_w;
    var dest_image_h = Math.round(image_h * scale_factor, 0);
    dest_image_h = (dest_image_h % 2) ? dest_image_h + 1 : dest_image_h;

    var placeholder_w = placeholder_width;

    var placeholder_h = dest_image_h
						 + 2 * 2
						 + 2 * 1
						 + 2 * 1
						 + 2 * 6
						 + infobar_h
						 + toolbar_h;


    placeholder.style.width = placeholder_w + 'px';
    placeholder.style.height = placeholder_h + 'px';

    infobar.style.display = 'none';
    toolbar.style.display = 'none';
    infobar.style.height = '1px';
    toolbar.style.height = '1px';
    infobar_src = mstd_getObjectPtr(infobar_c_id);
    toolbar_src = mstd_getObjectPtr(toolbar_c_id);

    if (infobar_src) {
        for (var i = 0; i < infobar.childNodes.length; i++) {
            if (infobar.childNodes[i].nodeName == 'DIV' && infobar.childNodes[i].id == 'grw_infobar_c') {
                var infobar_c = infobar_src.cloneNode(true);
                infobar.replaceChild(infobar_c, infobar.childNodes[i]);
                infobar.childNodes[i].style.display = 'block';
                infobar.childNodes[i].id = 'grw_infobar_c';
                break;
            }
        }
    }

    if (toolbar_src) {
        for (var i = 0; i < toolbar.childNodes.length; i++) {
            if (toolbar.childNodes[i].nodeName == 'DIV' && toolbar.childNodes[i].id == 'grw_toolbar_c') {
                var toolbar_c = toolbar_src.cloneNode(true);
                toolbar.replaceChild(toolbar_c, toolbar.childNodes[i]);
                toolbar.childNodes[i].style.display = 'block';
                toolbar.childNodes[i].id = 'grw_toolbar_c';
                break;
            }
        }
    }

    frame.style.border = '0px';
    var image_frame_w = image_w + 2 * 2;
    var image_frame_h = image_h + 2 * 2;
    var frame_w = image_frame_w + 2;
    var frame_h = image_frame_h + 2;

    image_frame.style.width = image_frame_w + 'px';
    image_frame.style.height = image_frame_h + 'px';

    frame.style.width = frame_w + 'px';
    frame.style.height = frame_h + 3 + 'px';
    mstd_setSMargins(image_frame, 0, 0, 0, 0);
    mstd_setSMargins(frame, 0, 0, 0, 0);

    back.style.width = frame_w + 'px';
    back.style.height = frame_h + 'px';
    var back_m_l = (placeholder_w - (image_frame_w + 2)) / 2;
    var back_m_r = (placeholder_w - (image_frame_w + 2)) / 2;
    var back_m_t = (dest_image_h + 4 + 2 + -frame_h) / 2 + 7 + infobar_h;
    mstd_setSMargins(back, back_m_t, back_m_r, 0, back_m_l);

    var base_pos_top = mstd_getAbsTop(base_image);
    var base_pos_left = mstd_getAbsLeft(base_image);
    placeholder.style.top = (base_pos_top - back_m_t - 2 - 1) + 'px';
    placeholder.style.left = (base_pos_left - back_m_l - 2 - 1) + 'px';

    placeholder.style.display = 'block';

    do1stage(ires_step * 2);

}

function do1stage(step) {
    is_processing = 1;
    var iwidth = mstd_getSWidth(new_image);

    if (iwidth == dest_width) {
        prepare2stage();
        is_processing = is_processing & ~1;
        return;
    }

    iwidth = iwidth + step;
    if (iwidth > dest_width) {
        step = dest_width - (iwidth - step);
        iwidth = dest_width;
    }

    var base_width = mstd_getSWidth(base_image);
    scale_factor = iwidth / base_width;
    var base_height = mstd_getSHeight(base_image);
    var itheight = mstd_getSHeight(new_image);
    var iheight = Math.round((base_height * scale_factor), 0);
    iheight = (iheight % 2) ? iheight + 1 : iheight;
    steph = iheight - itheight;

    var iframe_w = mstd_getSWidth(image_frame) + step;
    var iframe_h = mstd_getSHeight(image_frame) + steph;

    var frame_w = mstd_getSWidth(frame) + step;
    var frame_h = mstd_getSHeight(frame) + steph;

    var back_w = mstd_getSWidth(back) + step;
    var back_h = mstd_getSHeight(back) + steph;

    var back_m_l = mstd_getSMarginLeft(back) - step / 2;
    var back_m_r = mstd_getSMarginRight(back) - step / 2;
    var back_m_t = mstd_getSMarginTop(back) - steph / 2;

    new_image.style.width = iwidth + 'px';
    new_image.style.height = iheight + 'px';

    image_frame.style.width = iframe_w + 'px';
    image_frame.style.height = iframe_h + 'px';

    frame.style.height = frame_h + 'px';
    frame.style.width = frame_w + 'px';

    back.style.height = back_h + 'px';
    back.style.width = back_w + 'px';

    back.style.marginTop = back_m_t + 'px';
    back.style.marginRight = back_m_r + 'px';
    back.style.marginLeft = back_m_l + 'px';

    setTimeout('do1stage(' + step + ')', 1);
}

function prepare2stage() {
    var dest_grow_w = mstd_getSWidth(back) + 12;
    var dest_grow_h = mstd_getSHeight(back) + 12;
    do2stage(fgrow_step * 2, fgrow_step * 2, dest_grow_w, dest_grow_h);
}

function do2stage(step_w, step_h, dest_grow_w, dest_grow_h) {
    is_processing = 2;

    var back_w = mstd_getSWidth(back);
    var back_h = mstd_getSHeight(back);

    if (back_w >= dest_grow_w && back_h >= dest_grow_h) {
        is_processing = is_processing & ~2;
        prepare3stage();
        return;
    }

    back_w = back_w + step_w;
    back_h = back_h + step_h;

    if (back_w > dest_grow_w) {
        step_w = dest_grow_w - (back_w - step_w);
        back_w = dest_grow_w;
    }

    if (back_h > dest_grow_h) {
        step_h = dest_grow_h - (back_h - step_h);
        back_h = dest_grow_h;
    }

    var back_m_t = mstd_getSMarginTop(back) - step_h / 2;
    var back_m_r = mstd_getSMarginRight(back) - step_w / 2;
    var back_m_l = mstd_getSMarginLeft(back) - step_w / 2;

    var frame_m_t = mstd_getSMarginTop(frame) + step_h / 2;
    var frame_m_r = mstd_getSMarginRight(frame) + step_w / 2;
    var frame_m_b = mstd_getSMarginBottom(frame) + step_h / 2;
    var frame_m_l = mstd_getSMarginLeft(frame) + step_w / 2;

    back.style.width = back_w + 'px';
    back.style.height = back_h + 'px';

    mstd_setSMargins(back, back_m_t, back_m_r, 0, back_m_l);
    mstd_setSMargins(frame, frame_m_t, frame_m_r, frame_m_l, frame_m_b);

    setTimeout('do2stage(' + step_w + ',' + step_h + ',' + dest_grow_w + ',' + dest_grow_h + ')', 1);
}

function prepare3stage() {

    var back_m_t = mstd_getSMarginTop(back) - 1;
    var back_m_r = mstd_getSMarginRight(back) - 1;
    var back_m_l = mstd_getSMarginLeft(back) - 1;

    var back_w = mstd_getSWidth(back) + 2;
    var back_h = mstd_getSHeight(back) + 2;

    back.style.width = back_w + 'px';
    back.style.height = back_h + 'px';
    mstd_setSMargins(back, back_m_t, back_m_r, 0, back_m_l);

    frame.style.border = frame_border;

    var placeholder_w = mstd_getSWidth(placeholder);
    do3stage(fgrow_step * 2, placeholder_w);
}




function mstd_getSHeight(obj_ptr) {

    var sheight = 0;

    var sh = obj_ptr.style.height;

    if (sh.length) {

        sheight = parseInt(sh.substr(0, sh.indexOf('px')));

    }

    return sheight;

}


function do3stage(step, dest_width) {
    is_processing = 4;
    var back_w = mstd_getSWidth(back);
    if (back_w >= dest_width) {
        is_processinng = is_processing & ~4;
        prepare4stage();
        return;
    }

    back_w = back_w + step;

    if (back_w > dest_width) {
        step = (dest_width - (back_w - step));
        back_w = dest_width;
    }

    var frame_w = mstd_getSWidth(frame) + step;

    var back_m_t = mstd_getSMarginTop(back);
    var back_m_r = mstd_getSMarginRight(back) - step / 2;
    var back_m_b = mstd_getSMarginBottom(back);
    var back_m_l = mstd_getSMarginLeft(back) - step / 2;

    var iframe_m_t = mstd_getSMarginTop(image_frame);
    var iframe_m_r = mstd_getSMarginRight(image_frame) + step / 2;
    var iframe_m_b = mstd_getSMarginBottom(image_frame);
    var iframe_m_l = mstd_getSMarginLeft(image_frame) + step / 2;

    back.style.width = back_w + 'px';
    frame.style.width = frame_w + 'px';

    mstd_setSMargins(back, back_m_t, back_m_r, back_m_b, back_m_l);
    mstd_setSMargins(image_frame, iframe_m_t, iframe_m_r, iframe_m_b, iframe_m_l);

    setTimeout('do3stage(' + step + ',' + dest_width + ')', 1);
}

function prepare4stage() {

    var back_h = mstd_getSHeight(back) + 2;
    var back_m_t = mstd_getSMarginTop(back) - 1;
    var frame_h = mstd_getSHeight(frame) + 2;

    back.style.height = back_h + 'px';
    back.style.marginTop = back_m_t + 'px';
    frame.style.height = frame_h + 'px';

    toolbar.style.display = 'block';
    infobar.style.display = 'block';

    do4stage(fgrow_step * 2, fgrow_step * 2);
}

function do4stage(step_ib, step_tb) {
    is_processing = 8;
    var ib_height = mstd_getSHeight(infobar);
    var tb_height = mstd_getSHeight(toolbar);

    if (ib_height >= infobar_h && tb_height >= toolbar_h) {
        is_processing = is_processing & ~8;
        if (flash_dst) {
            ustawFlash(flash_dst);
        }
        prepare5stage();
        return;
    }

    ib_height = ib_height + step_ib;
    if (ib_height > infobar_h) {
        step_ib = infobar_h - (ib_height - step_ib);
        ib_height = infobar_h;
    }

    tb_height = tb_height + step_tb;
    if (tb_height >= toolbar_h) {
        step_tb = toolbar_h - (tb_height - step_tb);
        tb_height = toolbar_h;
    }

    var back_h = mstd_getSHeight(back) + step_tb + step_ib;

    var frame_h = mstd_getSHeight(frame) + step_tb + step_ib;


    var back_m_t = mstd_getSMarginTop(back) - step_ib;


    back.style.height = back_h + 'px';
    back.style.marginTop = back_m_t + 'px';
    frame.style.height = frame_h + 'px';
    infobar.style.height = ib_height + 'px';
    toolbar.style.height = tb_height + 'px';

    setTimeout('do4stage(' + step_ib + ',' + step_tb + ')', 1);
}

function prepare5stage() {

    var window_dim = mstd_getWindowSize();
    var window_scr = mstd_getWindowScroll();
    var placeholder_w = mstd_getSWidth(placeholder);
    var placeholder_h = mstd_getSHeight(placeholder);
    if (window_dim[0] < placeholder_w || window_dim[1] < placeholder_h)
        return;

    var placeholder_t = mstd_getSTop(placeholder);
    var placeholder_b = placeholder_t + placeholder_h;
    var placeholder_l = mstd_getSLeft(placeholder);
    var placeholder_r = placeholder_l + placeholder_w;


    var window_t = window_scr[1];
    var window_b = window_t + window_dim[1];
    var window_l = window_scr[0];
    var window_r = window_l + window_dim[0];

    var dif_w = 0;
    if (placeholder_l < window_l) {
        dif_w = window_l - placeholder_l;
    }

    if (placeholder_r > window_r) {
        dif_w = window_r - placeholder_r;
    }

    var dif_h = 0;
    if (placeholder_t < window_t) {
        dif_h = window_t - placeholder_t;
    }

    if (placeholder_b > window_b) {
        dif_h = window_b - placeholder_b;
    }

    if (dif_w || dif_h) {
        do5stage(move_step, move_step, placeholder_t + dif_h, placeholder_l + dif_w);
    }
}

function do5stage(step_w, step_h, dest_top, dest_left) {
    is_processing = 16;
    var cur_l = mstd_getSLeft(placeholder);
    var cur_t = mstd_getSTop(placeholder);

    if (cur_l == dest_left && cur_t == dest_top) {
        is_processing = is_processing & ~16;
        setTimeout('stopgrow()', 1000);
        return;
    }

    if (cur_l > dest_left) {
        if (cur_l - step_w < dest_left) {
            step_w = cur_l - dest_left;
        }
        cur_l = cur_l - step_w;
    }

    if (cur_l < dest_left) {
        if (cur_l + step_w > dest_left) {
            step_w = dest_left - cur_l;
        }
        cur_l = cur_l + step_w;
    }

    if (cur_t < dest_top) {
        if (cur_t + step_h > dest_top) {
            step_h = dest_top - cur_t;
        }
        cur_t = cur_t + step_h;
    }

    if (cur_t > dest_top) {
        if (cur_t - step_h < dest_top) {
            step_h = cur_t - dest_top;
        }
        cur_t = cur_t - step_h;
    }

    placeholder.style.top = cur_t + 'px';
    placeholder.style.left = cur_l + 'px';

    setTimeout('do5stage(' + step_w + ',' + step_h + ',' + dest_top + ',' + dest_left + ')', 1);
}



var rotation_to_save;
var initial_rotation;

function rotateMImage(direction, wait_img_src) {
    if (is_processing && 32) return;

    if (!wait_img_src) wait_img_src = '_d/lay/kreciol_s.gif';
    direction = direction == 'left' ? -1 : 1;

    var path = new_image.src;
    var rot = (path.search(/\,[0-9]\./));
    if (rot == -1)
        return;

    rot = parseInt(path.substr(rot + 1, 1));
    rot += direction;
    if (rot > 3) rot = 0;
    if (rot < 0) rot = 3;

    var new_path = path.replace(/\,[0-9]\./, ',' + rot + '.');
    rotation_to_save = rot;
    is_processing = 32;



    new_image.base_height = mstd_getSHeight(new_image);
    new_image.base_width = mstd_getSWidth(new_image);

    base_image.base_height = mstd_getSHeight(base_image);
    base_image.base_width = mstd_getSWidth(base_image);

    new_image.src = wait_img_src;
    base_image.src = wait_img_src;

    var rotated_img = new Image();
    rotated_img.src = new_path;
    rotated_img.onload = update_images(rotated_img, new_image, base_image);

}

function update_images(src_img, popover_img, base_img) {
    if (src_img) {
        if (popover_img) {
            var max_height = mstd_getSHeight(frame) - toolbar_h - infobar_h - 2 * 3;
            var new_width = dest_width;
            var scale_factor = popover_img.base_height / new_width;
            var new_height = Math.round(popover_img.base_width / scale_factor, 0);
            new_height += new_height % 2 ? 1 : 0;

            if (new_height > max_height) {
                scale_factor = popover_img.base_width / max_height;
                new_width = Math.round(popover_img.base_height / scale_factor, 0);
                new_height = max_height;
            }

            var img_frame_w = new_width + 4;
            var img_frame_h = new_height + 4;
            var img_frame_m_t = ((max_height + 6) - (img_frame_h + 2)) / 2;
            var img_frame_m_b = img_frame_m_t;
            var img_frame_m_l = (mstd_getSWidth(frame) - (img_frame_w + 2)) / 2;
            var img_frame_m_r = img_frame_m_l;

            image_frame.style.width = img_frame_w + 'px';
            image_frame.style.height = img_frame_h + 'px';
            popover_img.src = src_img.src;
            image_frame.style.marginTop = img_frame_m_t + 'px';
            image_frame.style.marginBottom = img_frame_m_b + 'px';
            image_frame.style.marginLeft = img_frame_m_l + 'px';
            image_frame.style.marginRight = img_frame_m_r + 'px';

            popover_img.style.width = new_width;
            popover_img.style.height = new_height;


        }
        if (base_img) {

            base_img.src = src_img.src;
            var tmp_height = base_img.base_width;
            var tmp_width = base_img.base_height;
            var scale_factor = tmp_width / tmp_height;
            tmp_width = tmp_height;
            tmp_height = Math.round(tmp_height / scale_factor, 1);
            base_img.style.height = tmp_height + 'px';
            base_img.style.width = tmp_width + 'px';
        }
    }

    is_processing = is_processing & ~32;
}


window.document.onmouseout = grw_cursorOutOfBrowser;
window.grw_mouseOutHandler = 'stopgrow(null,true)';

function grw_cursorOutOfBrowser(e) {
    if (flash_dst) return;

    var evt = e || event;
    if (evt.pageX) //FF
    {
        var wr = mstd_getWindowRect();

        if (evt.pageX < wr.left || evt.pageX > wr.right || evt.pageY < wr.top || evt.pageY > wr.bottom) {

            if (window.grw_mouseOutHandler) eval(window.grw_mouseOutHandler);

        }
    }
    else
        if (evt.clientX && (evt.clientX < 0 || evt.clientY < 0)) //IE
    {
        if (window.grw_mouseOutHandler) eval(window.grw_mouseOutHandler);
    }
}

function podmien(imgdst, flashdst) {
    var obj_setFlash = document.getElementById("grw_flash");
    var obj_setImg = document.getElementById("grw_img");
    document.getElementById("grw_image").src = '0';
    obj_setImg.style.display = 'block';
    obj_setFlash.innerHTML = '';
    obj_setFlash.style.display = 'none';

    flash_dst = flashdst;
    img_dst = imgdst;
    return true;
}

function ustawFlash(flashdst) {
    var width = 250;
    var height = 180;
    var obj_setFlash = document.getElementById("grw_flash");
    var obj_setImg = document.getElementById("grw_img");
    var obj = '<OBJECT classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' +
                  'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ' +
                  'width="' + width + '" height="' + height + '" id="main_flash" align="middle"> ' +
                '<PARAM name="allowScriptAccess" value="always"> ' +
                '<PARAM name="movie" value="' + flashdst + '"> ' +
                '<PARAM name="quality" value="high"> ' +
                '<PARAM name="bgcolor" value="#FFFFFF"> ' +
                '<PARAM name="wmode" value="opaque"> ' +
                '<EMBED src="' + flashdst + '" quality="high" bgcolor="#FFFFFF" ' +
                  'width="' + width + '" height="' + height + '" name="main-flash" align="middle" ' +
                  'allowScriptAccess="always" type="application/x-shockwave-flash" ' +
                  'pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque"> ' +
                '</EMBED>' +
             '</OBJECT>';
    obj_setFlash.innerHTML = obj;

    obj_setImg.style.display = 'none';
    obj_setFlash.style.display = 'block';
}

function mstd_getObjectPtr(id) {
    var obj_ptr = null;
    if (document.getElementById) {
        obj_ptr = document.getElementById(id);
    }
    else {
        if (document.all) {
            obj_ptr = document.all[id];
        }
    }

    return obj_ptr;
}

function mstd_getSWidth(obj_ptr) {
    if (!obj_ptr) return 0;
    swidth = 0;
    sw = obj_ptr.style.width;
    if (sw.length) {
        swidth = parseInt(sw.substr(0, sw.indexOf('px')));
    }
    return swidth;
}

function mstd_getSHeight(obj_ptr) {
    var sheight = 0;
    var sh = obj_ptr.style.height;
    if (sh.length) {
        sheight = parseInt(sh.substr(0, sh.indexOf('px')));
    }
    return sheight;
}

function mstd_getSTop(obj_ptr) {
    var stop = 0;
    var st = obj_ptr.style.top;
    if (st.length) {
        stop = parseInt(st.substr(0, st.indexOf('px')));
    }
    return stop;
}

function mstd_getSLeft(obj_ptr) {
    var sleft = 0;
    var sl = obj_ptr.style.left;
    if (sl.length) {
        sleft = parseInt(sl.substr(0, sl.indexOf('px')));
    }
    return sleft;
}

function mstd_getAbsTop(obj_ptr) {
    var curtop = 0;
    if (obj_ptr.offsetParent) {
        while (obj_ptr.offsetParent) {
            curtop += obj_ptr.offsetTop
            obj_ptr = obj_ptr.offsetParent;
        }
    }
    else if (obj_ptr.y)
        curtop += obj_ptr.y;

    return curtop;
}

function mstd_getAbsLeft(obj_ptr) {
    var curleft = 0;
    if (obj_ptr.offsetParent) {
        while (obj_ptr.offsetParent) {
            curleft += obj_ptr.offsetLeft
            obj_ptr = obj_ptr.offsetParent;
        }
    }
    else if (obj_ptr.x)
        curleft += obj_ptr.x;
    return curleft;
}

function mstd_getSMarginTop(obj_ptr) {
    var mt = 0;
    l = obj_ptr.style.marginTop;
    mt = parseInt(l.substr(0, l.indexOf('px')));
    return mt;
}

function mstd_getSMarginRight(obj_ptr) {
    var mr = 0;
    l = obj_ptr.style.marginRight;
    mr = parseInt(l.substr(0, l.indexOf('px')));
    return mr;
}

function mstd_getSMarginBottom(obj_ptr) {
    var mb = 0;
    l = obj_ptr.style.marginBottom;
    mb = parseInt(l.substr(0, l.indexOf('px')));
    return mb;
}

function mstd_getSMarginLeft(obj_ptr) {
    var ml = 0;
    l = obj_ptr.style.marginLeft;
    ml = parseInt(l.substr(0, l.indexOf('px')));
    return ml;
}

function mstd_setSMargins(obj_ptr, margin_top, margin_right, margin_bottom, margin_left) {
    obj_ptr.style.marginTop = margin_top + 'px';
    obj_ptr.style.marginRight = margin_right + 'px';
    obj_ptr.style.marginBottom = margin_bottom + 'px';
    obj_ptr.style.marginLeft = margin_left + 'px';
}

function mstd_getWindowSize() {

    var w_width = 0, w_height = 0;
    if (typeof (window.innerWidth) == 'number') {
        w_width = window.innerWidth;
        w_height = window.innerHeight;
    }
    else
        if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        w_width = document.documentElement.clientWidth;
        w_height = document.documentElement.clientHeight;
    }
    else
        if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        w_width = document.body.clientWidth;
        w_height = document.body.clientHeight;
    }
    return [w_width, w_height];
}

function mstd_getWindowScroll() {
    var scr_x = 0, scr_y = 0;
    if (typeof (window.pageYOffset) == 'number') {
        scr_y = window.pageYOffset;
        scr_x = window.pageXOffset;
    }
    else
        if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        scr_y = document.body.scrollTop;
        scr_x = document.body.scrollLeft;
    }
    else
        if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        scr_y = document.documentElement.scrollTop;
        scr_x = document.documentElement.scrollLeft;
    }
    return [scr_x, scr_y];
}

var mstd_obj_coll = new Array();

function addObject(obj_ptr) {
    mstd_obj_coll[mstd_obj_coll.length] = obj_ptr;
}

function getObject(id) {
    obj_ptr = null;

    if (msdt_obj_coll[id]) return msdt_obj_coll[id];
    return obj_ptr;
}


var IE = document.all ? true : false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = mstd_captureMouseXY;
var tempX = 0
var tempY = 0
function mstd_captureMouseXY(e) {
    if (IE) {
        tempX = event.clientX + document.body.scrollLeft
        tempY = event.clientY + document.body.scrollTop
    }
    else {
        tempX = e.pageX
        tempY = e.pageY
    }

    if (tempX < 0) { tempX = 0 }
    if (tempY < 0) { tempY = 0 }
    return true;
}

function mstd_getMousePosition() {
    return [tempX, tempY];
}

function mstd_getNaturalWidth(image_ptr) {
    if (image_ptr.naturalWidth) {
        return image_ptr.naturalWidth;
    }
    else {
        lgi = new Image();
        lgi.src = image_ptr.src;
        return lgi.width;
    }
}

function mstd_validateEmail(email) {
    var filter = /^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
    return (filter.test(email) && email.length);
}

var base64s =
 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

function encode64(decStr) {
    var bits, dual, i = 0, encOut = '';
    while (decStr.length >= i + 3) {
        bits =
    (decStr.charCodeAt(i++) & 0xff) << 16 |
    (decStr.charCodeAt(i++) & 0xff) << 8 |
     decStr.charCodeAt(i++) & 0xff;
        encOut +=
     base64s.charAt((bits & 0x00fc0000) >> 18) +
     base64s.charAt((bits & 0x0003f000) >> 12) +
     base64s.charAt((bits & 0x00000fc0) >> 6) +
     base64s.charAt((bits & 0x0000003f));
    }
    if (decStr.length - i > 0 && decStr.length - i < 3) {
        dual = Boolean(decStr.length - i - 1);
        bits =
     ((decStr.charCodeAt(i++) & 0xff) << 16) |
     (dual ? (decStr.charCodeAt(i) & 0xff) << 8 : 0);
        encOut +=
      base64s.charAt((bits & 0x00fc0000) >> 18) +
      base64s.charAt((bits & 0x0003f000) >> 12) +
      (dual ? base64s.charAt((bits & 0x00000fc0) >> 6) : '=') +
      '=';
    }
    return encOut
}

function mstd_getWindowRect() {
    var wscr = mstd_getWindowScroll();
    var wsiz = mstd_getWindowSize();

    var rect = new Object();
    rect.top = wscr[1];
    rect.bottom = wscr[1] + wsiz[1];
    rect.left = wscr[0];
    rect.right = wscr[0] + wsiz[0];
    return rect;
}

function OBJNAME(n) { return n; }

