var windowHeight=0; var windowWidth=0;
if (self.screen) {
	windowWidth = screen.width
	windowHeight = screen.height-60;
}else if (self.java) {
	var jkit = java.awt.Toolkit.getDefaultToolkit();
	var scrsize = jkit.getScreenSize();
	windowWidth = scrsize.width;
	windowHeight = scrsize.height-60;
}

function Center_moveX(newWidth)
{
	if (windowWidth > newWidth) return (windowWidth-newWidth)/2;
	return 0;
}

function Center_moveY(newHeight)
{
	if(windowHeight > newHeight) return (windowHeight-newHeight)/2;
	return 0;
}

var myTotalWidth;
var myTotalHeight;
function WhenLoad(newWidth, newHeight){
	myTotalWidth = newWidth + 15;
	myTotalHeight = newHeight + 3;
	window.resizeTo(myTotalWidth, myTotalHeight);
	window.moveTo(Center_moveX(myTotalWidth),Center_moveY(myTotalHeight));
}

function resizeAfterLoad() {
	var h = document.body.clientHeight? document.body.clientHeight : document.documentElement.clientHeight;
	var d = myTotalHeight - 141 - h;
	if ( d > -80 && d < 80 ) {
		myTotalHeight += d;
		if ( myTotalHeight > screen.availHeight ) myTotalHeight = screen.availHeight;
		window.resizeTo(myTotalWidth, myTotalHeight);
	}
}

function Show(target){
	if (document.getElementById){
		target = document.getElementById(target);
		target.style.display = "block";
		target.style.visibility = "visible";
	}
}
    
function Hide(target){
	if (document.getElementById){
		target = document.getElementById(target);
		target.style.display = "none";
		target.style.visibility = "hidden";
	}
}

function UserWin(lang)
{
	window.showModalDialog(lang+'/user/','bbj','minimize:; maximize:0; help:0; dialogWidth:556px; dialogHeight:689px; center:1;');
}

function DeleteWin(lang)
{
	var ret = window.showModalDialog(lang+'/delete/','bbj','minimize:0; maximize:0; help:0; dialogWidth:556px; dialogHeight:689px; center:1;');
	if(ret != null && ret[0]=='delete')window.close();
}

function ControlPanelParameterChanged(url){ 
	var d = new Image;
	d.src = "en/cp_paramchanged/?"+url;
}

function ShowDiv(divid,iframe, state)
{
	var DivRef = document.getElementById(divid);
	var IfrRef = document.getElementById(iframe);
	if(state)
	{
		DivRef.style.display = "block";
		//IfrRef.style.position = DivRef.style.position;
		IfrRef.style.width = DivRef.offsetWidth;
		IfrRef.style.height = DivRef.offsetHeight;
		IfrRef.style.top = DivRef.offsetTop;
		IfrRef.style.left = DivRef.offsetLeft;
		//IfrRef.style.zIndex = DivRef.style.zIndex - 1; 
		IfrRef.style.display = "block";
	}
	else
	{
		DivRef.style.display = "none";
		IfrRef.style.display = "none";
	}
}

//------------------------------------------------------------------ 
// Кроссбраузерная функция подавления события 
//------------------------------------------------------------------ 
function cancelEvent(e) { 
  e = e ? e : window.event; 
  if (e.stopPropagation) { 
    e.stopPropagation(); 
  } 
  if (e.preventDefault) { 
    e.preventDefault(); 
  } 
  e.cancelBubble = true; 
  e.cancel = true; 
  e.returnValue = false; 
  return false; 
}

function ltrim ( str, charlist ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: ltrim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld    '

    charlist = !charlist ? ' \\s\u00A0' : (charlist+'').replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    var re = new RegExp('^[' + charlist + ']+', 'g');
    return (str+'').replace(re, '');
}

function strpbrk (haystack, char_list) {
    // http://kevin.vanzonneveld.net
    // +   original by: Alfonso Jimenez (http://www.alfonsojimenez.com)
    // +   bugfixed by: Onno Marsman
    // +    revised by: Christoph
    // +    improved by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: strpbrk('This is a Simple text.', 'is');
    // *     returns 1: 'is is a Simple text.'

    for (var i = 0, len = haystack.length; i < len; ++i) {
        if (char_list.indexOf(haystack.charAt(i)) >= 0)
            return haystack.slice(i);
    }
    return false;
}

function utf8_encode ( argString ) {
    // Encodes an ISO-8859-1 string to UTF-8  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/utf8_encode
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // +   bugfixed by: Ulrich
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
    var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
 
    var utftext = "";
    var start, end;
    var stringl = 0;
 
    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;
 
        if (c1 < 128) {
            end++;
        } else if (c1 > 127 && c1 < 2048) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc !== null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }
 
    if (end > start) {
        utftext += string.substring(start, string.length);
    }
 
    return utftext;
}

function base64_encode (data) {
    // Encodes string using MIME base64 algorithm  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/base64_encode
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // +   improved by: Thunder.m
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Pellentesque Malesuada
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
    // mozilla has this native
    // - but breaks in 2.0.0.12!
    //if (typeof this.window['atob'] == 'function') {
    //    return atob(data);
    //}
        
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];
 
    if (!data) {
        return data;
    }
 
    data = this.utf8_encode(data+'');
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);
 
        bits = o1<<16 | o2<<8 | o3;
 
        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;
 
        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch (data.length % 3) {
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }
 
    return enc;
}
