var is_ie=false;
var is_ff=false;
var is_opera=false;
var apiRequester  = '/apiRequester.php';
var apisRequester = '/apisRequester.php';

if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
    is_ie=true;
}
if (/MSIE (7).+Win/.test(navigator.userAgent)){
    is_ie7=true;
}
if (/Firefox/.test(navigator.userAgent)){
    is_ff=true;
}
if (/Opera/.test(navigator.userAgent)){
    is_opera=true;
}
var show_f=true;


jsHoverGroupMenuHide = function() {
    if (GroupMenuItems){
        for (var i=0, len=GroupMenuItems.length; i<len; i++) {
            itm=GroupMenuItems[i];
            if (itm){
                itm.className=itm.className.replace(" selected", ""); 
                if (itm.ge_sub){
                    itm.ge_sub.className=itm.ge_sub.className.replace(" selected", ""); 
                }
                if (itm.ge_a){
                    itm.ge_a.className=itm.ge_a.className.replace("brd2", ""); 
                }
            }
        }
    }
}
var group_menu_content_update;

jsHoverGroupMenu = function() {
    var GroupMenu=document.getElementById("group_menu");
    if (!GroupMenu) {return;}
    GroupMenuItems = GroupMenu.getElementsByTagName("TD");
    if (!GroupMenuItems) {return;}
    var hEls=GroupMenuItems;
    var ge_rg=/group_element/i; //проверяем что попавшаяся ячейка - нужного класса
    for (var i=0, len=hEls.length; i<len; i++) {
        if (ge_rg.test(hEls[i].className)){
            hEls[i].ge_id=hEls[i].id.replace("ge_", "");
            hEls[i].ge_sub=SelectById("sub_gm_"+hEls[i].ge_id);
            hEls[i].ge_a=hEls[i].getElementsByTagName("A")[0];
            hEls[i].ondblclick=function() { 
                var this_a=this.getElementsByTagName("A");
                if (this_a){
                    window.location=this_a[0].href;
                }
            }
            hEls[i].onclick=function() {    
                this.blur();
                if (this.className.indexOf("selected")!=-1){
                    return true;
                }else{
                    jsHoverGroupMenuHide(this.ge_id);
                    this.className+=" selected"; 
                    this.ge_a.className+=" brd2";
                    if (this.ge_sub) this.ge_sub.className+=" selected";
                    sb=SelectById("item_list");
                    if (sb) {
                        sb.innerHTML="<div class=\"links\"><span><img alt='' src='img/icons/ico_loading.gif' />Идет загрузка</span></div>";
                    }
                    if (group_menu_content_update){
                        gm_content_update(this);
                    }
                
                    return false;
                }
            }
        }
    }
}
if (window.attachEvent){
    window.attachEvent("onload", jsHoverGroupMenu);
}else{
    window.addEventListener("load", jsHoverGroupMenu,false);
}

function window_open(event,trg){
//  show(event.target);
    if (!trg){
        trg=event.target;
    }
    void(window.open(trg,'','width=600px,resizable=yes,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,fullscreen=no,dependent=no'));
    return false;
}


var object_select_type="";
if (document.all){
    object_select_type = "all";
} else if (document.getElementById) {
    object_select_type = "byelementid";
} else if (document.layers){
    object_select_type = "layers";
}

function SelectById(id){
    if (object_select_type=="byelementid"){
        return document.getElementById(id);
    }
    if (object_select_type=="all"){
        return document.all[id];
    }
    if (object_select_type=="layers"){
        return document.layers[id];
    }
    return null;
}

function fixpng_bg(element){
    if (!is_ie) return;
    src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
    if (src){
        src = src[1];
        element.runtimeStyle.backgroundImage="none";
        element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='crop')";
    }
}

function fixpng_bg_tile(element){
    if (!is_ie) return;
    src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
    if (src){
        src = src[1];
        element.runtimeStyle.backgroundImage="none";
        element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
    }
}


function fixpng_img(element){
    if (!is_ie) return;

    if (/\.png$/.test(element.src)){
        src = element.src;
        element.src = "./img/1.gif";
        element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='image')";
        element.zIndex = "10";
    }
}



function show(ob){
    var okno = "scrollbars=1,fullscreen=0,status=0,toolbar=0,top=0,left=0,width=600,height=460,resizable=1";
    var Win=window.open("", null, okno);
    Win.document.open();
    var i;
    var s = "";
    for (i in ob) s += "<B>"+i+"</B>"+" = "+ob[i]+"<BR>";
    Win.document.write(s);
    Win.document.close();
}

