var requests = null;
var _sort = [];
_sort[0] = false;
_sort[1] = false;
_sort[2] = false;
_sort[3] = false;
_sort[4] = false;
_last_sorted_by = { word : false, num : false };
var _sort_ww = [];
_sort_ww[0] = false;
_sort_ww[1] = false;
_sort_ww[2] = false;
_sort_ww[3] = false;
_sort_ww[4] = false;
_last_sorted_by_ww = { word : false, num : false };

var _digFormStatus = {};
_digFormStatus['kwds'] = '';
_digFormStatus['nkwds'] = '';
_gadw_match_type = false;
        
function page_loaded()
{
    var loader = document.getElementById("loader");
    if(loader) {
        loader.parentNode.removeChild( loader );
    }
    
    while(afterLoad=document.getElementById("afterload")) {
        afterLoad.style.visibility = "visible";
        afterLoad.style.display = "block";
        afterLoad.id = "";
    }
    
    while(enableAfterLoad = document.getElementById("enable_afterload")) {
        enableAfterLoad.disabled = false;
        enableAfterLoad.id = "";
    }
    
    // вешаем евент копирования в клипбоард на ссылки если они есть.
    var links = document.getElementsByClassName('clipboard_multiple');
    if(links.length)
    {
    for(var i = 0; i < links.length; i++)
    {
    	// setup single ZeroClipboard object for all our elements
	    clip = new ZeroClipboard.Client();
    	clip.setHandCursor( true );
	    // assign a common mouseover function for all elements using jQuery
    	links[i].onmouseover = function() {
	    	// set the clip text to our innerHTML
		    clip.setText( toClipboard(this.innerHTML) );
		    // reposition the movie over our element
	    	// or create it if this is the first time
    		if (clip.div) {
			    clip.receiveEvent('mouseout', null);
		    	clip.reposition(this);
	    	}
    		else clip.glue(this);
		    // gotta force these events due to the Flash movie
	    	// moving all around.  This insures the CSS effects
    		// are properly updated.
		    clip.receiveEvent('mouseover', null);
	    };
    }
    }
}

function delRequest( request_id, request ) 
{
    if(confirm( "Do you really want to delete request: " + request + " ?" )) {
        location.href = "?action=del_request&request_id="+request_id;
    }
}

function setTempRequest( temp_request_id ) 
{
    var temp_request = document.getElementById("temp_request");
    if(temp_request) {
        temp_request.value = temp_request_id;
    }
}

function setUnsavedRequest( request_id ) 
{
    var unsaved_request = document.getElementById("unsaved_request");
    if(unsaved_request) {
        unsaved_request.value = request_id;
    }
}

function submit_register(form) 
{
    /*if(form.firstname.value=='') {
        alert( "Please enter first name" );
    } else*/ if(form.email_reg.value=='') {
        alert( "Please enter e-mail" );
    /*} else if(form.passw.value=='') {
        alert( "Please enter password" );
    } else if(form.passw.value!=form.passw_r.value) {
        alert( "Please re-enter password correctly" );*/
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.user_init_credits.value)) {
        alert( "Please enter correct \"User init credits\" value" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.add_credits_per_month.value)) {
        alert( "Please enter correct \"Add credits per month\" value" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.credits_alert_level.value)) {
        alert( "Please enter correct \"Credits alert level\" value" );
    } else {
        return true;
    }
    return false;
}

function submit_register_multi(form) 
{
    if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.user_init_credits.value)) {
        alert( "Please enter correct \"User init credits\" value" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.add_credits_per_month.value)) {
        alert( "Please enter correct \"Add credits per month\" value" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.credits_alert_level.value)) {
        alert( "Please enter correct \"Credits alert level\" value" );
    } else {
        return true;
    }
    return false;
}

function submit_password(form, full) 
{
//    if(form.firstname.value=='' && full) {
//        alert( "Please enter first name" );
//    } else 
    if(form.email.value=='' && full) {
        alert( "Please enter email" );
    } else if(form.passw.value=='') {
        alert( "Please enter password" );
    } else if(form.passw.value!=form.passw_r.value) {
        alert( "Please re-enter password correctly" );
    } else {
        return true;
    }
    return false;
}

function submit_edituser(form) 
{
//    if(form.firstname.value=='') {
//        alert( "Please enter first name" );
//    } else 
    if(form.email.value=='') {
        alert( "Please enter email" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.add_credits_per_month.value)) {
        alert( "Please enter correct \"Add credits per month\" value" );
    } else if(form.config.options[form.config.selectedIndex].value==0 && !/^\d+$/.test(form.credits_alert_level.value)) {
        alert( "Please enter correct \"Credits alert level\" value" );
    } else {
        return true;
    }
    return false;
}

function submit_changeprofile()
{
    var form = document.getElementById('cprofile');
    if(form.passw_n.value!=form.passw_r.value) {
        alert( "Please re-enter new password correctly" );
    } else {
        form.submit();
    }
    return false;
}

function submit_config(form) 
{
    if(form.config.value=='') {
        alert( "Please enter configuration name" );
    } else if(!/^\d+$/.test(form.user_init_credits.value)) {
        alert( "Please enter correct \"User init credits\" value" );
    } else if(!/^\d+$/.test(form.add_credits_per_month.value)) {
        alert( "Please enter correct \"Add credits per month\" value" );
    } else if(!/^\d+$/.test(form.credits_alert_level.value)) {
        alert( "Please enter correct \"Credits alert level\" value" );
    } else {
        return true;
    }
    return false;
}

function deleteConfig( config_id, config )
{
    if(confirm( "Do you really want to delete user configuration \""+config+"\"?" )) {
        location.href = "?action=delete&config_id="+config_id;
    }
}

function saveFile( fileType, request_id) 
{
    var url = "";
    if(request_id) {
        url += "?save=" + fileType + "&request_id=" + request_id;
    } else if( temp_request = document.getElementById("temp_request")) {
        url += "?save=" + fileType + "&temp_request_id=" + temp_request.value;
    }
    if(url) {
        location.href = url;
    }
}

function selectWords()
{
    var result_list = document.getElementById("result_list");
    if(!result_list) {
        return;
    }
    
    if(document.createRange) {
        result_list = result_list.childNodes[1];
        var range = document.createRange();
        range.selectNode(result_list);
        selection = window.getSelection();
        selection.removeAllRanges();
        selection.addRange( range );
    }
    else {
        var range = document.body.createTextRange();
        range.moveToElementText( result_list.firstChild );
        range.select();
    }
}

function deleteUser( user_id, email )
{
    if(confirm( "Do you really want to delete user "+email+"?" )) {
        location.href = "?action=delete&user_id="+user_id;
    }
}

function submit_saveRequest( form )
{
    var name = form.title.value;
    for(i=0;i<requests.length;i++) {
        if(requests[i]==name) {
            if(confirm( "The request with such name already exists. Do you want to replace it with the new one?" )) {
                return true;
            }
            return false;
        }
    }
    return true;
}

function setHeadCredits( credits ) 
{
    var headCredits = document.getElementById("head_credits");
    if(headCredits) {
        headCredits.innerHTML = credits.toString();
    }
}

function usersConfigChanged( item )
{
    var disable = true;
    if(item.options[item.selectedIndex].value=="0") {
        disable = false;
    }
    var form = item.form;
    for(i=0;i<form.elements.length;i++) {
        if(form.elements[i].id=="custom_config") {
            form.elements[i].disabled = disable;
        }
    }
}

function selectUsers( check ) 
{
    var form = null;
    for(i=0;i<document.forms.length;i++) {
        if(document.forms[i].name=="users") {
            form = document.forms[i];
            for(j=0;j<form.elements.length;j++) {
                if(/^seluser_\d+$/.test(form.elements[j].id)) {
                    form.elements[j].checked = check;
                }
            }
            break;
        }
    }
}

