function AskGo(url)
{
    if ( !confirm('Are you sure?') ) return void(0);
    self.location = url;
    return true;
}

function AskGoCustom(url, msg)
{
    if ( !confirm(msg) ) return void(0);
    self.location = url;
    return true;
}

function UnderConstruction()
{
    alert("Under construction");
    return void(0);
}

function GetXY(p)
{
    var s = {x: 0, y: 0};
    if ( p.getBoundingClientRect )
    {
        // Internet Explorer sheme
        var oBox = p.getBoundingClientRect();
        s.y = oBox.top - (document.body.clientTop  - document.body.scrollTop);
        s.x = oBox.left - (document.body.clientLeft - document.body.scrollLeft);
    }
    else
    {
        while (p.offsetParent)
        {
            s.x += p.offsetLeft;
            s.y += p.offsetTop;
            p = p.offsetParent;
        }
    }
    return s;
}

function GetWindowSize()
{
    var x,y;
    if ( self.innerHeight )
    {
        // all except Explorer
        x = self.innerWidth;
        y = self.innerHeight;
    }
    else if ( document.documentElement && document.documentElement.clientHeight )
    {
        // Explorer 6 Strict Mode
        x = document.documentElement.clientWidth;
        y = document.documentElement.clientHeight;
    }
    else if ( document.body )
    {
        // other Explorers
        x = document.body.clientWidth;
        y = document.body.clientHeight;
    }
    return { width: x, height: y };
}


function GetPageSize()
{
    var x,y;
    var test1 = document.body.scrollHeight;
    var test2 = document.body.offsetHeight
    if ( test1 > test2 )
    {
        // all but Explorer Mac
        x = document.body.scrollWidth;
        y = document.body.scrollHeight;
    }
    else
    {
        // Explorer Mac - would also work in Explorer 6 Strict, Mozilla and Safari
        x = document.body.offsetWidth;
        y = document.body.offsetHeight;
    }
    return { width: x, height: y };
}

