window.$ = window.__$ = document.all ? function(n){return document.all[n]} : (document.getElementById ? (function(n){return document.getElementById(n)}) : null);
var reg_emailre = /^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,9}$/i;
function $$(elid) {	return document.createElement(elid);}

function submitform(url,frm){
    var param = [];
    var f = document.forms[frm].elements;
    for(var i in f){
        if((f[i].type == 'checkbox' && f[i].checked) || (f[i].type == 'radio' && f[i].checked) || (f[i].type == 'hidden' && f[i].value != 0) || f[i].type == 'text' && f[i].value){
            url = url+f[i].name+'='+f[i].value+'/';
        }
    }
    document.location.href = url;
    return false;
}
function mylogin(){
    if(uid > 0) window.location.href = 'http://my.open.ua/id'+uid+'.html';
}
function mypage_login(){
    if(!$('my_href')) return;
    if(uid > 0){
        if(uid == usermypageid){
            $('my_href').className = 'act';
        }else{
            if($('navmynamestring')){
                $('navmynamestring').innerHTML = '<a href="/id'+uid+'.html">Моя страница</a> &gt; ';
            }
            $('my_href').className = '';
        }
        $('my_href').href = 'http://my.open.ua/id'+uid+'.html';
        if($('my_href2')){
            $('my_href2').href = 'http://my.open.ua/id'+uid+'.html';
        }
    }else{
        $('my_href').className = '';
    }
}

/* Alert */
function newalert(x){
    this.objname    = '';
    this.content    = '';
    this.title      = '';
    this.okname     = 'Отправить'
    this.funct      = null;
    this.params     = null;
    this.close = function(){
        if($(this.objname+'_div')) $(this.objname+'_div').style.display = 'none';
    }
    this.open = function(){
        if($(this.objname+'_div')) $(this.objname+'_div').innerHTML = '<div class="framed"><div class="f_tt"></div><div class="f_r"><div class="f_rr"></div><div class="f_b"><div class="f_bb"><div></div></div><div class="f_l"><div class="f_ll"><div></div></div><div class="f_c"><div class="framed_header"><h1 class="framed_h1">'+this.title+'</h1><span class="framed_close_icon"><a href="javascript:void(0);" onclick="'+this.objname+'.close();this.blur();"><img src="/user/img/close.gif" alt="" height="22" width="22" /></a></span></div><fieldset class="framed_fieldset">'+this.content+'</fieldset><fieldset class="framed_fieldset framed_butttons"><button class="framed_buttton" onclick="'+this.objname+'.okeyer();this.blur();">'+this.okname+'</button></fieldset></div></div></div></div></div>';
        this.Fire_PopupDocLayer();
    }
    this.show_myalert = function(x){
        if($('myalert_div')) $('myalert_div').innerHTML = '<div class="framed"><div class="f_tt"></div><div class="f_r"><div class="f_rr"></div><div class="f_b"><div class="f_bb"><div></div></div><div class="f_l"><div class="f_ll"><div></div></div><div class="f_c"><div align="center"><label class="framed_fieldset_label">'+x+'</label></div><br /><div align="center"><button class="framed_buttton" onclick="myalert.close();this.blur();">OK</button></div></div></div></div></div></div>';
        this.objname = 'myalert';
        this.Fire_PopupDocLayer();
    }
    this.okeyer = function(){
        if(this.funct){
            if(this.funct(this.params)){
                this.close();
            }
        }else{
            this.close();
        }
    }
    this.Fire_PopupDocLayer = function(){
		$(this.objname+'_div').style.top = parseInt(this.f_scrollTop() + Math.round(this.f_clientHeight()/2)-150)+'px';
		$(this.objname+'_div').style.left = parseInt(this.f_scrollLeft() + Math.round(this.f_clientWidth()/2)-150)+'px';
		$(this.objname+'_div').style.zIndex = 2000;
        $(this.objname+'_div').style.display = 'block';
    }
    
    this.f_clientWidth = function() {return this.f_filterResults (window.innerWidth ? window.innerWidth : 0,document.documentElement ? document.documentElement.clientWidth : 0,document.body ? document.body.clientWidth : 0);}
    this.f_clientHeight = function() {return this.f_filterResults (window.innerHeight ? window.innerHeight : 0,document.documentElement ? document.documentElement.clientHeight : 0,document.body ? document.body.clientHeight : 0);}
    this.f_scrollLeft = function() {return this.f_filterResults (window.pageXOffset ? window.pageXOffset : 0,document.documentElement ? document.documentElement.scrollLeft : 0,document.body ? document.body.scrollLeft : 0);}
    this.f_scrollTop = function() {return this.f_filterResults (window.pageYOffset ? window.pageYOffset : 0,document.documentElement ? document.documentElement.scrollTop : 0,document.body ? document.body.scrollTop : 0);}
	this.f_filterResults = function(n_win, n_docel, n_body) {var n_result = n_win ? n_win : 0;if (n_docel && (!n_result || (n_result > n_docel))) n_result = n_docel;return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;}
}

