/* get_block layout $Revision: 2686 $ */

/* Server datetime is 2012-05-18 10:15:27 */

var sellerBlock = 4717;
var sellerDomain = 'www.simplybeauty.ru';
var sellerDomainInternationalized = 'www.simplybeauty.ru';
var sellerMirrorDomain = false;
var sellerMirrorDomainInternationalized = false;
var clientIP = '38.107.179.243';

if (typeof data == "undefined") {data = {};}
data[4717] = {"position":"absbottom","rows":"10","cols":"1","padding":"1","image_size":"60","teaser_border_type":"solid","teaser_border_size":"0","teaser_border_color":"#000000","font_color":"#000000","font_hover_color":"#444444","font_size":"11","font_size_measure":"px","font_bold":"normal","font_underline":"normal","background_color":"000000","block_border_type":"solid","block_border_size":"0","block_border_color":"#000000","image_quality":"100"};

if (typeof images == "undefined") {images = [];}
images[4717] = ['http://fast3.get-click.net:8008/teaser/601/90da0ce659f8c4a388ea957864f0a8f0.jpg','http://fast3.get-click.net:8008/teaser/601/f083bf5a29aa13b703680384ad1be612.jpg','http://fast3.get-click.net:8008/teaser/601/f355665bffaeb6107ad44e517e430b1e.jpg','http://fast3.get-click.net:8008/teaser/601/6732dc58ee80b06cd67b3fd4a8b29ea7.jpg','http://fast3.get-click.net:8008/teaser/601/7e5a440e392bfc4fe9447ef1ab0ceaf7.jpg'];

if (typeof texts == "undefined") {texts = [];}
texts[4717] = ['Устали от боли в шеи и позвоночнике? Преобретайте ортопидическую подушку!','Избавится от боли в шеи и позвоночнике ОЧЕНЬ ЛЕГКО, новая подушка>>','Хватит мучаться! Забудь про шейную боль. Новинка! Подушка для сна>>','Уникальная подушка для сна. Меняет свою форму за несколько секунд>>','Уникальная подушка для сна. Меняет свою форму за несколько секунд>>'];

if (typeof urls == "undefined") {urls = [];}
urls[4717] = ['http://fast.get-click.net/go/4717/9982','http://fast.get-click.net/go/4717/10002','http://fast.get-click.net/go/4717/9272','http://fast.get-click.net/go/4717/9322','http://fast.get-click.net/go/4717/9252'];


