dom = (document.getElementById)? true : false;
isOpera = (window.opera)? true : false;
isOpera7 = (isOpera && document.readyState)? true : false;

function hideTags(tagname) {
	var allFlashes = document.getElementsByTagName(tagname);
	for (var i = 0; i < allFlashes.length; i++) {
		if (allFlashes.item(i).parentNode.className != 'supportDiv') {
			var supportDiv = document.createElement('div');
			supportDiv.className = 'supportDiv';
			supportDiv.style.width = allFlashes.item(i).getAttribute('width');
			supportDiv.style.height = allFlashes.item(i).getAttribute('height');
			allFlashes.item(i).parentNode.insertBefore(supportDiv, allFlashes.item(i));
			supportDiv.appendChild(allFlashes.item(i));
		}
		allFlashes.item(i).style.display = 'none';
	}
}

function showTags(tagname) {
	var allFlashes = document.getElementsByTagName(tagname);
	for (var i = 0; i < allFlashes.length; i++) {
		allFlashes.item(i).style.display = 'block';
	}
}

function  showLogin(islogin, rp) {
	if( isOpera &&  !isOpera7 ) {
		img=new Image();
		img.src='http://clck.yandex.ru/click/dtype=morda/*http://mail.yandex.ru/';
		return true;
	} else if (dom) {
            if(document.forms['login']){
				f=document.forms['login'];
                if(typeof(rp) != 'undefined' ) f.retpath.value = rp;
                if(islogin == 2){
                    var cookies = document.cookie;
                    if(cookies.length < 1){
                        islogin=0;
                    }
                    else{
                        var login = "";
                        var start = cookies.indexOf("yandex_login=");
                        if(start != -1){
                            start += 13;
                            var end = cookies.indexOf(";", start);
                            if(end != -1){
                                login = cookies.substring(start, end);
                            }
                            else{
                                login = cookies.substring(start);
                            }
                            login = unescape(login);
                            if(login.length>1){
                                islogin=1;
                                if(f.login.value != login){
                                    f.login.value = login;
                                    f.passwd.value = "";
                                }
                            }
                            else{
                                islogin=0;
                            }
                        }
                        else{
                            islogin=0;
                        }
                    }
                }
				hideTags('object');
				hideTags('iframe');
                document.getElementById('login-form').style.display = 'block';
                      if(document.getElementById('login-form-shadow')) document.getElementById('login-form-shadow').style.display = 'block';
                if(islogin){
                    f.passwd.focus();
                }
                else{
                    f.login.focus();
                }
                return false;
            }
            else{
                img=new Image();
                img.src='http://clck.yandex.ru/click/dtype=morda/*http://mail.yandex.ru/';
                return true;
            }
	}
	return true;
}

function hideLogin() {
	document.getElementById('login-form').style.display = 'none';
        if(document.getElementById('login-form-shadow')) document.getElementById('login-form-shadow').style.display = 'none';
	showTags('object');
	showTags('iframe');
	return false;
}

function CheckCookie()
{
    var cookies = document.cookie;
    if(cookies.length < 1){
        return true;
    }

    var sid = "";
    var start = cookies.indexOf("Session_id");
    if(start==-1){
        return false;
    }

    start += 11;
    var end = cookies.indexOf(";", start);
    if(end != -1){
        sid = cookies.substring(start, end);
    }
    else{
        sid = cookies.substring(start);
    }
    sid = unescape(sid);

    var parts = sid.split('.');

    if(parts[2] == '1'){
        return true;
    }

    var now = new Date().getTime();
    var delta = (now - parts[0]*1000 - parts[1]) /1000;

    if(parseFloat(delta) < 7200.0){
        return true;
    };

    return false;
}

function CheckSession(rp)
{
    if(!CheckCookie())
        return showLogin(2, rp);
}

function ClickLogin()
{
    if(CheckCookie()){
        document.location.href = 'http://www.yandex.ru/?ncrnd=' + Math.random();
        return false;
    }
    else{
        return showLogin(2, 'http://www.yandex.ru/');
    }
}