/* Подмена текста (мое, друга, пользователя)*/
function profnamewrite(x,y,z,id){
    document.write(myfriends[id] && myfriends[id] == 'friend' ? y : (uid && uid > 0 && id == uid ? x : z));
}

/* редактирование данных*/
function prof_editmydata(){
    this.er = new Array();
    this.editmode = null;
    this.displayform = function(){
        if(!$('profileeditform')) return;
        $('editiconrep').src = '/user/img/aloader.gif';
        if($('ppof_allin_div') && $('ppof_allin_div').style.display == 'block') ppof_allin.check();
        var h = mkhttp('/xml/userev/prof_blockedit.html');
       	if(!h) return false;
    	if(h.responseText){
            $('profileeditform').innerHTML = h.responseText;
            $('profileeditform').style.display = 'block';
            this.editmode = true;
        }
        ppof_allin.blockcheck = true;
        $('editiconrep').src = '/user/img/settings_red.gif';
    }
    this.hiddenform = function(){
        if(!$('profileeditform')) return;
        $('profileeditform').style.display = 'none';
        this.editmode = null;
        ppof_allin.blockcheck = null;
    }
    this.checkformvis = function(){
        if(this.editmode)   this.hiddenform();
        else                this.displayform();
    }
    this.senddata = function(){
        var varcheck = ['email','firstname','lastname'];
        this.f = document.forms['profeditdat'].elements;
        this.er = new Array();
        if(!this.f['f[email]'].value) 										    this.er['email']	= 'Не указан E-mail';
        else if(!this.f['f[email]'].value.match(reg_emailre))				    this.er['email'] 	= 'E-mail имеет некорректный формат';
        else this.checks('email');
        if($('selectname1').checked && !this.f['f[firstname]'].value) this.er['firstname']= 'Если хотите подписыватся именем, нужно его указать';
        if($('selectname2').checked && !this.f['f[lastname]'].value)  this.er['lastname'] = 'Если хотите подписыватся Фамилией, нужно ее указать';
        var x = '';
        for(var i in varcheck){
            if(this.er[varcheck[i]]){
                x+= this.er[varcheck[i]]+'\r\n';
            }
        }
        if(x){
            alert(x);
        }else{
             document.forms['profeditdat'].submit();
        }
        return false;
    }
	this.checks = function(nm){
		var handler = mkhttp('/xml/allcheck/'+nm+'.xml?'+nm+'='+this.f['f['+nm+']'].value);
   		if(handler.status == 200) {
			r = handler.responseXML.getElementsByTagName("req")[0].firstChild.nodeValue;
			if(r == 1) return;
			else if(r!=0){
                this.er[nm] = r;
            }
		}
	}
}

/* Добавить в друзья */
function prof_addriend(thname){
    this.thname = thname;
    this.phrase = new Array();
    this.friendnum = null;
    this.add = function(id){
        this.friendnum = id;
        if(myfriends && myfriends[this.friendnum] == 'noacti' || myfriends[this.friendnum] == 'noapprov'){
            //alert(this.phrase['non']);
            return;
        }
        var mode = 'add';
        if(myfriends && (myfriends[this.friendnum] == 'friend' || myfriends[this.friendnum] == 'writer' || myfriends[this.friendnum] == 'reader')){
            mode = 'dell';
        }
        var h = mkhttp('/xml/userev/addfriend.xml?mode='+mode+'&friend='+this.friendnum);
       	if(!h) return false;
    	if(h.responseXML && h.responseXML.getElementsByTagName("status")){
            var z = h.responseXML.getElementsByTagName("status")[0].firstChild.nodeValue;
            if(z == 'dell'){
                myfriends[this.friendnum] = null;
            }else if(z == 'add'){
                myfriends[this.friendnum] = 'noacti';
            }
        }
        this.init();
    }
    this.init = function(id){
        if(id) this.friendnum = id;
        if(!$(this.thname+'_'+this.friendnum) || !myfriends) return;
        if(myfriends[this.friendnum] == 'friend'){
            $(this.thname+'_'+this.friendnum).innerHTML = 'Удалить из друзей';
        }else if(myfriends[this.friendnum] == 'writer'){
            $(this.thname+'_'+this.friendnum).innerHTML = 'Удалить из писателей';
        }else if(myfriends[this.friendnum] == 'reader'){
            $(this.thname+'_'+this.friendnum).innerHTML = 'Удалить из читателей';
        }else if(myfriends[this.friendnum] == 'noacti' || myfriends[this.friendnum] == 'noapprov'){
            $(this.thname+'_'+this.friendnum).style.cursor = 'default';
            $(this.thname+'_'+this.friendnum).innerHTML = this.phrase['noa'];
        }else{
            $(this.thname+'_'+this.friendnum).innerHTML = this.phrase['add'];
        }
    }
}