var teaserClass = function(block_id) {

    if (!+"\v1" && data[block_id]['background_color'] == 'none') {
        data[block_id]['background_color'] = '';
    }

    var td_style = {
        padding : '4px',
        border : '0px',
        margin : '0px',
        backgroundColor : data[block_id]['background_color'],
        display : 'table-cell',
        verticalAlign : 'top'
    };

    if (data[block_id]['fixed_width']) {
        td_style.width = (100 / data[block_id]['cols']) + '%';
    }

    var a_style = {
        fontSize : data[block_id]['font_size'] + data[block_id]['font_size_measure'],
        color : data[block_id]['font_color'],
        fontWeight : (typeof(data[block_id]['font_weight']) != 'undefined') ? data[block_id]['font_weight'] : 'normal',
        fontStyle : (typeof(data[block_id]['font_style']) != 'undefined') ? data[block_id]['font_style'] : 'normal',
        display : (typeof(data[block_id]['angry_mode']) != 'undefined') ? data[block_id]['angry_mode'] : 'inline'
    };

    var img_style = {
        width  : data[block_id]['image_size'] + 'px',
        height : data[block_id]['image_size'] + 'px',
        border : data[block_id]['teaser_border_size']+'px '+data[block_id]['teaser_border_type']+' '+data[block_id]['teaser_border_color']
    };

    this.turn = 0;

    this.addEvent = function(obj, evnt, func) {
        if (obj.addEventListener) {
            obj.addEventListener(evnt, func, false);
        }
        else if (obj.attachEvent) {
            obj.attachEvent('on' + evnt, func);
        }
    }

    this.checkData = function() {
        var dataCorrect = true;

        if (typeof data[block_id] == 'object') {
            if (! /^(?:left)|(?:right)|(?:bottom)|(?:absbottom)$/.test(data[block_id]['position']))        {dataCorrect = false};
            if (/[^0-9]/.test(data[block_id]['rows']) || /[^0-9]/.test(data[block_id]['cols']))            {dataCorrect = false};
            if (typeof images[block_id] != 'object' || typeof texts[block_id] != 'object')                 {dataCorrect = false};
            if (images[block_id].length == 0 || texts[block_id].length == 0 || urls[block_id].length == 0) {dataCorrect = -1};

            return dataCorrect;
        }
    }

    this.appendData = function(obj) {
        if (this.turn < texts[block_id].length) {
            var over = function(obj) {
                return function() {
                    obj.style.color = data[block_id]['font_hover_color'];
                }
            };
            var out = function(obj) {
                return function() {
                    obj.style.color = data[block_id]['font_color'];
                }
            };
            var a   = document.createElement('a');
            var a2  = document.createElement('a');
            var br  = document.createElement('br');
            var txt = document.createTextNode(texts[block_id][this.turn]);

            a.href = urls[block_id][this.turn];
            a.target = '_blank';
            a2.href = urls[block_id][this.turn];
            a2.target = '_blank';

            this.addEvent(a2, 'mouseover', over(a2));
            this.addEvent(a2, 'mouseout', out(a2));

            (img = new Image()).src = images[block_id][this.turn];
            img.align = data[block_id]['position'];

            if (data[block_id]['position'] == 'left') {img.style.marginRight = '3px';}
            if (data[block_id]['position'] == 'right') {img.style.marginLeft = '3px';}

            for (var i in img_style) {img.style[i] = img_style[i];}
            for (var i in a_style)   {a2.style[i]  = a_style[i];}

            var IE = '\v'=='v';
            if (!IE) {
                a2.style.setProperty('font-size', a_style['fontSize'], 'important');
                a2.style.setProperty('display', a_style['display'], 'important');
                a.style.setProperty('display', a_style['display'], 'important');
            }

            a.appendChild(img);
            a2.appendChild(txt);
            obj.align = 'left';

            if (/^absbottom$|^bottom$/.test(data[block_id]['position'])) {
                obj.align = 'center';
                if (data[block_id]['position'] == 'bottom') {
                    obj.appendChild(a2);
                    if (typeof(data[block_id]['angry_mode']) == 'undefined' || data[block_id]['angry_mode'] == 'inline') {
                        obj.appendChild(br);
                    }
                    obj.appendChild(a);
                }
                else if (data[block_id]['position'] == 'absbottom') {
                    obj.appendChild(a);
                    if (typeof(data[block_id]['angry_mode']) == 'undefined' || data[block_id]['angry_mode'] == 'inline') {
                        obj.appendChild(br);
                    }
                    obj.appendChild(a2);
                }
            }
            else {
                obj.appendChild(a);
                obj.appendChild(a2);
            }
            this.turn++;
        }
    }

    this.createTable = function() {
        var table = document.createElement('table');
        table.style.border = data[block_id]['block_border_size']+'px '+data[block_id]['block_border_type']+' '+data[block_id]['block_border_color'];

        var table_prop = {
            cellspacing : data[block_id]['padding'],
            cellpadding : 0
        };

        for(var i in table_prop) {
            table.setAttribute(i, table_prop[i]);
        }

        for(var c = 0; c < data[block_id]['rows']; c++) {
            table.insertRow(c);

            for(var k = 0; k < data[block_id]['cols']; k++) {
                table.rows[c].insertCell(k);
                table.rows[c].cells[k].setAttribute('valign', 'top');

                for(var z in td_style) {
                    if (/MSIE (6.0|7.0)/.test(navigator.appVersion) && z == 'display') continue;
                    else table.rows[c].cells[k].style[z] = td_style[z];
                }

                this.appendData(table.rows[c].cells[k]);
            }
        }

        if (document.getElementsByClassName == undefined) {
            document.getElementsByClassName = function(className, tags) {
                if (tags == null) {
                    tags = "*";
                }
                var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
                var allElements = document.getElementsByTagName(tags);
                var results = [];

                var element;
                for (var i = 0; (element = allElements[i]) != null; i++) {
                    var elementClass = element.className;
                    if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass)) {
                        results.push(element);
                    }
                }

                return results;
            }
        }

        elems = document.getElementsByClassName('__getClick__');

        reg = new RegExp(block_id);

        for(var e in elems) {
            if ((typeof(e) === 'number' || typeof(e) === 'string') && e !== '' && !isNaN(e)) {
                if (elems[e].className.match(reg)) {
                    elems[e].appendChild(table);
                }
            }
        }

        this.turn = 0;
    }

    this.showErrors = function(message) {
        if (message.length < 1) {message = 'unknown error';}

        var errorMessage = document.createTextNode(message);

        if (document.getElementsByClassName == undefined) {
            document.getElementsByClassName = function(className, tags) {
                if (tags == null) {
                    tags = "*";
                }
                var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
                var allElements = document.getElementsByTagName(tags);
                var results = [];

                var element;
                for (var i = 0; (element = allElements[i]) != null; i++) {
                    var elementClass = element.className;
                    if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass)) {
                        results.push(element);
                    }
                }

                return results;
            }
        }

        elems = document.getElementsByClassName('__getClick__');

        reg = new RegExp(block_id);

        for(var e in elems) {
            if ((typeof(e) === 'number' || typeof(e) === 'string') && e !== '' && !isNaN(e)) {
                if (elems[e].className.match(reg)) {
                    elems[e].style.fontSize = 'smaller';
                    elems[e].appendChild(errorMessage);
                }
            }
        }
    }
};

var domainRegExp = new RegExp('^(?:www\.)?(?:(?:(?:fast\.)?get-click\.net)|(?:' + sellerDomain.split(/\./).join('\.') + ')|(?:' + sellerDomainInternationalized.split(/\./).join('\.') + '))$', 'i');

var domainIsCorrect = (
                        domainRegExp.test(document.domain) &&
                        domainRegExp.test(location.host) &&
                        domainRegExp.test(window.location.host) &&
                        domainRegExp.test(document.location.host)
                      );

if (sellerMirrorDomain && sellerMirrorDomainInternationalized) {
    var mirrorDomainRegExp = new RegExp('^(?:www\.)?(?:(?:' + sellerMirrorDomain.split(/\./).join('\.') + ')|(?:' + sellerMirrorDomainInternationalized.split(/\./).join('\.') + '))$', 'i');

    var mirrorDomainIsCorrect = (
                                  mirrorDomainRegExp.test(document.domain) &&
                                  mirrorDomainRegExp.test(location.host) &&
                                  mirrorDomainRegExp.test(window.location.host) &&
                                  mirrorDomainRegExp.test(document.location.host)
                                );
} else {
    var mirrorDomainIsCorrect = false;
}

var getClick = new teaserClass(sellerBlock);

if (getClick.checkData() === true) {
    if (domainIsCorrect || mirrorDomainIsCorrect) {
        getClick.createTable();
    }
    else {
        getClick.showErrors('Invalid domain');
    }
}
else if (getClick.checkData() === -1) {
    getClick.showErrors('Nothing to show');
}
else {
    getClick.showErrors('Invalid block #' + sellerBlock + ' data');
}

