var MSG_CNT = 0;

function wopen( url, target, w, h, asize, title, res, rett ) 	{
	if( !target ) target = '_blank';
	if( !w ) w = 500;
	if( !h ) h = 400
	if( !title ) title = '';

	w = parseInt( w, 10 );
	h = parseInt( h, 10 );
	if( asize ) asize = true;
	else asize = false;

	var aw = screen.availWidth;
	var ah = screen.availHeight;
	if( w > aw ) w = aw;
	if( h > ah ) h = ah;

	if( res )r = 0; else r = 1;

	var left = Math.round( ( aw - w ) / 2 );
	var top = Math.round( ( ah - h ) / 2 );

	var wd = window.open( url, target, 'channelmode= 0, directories=0, height='+h+'px, width='+w+'px, location=0, menubar=0, resizable='+r+', scrollbars=1, status=0, toolbar=0, top='+top+'px, left='+left+'px' );
	
	return wd; 
}


function main_location( url, name ) {
	if( !name ) name = 'main';
	if( self.name == name ) {
		location.href = url;
		return false;
	}
	father = window;
	for( i = 0; i < 100; i++ ) {
		father = father.opener;
		if( father && typeof father.name == 'string' ) {
			if( father.name == name ) {
				father.location.href = url;
				return;
			}
		}
		else {
			break;
		}
	}
	window.open( url, name );
}


function create_element( type, id, father, add ) {
	if( !father ) father = document.body;
	if( !add ) add = '';
	var newElem = document.createElement(type);
	newElem.id = id;
	if( add != "" ) {
		add = "\
		with( newElem ) {\
			" + add + "\
		}";
		eval( add );
	}
	father.appendChild(newElem);
	return newElem;
}

function destroy_element( id ) {
	if( /object/.test(typeof id) ) el = id;
	else el = document.getElementById( id );
	if( el ) {
		el.outerHTML = "";
	}
}


function rand(from,to) {
	return from + Math.round( ( to - from ) * Math.random() );
}

function calc_chars( obj ) {
	var MAXLEN = obj.getAttribute ? parseInt( obj.getAttribute("maxlength") ) : 1000;
	if( parseInt( obj.value.length ) > MAXLEN ) {
		obj.value = obj.value.substr( 0, MAXLEN );
	}
}


function alert_r(obj, ret, separator) {
	if( !ret ) ret = false;
	if( !separator ) separator = "\n";
	var r = "";
	for( var i in obj ) {
		r += i + ": " + obj[i] + separator;
	}
	if( ret ) {
		return r;
	}
	alert( r );
}


//**************************************************##

function winfull( url, target ) {
	if ( !url ) { return false; }
	var addu = '';
	if ( !target ) { target = '_blank'; }
    var wd = window.open( url+addu, target, 'fullscreen=1, scrollbars=0, toolbar=0, resizable=1' );
}

//*****************************************************

function cost_format( cost, cop ) {
	cost = parseFloat( cost );
	if( !cop ) return Math.round( cost );
	cost *= 100;
	cost = Math.round( cost );
	cost /= 100;
	var m = cost.toString().match( /^[0-9]+\.[0-9]([0-9]?)$/ );
	if( m ) {
		return cost + ( m[1] ? "" : "0" );
	}
	return cost + ".00";
}

//*****************************************************

function date( format, time ) {
	if( !time ) time = new Date();
	var ret = format;
	with( time ) {
		ret = ret.replace( /Y/g, getFullYear() );
		ret = ret.replace( /m/g, withnull( getMonth() + 1) );
		ret = ret.replace( /d/g, withnull( getDate() ) );
		ret = ret.replace( /H/g, withnull( getHours() ) );
		ret = ret.replace( /i/g, withnull( getMinutes() ) );
		ret = ret.replace( /s/g, withnull( getSeconds() ) );
		ret = ret.replace( /j/g, getDate() );
		ret = ret.replace( /G/g, getHours() );
	//	ret = ret.replace( /w/g, getDay() );
		ret = ret.replace( /y/g, getFullYear().toString().replace( /^[0-9]{2}([0-9]{2})$/, '$1' ) );
	}
	return ret;
}

//*****************************************************

function withnull( val ) {
	return ('0' + val).replace( /^[0-9]?([0-9]{2})$/, '$1' );
}

//*****************************************************