function submit_editusers( form )
{
    if(form.operation.options[form.operation.selectedIndex].value=="delete") {
        var emails = new Array();
        for(i=0;i<form.elements.length;i++) {
            if(/^seluser_\d+$/.test(form.elements[i].id) && form.elements[i].checked) {
                user_id = form.elements[i].id.match(/^seluser_(\d+)$/i);
                if(user_id) {
                    email = document.getElementById( "email_"+user_id[1].toString());
                    if(email) {
                        emails.push( email.innerHTML );
                    }
                }
            }
        }
        if(emails.length) {
            var str = "Do you really want to delete following users?\n";
            for(i=0;i<emails.length;i++) {
                str += emails[i] + "\n";
            }
            if(confirm(str)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
    return true;
}

function submit_customeditusers( form )
{
    if(!/^\d+$/.test(form.add_credits_per_month.value)) {
        alert( "Please enter correct \"Add credits per month\" value" );
    } else if(!/^\d+$/.test(form.credits_alert_level.value)) {
        alert( "Please enter correct \"Credits alert level\" value" );
    } else {
        return true;
    }
    return false;
}

function deleteIP( ip_id, ip )
{
    if(confirm( "Do you really want to delete ip "+ip+"?" )) {
        location.href = "?action=delete&ip_id="+ip_id;
    }
}

function hasClass(ele,cls) {
    return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
    if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
    if (hasClass(ele,cls)) {
        var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
        ele.className=ele.className.replace(reg,' ');
    }
}

var ajax = function(){

var _url; // feed
var _method = 'GET'; // request method
var _timerFlag = 1; // timeout flag
this.busy = false; // Is object busy
this.className = 'ajax';
var _openLink; // Current query link

var xmlHttp;
  try { xmlHttp = new ActiveXObject("Msxml2.XMLHttp"); } catch (e) {
    try { xmlHttp = new ActiveXObject("Microsoft.XMLHttp"); } catch (E) {
      xmlHttp = false; }
  }
  if (!xmlHttp && typeof XMLHttpRequest!='undefined') { xmlHttp = new XMLHttpRequest(); }

this.onResponse = function(responseXML, responseHTML){
alert('onResponse not defined.');
}

this.onServerError = function(errNum, errStr){
alert("onServerError not defined.");
}

this.onTimeout = function(){
alert('onTimeout not defined.');
}

this.setFeed = function(myUrl, myMethod){
_url = myUrl; _method = myMethod;
}

this.checkResponse = function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
_timerFlag = 1; this.busy = false;
if(xmlHttp.status != 200){ this.onServerError(xmlHttp.status, xmlHttp.statusText); return; }
this.onResponse(xmlHttp.responseXML, xmlHttp.responseText); return;
}
if(_timerFlag == 30000){ xmlHttp.abort(_openLink); _timerFlag = 1; this.busy = false; this.onTimeout(); return; }
setTimeout(this.className + '.checkResponse()', 100);
_timerFlag++;
}

this.query = function(args){
this.busy = true;
var argsStr = '';
var firstStep = true;
for(var step in args){
if(typeof args[step] === 'object'){
for(var step_ in args[step]){
if(firstStep === false){ argsStr += '&'; }
var tmp = new String(args[step][step_]);
argsStr += step + '[]=' + encodeURIComponent(tmp);
if(firstStep === true){ firstStep = false; }
}
}else{
if(firstStep === false){ argsStr += '&'; }
var tmp = new String(args[step]);
argsStr += step + '=' + encodeURIComponent(tmp);
if(firstStep === true){ firstStep = false; }
}
}
if(_method === 'GET'){
argsStr = '?'+argsStr;
_openLink = xmlHttp.open(_method, _url+argsStr, true);
xmlHttp.send(null);
setTimeout(this.className + '.checkResponse()', 100);
_timerFlag++;
}else{
_openLink = xmlHttp.open(_method, _url, true);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.send(argsStr);
setTimeout(this.className + '.checkResponse()', 100);
_timerFlag++;
}
}

this.abort = function(){
this.busy = false;
xmlHttp.abort(_openLink);
}

}

function setCookie(name, value) {
      var valueEscaped = escape(value);
      var expiresDate = new Date();
      expiresDate.setTime(expiresDate.getTime() + 365 * 24 * 60 * 60 * 1000);
      var expires = expiresDate.toGMTString();
      var newCookie = name + "=" + valueEscaped + "; path=/; expires=" + expires;
      if (valueEscaped.length <= 4000) document.cookie = newCookie + ";";
}

function getCookie(name) {
      var prefix = name + "=";
      var cookieStartIndex = document.cookie.indexOf(prefix);
      if (cookieStartIndex == -1) return null;
      var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length);
      if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
      return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

// opens pop-up window
openWin = function(url, width, height, scroll){
myWin = open(url, "displayWindow", "width=" + width + ",height=" + height + ",status=no,toolbar=no,menubar=no,resizable=yes,scrollbars=" + scroll);
return myWin;
}

function submitScraperForm(_graph)
{
    if(document.getElementById('gawd_countrys'))
    {
        var countrysStr = '';
        var countrys = document.getElementById('gawd_countrys');
        for(var i = 0; i < countrys.length; i++)
        {
            if(countrys.options[i].selected)
            {
                countrysStr = countrysStr+'%2C'+countrys.options[i].value;
            }
        }
        countrysStr = countrysStr.substring(3, countrysStr.length);
        document.getElementById('googleCountry').value = countrysStr;
    }
    else
    {
        countrysStr = document.getElementById('googleCountry').value;
    }
    if(!document.getElementById('scraper')  ||
       !document.getElementById('keywords') ||
       document.getElementById('keywords').value == '')
    {
        return false;
    }
    var go_broad         = document.getElementById('kwbrowse').checked ? 1 : 0;
    var go_sbroad        = document.getElementById('kwmap').checked ? 1 : 0;
    var go_deep          = document.getElementById('alphaSuffix').checked ? 1 : 0;
    var use_google       = document.getElementById('useGoogle').checked ? 1 : 0;
    var use_prefix_words = document.getElementById('prefix').checked ? 1 : 0;
    var use_nkwds        = document.getElementById('negative').checked ? 1 : 0;
    var use_pkwds        = document.getElementById('positive').checked ? 1 : 0;
    var use_ww           = document.getElementById('getSiloCat').checked ? 1 : 0;
    var tmp = document.getElementsByName('siloCatDeep');
    var ww_level = 0;
    for(var i = 0; i < tmp.length; i++)
    {
        if(tmp[i].checked)
        {
            ww_level = tmp[i].value;
        }
    }
    if(document.getElementById('echo'))
    {
        var echo_kwds    = document.getElementById('echo').checked ? 1 : 0;
    }
    else
    {
        var echo_kwds    = 0;
    }
    if(go_broad         !== _digFormStatus['go_broad']          ||
       go_sbroad        !== _digFormStatus['go_sbroad']         ||
       go_deep          !== _digFormStatus['go_deep']           ||
       use_prefix_words !== _digFormStatus['use_prefix_words']  ||
       echo_kwds        !== _digFormStatus['echo_kwds']         ||
       use_ww           !== _digFormStatus['use_ww']            ||
       document.getElementById('prefixwords').value !== _digFormStatus['prefixwords']     ||
       document.getElementById('levels').value      !== _digFormStatus['depth_control']   ||
       document.getElementById('width').value       !== _digFormStatus['width_control']   ||
       document.getElementById('limit').value       !== _digFormStatus['max_kwds_length'] ||
       document.getElementById('keywords').value    !== _digFormStatus['kwds'])
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
        return;
    }
    else if(use_ww == 1 && ww_level != _digFormStatus['ww_level'])
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
    }
    else if(use_nkwds == 0 && _digFormStatus['use_nkwds'] == 1)
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
        return;
    }
    /*
    else if(use_pkwds == 0 && _digFormStatus['use_pkwds'] == 1)
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
        return;
    }
    */
    else if((countrysStr !== _digFormStatus['country']) && (use_google == 1 && _digFormStatus['use_google'] == 1))
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
        return;
    }
    else if(use_google == 0 && _digFormStatus['use_google'] == 1)
    {
        document.getElementById('width').disabled = false;
        document.getElementById('levels').disabled = false;
        document.getElementById('scraper').submit();
        return;
    }    
    else if(document.getElementById('negative_keywords').value !== _digFormStatus['nkwds'] || (use_nkwds == 1 && _digFormStatus['use_nkwds'] == 0))
    {
        if(use_nkwds == 0 && _digFormStatus['use_nkwds'] == 0)
        {
            return;
        }
            curNkwds = [];
            var tmp = document.getElementById('negative_keywords').value.replace(/\r\n/g, "\n");
            tmp = tmp.split("\n");
            for(var i = 0; i < tmp.length; i++)
            {
                if(tmp[i])
                {
                    curNkwds[curNkwds.length] = tmp[i];
                }
            }
        var _found = true;
        if(_digFormStatus['nkwds_arr'].length > 0){
        for(var i = 0; i < _digFormStatus['nkwds_arr'].length; i++)
        {
            _found = false;
            for(var i_ = 0; i_ < curNkwds.length; i_++)
            {
                if(curNkwds[i_] === _digFormStatus['nkwds_arr'][i])
                {
                    _found = true;
                    break;
                }
            }
            if(!_found)
            {
                document.getElementById('width').disabled = false;
                document.getElementById('levels').disabled = false;
                document.getElementById('scraper').submit();
                return;
            }
        }
        }
        // AJAX
        if(use_nkwds == 0)
        {
            return;
        }
        nkwdsAjax = new ajax();
        nkwdsAjax.className = 'nkwdsAjax';
        nkwdsAjax.setFeed('request.php', 'POST');
        nkwdsAjax.onServerError = function(errNum, errStr)
        {
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            alert("An error accured, try again, please.");
        }
        nkwdsAjax.onTimeout = function()
        {
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            alert('Server timeout, try again in a few minutes, please.');
        }
        nkwdsAjax.onResponse = function(responseXML, responseHTML)
        {
            if(_graph)
            {
                document.getElementById('div_submit').innerHTML = '<a href = "#" onmouseover = "digButtonLight(true);" onmouseout = "digButtonLight(false);" onclick = "submitScraperForm(true); return false;"><img src = "/tpl/img/button_dig_trans.gif" id = "dig_button" alt = "" /></a>';
            }
            else
            {
                document.getElementById('dig_submit').disabled = false;
                document.getElementById('dig_submit').value = 'process';
            }
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            if(responseHTML !== 'ok')
            {
                alert(responseHTML);
            }
            else
            {
                _digFormStatus['nkwds_arr'] = curNkwds;
                _digFormStatus['use_nkwds'] = document.getElementById('negative').checked ? 1 : 0;
                _digFormStatus['nkwds'] = document.getElementById('negative_keywords').value;
                eraseNegativeKeywords(curNkwds);
            }
        }
        var args = { mode : 'negative_add', nwords : document.getElementById('negative_keywords').value, request_id : _request_id, countrys : countrysStr };
        if(document.getElementById('negative').checked)
        {
            args['negative'] = 1;
        }
        if(_graph)
        {
            document.getElementById('div_submit').innerHTML = '<font style = "color: #333;">Please, wait...</font>';
        }
        else
        {
            document.getElementById('dig_submit').disabled = true;
            document.getElementById('dig_submit').value = 'Please, wait...';
        }
//        document.getElementById('dig_submit').disabled = true;
//        document.getElementById('dig_submit').value = 'Please, wait...';
        nkwdsAjax.query(args);
    }
    if(document.getElementById('positive_keywords').value !== _digFormStatus['pkwds'] || use_pkwds != _digFormStatus['use_pkwds'])
    {
        curPkwds = [];
        var tmp = document.getElementById('positive_keywords').value.replace(/\r\n/g, "\n");
        tmp = tmp.split("\n");
        for(var i = 0; i < tmp.length; i++)
        {
            if(tmp[i])
            {
                curPkwds[curPkwds.length] = tmp[i];
            }
        }
        pkwdsAjax = new ajax();
        pkwdsAjax.className = 'pkwdsAjax';
        pkwdsAjax.setFeed('request.php', 'POST');
        pkwdsAjax.onServerError = function(errNum, errStr)
        {
            alert("An error accured, try again, please.");
        }
        pkwdsAjax.onTimeout = function()
        {
            alert('Server timeout, try again in a few minutes, please.');
        }
        pkwdsAjax.onResponse = function(responseXML, responseHTML)
        {
            if(_graph)
            {
                document.getElementById('div_submit').innerHTML = '<a href = "#" onmouseover = "digButtonLight(true);" onmouseout = "digButtonLight(false);" onclick = "submitScraperForm(true); return false;"><img src = "/tpl/img/button_dig_trans.gif" id = "dig_button" alt = "" /></a>';
            }
            else
            {
                document.getElementById('dig_submit').disabled = false;
                document.getElementById('dig_submit').value = 'process';
            }
            if(responseHTML.indexOf('error') == 0)
            {
                alert(responseHTML);
            }
            else
            {
                _digFormStatus['pkwds_arr'] = curPkwds;
                _digFormStatus['use_pkwds'] = document.getElementById('positive').checked ? 1 : 0;
                _digFormStatus['pkwds'] = document.getElementById('positive_keywords').value;
                if(use_google == 0)
                {
                	document.getElementById('result_list').innerHTML = responseHTML;
                }
                else
                {
                	document.getElementById('googleAdwFeed').innerHTML = responseHTML;
                	//document.getElementById('body_mk_results').removeChild(document.getElementById('googleAdwFeed'));
                	//document.getElementById('body_mk_results').appendChild = responseHTML;
                	buildGoogleAdwList(false);
                }
            }
        }
        var args = { mode : 'positive_change', use_google : (document.getElementById('useGoogle').checked ? 1 : 0), use_pwords : (document.getElementById('positive').checked ? 1 : 0), pwords : document.getElementById('positive_keywords').value, request_id : _request_id };
        if(document.getElementById('positive').checked)
        {
            args['positive'] = 1;
        }
        if(_graph)
        {
            document.getElementById('div_submit').innerHTML = '<font style = "color: #333;">Please, wait...</font>';
        }
        else
        {
            document.getElementById('dig_submit').disabled = true;
            document.getElementById('dig_submit').value = 'Please, wait...';
        }
//        document.getElementById('dig_submit').disabled = true;
//        document.getElementById('dig_submit').value = 'Please, wait...';
        pkwdsAjax.query(args);
        
    }
    if(use_google == 1 && _digFormStatus['use_google'] == 0 && use_ww == 0)
    {
        googleAjax = new ajax();
        googleAjax.className = 'googleAjax';
        googleAjax.setFeed('request.php', 'POST');
        googleAjax.onServerError = function(errNum, errStr)
        {
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            alert('An error accured, try again, please. ('+errNum+':'+errStr+')');
        }
        googleAjax.onTimeout = function()
        {
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            alert('Server timeout, try again in a few minutes, please.');
        }
        googleAjax.onResponse = function(responseXML, responseHTML)
        {
            if(_graph)
            {
                document.getElementById('div_submit').innerHTML = '<a href = "#" onmouseover = "digButtonLight(true);" onmouseout = "digButtonLight(false);" onclick = "submitScraperForm(true); return false;"><img src = "/tpl/img/button_dig_trans.gif" id = "dig_button" alt = "" /></a>';
            }
            else
            {
                document.getElementById('dig_submit').disabled = false;
                document.getElementById('dig_submit').value = 'process';
            }
//            document.getElementById('dig_submit').disabled = false;
//            document.getElementById('dig_submit').value = 'Dig';
            if(responseHTML.indexOf('error') == 0)
            {
                alert(responseHTML);
            }
            else
            {
                var data = responseHTML.split('<-new_count_of_gadw_results->');
                document.getElementById('result_list').setAttribute('id', 'new_results');
                document.getElementById('new_results').innerHTML = data[0];
                document.getElementById('keywords_cnt').innerHTML = data[1];
                _digFormStatus['use_google'] = 1;
                _digFormStatus['country'] = countrysStr;
                var spanlist = document.getElementsByClassName('download_as_txt');
                if(spanlist.length)
                {
                	if(spanlist[0])
                	{
                        spanlist[0].parentNode.removeChild(spanlist[0]);
                	}
                	if(spanlist[0])
                	{
                        spanlist[0].parentNode.removeChild(spanlist[0]);
                	}
                }
                buildGoogleAdwList(false);
            }
        }
        var results = document.getElementById('result_list').innerHTML.split('<br>');
        var stop = results.length - 1;
        var wordsToAjax = [];
        for(var i = 0; i < stop; i++)
        {
            var tmp = results[i].replace(/^[ \n\r]*/g, '');
            tmp = tmp.replace(/[ \n\r]*$/g, '');
            wordsToAjax[wordsToAjax.length] = tmp;
        }
        var args = { mode : 'googleadw_only', words : wordsToAjax, request_id : _request_id, country : countrysStr, ip : document.getElementById('ip').value, token : document.getElementById('token').value };
        if(document.getElementById('googleCaptchaCode') && document.getElementById('googleCaptchaCode').value)
        {
            args['googleCaptchaCode'] = document.getElementById('googleCaptchaCode').value;
        }
        if(_graph)
        {
            document.getElementById('div_submit').innerHTML = '<font style = "color: #333;">Please, wait...</font>';
        }
        else
        {
            document.getElementById('dig_submit').disabled = true;
            document.getElementById('dig_submit').value = 'Please, wait...';
        }
        googleAjax.query(args);
    }
    // wonder wheel + adwords
    if(use_google == 1 && _digFormStatus['use_google'] == 0 && use_ww == 1)
    {
        googleAjax = new ajax();
        googleAjax.className = 'googleAjax';
        googleAjax.setFeed('request.php', 'POST');
        googleAjax.onServerError = function(errNum, errStr)
        {
            alert('An error accured, try again, please. ('+errNum+':'+errStr+')');
        }
        googleAjax.onTimeout = function()
        {
            alert('Server timeout, try again in a few minutes, please.');
        }
        googleAjax.onResponse = function(responseXML, responseHTML)
        {
            if(_graph)
            {
                document.getElementById('div_submit').innerHTML = '<a href = "#" onmouseover = "digButtonLight(true);" onmouseout = "digButtonLight(false);" onclick = "submitScraperForm(true); return false;"><img src = "/tpl/img/button_dig_trans.gif" id = "dig_button" alt = "" /></a>';
            }
            else
            {
                document.getElementById('dig_submit').disabled = false;
                document.getElementById('dig_submit').value = 'process';
            }
            if(responseHTML.indexOf('error') == 0)
            {
                alert(responseHTML);
            }
            else
            {
                document.getElementById('ww_wraper').innerHTML = responseHTML;
                _digFormStatus['use_google'] = 1;
                _digFormStatus['country'] = countrysStr;
                var spanlist = document.getElementsByClassName('download_as_txt');
                if(spanlist.length)
                {
                	if(spanlist[0])
                	{
                        spanlist[0].parentNode.removeChild(spanlist[0]);
                	}
                	if(spanlist[0])
                	{
                        spanlist[0].parentNode.removeChild(spanlist[0]);
                	}
                }
                buildWWTables(false);
            }
        }
        var wordsToAjax = [];
        wordsToAjax[1] = [];
        wordsToAjax[2] = [];
        wordsToAjax[3] = [];
        var flag = 1;
        while(flag != 4)
        {
            var index_flag = 0;
            if(!document.getElementById('wwtextarea_'+flag))
            {
                break;
            }
            var results = document.getElementById('wwtextarea_'+flag).innerHTML.split("\n");
//            var stop = results.length - 1;
            var index_flag = 0;
            for(var i = 0; i < results.length; i++)
            {
                var tmp = results[i].replace(/^[ \n\r]*/g, '');
                tmp = tmp.replace(/[ \n\r]*$/g, '');
                wordsToAjax[flag][index_flag] = tmp;
                ++index_flag;
            }
            ++flag;
        }
        var args = { mode : 'ww_googleadw_only', words_1 : wordsToAjax[1], words_2 : wordsToAjax[2], words_3 : wordsToAjax[3], request_id : _request_id, country : countrysStr, ip : document.getElementById('ip').value, token : document.getElementById('token').value };
        if(document.getElementById('googleCaptchaCode') && document.getElementById('googleCaptchaCode').value)
        {
            args['googleCaptchaCode'] = document.getElementById('googleCaptchaCode').value;
        }
        if(_graph)
        {
            document.getElementById('div_submit').innerHTML = '<font style = "color: #333;">Please, wait...</font>';
        }
        else
        {
            document.getElementById('dig_submit').disabled = true;
            document.getElementById('dig_submit').value = 'Please, wait...';
        }
        googleAjax.query(args);
    }
    return;
}