/* Блоки */
function getblock(nm){
    this.names      = nm;
    this.baseurl    = '/xml/profblock/';
    this.mode       = 'profblock_'+this.names;
    this.pagsel     = '0';
    this.userid     = '0';
    this.init = function(){
        if(num = GetCookie ('block_'+this.names))
            if($(this.names+'_opnselname_'+num))  this.opnselct(num,$(this.names+'_opnselname_'+num).innerHTML);
            else this.list();
        else this.list();
    }
    this.opnselct = function(id,hml){
        if($(this.names+'_opnsel_divmenu')) hide_layer(this.names+'_opnsel_divmenu');
        this.pagsel = id;
        SetCookie('block_'+this.names,this.pagsel);
        if($(this.names+'_opnsel') && hml) $(this.names+'_opnsel').innerHTML = hml;
        this.list();
    }
    this.list = function(){
    	var url =  this.baseurl+this.mode+'/'+this.pagsel+'/'+this.userid+'.xml';
    	var names = this.names;
    	jQuery.get(url,function(xml){
    		jQuery('#'+names+'_opnsel_divtext').html(jQuery('allhtml',xml).text());
    	})
    	/*
    	var h = mkhttp(url);
    	if(!h) return false;
    	if(h.responseXML && h.responseXML.getElementsByTagName("allhtml") && $(this.names+'_opnsel_divtext')) $(this.names+'_opnsel_divtext').innerHTML = h.responseXML.getElementsByTagName("allhtml")[0].firstChild.nodeValue;
    	*/
    }
}






/*Ajax*/
mkhttp = function(url,data,handler,obj){
	h = getHTTP();
    h.open(data?'POST':'GET', url, (typeof(handler) != 'undefined' && handler)?true:false);
    if(data)
        h.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    h.send(typeof(data) != 'undefined'? data : null);
    if(handler){
	   	if(typeof(h.onload) != 'undefined')
			h.onload = function (){if(obj) handler(h,obj); else handler(h);}
	    else
			h.onreadystatechange = 	function(){
				if(h.readyState == 4)
					if(h.status == 200)
						if(obj) handler(h,obj); else handler(h);
				    else return false;
				else return false;
			}
	}else
		return h;
}
getHTTP = function(){
	var r;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try{
		r = new ActiveXObject("Msxml2.XMLHTTP")
	}catch(e){
		try{
			r = new ActiveXObject("Microsoft.XMLHTTP")
		}catch(E){
			r=false
		}
	}
	@else
	r=false
	@end @*/
	if(!r){
		try{
			r = new XMLHttpRequest();
		}catch(e){
			r = false
		}
	}
	return r;
}

var ltIE7 = false
/*@cc_on @if (@_jscript_version < 5.7) ltIE7 = true @end @*/

function setVote()
{
	var result = document.getElementById('result')

	var uls = document.getElementsByTagName('ul')
	var ulsLnt = uls.length

	for(var i=0; i<ulsLnt; i++)
	{
		if(uls[i].className == 'voting')
		{
			var as = uls[i].getElementsByTagName('a')
			var asLnt = as.length
			/*
			for(var j=0; j<asLnt; j++)
			{
				as[j].rel = j+1				
				as[j].onclick = function()
				{
					var sb = this.parentNode.parentNode.getElementsByTagName('a')
					var sbLnt = sb.length
					
					for(var k=0; k<sbLnt; k++)
					{
						sb[k].className = ''
					}

					this.className = 'cur'
					result.innerHTML = this.rel // имитация отправки результата голосования
					return false
				}
			}
			*/

		}
	}
}