var NC = '';
function _vis(row, obj, load) {
	if( NC == '' ) return;
	if( !load ) load = false;
	if( !load ) {
		obj.style.color = NC;
	}
	else {
		var col;
		if( obj.currentStyle ) {
			col = obj.currentStyle.color.toLowerCase();
		}
		else if( window.getComputedStyle ) {
			col = window.getComputedStyle(obj,null).color;
			var m = col.match( /([0-9]+)[^0-9]*([0-9]+)[^0-9]*([0-9]+)/ );
			col = "#" + parseInt( m[1] ).toString( 16 ) +
						parseInt( m[2] ).toString( 16 ) +
						parseInt( m[3] ).toString( 16 );
			
		}
		if( col != NC ) return;
	}
	var rr = document.getElementById( "r_" + row );
	for( i = 0; i < rr.childNodes.length; i ++ ) {
		if( rr.childNodes[i].nodeType != 1 ) continue;
		if( rr.childNodes[i].tagName.toLowerCase() != "td" ) continue;
		rr.childNodes[i].style.color = NC;
	}
}

//*****************************************************

function ch_vis() {
	if( !MSG_CNT ) return;
	for( var i = 1; i <= MSG_CNT; i ++ ) {
		el = document.getElementById( "m_" + i );
		if( el ) _vis( i, el, true );
	}
}

//*****************************************************

function message( obj, msg_id ) {
	var width = 680;
	var height = 450;
	var w = screen.width;
	if( w == 1024 ){
		width = 750;
		height = 560;
	}
	else if( w >= 1280 ){
		width = 890;
		height = 770;
	}
	if( msg_id ) {
		var obj2 = obj;
		if( !/^m_[0-9]+$/.test( obj2.id ) ) obj2 = document.getElementById("m_" + msg_id);
		_vis( msg_id, obj2, false );
	}
	wopen( obj.href, "", width, height, 0, 0, 0 );
}

//*****************************************************

var MSGS = new Array();
function scurr( cc ) {
	var fc = false;
	if( !cc ) {
		cc = document.cookie;
		cc = cc.match( /CU=([^;]+)/ );
		if( !cc ) return;
		cc = cc[1];
		fc = true;
	}
	else if( cc == 'ai' ) {
		cc = '';
	}
	else if( !CURR_N[cc] ) return;
	
	if( fc ) {
		if( cc != '' ) {
			var tmp = document.getElementById( cc );
			if( tmp ) {
				tmp.checked = true;
			}
			else {
				MSG_CNT = 1;
			}
		}
	}
	else if( cc != '' ) {
		document.cookie = "CU="+cc+";path=/;Domain=" + COOKIE_DOMAIN + "";
	}
	else {
		document.cookie = "CU=;path=/;Domain=" + COOKIE_DOMAIN + ";expires=Friday,25-Feb-2000 12:00:00 GMT";
	}
	
	if( !MSG_CNT ) return;
	for( var i = 1; i <= MSG_CNT; i ++ ) {
		if( !MSGS[i] ) {
			for( j in CURR_N ) {
				if( j == cc ) continue;
				el = document.getElementById( j + "_" + i );
				if( !el ) continue;
				MSGS[i] = [];
				MSGS[i]['obj'] = el;
				MSGS[i]['sum'] = el.innerHTML.replace( /,/, '.' ).replace( /[^0-9\.e\+-]+/gi, '' );
				MSGS[i]['cur'] = j;
				break;
			}
			
			if( !MSGS[i] ) continue;
		}
		MSGS[i]['obj'].innerHTML = price_convert( MSGS[i]['sum'], MSGS[i]['cur'], cc );
	}
}

//*****************************************************

function price_convert( price, in_curr, out_curr ) {
	if( out_curr == '' ) out_curr = in_curr;
	if( in_curr != out_curr ) {
		if( in_curr == 'LVL' ) {
			price /= CURR[out_curr];
		}
		else {
			price *= CURR[in_curr];
		}
	}
	return cost_format( price ) + ' ' + CURR_N[out_curr];
}

//*****************************************************

function _resize(obj, ww, hh) {
	if( /[\/|^]p\.gif$/.test( obj.src ) ) return;
	
	var img = new Image();
	img.src = obj.src;
	
	var w2 = Math.round( img.width * hh / img.height );
	var h2 = Math.round( img.height * ww / img.width );
	if( w2 < ww ) {
		obj.width = ww;
		obj.height = h2;
		w2 = ww;
	}
	else {
		obj.height = hh;
		obj.width = w2;
		h2 = hh;
	}
	
	var xx = Math.round( ( w2 - ww ) / 2 );
	var yy = Math.round( ( h2 - hh ) / 2 );
	
	obj.style.display = "";
	obj.parentNode.style.display = "";
	if( xx ) obj.parentNode.scrollLeft = xx;
	if( yy ) obj.parentNode.scrollTop = yy;
}