var eraseNegativeKeywords = function(_nkwds)
{
    if(!_nkwds || _nkwds.length == 0)
    {
        return;
    }
    
    // Google not used
    if(document.getElementById('result_list'))
    {
        var results = document.getElementById('result_list').innerHTML.split('<p>');
        results = results[1].split('<br>');
        var stop = results.length - 1;
        var newResults = [];
        for(var i = 0; i < stop; i++)
        {
            var erase = false;
            for(var i_ = 0; i_ < _nkwds.length; i_++)
            {
                if(results[i].match(_nkwds[i_]))
                {
                    erase = true;
                    break;
                }
            }
            if(!erase)
            {
                newResults[newResults.length] = results[i];
            }
        }
        var output = '';
        for(var i = 0; i < newResults.length; i++)
        {
            output += newResults[i]+'<br>';
        }
        output = '<p>'+output+'</p>';
        document.getElementById('keywords_cnt').innerHTML = newResults.length;
        document.getElementById('result_list').innerHTML = output;
        return true;
    }
    
    // Google used
    // document.getElementById('googleAdwFeed').parentNode.removeChild(document.getElementById('googleAdwFeed'));
    var _feed_cnt = parseInt(document.getElementById('keywords_cnt').innerHTML);
    var _feed_dom = document.getElementById('googleAdwFeed').childNodes;
    var _feed = [];
    var _feed_flag = 0;
    for(var i = 0; i < _feed_dom.length; i++)
    {
        if(_feed_dom[i].nodeType != 1)
        {
            continue;
        }
        var _nodes = _feed_dom[i].firstChild;
        if(_nodes.nodeType == 3)
        {
            _nodes = _feed_dom[i].childNodes[1];
        }
        var word = _nodes.firstChild;
        if(word.nodeType == 3)
        {
            word = _nodes.childNodes[1];
        }
        var erase = false;
        for(var i_ = 0; i_ < _nkwds.length; i_++)
        {
            if(word.innerHTML.match(_nkwds[i_]))
            {
                erase = true;
                break;
            }
        }
        if(erase)
        {
            word.parentNode.parentNode.parentNode.removeChild(word.parentNode.parentNode);
            _feed_cnt--;
        }
    }
    document.getElementById('keywords_cnt').innerHTML = _feed_cnt;
    buildGoogleAdwList('by_alphabet');
}