function SE(domain,addr){
    em=addr+"@"+domain;
    document.write("<a href=\"mailto:"+em+"\">"+em+"</a>");
}

function get_obj_leftpos(obj){
    var left = obj.offsetLeft;
    while( (obj = obj.offsetParent) != null ){
        left += obj.offsetLeft;
    }
    return left;
}

function get_obj_toppos(obj){
    var top = obj.offsetTop;
    while( (obj = obj.offsetParent) != null ){
        top += obj.offsetTop;
    }
    return top;
}


function show_image (url, resX, resY, title, uid) {
    maxX=screen.availWidth;
    maxY=screen.availHeight-40;
    scrollbars=0;
    if (resX>maxX) {reX=maxX;leftC=0;scrollbars=1;}else {reX=parseInt(resX)+5;leftC=(maxX-resX)/2;}
    if (resY>maxY) {reY=maxY;reX+=20;topC=0;scrollbars=1;}else {reY=resY;topC=(maxY-resY)/2;}
    w=window.open('', 'ph_'+uid, 'width=' + reX + ',height=' + reY+',status=0,toolbar=0,resizable=1, top='+topC+', left='+leftC+',scrollbars='+scrollbars);
    if (title!=""){title1=title;}else{title1="";}
    lead_url=url.substr(0,1);
    if (lead_url=="."){
        //url="/shop"+url.substr(1);
    }
    w.document.open();
    w.document.write('<html><head><title>' + title1 + '</title></head>');
    w.document.write('<body style="margin:0px;padding:1px;" bgcolor="#ffffff" onKeyPress="if (event.keyCode==27) window.close();">');
    w.document.write('<center><a onclick="javascript:window.close();">');
    w.document.write('<img border="0" align="center" src="'+url+'" title="'+title+' \nЛевая кнопка мыши &mdash; Закрыть" width="'+resX+'" height="'+resY+'"></a>');
    if (title!=""){
        w.document.write('<br />'+title+'');
    }
    w.document.write('</center></body></html>');
    w.document.close();
    if (w!=null){w.focus();};
}

function confirmCheckbox(theCheckbox,theQuery){
    if (theCheckbox.checked){
        var is_confirmed = confirm(theQuery);
        if (is_confirmed) {
            return true;
        }else{
            theCheckbox.checked=false;
            return false;
        }
    }
    return false;
}
function confirmLink(theLink, theQuery, subLink){
//    if (typeof(window.opera) != 'undefined') {
//        return true;
//    }

    var is_confirmed = confirm('Вы действительно желаете:\n' + theQuery);
    if (is_confirmed) {
        if (theLink.href.indexOf('?')>=0){
            theLink.href += '&is_js_confirmed=1';
        }else{
            theLink.href += '?is_js_confirmed=1';
        }

        if (subLink){
            theLink.href += subLink;

        }
        return is_confirmed;
    }else{
        return false;
    }
} 
function switch_display(obj_id,force){
    var sub_bl=SelectById(obj_id);
    if (sub_bl){
        if (sub_bl.style) {
            if (force==null){
                if (sub_bl.style.display=="block"){ 
                    sub_bl.style.display = "none"; 
                    return 0;
                }else{
                    sub_bl.style.display = "block"; 
                    return 1;
                }
            }else{
                if (force==2){ 
                    sub_bl.style.display = "none"; 
                    return 0;
                }else if (force==1){
                    sub_bl.style.display = "block"; 
                    return 1;
                }
            }
        }else{
            return -2;

        }
    }else{
        return -1;
    }

}


function goods_cmp_clear(id){
    var obj=SelectById("goods_cmp_"+id);
    if(obj){
        if(obj.checked){
            xajax_goods_cmp(id,1);
            obj.checked=false;
        }
    }
}

function getrandom() {

var min_random = 0;
var max_random = 1000;

max_random++;

var range = max_random - min_random;
var n=Math.floor(Math.random()*range) + min_random;

return n;
}

function delete_object_by_id(id) {
    var sel = document.getElementById(id);
    if (sel) {
        sel.parentNode.removeChild(sel);
    }
}
function disable_checkbox(obj) {
    var arr = document.getElementsByName(obj.name);
    for (i=0;i<arr.length;i++) {
        arr[i].checked = obj.checked;
    }
}
function isNotMax(e){
    e = e || window.event;
    var target = e.target || e.srcElement;
    var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode);