//*****************************************************
function _submit( obj, e ) {
	if( e.keyCode != 13 && e.keyCode != 10 ) return;
	if( !obj.form.onsubmit() ) return;
	obj.form.submit();
}


//*****************************************************
function trim( txt ) {
	return txt.replace( /^\s+/, '' ).replace( /\s+$/, '' );
}


//*****************************************************
function strToReg( str ) {
	var m = str.match( /^\/(.+)\/([gis]?)$/, str );
	return new RegExp( m ? m[1] : str, m ? m[2] : '' );
}

//*****************************************************
var _SEL = false;
var SEL_CNT = 0;
function _sel(obj) {
	if( !_SEL ) _SEL = document.getElementById( "sel_s" );
	if( !_SEL ) _SEL = create_element( "SCRIPT", "sel_s" );
	if( !_SEL ) return;
	_SEL.src = obj.value + "?ch=" + ( obj.checked ? '1' : '0' ) + "&" + Date.parse( new Date );
	obj.checked ? SEL_CNT ++ : SEL_CNT--;
	set_m_cnt( SEL_CNT );
}

//*****************************************************
var CBS = [];
function _rs(name, ch) {
	name = 'msg_' + name;
	if( !CBS[name] ) CBS[name] = document.getElementById( name );
	if( !CBS[name] ) return;
	CBS[name].checked = ch;
}

//*****************************************************
function _sel_reset(url) {
	if( !_SEL ) _SEL = document.getElementById( "sel_s" );
	if( !_SEL ) _SEL = create_element( "SCRIPT", "sel_s" );
	if( !_SEL ) return;
	_SEL.src = url;
}

//*****************************************************
var SEL_R = false;
var S_SH = false;
var S_CNT = false;
function set_m_cnt(cnt) {
	if( !S_SH ) S_SH = document.getElementById( "sel_show" );
	if( S_SH ) S_SH.className = "link2" + ( cnt ? "" : " gray" );
	
	if( !S_CNT ) S_CNT = document.getElementById( "sel_cnt" );
	if( S_CNT ) S_CNT.innerHTML = "(" + cnt + ")";
	
	if( !SEL_R ) SEL_R = document.getElementById( "sel_reset" );
	if( SEL_R ) SEL_R.style.display = cnt ? '' : 'none';
}
function w_close( ){
	if( event && event.keyCode == 27 ){
		window.close();
	}
}
function go_main_page( url ){
	var wo = window.opener;
	if( wo ){
		wo.location.href = url ? url : LINK_MAIN_HOST;
	}
	else{
		go( url ? url : LINK_MAIN_HOST, 2 );
	}
	window.close();
}
function load_regions( region ){
	
	if( !r1 || !r2 )return;
	var f = D.getElementById( "region_select" );
	if( !f )return;
	var sl = false;
	
	for( i in r1 ){
		len = f.options.length;
		sl = false;
		if( r1[i] == REGION )sl = true;
		
		f.options[len] = new Option( r2[i], r1[i] );
		if( sl )f.options[len].selected = true;
	}
	
}
var prev_chc = 0;
function ch_c( c, style ){
	var o = document.getElementById( "chc_"+c );
	if( !o )return;
	
	var o2 = document.getElementById( "ahc_"+c );
	
	if( o.style.display == "block" || style ){
		o.style.display = "none";
		if( o2 )o2.style.fontWeight="normal";
	}
	else{
		o.style.display = "block";
		if( o2 )o2.style.fontWeight="bold";
		if( prev_chc != c ){
			ch_c( prev_chc, 1 );
			prev_chc = c;
		}
	}
}
var JS_ROOT_CNT = 0;
var JS_CNT = 0;
function m_compare( url, w ){
	var or = document.getElementById( "sel_cnt_objr" );
	if( or && JS_ROOT_CNT <= 1 ){
		alert( w );
		return;
	}
	m( url )
}
function check_selected_msg( w ){
	var o = document.getElementById( "sel_cnt_obj" );
	if( o && JS_CNT > 0 )return true;
	alert( w )
	return false;
}