var erasePositiveKeywords = function(_pkwds)
{
    if(!_pkwds || _pkwds.length == 0)
    {
        return;
    }
    
    // Google not used
    if(document.getElementById('result_list'))
    {
        var results = document.getElementById('result_list').innerHTML.split('<p>');
        results = results[1].split('<br>');
        var stop = results.length - 1;
        var newResults = [];
        for(var i = 0; i < stop; i++)
        {
            var erase = true;
            for(var i_ = 0; i_ < _pkwds.length; i_++)
            {
                if(results[i].match(_pkwds[i_]))
                {
                    erase = false;
                    break;
                }
            }
            if(!erase)
            {
                newResults[newResults.length] = results[i];
            }
        }
        var output = '';
        for(var i = 0; i < newResults.length; i++)
        {
            output += newResults[i]+'<br>';
        }
        output = '<p>'+output+'</p>';
        document.getElementById('keywords_cnt').innerHTML = newResults.length;
        document.getElementById('result_list').innerHTML = output;
        return true;
    }
    
    // Google used
    // document.getElementById('googleAdwFeed').parentNode.removeChild(document.getElementById('googleAdwFeed'));
    var _feed_cnt = parseInt(document.getElementById('keywords_cnt').innerHTML);
    var _feed_dom = document.getElementById('googleAdwFeed').childNodes;
    var _feed = [];
    var _feed_flag = 0;
    for(var i = 0; i < _feed_dom.length; i++)
    {
        if(_feed_dom[i].nodeType != 1)
        {
            continue;
        }
        var _nodes = _feed_dom[i].firstChild;
        if(_nodes.nodeType == 3)
        {
            _nodes = _feed_dom[i].childNodes[1];
        }
        var word = _nodes.firstChild;
        if(word.nodeType == 3)
        {
            word = _nodes.childNodes[1];
        }
        var erase = true;
        for(var i_ = 0; i_ < _pkwds.length; i_++)
        {
            if(word.innerHTML.match(_pkwds[i_]))
            {
                erase = false;
                break;
            }
        }
        if(erase)
        {
            word.parentNode.parentNode.parentNode.removeChild(word.parentNode.parentNode);
            _feed_cnt--;
        }
    }
    document.getElementById('keywords_cnt').innerHTML = _feed_cnt;
    buildGoogleAdwList('by_alphabet');
}

var setGADWFilterCookie = function()
{
    if(document.getElementById('gadwf_local_more').value.length > 20 ||
       document.getElementById('gadwf_local_less').value.length > 20 ||
       document.getElementById('gadwf_total_more').value.length > 20 ||
       document.getElementById('gadwf_total_less').value.length > 20 ||
       document.getElementById('gadwf_comp_more').value.length  > 20 ||
       document.getElementById('gadwf_comp_less').value.length  > 20 ||
       document.getElementById('gadwf_rescnt_more').value.length  > 20 ||
       document.getElementById('gadwf_rescnt_less').value.length  > 20)
    {
        alert('Wrong filtration settings.');
        return false;
    }
    if(document.getElementById('gadw_match_type').value !== 'broad' &&
       document.getElementById('gadw_match_type').value !== 'exact' &&
       document.getElementById('gadw_match_type').value !== 'phrase')
    {
        alert('Wrong filtration settings.');
        return false;
    }
    setCookie('_local_more', document.getElementById('gadwf_local_more').value);
    setCookie('_local_less', document.getElementById('gadwf_local_less').value);
    setCookie('_total_more', document.getElementById('gadwf_total_more').value);
    setCookie('_total_less', document.getElementById('gadwf_total_less').value);
    setCookie('_comp_more', document.getElementById('gadwf_comp_more').value);
    setCookie('_comp_less', document.getElementById('gadwf_comp_less').value);
    setCookie('_rescnt_more', document.getElementById('gadwf_rescnt_more').value);
    setCookie('_rescnt_less', document.getElementById('gadwf_rescnt_less').value);
    if(getCookie('_match_type') !== document.getElementById('gadw_match_type').value)
    {
        var renew = true;
    }
    else
    {
        var renew = false;
    }
    setCookie('_match_type', document.getElementById('gadw_match_type').value);
    if(renew)
    {
        getGADWFeed(_request_id);
    }
    else
    {
        if(_last_sorted_by['word'] === false)
        {
            buildGoogleAdwList(false);
        }
        else
        {
            if(_sort[_last_sorted_by['num']])
            {
                _sort[_last_sorted_by['num']] = false;
            }
            else
            {
                _sort[_last_sorted_by['num']] = true;
            }
            buildGoogleAdwList(_last_sorted_by['word']);
        }
    }
}

