/* iloop stands for inner loop counter. */
var loop, iloop;
var w3cDOM = (typeof document.getElementById != "undefined" && typeof document.createElement != "undefined") ? true : false;



// Function initJS is executed at the end of page (/layout/default.vm), before external files load.
// Fake window.onLoad.
var initJS = function() {};
function listenEvent (target, type, listener) {
    if( target==window && type=='load' ) {
            var tmp = initJS;
            initJS = function() {tmp(); listener();};
    } else if (typeof target.addEventListener != "undefined") {
        target.addEventListener (type, listener, false);
    } else if (typeof target.attachEvent != "undefined") {
        target.attachEvent ("on" + type, listener);
    }
}


function setCookie(name, value, days) {
        function getExp( d ) {
                var exp = new Date();
                exp.setTime (exp.getTime() + d);
                return '; expires=' + exp.toGMTString();
        }

        if (value.length == 0)
                document.cookie = name + "=" + getExp(-1000) + ";path=/";
        else
                document.cookie = name + "=" + value + getExp(days*24*60*60*1000) + ";path=/";
}

function getCookie( name ) {
    var dc = document.cookie;
    var prefix = name + '=';
    var begin = dc.indexOf('; ' + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) {
                return null;
        }
    } else {
        begin += 2;
    }
    var end = dc.indexOf(';', begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}





function setFieldsSequence (form) {
    var loop;
    var hidden = document.createElement ("input");
    hidden.type = "hidden";
    hidden.name = "fieldsSequence";
    for (loop = 0; loop < form.elements.length; loop ++) {
        if (form.elements[loop].type != "submit"
         && form.elements[loop].type != "reset"
         && form.elements[loop].type != "button"
         && (form.elements[loop].type != "hidden" || form.elements[loop].name.indexOf('s_')==0) ) {
             hidden.value += form.elements[loop].name + ",";
        }
    }
    hidden.value = hidden.value.replace (/,$/, "");
    for (loop = 0; loop < form.elements.length; loop ++) {
        if (form.elements[loop].name == hidden.name) {
            form.elements[loop].value = hidden.value;
            return;
        }
    }
    form.appendChild (hidden);
}

function allFormsSetFieldsSequence () {
    for (loop = 0; loop < document.forms.length; loop ++) {
        if (document.forms[loop].className.indexOf ("sequence") != -1) {
            setFieldsSequence (document.forms[loop]);
        }
    }
}
if (w3cDOM) {
        listenEvent (window, "load", allFormsSetFieldsSequence);
}

/* Sets clipboard indicator and ads actions to clipboard icons on ad list */
function clipboard() {
        var container;
        var itemsCount=0;

        var clipboardList = getCookie( 'clipboard' );
        if( clipboardList ) {
                clipboardList = clipboardList.replace( /^\*/, '' );
                for ( i=0; i<clipboardList.length;i++ ){
                        if(clipboardList.charAt(i) == '|') itemsCount++;
                }                
                clipboardList = '|' + clipboardList;
        } else {
                clipboardList = '';
        }
        
        if( document.getElementById('clipboardCount') ) {
            document.getElementById('clipboardCount').innerHTML = "("+itemsCount+")";
        }
        
        if( !(container = document.getElementById('advertsListContainer')) ) {
            return false;
    }
        
       /* if( document.getElementById('clipboardCountHeader') ) {
                document.getElementById('clipboardCountHeader').innerHTML = "("+itemsCount+")";
        } */
        
        var images = container.getElementsByTagName( 'img' );
        for( i = 0; i<images.length; i++ ) {
        if( images.item(i).className=='clipboard' ) {
                var checkbox = images.item(i);
                checkbox.value = checkbox.id.replace( /clipboard/, '' );
                if( clipboardList.indexOf( '|' + checkbox.value + '|' )>-1 ) {
                        checkbox.className = 'clipboardIn';
                                checkbox.src = checkbox.src.replace(/clipboard_off/g, 'clipboard_on');
                                checkbox.alt = delFromClipboard;
                                checkbox.title = delFromClipboard;
                        } else {
                                checkbox.alt = addToClipboard;
                                checkbox.title = addToClipboard;
                        }
                        checkbox.onclick = function() {
                    var list = getCookie( 'clipboard' );
                    if( list==null ) { list = '' }
                    else { list = list.replace( /^\*/, '' ); } // this one removes additional * added as sign that this cookie is from JS
                                if( this.className=='clipboard' ) {
                            if( clipbordMaxSize && itemsCount==clipbordMaxSize ) {
                                    var removeElement = list.substr( 0, list.indexOf( '|' ) );
                                    var removeSelectionCheckbox = document.getElementById( 'clipboard'+removeElement );
                                    if( removeSelectionCheckbox ) {
                                            removeSelectionCheckbox.className = 'clipboard';
                                            removeSelectionCheckbox.src = checkbox.src.replace(/clipboard_on/g, 'clipboard_off');
                                            removeSelectionCheckbox.alt = addToClipboard;
                                                        removeSelectionCheckbox.title = addToClipboard;
                                    }
                                    list = list.replace( /^[0-9]+[^0-9]/, '' );
                                    itemsCount--;
                            }
                            list += this.value + '|';
                            /*if( getCookie( 'userName' )!=null ) {
                                    var clipboardTmp = new Image();
                                    clipboardTmp.src = mainURL + '/addToClipboard.do?aid=' + this.value + '&js=true';
                            }*/
                            itemsCount++;
                            this.className = 'clipboardIn';
                            this.src = checkbox.src.replace(/clipboard_off/g, 'clipboard_on');
                                        this.alt = delFromClipboard;
                                        this.title = delFromClipboard;
                    } else if( list.length>0 ) {
                            list = '|' + list;
                            var patern = new RegExp( '[^0-9]+'+this.value+'[^0-9]+', 'g' );
                            list = list.replace( patern, '|' );
                            list = list.replace( /^[^0-9]+/g, '' );
                            /*if( getCookie( 'userName' )!=null ) {
                                    var clipboardTmp = new Image();
                                    clipboardTmp.src = mainURL + '/removeFromClipboard.do?aid=' + this.value + '&js=true';
                            }*/
                            itemsCount--;
                            this.className = 'clipboard';
                            this.src = checkbox.src.replace(/clipboard_on/g, 'clipboard_off');
                            this.alt = addToClipboard;
                                        this.title = addToClipboard;
                    }
                    list = '*' + list; // this adds additional * as sign that this cookie is from JS
                    setCookie( 'clipboard', list, 365 );
                    document.getElementById('clipboardCount').innerHTML = "("+itemsCount+")";
                               /* document.getElementById('clipboardCountHeader').innerHTML = "("+itemsCount+")"; */
            };
                }
        }
}

if (w3cDOM) {
        listenEvent (window, "load", clipboard);
}

 var addToClipboard = "Добавить в блокнот";
 var delFromClipboard = "Удалить из блокнота";
 var clipbordMaxSize = 30;
 /*
 var mainURL = "http://www.irr.ru";
 var URILogout = "http://www.irr.ru/logout.do?cid=1&amp;rid=42";
 var loggedAs = "Пользователь: %USERNAME%";
 var logOut = "Выйти";
 var cid = 1;
 var loading = "Загрузка, подождите...";
 */