//  alert(code);
    switch (code){
    case 13:
    case 8:
    case 9:
    case 46:
    case 36:
    case 35:
    case 34:
    case 33:
    case 37:
    case 38:
    case 39:
    case 40:
    return true;
    }
    return target.value.length <= target.getAttribute('maxlength');
}
// 
function trim(str, chars) {
    chars = chars || "\\s";
    str=str.replace(new RegExp("^[" + chars + "]+", "g"), "");
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function drop_post_message(id,in_out) {
    if (confirm("Вы действительно хотите удалить сообщение?")) {
        xajax_drop_user_pm_xajax(id,in_out)
    }
    return false;
}

/*ОПРЕДЕЛЕНИЕ КЛИЕНСКОГО БРАУЗЕРА */
var userAgent = navigator.userAgent.toLowerCase();
var is_opera  = ((userAgent.indexOf('opera') != -1) || (typeof(window.opera) != 'undefined'));
var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv  = (userAgent.indexOf('webtv') != -1);
var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4    = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_ie7    = ((is_ie) && (userAgent.indexOf('msie 7.') != -1));
var is_ps3    = (userAgent.indexOf('playstation 3') != -1);
var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon    = (userAgent.indexOf('konqueror') != -1);
var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac    = (userAgent.indexOf('mac') != -1);

var register_sub_menu = new Array();
var register_menu = new Array();

hide_sub_item = function() {
    var i=0;
    for (i=0;i<register_menu.length;i++) {
        register_sub_menu[i].style.display = "none";
        register_sub_menu[i].style.top = "";
        if (register_menu[i]!=null) {
            register_menu[i].className=register_menu[i].className.replace(" selected","");
        }
    }
    register_menu.length = 0;
    register_sub_menu.length = 0;
}
//Привязка события к объекту
function addHandler(object, event, handler) {
    if (typeof object.addEventListener != 'undefined') {
        object.addEventListener(event, handler, false);
    } else if (typeof object.attachEvent != 'undefined') {
        object.attachEvent('on' + event, handler);
    } else {
        obj["on" + event ] = handler;
    }
}
function removeHandler(object, event, handler)
{
  if (typeof object.removeEventListener != 'undefined')
    object.removeEventListener(event, handler, false);
  else if (typeof object.detachEvent != 'undefined')
    object.detachEvent('on' + event, handler);
  else
    throw "Incompatible browser";
}

Attach_event(function() {
    hide_sub_item();
});
function sub_item_select(item_id,link_id,event) {
//      alert(document.body.scrollTop);
//      alert(window.pageYOffset);
    var oldscrol = document.documentElement.scrollTop;
    if (item_id.id){
        var sub_bl=item_id;
    }else{
        var sub_bl=SelectById(item_id);
    }
    if (link_id.id){
        var link=link_id;
    }else{
        var link=SelectById(link_id);
    }
    if (sub_bl!=null) {
        if (sub_bl.style) {
            if (sub_bl.style.display=="block") {
                sub_bl.style.display = "none";
                if (link!=null) {
                    link.className=link.className.replace(" selected","");
                }
                sub_bl.style.top = "";
            } else if (sub_bl.style.top=="") {
                addHandler(sub_bl, "click", function(event) {
                    return bubble(event);
                });
                sub_bl.style.display = "block";
                hide_sub_item();
                register_sub_menu.push(sub_bl);
                register_menu.push(link);
                if (link){
                    sub_width=500;
                    item_width=link.offsetWidth;
                    item_height=link.offsetHeight;

                    sub_bl.style.top=link.offsetTop+item_height-2+"px";
                    max_right=link.offsetParent.offsetWidth;
                    item_left=link.offsetLeft;
                    if (item_left+sub_width>max_right){
                        sub_left=item_left+item_width-sub_width;
                    }else{
                        sub_left=item_left;
                    }
                    if (sub_left<0){
                        sub_left=10;
                    }
                    sub_bl.style.left=sub_left+"px";
                    var other_links=link.parentNode.getElementsByTagName('a');
                    for(n=0;n<other_links.length;n++){
                        el=other_links[n];
                        if ((el.id!=link.id)&&(el.className.indexOf("selected")!=-1)){
                            el.onclick();
                        }
                    }
                }
                sub_bl.style.display = "block";
                if (link!=null) {
                    link.className+=" selected";
                }
            } else {
                sub_bl.style.display = "block";
                if (link!=null) {
                    link.className+=" selected";
                }
            }
        }
    }
    window.scrollTo(0,oldscrol);
    bubble(event);
}

/*
584221
function sub_item_select(item_id,link_id,event){
    if (item_id.id){
        var sub_bl=item_id;
    }else{
        var sub_bl=SelectById(item_id);
    }
    if (link_id.id){
        var link=link_id;
    }else{
        var link=SelectById(link_id);
    }
//  addHandler(sub_bl,"click",function() {
//      bubble(event);
//  });
//  Attach_event(function() {
//      hide_sub_item();
//  });

    var is_show=false;
    if (sub_bl){
        if (sub_bl.style) {
            if ((sub_bl.style.display=="block")){ 
//              hide_sub_item();
                sub_bl.style.display = "none"; 
                is_show=false;
            }else{
//              register_menu.push(sub_bl);
                
                if (link){
                    
                    sub_width=500;
                    item_width=link.offsetWidth;
                    item_height=link.offsetHeight;

                    sub_bl.style.top=link.offsetTop+item_height-2+"px";
                    max_right=link.offsetParent.offsetWidth;
                    item_left=link.offsetLeft;
                    if (item_left+sub_width>max_right){
                        sub_left=item_left+item_width-sub_width;
                    }else{
                        sub_left=item_left;
                    }
                    if (sub_left<0){
                        sub_left=10;
                    }
                    sub_bl.style.left=sub_left+"px";
                    var other_links=link.parentNode.getElementsByTagName('a');
                    for(n=0;n<other_links.length;n++){
                        el=other_links[n];
                        if ((el.id!=link.id)&&(el.className.indexOf("selected")!=-1)){
                            el.onclick();
                        }
                    }
                }
                sub_bl.style.display = "block"; 
                is_show=true;
            }
        }
    }
    if (link){
        if (is_show){
            link.className+=" selected";
        }else{
            link.className=link.className.replace(" selected","");
        }       
    }
//  bubble(event);
}
*/
/* Показ выпадающего меню для каждого пользователя и его скрытие */
function show_user_menu(obj,uid,us,eventobj) {
    //return false;
    var pos = absPosition(obj);
    var menu = SelectById("show_user_menu");
    if (menu == null) { //Создаем меню
        var menu = document.createElement("div");
        menu.setAttribute("id", "show_user_menu");
        menu.className="user_menu";
        document.body.appendChild(menu);
        Attach_event(function() {
            hide_user_menu();
        });
    }
    pos.y += obj.offsetHeight;
    if (menu.style.display=='block'){
        if ((menu.style.top==pos.y+'px')&&(menu.style.left==pos.x+'px')){
            menu.style.display="none";
        }else{
            menu.style.top = pos.y+'px';
            menu.style.left = pos.x+'px';
        }
    }else{
        menu.style.display='block';
        menu.style.top = pos.y+'px';
        menu.style.left = pos.x+'px';
    }
    //menu.innerHTML = "<a href='"+obj.href+"'>Просмотреть профиль</a><a href='./knowledge/writer.html?id="+uid+"'>Показать статьи этого пользователя</a><a href='./company/creator_"+uid+".html'>Показать компании этого пользователя</a><a href='./community/users/post/create.html?recipient_user="+uid+"'>Написать ему сообщение</a>";
    menu.innerHTML = "<a href='"+obj.href+"'>Просмотреть профиль</a><a href='./community/users/post/create.html?recipient_user="+uid+"'>Написать ему сообщение</a>";
    if (us>=100) {
        menu.innerHTML += "<a href='./community/moderator/user.html?user_id="+uid+"'>Модерация пользователя</a>";
    }
    bubble(eventobj);
}

//
function Attach_event(func) {
    if (window.attachEvent && !is_saf) {
        document.attachEvent('onclick',func);
//      window.attachEvent('onresize', hide_user_menu);
    } else if (document.addEventListener && !is_saf) {
        document.addEventListener('click', func, false);
//      window.addEventListener('resize', hide_user_menu, false);
    } else {
        window.onclick = func;
//      window.onresize = hide_user_menu;
    }
}
// 
bubble = function(eventobj) {
    if (!eventobj || is_ie) {
        window.event.cancelBubble = true;
//      return window.event;
        return false; // в этом случае не осуществляется переход по ссылке, типа <a href="..." onclick="...;return false;"
    } else {
        eventobj.stopPropagation();
        return eventobj;
    }
}
hide_user_menu = function() {
    SelectById("show_user_menu").style.display = "none";
}
function absPosition(obj) {
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
}
function users_post_check_messages(){
    var table=SelectById("post_table")
    if(table!=null){
        if(table.getElementsByTagName("tr").length<2){
            var block=SelectById("post_block");
            if(block!=null){
                block.innerHTML="Нет сообщений.";
                block.className="info";
            }
        }
    }
}

function sprintf()
{
    var args = arguments;
    var frmt = arguments[0].replace(/%%/g, "\0\0");
    var result = "", prev = 0, index = 0;
    var re = /%(\d+[\$#])?([+-])?('.|0| )?(\d*)(\.\d*)?([bcdfosuxX])/g;
    var x;
    while (x = re.exec(frmt)) {
        for (var i = 0; i < x.length; i++) if (x[i] == undefined) x[i] = "";
        index++;
        var ins = (x[1]) ? args[x[1].substring(0, x[1].length - 1)] : args[index];
        switch (x[6]) {
        case "c":
            ins = String.fromCharCode(ins);
            break;
        case "d":
        case "u":
            ins = Number(ins).dec();
            break;
        case "f":
            ins = Number(ins);
            if (x[5]) {
                ins = ins.toFixed(x[5].substr(1));
            } else if (x[4]) {
                ins = ins.toExponential(x[4]);
            } else {
                ins = ins.toExponential();
            }
            break;
        case "s":
            ins = String(ins);
            break;
        }
        result += frmt.substring(prev, x.index);
        prev = x.index + x[0].length;
        result += ins.padding(x[2] + x[4], x[3].substr(x[3].length - 1));
    }
    if ( prev < frmt.length ) {
        result += frmt.substr(prev);
    }
    result = result.replace(/\0\0/g, "%");
    return result;
}


Number.prototype.radix = function(r, n, c)
{
    if ( ! c ) {
        c = '0';
    }
    return this.toString(r).padding(-Math.abs(n), c);
}

String.prototype.repeat = function(n)
{
    if ( ! n || n <= 0 ) {
        return "";
    }
    if ( ! this.origin ) {
        this.origin = this.valueOf();
    }
    var val = this.repeat(parseInt(n / 2));
    return ((n % 2) ? this.origin : "") + val + val;
}

String.prototype.padding = function(n, c)
{
    var val = this.valueOf();
    if ( ! n ) {
        return val;
    }
    if ( ! c ) {
        c = " ";
    }
    var pad = String(c).charAt(0).repeat(Math.abs(n) - this.length);
    return (n < 0) ? pad + val : val + pad;
//  return (n < 0) ? val + pad : pad + val;
}

Number.prototype.dec = function(n, c)
{
    return this.radix(0x0A, (n) ? n : 2, c);
}


/*** jQuery code ***/
$(document).ready(function() {
	$('.orderButton').corner();
	$('.corner').corner();
	
	
/*
    $('#rsbankTermsDialog').dialog({
        autoOpen: false,
        resizable: false,
        width: 800,
        title: 'Условия предоставления потребительского кредита',
        show: 'slide',
        hide: 'fade'
    });

    $('a#rsbankTerms').click(function(e) {
        e.stopPropagation();
        $('#rsbankTermsDialog').dialog('open');
        return false;
    });
*/
    $('#buyTerms').accordion({
        autoHeight: false,
        collapsible: true,
        animated: false,
        icons: { 'header': 'ui-icon-plus', 'headerSelected': 'ui-icon-minus' },
        active: false
    });

    $('a.paySection').click(function() {
        $('#buyTerms').accordion('activate', 3);
    });

    /*$('[rel="lightbox-screens1"]').lightbox();

   // $('[rel="lightbox-screens2"]').lightbox();

	$.Lightbox.construct({
		"show_linkback":	false,
		"text": {
			// For translating
			"image":		"Фото",
			"of":			"из",
			"close":		"Закрыть X",
			"closeInfo":	"Чтобы закрыть, вы можете кликнуть вне изображения.",
			"download":		"Скачать.",
			"help": {
				"close":	"Кликните, чтобы закрыть",
				"interact":	""
			},
			"about": {
				"text": 	"WAHU",
				"title":	"WAHU",
				"link":		"http://wahu.ru"
			}
		}
	});*/

    $('#viewBasketScreens').click(function() {
        $('[rel="lightbox-screens2"]:eq(0)').trigger('click');
    });
    $('#viewNavigationScreens').click(function() {
        $('[rel="lightbox-screens1"]:eq(0)').trigger('click');
    });
    $('#viewSearchScreens').click(function() {
        $('[rel="lightbox-screens0"]:eq(0)').trigger('click');
    });
    $('#viewOrderScreens').click(function() {
        $('[rel="lightbox-screens3"]:eq(0)').trigger('click');
    });
});

// замена стандартному window.alert() на цивилизованный
function myAlert(title, msg)
{
    $.gritter.add({
        title: title,
        text: msg,
        time: 2500,
        sticky: false,
        fade_out_speed: 'slow'
    });
}