var setGADWFilterCookieSilo = function()
{
    if(document.getElementById('gadwf_local_more').value.length > 20 ||
       document.getElementById('gadwf_local_less').value.length > 20 ||
       document.getElementById('gadwf_total_more').value.length > 20 ||
       document.getElementById('gadwf_total_less').value.length > 20 ||
       document.getElementById('gadwf_comp_more').value.length  > 20 ||
       document.getElementById('gadwf_comp_less').value.length  > 20 ||
       document.getElementById('gadwf_rescnt_more').value.length  > 20 ||
       document.getElementById('gadwf_rescnt_less').value.length  > 20)
    {
        alert('Wrong filtration settings.');
        return false;
    }
    setCookie('_local_more', document.getElementById('gadwf_local_more').value);
    setCookie('_local_less', document.getElementById('gadwf_local_less').value);
    setCookie('_total_more', document.getElementById('gadwf_total_more').value);
    setCookie('_total_less', document.getElementById('gadwf_total_less').value);
    setCookie('_comp_more', document.getElementById('gadwf_comp_more').value);
    setCookie('_comp_less', document.getElementById('gadwf_comp_less').value);
    setCookie('_rescnt_more', document.getElementById('gadwf_rescnt_more').value);
    setCookie('_rescnt_less', document.getElementById('gadwf_rescnt_less').value);
    if(getCookie('_match_type') !== document.getElementById('gadw_match_type').value)
    {
        var renew = true;
    }
    else
    {
        var renew = false;
    }
    setCookie('_match_type', document.getElementById('gadw_match_type').value);
    if(renew)
    {
        getGADWFeedSilo(_request_id);
    }
    else
    {
        if(_last_sorted_by_ww['word'] === false)
        {
            buildWWTables(false);
        }
        else
        {
            if(_sort_ww[_last_sorted_by_ww['num']])
            {
                _sort_ww[_last_sorted_by_ww['num']] = false;
            }
            else
            {
                _sort_ww[_last_sorted_by_ww['num']] = true;
            }
            buildWWTables(_last_sorted_by_ww['word']);
        }
    }
}

var resetGADWFilterCookie = function()
{
    setCookie('_local_more', 'unset');
    setCookie('_local_less', 'unset');
    setCookie('_total_more', 'unset');
    setCookie('_total_less', 'unset');
    setCookie('_comp_more' , 'unset');
    setCookie('_comp_less' , 'unset');
    setCookie('_rescnt_more' , 'unset');
    setCookie('_rescnt_less' , 'unset');
    document.getElementById('gadwf_local_more').value = 'unset';
    document.getElementById('gadwf_local_less').value = 'unset';
    document.getElementById('gadwf_total_more').value = 'unset';
    document.getElementById('gadwf_total_less').value = 'unset';
    document.getElementById('gadwf_comp_more').value  = 'unset';
    document.getElementById('gadwf_comp_less').value  = 'unset';
    document.getElementById('gadwf_rescnt_more').value  = 'unset';
    document.getElementById('gadwf_rescnt_less').value  = 'unset';
    if(getCookie('_match_type') !== 'broad')
    {
        var renew = true;
    }
    else
    {
        var renew = false;
    }
    setCookie('_match_type' , 'broad');
    var match_types = document.getElementById('gadw_match_type');
    for(var i = 0; i < match_types.length; i++)
    {
        if(match_types.options[i].value === 'broad')
        {
            match_types.options[i].selected = true;
        }
        else
        {
            match_types.options[i].selected = false;
        }
    }
    if(renew)
    {
        getGADWFeed(_request_id);
    }
    else
    {
        if(_last_sorted_by['word'] === false)
        {
            buildGoogleAdwList(false);
        }
        else
        {
            if(_sort[_last_sorted_by['num']])
            {
                _sort[_last_sorted_by['num']] = false;
            }
            else
            {
                _sort[_last_sorted_by['num']] = true;
            }
            buildGoogleAdwList(_last_sorted_by['word']);
        }
    }
}

var resetGADWFilterCookieSilo = function()
{
    setCookie('_local_more', 'unset');
    setCookie('_local_less', 'unset');
    setCookie('_total_more', 'unset');
    setCookie('_total_less', 'unset');
    setCookie('_comp_more' , 'unset');
    setCookie('_comp_less' , 'unset');
    setCookie('_rescnt_more' , 'unset');
    setCookie('_rescnt_less' , 'unset');
    document.getElementById('gadwf_local_more').value = 'unset';
    document.getElementById('gadwf_local_less').value = 'unset';
    document.getElementById('gadwf_total_more').value = 'unset';
    document.getElementById('gadwf_total_less').value = 'unset';
    document.getElementById('gadwf_comp_more').value  = 'unset';
    document.getElementById('gadwf_comp_less').value  = 'unset';
    document.getElementById('gadwf_rescnt_more').value  = 'unset';
    document.getElementById('gadwf_rescnt_less').value  = 'unset';
    if(getCookie('_match_type') !== 'broad')
    {
        var renew = true;
    }
    else
    {
        var renew = false;
    }
    setCookie('_match_type' , 'broad');
    var match_types = document.getElementById('gadw_match_type');
    for(var i = 0; i < match_types.length; i++)
    {
        if(match_types.options[i].value === 'broad')
        {
            match_types.options[i].selected = true;
        }
        else
        {
            match_types.options[i].selected = false;
        }
    }
    if(renew)
    {
        getGADWFeedSilo(_request_id);
    }
    else
    {
        if(_last_sorted_by_ww['word'] === false)
        {
            buildWWTables(false);
        }
        else
        {
            if(_sort_ww[_last_sorted_by_ww['num']])
            {
                _sort_ww[_last_sorted_by_ww['num']] = false;
            }
            else
            {
                _sort_ww[_last_sorted_by_ww['num']] = true;
            }
            buildWWTables(_last_sorted_by_ww['word']);
        }
    }
}

var getGADWFeed = function(_request_id)
{
    feedAjax = new ajax();
    feedAjax.className = 'feedAjax';
    feedAjax.setFeed('request.php', 'POST');
    feedAjax.onResponse = function(responseXML, responseHTML)
    {
        if(responseHTML.indexOf('error') == 0)
        {
            alert(responseHTML);
        }
        else
        {
            var tmp = responseHTML.split('<-count_of_gadw_results->');
            document.getElementById('googleAdwFeed').innerHTML = tmp[0];
            document.getElementById('keywords_cnt').innerHTML = tmp[1];
            if(_last_sorted_by['word'] === false)
            {
                buildGoogleAdwList(false);
            }
            else
            {
                if(_sort[_last_sorted_by['num']])
                {
                    _sort[_last_sorted_by['num']] = false;
                }
                else
                {
                    _sort[_last_sorted_by['num']] = true;
                }
                buildGoogleAdwList(_last_sorted_by['word']);
            }
        }
    }
    var args = { mode : 'get_gadw_feed', request_id : _request_id }
    feedAjax.query(args);
}