function GetScrollOffset()
{
    var x,y;
    if ( self.pageYOffset )
    {
        // all except Explorer
        x = self.pageXOffset;
        y = self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    {
        // Explorer 6 Strict
        x = document.documentElement.scrollLeft;
        y = document.documentElement.scrollTop;
    }
    else if (document.body)
    {
        // all other Explorers
        x = document.body.scrollLeft;
        y = document.body.scrollTop;
    }
    return { width: x, height: y };
}

function D(obj)
{
    var result = "";
    for (var i in obj)
    {
        try
        {
            result += 'O.' + i + " = " + obj[i] + " (" + typeof(obj[i]) + ")\n";
        }
        catch (err)
        {
            result += 'O.' + i + " = <undef>   :::      ";
        }
    }
    alert(result);
}

function GetClientID()
{
    var a = "0123456789BCDEFGHJKLMNPQRSTVWXYZAIOUabcdefghjiklmnopqrstuvwxyz .,;:()/\\-";
    var h = "";
    var r = "\\n";
    var v = document;
    var d = navigator;
    var e = d.userAgent.toLowerCase();
    var j = (e.indexOf("msie")>-1);
    var o=!((e.indexOf("msie 3.0")>-1));
    var k=!((e.indexOf("opera")>-1));
    var l=!((e.indexOf("msie")>-1)&&(e.indexOf("mac")>-1));
    h += d.appCodeName+r+d.appMinorVersion+r+d.appName+r+d.appVersion+r+d.browserLanguage+r+d.cookieEnabled+r+d.cpuClass+r+d.language+r+d.onLine+r+d.opsProfile+r+d.platform+r+d.systemLanguage+r+d.userAgent+r+d.userLanguage+r+d.userProfile+r;
    if(o){h+=d.javaEnabled()+r;}
    if(self.screen){h+=screen.width+r+screen.height+r+screen.colorDepth+r;}
    if(l){re="/.*//g";for(s=0;s<d.plugins.length;s++){h+=d.plugins[s].filename.replace(re,"")+r;}}
    if(j&&o&&k&&l)
    {
        g=new Array("{7790769C-0471-11D2-AF11-00C04FA35D02}","{89820200-ECBD-11CF-8B85-00AA005B4340}","{283807B5-2C60-11D0-A31D-00AA00B92C03}","{4F216970-C90C-11D1-B5C7-0000F8051515}","{44BBA848-CC51-11CF-AAFA-00AA00B6015C}","{9381D8F2-0288-11D0-9501-00AA00B911A5}","{4F216970-C90C-11D1-B5C7-0000F8051515}","{5A8D6EE0-3E18-11D0-821E-444553540000}","{89820200-ECBD-11CF-8B85-00AA005B4383}","{08B0E5C0-4FCB-11CF-AAA5-00401C608555}","{45EA75A0-A269-11D1-B5BF-0000F8051515}","{DE5AED00-A4BF-11D1-9948-00C04F98BBC9}","{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","{44BBA842-CC51-11CF-AAFA-00AA00B6015B}","{3AF36230-A269-11D1-B5BF-0000F8051515}","{44BBA840-CC51-11CF-AAFA-00AA00B6015C}","{CC2A9BA0-3BDD-11D0-821E-444553540000}","{08B0E5C0-4FCB-11CF-AAA5-00401C608500}");
        v.write("<comment style='behavior:url(#default#clientCaps)' ID='cc' ></comment>");
        for(i=0;i<g.length;i++){if(cc.isComponentInstalled(g[i],"ComponentID")){h+=cc.getComponentVersion(g[i],"ComponentID");}}
        if(cc.isComponentInstalled("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID")){v.write("<object id=mp width=1 height=1 classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95>");v.write("</object>");h+=v.mp.ClientID;}
    }
    if ( j&&o&&k ) { h += ScriptEngineBuildVersion(); }
    w1=w2=x1=x2=y1=y2=z=1;
    for(s=0;s<h.length;s++){w2=x2+y2+s+1+a.indexOf(h.charAt(s));w1=x1+y1+(w2>>16);w2+=(w1>>16);w1&=65535;w2&=65535;zz=(1<<z)-1;s1=(w1&zz)<<(16-z);s2=(w2&zz)<<(16-z);w1=s2|(w1>>z);w2=s1|(w2>>z);z=y2&15;y1=x1;y2=x2;x1=w1;x2=w2;}
    p="";
    for(y=0;y<3;y++){p+=a.charAt(x1&31);x1>>=5;p+=a.charAt(x2&31);x2>>=5;p+=a.charAt(y1&31);y1>>=5;p+=a.charAt(y2&31);y2>>=5;}
    return p;
}

function ShowBigImage(p_src)
{
    var scroll_size = GetScrollOffset();
    var page_size = GetPageSize();
    var wubox_main = document.getElementById('wubox-main');
    var wubox = document.getElementById('wubox');
    wubox.style.height = page_size.height+scroll_size.height+"px";
    wubox.style.display = 'block';
    wubox_main.style.top = scroll_size.height+150+"px";

    var wubox_container = document.createElement('div');
    wubox_container.setAttribute('id', 'wubox-container');
    wubox_container.className = 'wubox-container';
    wubox_main.appendChild(wubox_container);

    var objImagePreloader = new Image();
    objImagePreloader.onload = function() {
        wubox_container.style.height = objImagePreloader.height+30+"px";
        wubox_container.style.width = objImagePreloader.width+30+"px";
        wubox_container.innerHTML = '<div class="wubox-photo" id="wubox-photo" style="display: none"><a onClick="HideBigImage();" id="canvas_a"><img src="" id="img_in_canvas" style="cursor:hand; cursor: url(<%$pathImg%>zoom2.cur), default;"></a><div class="wubox-footer"><a href="#" onClick="return HideBigImage();" id="canvas_a" style="cursor:hand;">Закрыть</a></div></div>';
        var img_in_canvas = document.getElementById('img_in_canvas');
        img_in_canvas.src = p_src;
        $('#wubox-photo').fadeIn(1000);
        objImagePreloader.onload=function(){};
    }
    objImagePreloader.src = p_src;
    return false;
}

function HideBigImage()
{
    document.getElementById('wubox-main').innerHTML = '';
    document.getElementById('wubox').style.display = 'none';
    return false;
}

function GetRandomString(l)
{
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var rstr = '';
    for (var i=0; i < l; i++)
    {
        var rnum = Math.floor(Math.random() * chars.length);
        rstr += chars.substring(rnum, rnum+1);
    }
    return rstr;
}