var getGADWFeedSilo = function(_request_id)
{
    feedAjax = new ajax();
    feedAjax.className = 'feedAjax';
    feedAjax.setFeed('request.php', 'POST');
    feedAjax.onResponse = function(responseXML, responseHTML)
    {
        if(responseHTML.indexOf('error') == 0)
        {
            alert(responseHTML);
        }
        else
        {
            document.getElementById('googleAdwFeed').innerHTML = responseHTML;
            if(_last_sorted_by_ww['word'] === false)
            {
                buildWWTables(false);
            }
            else
            {
                if(_sort_ww[_last_sorted_by_ww['num']])
                {
                    _sort_ww[_last_sorted_by_ww['num']] = false;
                }
                else
                {
                    _sort_ww[_last_sorted_by_ww['num']] = true;
                }
                buildWWTables(_last_sorted_by_ww['word']);
            }
        }
    }
    var args = { mode : 'get_gadw_feed_silo', request_id : _request_id }
    feedAjax.query(args);
}

                var buildGoogleAdwList = function(_mode)
                {
                    // Remamber last sorting settings
                    if(!_mode)
                    {
                        _last_sorted_by['word'] = false;
                        _last_sorted_by['num'] = false;
                    }
                    else
                    {
                        tmp = {};
                        tmp['by_alphabet'] = 0;
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt']  = 3;
                        _last_sorted_by['word'] = _mode;
                        _last_sorted_by['num'] = tmp[_mode];
                    }
                    // filter values
                    var _local_more = getCookie('_local_more'); if(_local_more == null || _local_more == 'unset'){ _local_more = 0; }
                    var _local_less = getCookie('_local_less'); if(_local_less == null || _local_less == 'unset'){ _local_less = 0; }
                    var _total_more = getCookie('_total_more'); if(_total_more == null || _total_more == 'unset'){ _total_more = 0; }
                    var _total_less = getCookie('_total_less'); if(_total_less == null || _total_less == 'unset'){ _total_less = 0; }
                    var _comp_more  = getCookie('_comp_more');  if(_comp_more == null  || _comp_more == 'unset') { _comp_more  = 0; }
                    var _comp_less  = getCookie('_comp_less');  if(_comp_less == null  || _comp_less == 'unset') { _comp_less  = 0; }
                    var _rescnt_more  = getCookie('_rescnt_more');  if(_rescnt_more == null  || _rescnt_more == 'unset') { _rescnt_more  = 0; }
                    var _rescnt_less  = getCookie('_rescnt_less');  if(_rescnt_less == null  || _rescnt_less == 'unset') { _rescnt_less  = 0; }
                    
                    // deletes old table
                    var tmp = document.getElementById('result_list_google').childNodes;
                    for(var i = 0; i < tmp.length; i++)
                    {
                        if(tmp[i].nodeType == 1)
                        {
                            document.getElementById('result_list_google').removeChild(tmp[i]);
                        }
                    }
                    
                    // if there is no feed UL
                    if(!document.getElementById('googleAdwFeed'))
                    {
                        document.getElementById('result_list_google').innerHTML = '<br><font style = "size: 20px; color : #660000">Wrong Google captcha code.</font>';
                        document.getElementById('google_filtration').style.display = 'none';
                        return false;
                    }
                    
                    // builds feed-array
                    var _feed_dom = document.getElementById('googleAdwFeed').childNodes;
                    var _feed = [];
                    var _feed_flag = 0;
                    for(var i = 0; i < _feed_dom.length; i++)
                    {
                        if(_feed_dom[i].nodeType != 1)
                        {
                            continue;
                        }
                        var _nodes = _feed_dom[i].firstChild;
                        if(_nodes.nodeType == 3)
                        {
                            _nodes = _feed_dom[i].childNodes[1];
                        }
                        _nodes = _nodes.childNodes;
                        var flag = 0;
                        var tmp = [];
                        for(var i_ = 0; i_ < _nodes.length; i_++)
                        {
                            if(_nodes[i_].nodeType == 1)
                            {
                                tmp[flag] = _nodes[i_].innerHTML;
                                flag++;
                            }
                        }
                        _feed[_feed_flag] = tmp;
                        _feed_flag++;
                    }
                    
                    // sorts by alphabet
                    if(_mode === 'by_alphabet')
                    {
                        _feed_keywords = [];
                        for(var i = 0; i < _feed.length; i++)
                        {
                            _feed_keywords[i] = _feed[i][0];
                        }
                        _feed_keywords.sort();
                        _feed_sorted = [];
                        var keyword = '';
                        for(var i = 0; i < _feed.length; i++)
                        {
                            keyword = _feed[i][0];
                            for(step in _feed_keywords)
                            {
                                if(_feed_keywords[step] === keyword)
                                {
                                    _feed_sorted[step] = _feed[i];
                                    break;
                                }
                            }
                        }
                        _feed = _feed_sorted;
                        if(!_sort[0])
                        {
                            _sort[0] = true;
                        }
                        else
                        {
                            _feed.reverse();
                            _sort[0] = false;
                        }
                    }
                    
                    // Builds table
                    var trFlag = 1;
                    var table = document.createElement('table');
                    table.setAttribute('id', 'GoogleAdwList');
                    table.className = 'results';
                    var tr = table.insertRow(0);
                    tr.className = 'head';
                    var td = tr.insertCell(0);
                    td.innerHTML = '<a href = "#" onClick = "buildGoogleAdwList(\'by_alphabet\'); return false;">Keyword</a>';
                    var td = tr.insertCell(1);
                    td.innerHTML = '<a href = "#" onClick = "buildGoogleAdwList(\'by_local\'); return false;">Local searches</a>';
                    var td = tr.insertCell(2);
                    td.innerHTML = '<a href = "#" onClick = "buildGoogleAdwList(\'by_total\'); return false;">Total searches by month</a>';
                    var td = tr.insertCell(3);
                    td.innerHTML = '<a href = "#" onClick = "buildGoogleAdwList(\'by_comp\'); return false;">Competition</a>';
                    var td = tr.insertCell(4);
                    td.innerHTML = '<a href = "#" onClick = "buildGoogleAdwList(\'by_rescnt\'); return false;">Search results</a>';
                    document.getElementById('google_filtration').style.display = 'block';
                    
                    if(_mode === 'by_alphabet')
                    {
                        var sortBy = false;
                    }
                    else
                    {
                        tmp = {};
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt']  = 4;
                        var sortBy = tmp[_mode];
                    }
                    var stop = false;
                    var lastKey = false;
                    var row_color = 'row1';
                    // filter
                    for(var i = 0; i < _feed.length; i++)
                    {
                        if(parseInt(_local_more) != 0 && (parseInt(_feed[i][1]) < parseInt(_local_more) || _feed[i][1] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseInt(_local_less) != 0 && (parseInt(_feed[i][1]) > parseInt(_local_less) || _feed[i][1] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseInt(_total_more) != 0 && (parseInt(_feed[i][2]) < parseInt(_total_more) || _feed[i][2] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseInt(_total_less) != 0 && (parseInt(_feed[i][2]) > parseInt(_total_less) || _feed[i][2] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseFloat(_comp_more) != 0 && (parseFloat(_feed[i][3]) < parseFloat(_comp_more) || _feed[i][3] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseFloat(_comp_less) != 0 && (parseFloat(_feed[i][3]) > parseFloat(_comp_less) || _feed[i][3] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseInt(_rescnt_more) != 0 && (parseInt(_feed[i][4]) < parseInt(_rescnt_more) || _feed[i][4] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                        if(parseInt(_rescnt_less) != 0 && (parseInt(_feed[i][4]) > parseInt(_rescnt_less) || _feed[i][4] === 'Not enough data' || _feed[i][1] === 'Not found'))
                        {
                            _feed[i] = null;
                            continue;
                        }
                    }
                    while(!stop)
                    {
                        lastKey = false;
                        for(var i = 0; i < _feed.length; i++)
                        {
                            if(_feed[i] === null)
                            {
                                continue;
                            }
                            if(_feed[i][sortBy] === 'Not enough data' || _feed[i][sortBy] === 'Not found')
                            {
                                continue;
                            }
                            if(sortBy === false)
                            {
                                lastKey = i;
                                break;
                            }
                            if(lastKey === false)
                            {
                                lastKey = i;
                            }
                            else
                            {
                                if(!_sort[sortBy] && parseFloat(_feed[i][sortBy]) > parseFloat(_feed[lastKey][sortBy])){ lastKey = i; }
                                if(_sort[sortBy] && parseFloat(_feed[i][sortBy])  < parseFloat(_feed[lastKey][sortBy])){ lastKey = i; }
                            }
                        }
                        if(lastKey === false)
                        {
                            stop = true;
                            break;
                        }
                        // Building table row
                        var tr = table.insertRow(trFlag);
                        tr.className = row_color;
                        trFlag++;
                        var td = tr.insertCell(0);
                        td.innerHTML = _feed[lastKey][0];
                        var td = tr.insertCell(1);
                        td.innerHTML = _feed[lastKey][1];
                        var td = tr.insertCell(2);
                        td.innerHTML = _feed[lastKey][2];
                        var td = tr.insertCell(3);
                        td.innerHTML = _feed[lastKey][3];
                        var td = tr.insertCell(4);
                        td.innerHTML = _feed[lastKey][4];
                        _feed[lastKey] = null;
                        if(row_color == 'row1')
                        {
                            row_color = 'row2';
                        }
                        else
                        {
                            row_color = 'row1';
                        }
                    }
                    for(var i = 0; i < _feed.length; i++)
                    {
                        if(_feed[i] !== null)
                        {
                            // Building table row
                            var tr = table.insertRow(trFlag);
                            tr.className = row_color;
                            trFlag++;
                            var td = tr.insertCell(0);
                            td.innerHTML = _feed[i][0];
                            var td = tr.insertCell(1);
                            td.innerHTML = _feed[i][1];
                            var td = tr.insertCell(2);
                            td.innerHTML = _feed[i][2];
                            var td = tr.insertCell(3);
                            td.innerHTML = _feed[i][3];
                            var td = tr.insertCell(4);
                            td.innerHTML = _feed[i][4];
                            if(row_color == 'row1')
                            {
                                row_color = 'row2';
                            }
                            else
                            {
                                row_color = 'row1';
                            }
                        }
                    }
                    document.getElementById('result_list_google').appendChild(table);
                    if(_mode !== false)
                    {
                        tmp = {};
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt']  = 4;
                        if(_sort[tmp[_mode]])
                        {
                            _sort[tmp[_mode]] = false;
                        }
                        else
                        {
                            _sort[tmp[_mode]] = true;
                        }
                    }
                    // Remamber last sorting settings
                    if(!_mode)
                    {
                        _last_sorted_by['word'] = false;
                        _last_sorted_by['num'] = false;
                    }
                    else
                    {
                        tmp = {};
                        tmp['by_alphabet'] = 0;
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt']  = 4;
                        _last_sorted_by['word'] = _mode;
                        _last_sorted_by['num'] = tmp[_mode];
                    }
                    return true;
                }

var checkBroad = function()
{
    if(document.getElementById('kwbrowse').checked || document.getElementById('kwmap').checked || document.getElementById('getSiloCat').checked)
    {
		    if(document.getElementById('kwmap').checked){
						  document.getElementById('kwbrowse').disabled = true;
								document.getElementById('getSiloCat').disabled = true;
								document.getElementById('alphaSuffix').disabled = true;
						}
        document.getElementById('width').disabled = true;
        var levels = document.getElementById('levels');
        for(var i = 0; i < levels.length; i++)
        {
            if(levels.options[i].value === '0')
            {
                levels.options[i].selected = true;
            }
            else
            {
                levels.options[i].selected = false;
            }
        }
        levels.disabled = true;
    }
    else
    {
		    //if(document.getElementById('kwmap').checked){
						  document.getElementById('kwbrowse').disabled = false;
								document.getElementById('getSiloCat').disabled = false;
								document.getElementById('alphaSuffix').disabled = false;
						//}
        document.getElementById('width').disabled = false;
        var levels = document.getElementById('levels');
        for(var i = 0; i < levels.length; i++)
        {
            if(levels.options[i].value === '1')
            {
                levels.options[i].selected = true;
            }
            else
            {
                levels.options[i].selected = false;
            }
        }
        levels.disabled = false;
    }
}

var getSiloCatShowHide = function()
{
    var obj = document.getElementById('getSiloCat');
    if(obj.checked)
    {
        document.getElementById('get_silo_cat').style.visibility = 'visible';
    }
    else
    {
        document.getElementById('get_silo_cat').style.visibility = 'hidden';
    }
}

var menuItemLight = function(_strId, _light)
{
    var obj = document.getElementById('hmenu_'+_strId);
    if(_light)
    {
        obj.style.backgroundPosition = 'bottom';
    }
    else
    {
        obj.style.backgroundPosition = 'top';
    }
}

var adminsubmenuVis = function(_mode)
{
    if(_mode)
    {
        document.getElementById('admin_submenu').style.display = 'block';
    }
    else
    {
        document.getElementById('admin_submenu').style.display = 'none';
    }
}

var chVis = function(_id)
{
    var obj = document.getElementById(_id);
    if(obj.style.display !== 'block')
    {
        obj.style.display = 'block';
    }
    else
    {
        obj.style.display = 'none';
    }
}

var digButtonLight = function(_light)
{
    var obj = document.getElementById('dig_button');
    if(_light)
    {
        obj.style.backgroundPosition = 'bottom';
    }
    else
    {
        obj.style.backgroundPosition = 'top';
    }
}

var cpButtonLight = function(_light)
{
    var obj = document.getElementById('cp_button');
    if(_light)
    {
        obj.style.backgroundPosition = 'bottom';
    }
    else
    {
        obj.style.backgroundPosition = 'top';
    }
}

var msgWrite = function(_txt)
{
    document.getElementById('msg').innerHTML = _txt;
}

var msgClean = function(_txt)
{
    document.getElementById('msg').innerHTML = '';
}

                var buildWWTables = function(_mode)
                {
                    // Remamber last sorting settings
                    if(!_mode)
                    {
                        _last_sorted_by_ww['word'] = false;
                        _last_sorted_by_ww['num'] = false;
                    }
                    else
                    {
                        tmp = {};
                        tmp['by_alphabet'] = 0;
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt']  = 4;
                        _last_sorted_by_ww['word'] = _mode;
                        _last_sorted_by_ww['num'] = tmp[_mode];
                    }
                    // filter values
                    var _local_more = getCookie('_local_more'); if(_local_more == null || _local_more == 'unset'){ _local_more = 0; }
                    var _local_less = getCookie('_local_less'); if(_local_less == null || _local_less == 'unset'){ _local_less = 0; }
                    var _total_more = getCookie('_total_more'); if(_total_more == null || _total_more == 'unset'){ _total_more = 0; }
                    var _total_less = getCookie('_total_less'); if(_total_less == null || _total_less == 'unset'){ _total_less = 0; }
                    var _comp_more  = getCookie('_comp_more');  if(_comp_more == null  || _comp_more == 'unset') { _comp_more  = 0; }
                    var _comp_less  = getCookie('_comp_less');  if(_comp_less == null  || _comp_less == 'unset') { _comp_less  = 0; }
                    var _rescnt_more  = getCookie('_rescnt_more');  if(_rescnt_more == null  || _rescnt_more == 'unset') { _rescnt_more  = 0; }
                    var _rescnt_less  = getCookie('_rescnt_less');  if(_rescnt_less == null  || _rescnt_less == 'unset') { _rescnt_less  = 0; }
                    
                    // deletes old tables
                    var flag = 1;
                    while(flag != 4)
                    {
                        if(document.getElementById('wwtable_'+flag))
                        {
                            document.getElementById('result_list_google').removeChild(document.getElementById('wwtable_'+flag));
                        }
                        ++flag;
                    }

                    // builds feed-array
                    flag = 1;
                    var _feed = [];
                    while(flag != 4)
                    {
                        if(!document.getElementById('wwfeed_'+flag))
                        {
                            break;
                        }
                        var _feed_dom = document.getElementById('wwfeed_'+flag).childNodes;
                        _feed[flag] = [];
                        var _feed_flag = 0;
                        for(var i = 0; i < _feed_dom.length; i++)
                        {
                            if(_feed_dom[i].nodeType != 1)
                            {
                                continue;
                            }
                            var _nodes = _feed_dom[i].firstChild;
                            if(_nodes.nodeType == 3)
                            {
                                _nodes = _feed_dom[i].childNodes[1];
                            }
                            _nodes = _nodes.childNodes;
                            var flag_ = 0;
                            var tmp = [];
                            for(var i_ = 0; i_ < _nodes.length; i_++)
                            {
                                if(_nodes[i_].nodeType == 1)
                                {
                                    tmp[flag_] = _nodes[i_].innerHTML;
                                    flag_++;
                                }
                            }
                            _feed[flag][_feed_flag] = tmp;
                            _feed_flag++;
                        }
                        ++flag;
                    }

                    // sorts by alphabet
                    if(_mode === 'by_alphabet')
                    {
                        flag = 1;
                        while(flag != 4)
                        {
                            if(!_feed[flag])
                            {
                                break;
                            }
                            var _feed_keywords = [];
                            for(var i = 0; i < _feed[flag].length; i++)
                            {
                                _feed_keywords[i] = _feed[flag][i][0];
                            }
                            _feed_keywords.sort();
                            var _feed_sorted = [];
                            var keyword = '';
                            for(var i = 0; i < _feed[flag].length; i++)
                            {
                                keyword = _feed[flag][i][0];
                                for(step in _feed_keywords)
                                {
                                    if(_feed_keywords[step] === keyword)
                                    {
                                        _feed_sorted[step] = _feed[flag][i];
                                        break;
                                    }
                                }
                            }
                            _feed[flag] = _feed_sorted;
                            if(_sort_ww[0])
                            {
                                _feed[flag].reverse();
                            }
                            ++flag;
                        }
                        if(!_sort_ww[0])
                        {
                            _sort_ww[0] = true;
                        }
                        else
                        {
                            _sort_ww[0] = false;
                        }
                    }
                    // Builds tables
                    flag = 1;
                    while(flag != 4)
                    {
                        if(!_feed[flag])
                        {
                            break;
                        }
                        var trFlag = 1;
                        var table = document.createElement('table');
                        table.setAttribute('id', 'wwtable_'+flag);
                        table.className = 'results';
                        var tr = table.insertRow(0);
                        tr.className = 'head';
                        var td = tr.insertCell(0);
                        td.innerHTML = '<a href = "#" onClick = "buildWWTables(\'by_alphabet\'); return false;">Keyword</a>';
                        var td = tr.insertCell(1);
                        td.innerHTML = '<a href = "#" onClick = "buildWWTables(\'by_local\'); return false;">Local searches111</a>';
                        var td = tr.insertCell(2);
                        td.innerHTML = '<a href = "#" onClick = "buildWWTables(\'by_total\'); return false;">Total searches by month</a>';
                        var td = tr.insertCell(3);
                        td.innerHTML = '<a href = "#" onClick = "buildWWTables(\'by_comp\'); return false;">Competition</a>';
                        var td = tr.insertCell(4);
                        td.innerHTML = '<a href = "#" onClick = "buildWWTables(\'by_rescnt\'); return false;">Search results</a>';
                        document.getElementById('google_filtration').style.display = 'block';
                    
                        if(_mode === 'by_alphabet')
                        {
                            var sortBy = false;
                        }
                        else
                        {
                            tmp = {};
                            tmp['by_local']  = 1;
                            tmp['by_total']  = 2;
                            tmp['by_comp']   = 3;
                            tmp['by_rescnt'] = 4;
                            var sortBy = tmp[_mode];
                        }
                        var stop = false;
                        var lastKey = false;
                        var row_color = 'row1';
                        // filter
                        for(var i = 0; i < _feed[flag].length; i++)
                        {
                            if(parseInt(_local_more) != 0 && (parseInt(_feed[flag][i][1]) < parseInt(_local_more) || _feed[flag][i][1] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseInt(_local_less) != 0 && (parseInt(_feed[flag][i][1]) > parseInt(_local_less) || _feed[flag][i][1] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseInt(_total_more) != 0 && (parseInt(_feed[flag][i][2]) < parseInt(_total_more) || _feed[flag][i][2] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseInt(_total_less) != 0 && (parseInt(_feed[flag][i][2]) > parseInt(_total_less) || _feed[flag][i][2] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseFloat(_comp_more) != 0 && (parseFloat(_feed[flag][i][3]) < parseFloat(_comp_more) || _feed[flag][i][3] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseFloat(_comp_less) != 0 && (parseFloat(_feed[flag][i][3]) > parseFloat(_comp_less) || _feed[flag][i][3] === 'Not enough data' || _feed[flag][i][1] === 'Not found'))
                            {
                                _feed[flag][i] = null;
                                continue;
                            }
                            if(parseInt(_rescnt_more) != 0 && (parseInt(_feed[i][4]) < parseInt(_rescnt_more) || _feed[i][4] === 'Not enough data' || _feed[i][1] === 'Not found'))
                            {
                                _feed[i] = null;
                                continue;
                            }
                            if(parseInt(_rescnt_less) != 0 && (parseInt(_feed[i][4]) > parseInt(_rescnt_less) || _feed[i][4] === 'Not enough data' || _feed[i][1] === 'Not found'))
                            {
                                _feed[i] = null;
                                continue;
                            }
                        }
                        while(!stop)
                        {
                            lastKey = false;
                            for(var i = 0; i < _feed[flag].length; i++)
                            {
                                if(_feed[flag][i] === null)
                                {
                                    continue;
                                }
                                if(_feed[flag][i][sortBy] === 'Not enough data' || _feed[flag][i][sortBy] === 'Not found')
                                {
                                    continue;
                                }
                                if(sortBy === false)
                                {
                                    lastKey = i;
                                    break;
                                }
                                if(lastKey === false)
                                {
                                    lastKey = i;
                                }
                                else
                                {
                                    if(!_sort_ww[sortBy] && parseFloat(_feed[flag][i][sortBy]) > parseFloat(_feed[flag][lastKey][sortBy])){ lastKey = i; }
                                    if(_sort_ww[sortBy] && parseFloat(_feed[flag][i][sortBy])  < parseFloat(_feed[flag][lastKey][sortBy])){ lastKey = i; }
                                }
                            }
                            if(lastKey === false)
                            {
                                stop = true;
                                break;
                            }
                            // Building table row
                            var tr = table.insertRow(trFlag);
                            tr.className = row_color;
                            trFlag++;
                            var td = tr.insertCell(0);
                            td.innerHTML = _feed[flag][lastKey][0];
                            var td = tr.insertCell(1);
                            td.innerHTML = _feed[flag][lastKey][1];
                            var td = tr.insertCell(2);
                            td.innerHTML = _feed[flag][lastKey][2];
                            var td = tr.insertCell(3);
                            td.innerHTML = _feed[flag][lastKey][3];
                            var td = tr.insertCell(4);
                            td.innerHTML = _feed[flag][lastKey][4];
                            _feed[flag][lastKey] = null;
                            if(row_color == 'row1')
                            {
                                row_color = 'row2';
                            }
                            else
                            {
                                row_color = 'row1';
                            }
                        }
                        for(var i = 0; i < _feed[flag].length; i++)
                        {
                            if(_feed[flag][i] !== null)
                            {
                                // Building table row
                                var tr = table.insertRow(trFlag);
                                tr.className = row_color;
                                trFlag++;
                                var td = tr.insertCell(0);
                                td.innerHTML = _feed[flag][i][0];
                                var td = tr.insertCell(1);
                                td.innerHTML = _feed[flag][i][1];
                                var td = tr.insertCell(2);
                                td.innerHTML = _feed[flag][i][2];
                                var td = tr.insertCell(3);
                                td.innerHTML = _feed[flag][i][3];
                                var td = tr.insertCell(4);
                                td.innerHTML = _feed[flag][i][4];
                                if(row_color == 'row1')
                                {
                                    row_color = 'row2';
                                }
                                else
                                {
                                    row_color = 'row1';
                                }
                            }
                        }
                        document.getElementById('result_list_google').appendChild(table);
                        ++flag;
                    }
                    if(_mode !== false)
                    {
                        tmp = {};
                        tmp['by_local']  = 1;
                        tmp['by_total']  = 2;
                        tmp['by_comp']   = 3;
                        tmp['by_rescnt'] = 4;
                        if(_sort_ww[tmp[_mode]])
                        {
                            _sort_ww[tmp[_mode]] = false;
                        }
                        else
                        {
                            _sort_ww[tmp[_mode]] = true;
                        }
                    }
                    // Remamber last sorting settings
                    if(!_mode)
                    {
                        _last_sorted_by_ww['word'] = false;
                        _last_sorted_by_ww['num'] = false;
                    }
                    else
                    {
                        tmp = {};
                        tmp['by_alphabet'] = 0;
                        tmp['by_local'] = 1;
                        tmp['by_total'] = 2;
                        tmp['by_comp']  = 3;
                        tmp['by_rescnt'] = 4;
                        _last_sorted_by_ww['word'] = _mode;
                        _last_sorted_by_ww['num'] = tmp[_mode];
                    }
                    return true;
                }

function toClipboard(_spun)
{
    if(_spun == 'spun list')
    {
        var _spun = true;
    }
    else
    {
    	var _spun = false;
    }
    if(_spun)
    {
        var _separator = '|';
    }
    else
    {
        var _separator = "\n";
    }
	// собираем слова
	var out = '';
    if(document.getElementById('result_list'))                                    // обычный лист в диве
    {
    	var feed = document.getElementById('result_list').innerHTML;
    	feed = feed.split('<br>');
        for(var i = 0; i < feed.length; i++)
        {
            var tmp = feed[i].replace(/^[ \n\r]*/g, '');
            tmp = tmp.replace(/[ \n\r]*$/g, '');
            if(tmp != '')
            {
                out = out+tmp+_separator;
            }
        }
    }
    else if(document.getElementById('wwtextarea_1'))                              // wonder wheel в textarea'х
    {
        var flag = 1;
        while(flag != 4)
        {
            if(!document.getElementById('wwtextarea_'+flag))
            {
                break;
            }
            var feed = document.getElementById('wwtextarea_'+flag).innerHTML;
            feed = feed.split("\n");
            for(var i = 0; i < feed.length; i++)
            {
                var tmp = feed[i].replace(/^[ \n\r]*/g, '');
                tmp = tmp;
                if(tmp != '')
                {
                    out = out+tmp+_separator;
                }
            }
            ++flag;
        }
    }
    else if(document.getElementById('GoogleAdwList'))                            // обычный поиск с гуглом
    {
        var table = document.getElementById('GoogleAdwList');
        var trList = table.getElementsByTagName('tr');
        for(var i = 1; i<trList.length; i++)
        {
            var tdList = trList[i].getElementsByTagName('td');
            if(_spun)
            {
                out = out+tdList[0].innerHTML+'|';
            }
            else
            {
                out = out+tdList[0].innerHTML+"\n";
                /*
                var tmp = '';
                for(j=0; j<tdList.length; j++) 
                {
                    tmp = tmp+tdList[j].innerHTML+"\t";
                }
                out = out+tmp.replace(/[ \t\n\r]*$/g, '')+"\n";
                */
            }
        } 
    }
    else if(document.getElementById('wwtable_1'))                               // wonder wheel + google
    {
        var flag = 1;
        while(flag != 4)
        {
            if(!document.getElementById('wwtable_'+flag))
            {
                break;
            }
            var table = document.getElementById('wwtable_'+flag);
            var trList = table.getElementsByTagName('tr');
            for(var i = 1; i<trList.length; i++)
            {
                var tdList = trList[i].getElementsByTagName('td');
                if(_spun)
                {
                    out = out+tdList[0].innerHTML+'|';
                }
                else
                {
                    out = out+tdList[0].innerHTML+"\n";
                    /*
                    var tmp = '';
                    for(j=0; j<tdList.length; j++) 
                    {
                        tmp = tmp+tdList[j].innerHTML+"\t";
                    }
                    out = out+tmp.replace(/[ \t\n\r]*$/g, '')+"\n";
                    */
                }
            }
            ++flag;
        }
    }
    // убираем последний лишний сепаратор
    if(_spun)
    {
        out = out.replace(/[ \|]{1}$/g, '');
    }
    else
    {
        out = out.replace(/[ \n]{1}$/g, '');
    }
    return out;
}

