/***************************************************************************
 *                            Dolphin Web Community Software
 *                              -------------------
 *     begin                : Mon Mar 23 2006
 *     copyright            : (C) 2007 BoonEx Group
 *     website              : http://www.boonex.com
 *
 *
 *
 ****************************************************************************/

/***************************************************************************
 *
 *   This is a free software; you can modify it under the terms of BoonEx
 *   Product License Agreement published on BoonEx site at http://www.boonex.com/downloads/license.pdf
 *   You may not however distribute it for free or/and a fee.
 *   This notice may not be removed from the source code. You may not also remove any other visible
 *   reference and links to BoonEx Group as provided in source code.
 *
 ***************************************************************************/

/**
 * Checks/unchecks all tables
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
function setCheckboxes(the_form, do_check)
{
        var elts  = document.forms[the_form].getElementsByTagName('input');
    var elts_cnt  = elts.length;

    for ( i = 0; i < elts_cnt; i++)
    {
        elts[i].checked = do_check;
                if ( elts[i].type == "submit" )
                        elts[i].disabled = !do_check;
    }
}

function UpdateSubmit(the_form) {
        var elts  = document.forms[the_form].getElementsByTagName('input');
        var elts_cnt  = elts.length;
        var bChecked = false;

        for ( i = 0; i < elts_cnt; i++) {
                if (elts[i].type == "checkbox" && elts[i].checked == true) {
                        bChecked = true;
                }
                if ( elts[i].type == "submit" ) {
                        elts[i].disabled = true;
                }
        }
        for ( i = 0; i < elts_cnt; i++) {
                if ( elts[i].type == "submit" ) {
                        if (bChecked == true) {
                                elts[i].disabled = false;
                        } else {
                                elts[i].disabled = true;
                        }
                }
        }
}

function setCheckbox(the_form)
{
    var elts      = document.forms[the_form].getElementsByTagName('input');
    var elts_cnt  = elts.length;

    var allUnchecked = true;

    for (var i = 0; i < elts_cnt; i++)
        if(elts[i].checked)
                        allUnchecked = false;

    for (var i = 0; i < elts_cnt; i++)
        if( elts[i].type == "submit" )
                        elts[i].disabled = allUnchecked;
}


var win = "width=500,height=600,left=100,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=yes";
function get_gallery(id_prof)
{
   window.open("photos_gallery.php?ID="+id_prof,'gallery',win);
}

function launchTellFriend ()
{
    var win = "width=300,height=300,left=200,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no";
    window.open("tellfriend.php",'tellfriend',win);
    return false;
}

function launchTellFriendProfile ( sID )
{
    var win = "width=300,height=300,left=200,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=no";
    window.open("tellfriend.php?ID="+sID,'tellfriendprofile',win);
    return false;
}

function BxShowBlock( id )
{

        var el;
        el = document.getElementById( id );

        if( el.style.display == 'none' )
        {
                el.style.display = 'block'
        }
        else
        {
                el.style.display = 'none'
        }

        return false;
}

function ShowShowHide ( show_name, show_name2, hide_name )
{
    if (hide_name) hide_name.style.display = 'none';
    if (show_name) show_name.style.display = 'inline';
    if (show_name2) show_name2.style.display = 'inline';
}

function ShowHideHide ( show_name, hide_name, hide_name2 )
{
    if (hide_name) hide_name.style.display = 'none';
    if (hide_name2) hide_name2.style.display = 'none';
    if (show_name) show_name.style.display = 'inline';
}

function charCounter(field,maxLength,countTarget)
{

        field = document.getElementById(field);
        countTarget = document.getElementById(countTarget);
        var inputLength=field.value.length;

        if(inputLength >= maxLength)
        {
                field.value=field.value.substring(0,maxLength);

        }
        countTarget.innerHTML=maxLength-field.value.length;


}



/**
 * change images onHover mouse action
 */
function show(FileName,jpg1Name)
{
        document.images[FileName].src = jpg1Name;
}

/**
 * set status of the browser window to 's'
 */
function ss(s)
{
        window.status = s;
        return true;
}

/**
 * set status of the browser window to empty
 */
function ce()
{
        window.status='';
}


/**
 * insert emotion item
 */
function emoticon( txtarea, text ) {

        text = ' ' + text + ' ';
        if (txtarea.createTextRange && txtarea.caretPos) {
                var caretPos = txtarea.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
                txtarea.focus();
        } else {
                txtarea.value  += text;
                txtarea.focus();
        }
}

function launchAddToIM (id)
{
    var win = "width=600,height=160,left=100,top=100,copyhistory=no,directories=no,menubar=no,location=no,resizable=no,scrollbars=yes";
    window.open("explanation.php?explain=imadd&ID="+id,'add_to_im',win);
    return false;
}

function docOpen(text)
{
        newWindow=window.open('','','toolbar=no,resizable=yes,scrollbars=yes,width=400,height=300');
        newWindow.document.open("text/html");
        newWindow.document.write(unescape(text));
        newWindow.document.close();
}

function get_data( container, url, siteUrl )
{
        if ( container )
        {
                var container = document.getElementById( container );
                container.innerHTML = "РЎРµРєСѓРЅРґСѓ ... ";
        }

        var XMLHttpRequestObject = createXmlHttpObj();

        if( !XMLHttpRequestObject )
                return false;

        var data_source = siteUrl + 'xml/menu.php' + url + '&_t=' + Math.random();
        XMLHttpRequestObject.open( "GET", data_source );
        XMLHttpRequestObject.onreadystatechange = function()
        {
                if ( XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200 )
                {
                        var xmlDocument = XMLHttpRequestObject.responseXML;
                        delete XMLHttpRequestObject;
                        XMLHttpRequestObject = null;

                        names = xmlDocument.getElementsByTagName("name");
                        links = xmlDocument.getElementsByTagName("link");

                        list_sublinks(names, links);
                }
        }
        XMLHttpRequestObject.send( null );

        //container.innerHTML = '';

        function list_sublinks(names, links)
        {
                var loopIndex, name, link, maxIndex = names.length;

                container.innerHTML = '';
                for ( loopIndex = 0; loopIndex < maxIndex; loopIndex++ )
                {
                        //if ( values[loopIndex].firstChild.nodeName=="name")
                        name = names[loopIndex].firstChild.nodeValue;

                        //if ( values[loopIndex].childNodes[1].nodeName=="link")
                        link = links[loopIndex].firstChild.nodeValue;

                        container.innerHTML += '<div class="innerSubmenuDiv"><a href="' + link + '">' + name + '</a></div>';
                }
        }
}


function createNamedElement( type, name )
{

    var element;

    try
    {
        element = document.createElement('<'+type+' name="'+name+'">');
    } catch (e) { }

    if (!element || !element.name) // Cool, this is not IE !!
    {
        element = document.createElement(type)
        element.name = name;
    }

    return element;
}

function display_node(node, siteUrl)
{

    var nn = document.getElementById( node );

        var sub_name = node.split('_')[1];
    if ( 'none' == nn.style.display )
    {
        nn.style.display='block';
        if ( '' == nn.innerHTML )
            get_data( node, '?action=menu&ID=' + sub_name, siteUrl);
    }
    else
    {
                nn.style.display='none';
    }

}

function stripSlashes(str)
{
        return str.replace(/\\/g, '');
}

function createXmlHttpObj()
{
        if ( window.XMLHttpRequest )
                return new XMLHttpRequest();
        else if ( window.ActiveXObject )
                return new ActiveXObject("Microsoft.XMLHTTP");
        else
        {
                alert( 'Please upgrade your browser' );
                return false;
        }
}

function getHtmlData( elemID, url )
{
        var elem = document.getElementById( elemID );

        if( !elem || !url )
                return false;

        var url = url + '&r=' + Math.random();


        var oXMLHttpReq = createXmlHttpObj();

        if( !oXMLHttpReq )
                return false;

        elem.innerHTML = '<div class="loading">Загрузка..</div>';

        oXMLHttpReq.open( "GET", url );
        oXMLHttpReq.onreadystatechange = function()
        {
                if ( oXMLHttpReq.readyState == 4 && oXMLHttpReq.status == 200 )
                {
                        sNewText = oXMLHttpReq.responseText;
                        elem.innerHTML = sNewText;

                        // parse javascripts and run them
                        aScrMatches = sNewText.match(/<script[^>]*javascript[^>]*>([^<]*)<\/script>/ig);
                        if( aScrMatches )
                        {
                                for( ind = 0; ind < aScrMatches.length; ind ++ )
                                {
                                        sScr = aScrMatches[ind];
                                        iOffset = sScr.match(/<script[^>]*javascript[^>]*>/i)[0].length;
                                        sScript = sScr.substring( iOffset, sScr.length - 9 );

                                        eval( sScript );
                                }
                        }
                }
        }
        oXMLHttpReq.send( null );
}


/*
        Show the Floating Description for any element.

        usage:
        <element
                onmouseover="showFloatDesc( 'your html description here...' );"
                onmousemove="moveFloatDesc( event );"
                onmouseout="hideFloatDesc();">

        Your document must contain in the root of body following content:
                <div id="FloatDesc" style="position:absolute;display:none;"></div>
        and specific stylesheet for it.
*/
function showFloatDesc( text )
{
        descDiv = document.getElementById( 'FloatDesc' );
        if ( descDiv )
        {
                descDiv.innerHTML = text;
                descDiv.style.display = 'block';
        }
}

function hideFloatDesc()
{
        descDiv = document.getElementById( 'FloatDesc' );
        if ( descDiv )
                descDiv.style.display = 'none';
}

function moveFloatDesc( ev )
{
        descDiv = document.getElementById( 'FloatDesc' );
        if ( descDiv )
        {
                showPos = getPositionData( descDiv, ev );
                descDiv.style.left = showPos['posX'] + 'px';
                descDiv.style.top = showPos['posY'] + 'px';
        }
}

/*
        Core of the Floating Description
*/
function getPositionData(obj, showEvent)
{
        if ( !showEvent )
                showEvent = window.event;

        var pos_X = 0, pos_Y = 0;
        if ( showEvent )
        {
                if ( typeof(showEvent.pageX) == 'number' )
                {
                        pos_X = showEvent.pageX;
                        pos_Y = showEvent.pageY;
                }
                else if ( typeof(showEvent.clientX) == 'number' )
                {
                        pos_X = showEvent.clientX; pos_Y = showEvent.clientY;
                        if ( document.body &&
                                ( document.body.scrollTop || document.body.scrollLeft ) &&
                                !( window.opera || window.debug || navigator.vendor == 'KDE' ) )
                        {
                                pos_X += document.body.scrollLeft;
                                pos_Y += document.body.scrollTop;
                        }
                        else if ( document.documentElement &&
                                ( document.documentElement.scrollTop ||
                                document.documentElement.scrollLeft ) &&
                                !( window.opera || window.debug || navigator.vendor == 'KDE' ) )
                        {
                                pos_X += document.documentElement.scrollLeft;
                                pos_Y += document.documentElement.scrollTop;
                        }
                }
        }

        var scroll_X = 0, scroll_Y = 0;
        if ( document.body &&
                ( document.body.scrollTop || document.body.scrollLeft ) &&
                !( window.debug || navigator.vendor == 'KDE' ) )
        {
                scroll_X = document.body.scrollLeft;
                scroll_Y = document.body.scrollTop;
        }
        else if ( document.documentElement &&
                ( document.documentElement.scrollTop ||
                document.documentElement.scrollLeft ) &&
                !( window.debug || navigator.vendor == 'KDE' ) )
        {
                scroll_X = document.documentElement.scrollLeft;
                scroll_Y = document.documentElement.scrollTop;
        }

        var win_size_X = 0, win_size_Y = 0;
        if (window.innerWidth && window.innerHeight)
        {
                win_size_X = window.innerWidth;
                win_size_Y = window.innerHeight;
        }
        else if ( document.documentElement &&
                document.documentElement.clientWidth &&
                document.documentElement.clientHeight )
        {
                win_size_X = document.documentElement.clientWidth;
                win_size_Y = document.documentElement.clientHeight;
        }
        else if (document.body && document.body.clientWidth && document.body.clientHeight)
        {
                win_size_X = document.body.clientWidth;
                win_size_Y = document.body.clientHeight;
        }

        pos_X += 15;
        pos_Y += 20;

        if (obj.offsetWidth && obj.offsetHeight)
        {
                if (pos_X - scroll_X + obj.offsetWidth + 5 > win_size_X)
                        pos_X -= (obj.offsetWidth + 25);
                if (pos_Y - scroll_Y + obj.offsetHeight + 5 > win_size_Y)
                        pos_Y -= (obj.offsetHeight + 20);
        }

        var res = new Array;
        res['posX'] = pos_X;
        res['posY'] = pos_Y;
        res['scrollX'] = scroll_X;
        res['scrollY'] = scroll_Y;
        res['winSizeX'] = win_size_X;
        res['winSizeY'] = win_size_Y;

        return res;
}

function addBookmark( title, url )
{
        if (title == undefined)
                title = document.title;

        if (url == undefined)
                url = top.location.href;

        if (window.sidebar) // firefox
                window.sidebar.addPanel(title, url, '');
        else if(window.opera && window.print) // opera
        {
                var elem = document.createElement('a');
                elem.setAttribute('href',url);
                elem.setAttribute('title',title);
                elem.setAttribute('rel','sidebar');
                elem.click();
        }
        else if(document.all) // ie
                window.external.AddFavorite(url, title);
        else if (navigator.appName=="Netscape") //Netscape
                alert( 'To bookmark this site press "Ctrl+D".' );
        else
                alert( 'Your browser doesn\'t support this feature' );
}

newID = 2;

function AddFilesFields() {
        var el;
        el = document.getElementById( 'browse_file_div' );
        if (el.childNodes.length > 10) {
                alert('5 files maximum');
                return;
        }
        newEl = document.createElement( 'INPUT' );
        newEl.type = 'file';
        newEl.name = 'userfile[]';
        //newEl.id   = 'file_' + newID;
        el.appendChild( newEl );
        newElbr = document.createElement( 'BR' );
        el.appendChild( newElbr );
        newID ++;
}

function changeBigPicTo(newBigImageName, newBigImageHref) {
        var el;
        el = document.getElementById('AdvBigImg');
        el.style.backgroundImage = 'url(' + newBigImageName + ')';
        el = document.getElementById('AdvBigImgFullSize');
        el.href = newBigImageHref;
}

function moveScrollRightAuto( el_id, b ) {
        if (b)
                scrollTimerId = setInterval ("moveScrollRight('"+el_id+"')", 100);
        else
                clearInterval (scrollTimerId);
}

function moveScrollLeftAuto( el_id, b ) {
        if (b)
                scrollTimerId = setInterval ("moveScrollLeft('"+el_id+"')", 100);
        else
                clearInterval (scrollTimerId);
}

function moveScrollRight( el_id ) {
        var step = 5;
        var e = document.getElementById( el_id );
        var left  = e.style.left ? parseInt( e.style.left ) : 0;

        minLeft = e.parentNode.clientWidth - parseInt( e.clientWidth );

        if ( (left-step) > minLeft ) {
                e.style.left = left - step + "px";
        }
        else {
                e.style.left = minLeft + "px";
                moveScrollRightAuto ( el_id, false);
        }
}

function moveScrollLeft( el_id ) {
        var step = 5;
        var e = document.getElementById( el_id );
        var left = parseInt(e.style.left ? e.style.left : 0);

        if (left + step < 0 ) {
                e.style.left = left + step + "px";
        }
        else {
                e.style.left = "0px";
                moveScrollLeftAuto (false);
        }
}

function addEvent( obj, evt, func )
{
        if( !obj || !evt || !func )
                return false;

        if( obj.addEventListener )
                obj.addEventListener( evt, func, false );
        else if( obj.attachEvent )
                obj.attachEvent( 'on' + evt, func );
}

function showHiddenMenu( id )
{
        setTimeout( 'if( holdHiddenMenu == ' + id + ' ){ var _el = document.getElementById( \'hiddenMenu_' + id + '\' ); if( _el ){ hideHiddenMenu( currentTopItem ); _el.style.display = \'block\'; } }', 100 );
}

if( typeof( holdHiddenMenu ) == 'undefined' )
        holdHiddenMenu = 0;

function hideHiddenMenu( id )
{
        setTimeout( 'if( holdHiddenMenu != ' + id + ' ){ var _el = document.getElementById( \'hiddenMenu_' + id + '\' ); if( _el ){ showHiddenMenu( currentTopItem ); _el.style.display = \'none\'; } }', 100 );
}

function checkAll( formName, _pref, doCheck ) {
        _form = document.forms[formName];

        if( !_form )
                return false;

        for( ind = 0; ind < _form.length; ind ++ ) {
                _elem = _form[ind];

                if( _elem.type != 'checkbox' )
                        continue;

                if( _elem.name.substr( 0, _pref.length ) != _pref )
                        continue;

                _elem.checked = doCheck;
        }
}

function emailCheck( str )
{

 if (str.search( /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/i ) == -1 )
         return false;
 else
         return true;
}

function getBoonexId( formFrom, formTo )
{
        if( !formFrom || !formTo )
                return false;

        ID = formFrom.ID;
        Password = formFrom.Password;

        if( !ID || !Password )
                return false;

        var oXMLHttpReq = createXmlHttpObj();

        if( !oXMLHttpReq )
                return false;

        if( !ID.value.length )
        {
                alert( 'Please enter BoonEx ID' );
                ID.focus();
                return false;
        }

        if( !Password.value.length )
        {
                alert( 'Please enter Password' );
                Password.focus();
                return false;
        }

        formFrom.Submit.disabled = true;
        formFrom.Submit.value = 'Wait...';

        sUrl = 'get_boonex_id.php?ID=' + encodeURIComponent(ID.value) + '&Password=' + encodeURIComponent(Password.value) + '&r=' + Math.random();

        oXMLHttpReq.open( "GET", sUrl );
        oXMLHttpReq.onreadystatechange = function()
        {
                if ( oXMLHttpReq.readyState == 4 && oXMLHttpReq.status == 200 )
                {
                        //alert( oXMLHttpReq.responseText );
                        oXML = oXMLHttpReq.responseXML;

                        if( !oXML.getElementsByTagName( 'ID' ).length )
                        {
                                alert( 'Authorization failed. Try again.' );
                                return false;
                        }

                        aFields = new Array();
                        aFields['Username'] = 'NickName';
                        aFields['Email']    = 'Email';
                        aFields['Password'] = 'Password,Password1,Password2';
                        aFields['Realname'] = 'Realname';
                        aFields['DateOfBirth'] = 'DateOfBirth';
                        aFields['Sex']      = 'Sex';
                        aFields['Country']  = 'Country';
                        aFields['City']     = 'City';
                        aFields['ZIP']      = 'zip';
                        aFields['Headline'] = 'Headline';
                        aFields['DescriptionMe'] = 'DescriptionMe';
                        aFields['tags']     = 'Tags';

                        for( fieldFrom in aFields )
                        {
                                if( !oXML.getElementsByTagName( fieldFrom ).length )
                                        continue;

                                eFieldFrom = oXML.getElementsByTagName( fieldFrom )[0];
                                sValue = eFieldFrom.firstChild.data;

                                aFieldsTo = aFields[fieldFrom].split( ',' );

                                for( i in aFieldsTo )
                                {
                                        fieldTo = aFieldsTo[i];
                                        if( formTo[fieldTo] )
                                        {
                                                eFieldTo = formTo[fieldTo];

                                                switch( eFieldTo.type )
                                                {
                                                        case 'text':
                                                        case 'textarea':
                                                        case 'password':
                                                        case 'select-one':
                                                                eFieldTo.value = sValue;
                                                                break;
                                                        default:
                                                                if( typeof eFieldTo == 'object' ) //radio
                                                                        for( n = 0; n < eFieldTo.length; n++ )
                                                                                if( eFieldTo[n].value == sValue )
                                                                                        eFieldTo[n].checked = true;
                                                }
                                        }
                                        else if( formTo[fieldTo + '_day'] && formTo[fieldTo + '_month'] && formTo[fieldTo + '_year'] ) //date
                                        {
                                                aDate = sValue.split( '-' );

                                                if( aDate[2].substr( 0, 1 ) == '0' ) //drop leading zero
                                                        aDate[2] = aDate[2].substr( 1, 1 );

                                                formTo[fieldTo + '_year'].value  = aDate[0];
                                                formTo[fieldTo + '_month'].value = aDate[1];
                                                formTo[fieldTo + '_day'].value   = aDate[2];
                                        }
                                }
                        }
                }
        }
        oXMLHttpReq.send( null );

        formFrom.Submit.disabled = false;
        formFrom.Submit.value = 'Import';
}

function displ_elem (elem, display) {

  document.getElementById(elem).style.display = display;

}

function change_elem (elem, content) {

if(document.getElementById(elem))document.getElementById(elem).innerHTML=content;

}

function status_send(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.open("GET", url, true);
            req.send();
        }
    }
}

function displ_edit_status() {
    displ_elem('change_status', 'inline');
    displ_elem('mystatus_text', 'none');
    displ_elem('link_to_change', 'none');
}

function delete_status() {
    displ_elem('change_status', 'none');
    displ_elem('mystatus_text', 'inline');
    displ_elem('link_to_change', 'inline');
    change_elem ('mystatus_text', '');
    status_send ('/changestatus.php?status=');
    document.getElementById('status_input').value='';
}


function change_status() {
    displ_elem('change_status', 'none');
    displ_elem('mystatus_text', 'inline');
    displ_elem('link_to_change', 'inline');
    content = document.getElementById('status_input').value;
    change_elem ('mystatus_text', content);
    status_send ('/changestatus.php?status='+content);
}

function change_photo_name_descr(change_status, photoid) {
    displ_elem('Splash', 'none');
    displ_elem('change_name', 'none');
    displ_elem('change_descr', 'none');

    if (change_status=='descr')
      the_new = document.getElementById('new_descr').value;
    if (change_status=='name')
      the_new = document.getElementById('new_name').value;


    status_send ('/change_photo.php?'+change_status+'='+the_new+'&photoid='+photoid);
}

function change_video_name_descr(change_status, photoid) {
    displ_elem('Splash', 'none');
    displ_elem('change_name', 'none');
    displ_elem('change_descr', 'none');

    if (change_status=='descr')
      the_new = document.getElementById('new_descr').value;
    if (change_status=='name')
      the_new = document.getElementById('new_name').value;


    status_send ('/change_video.php?'+change_status+'='+the_new+'&photoid='+photoid);
}

function change_audio_name_descr(change_status, photoid) {
    displ_elem('Splash', 'none');
    displ_elem('change_name', 'none');
    displ_elem('change_descr', 'none');

    if (change_status=='descr')
      the_new = document.getElementById('new_descr').value;
    if (change_status=='name')
      the_new = document.getElementById('new_name').value;


    status_send ('/change_audio.php?'+change_status+'='+the_new+'&photoid='+photoid);
}

function send_welcome() {

        mail = document.getElementById('welcome_mail').value;
        name = document.getElementById('welcome_name').value;
        family = document.getElementById('welcome_family').value;
        message = document.getElementById('welcome_msg').value;

        getHtmlData('welcome_message', '/mail_send.php?mail='+mail+'&name='+name+'&family='+family+'&message='+message);

}

function CreateRequest() 
{ 
    if (window.XMLHttpRequest) 
    { 
        try 
        { 
            return new XMLHttpRequest(); 
        } 
        catch (e) { } 
    } 
    else if (window.ActiveXObject) 
    { 
        //Internet explorer 
        try 
        { 
            return new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) { } 
        try 
        { 
            return new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        catch (e) { } 
    } 
 
    alert("Невозможно создать XMLHttpRequest"); 
     
    return false; 
}


/*
Функция посылки запроса к файлу на сервере
r_method - тип запроса: GET или POST
r_path - путь к файлу
r_args - аргументы вида a=1&b=2&c=3...
r_handler - функция-обработчик ответа от сервера
*/
function SendRequest(r_method, r_path, r_args, r_handler)
{

var Request = CreateRequest();

      
      if (!Request)
      {
      return;
      }

      Request.onreadystatechange = function()
      {
      if (Request.readyState == 4)
      {

      r_handler(Request);
      }
      }

      if (r_method.toLowerCase() == "get" && r_args.length > 0)
      r_path += "?" + r_args;

      Request.open(r_method, encodeURI(r_path), true);

      if (r_method.toLowerCase() == "post")
      {

      Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
      Request.send(encodeURI(r_args));
      }
      else
      {

      Request.send(null);
      }
}

//Проверка зайнятости ника
var nick_int;
var nick_cur;
var nick_check = false;

function nick_ch_int(){
        if(document.getElementById('NickName')){
                if(nick_cur!=document.getElementById('NickName').value){
                        nick_cur = document.getElementById('NickName').value;
                        if(nick_cur.length>=0){
                                nick_ch(nick_cur);
                        }
                }
        }
}

function nick_ch(nick){
        SendRequest('GET', '/check_nick.php', 'nick=' + nick, on_nick_get );
}

var on_nick_get = function(Request){
        if(document.getElementById('nick_check_result'))document.getElementById('nick_check_result').innerHTML = Request.responseText;
}

function changeCountry(oSelect, sFlagUrl, sSelName, number)
{
//	alert(document.getElementById('ajax_'+sSelName).innerHTML);
	//flagImage = document.getElementById('flagImageId');
	if (oSelect.value != 'other')
	{
        //flagImage.src = sFlagUrl + oSelect.value.toLowerCase() + '.gif';
	}
	else
	{
		//flagImage.src = '/templates/tmpl_uni/images/spacer.gif';
		ajaxCountry = document.getElementById('ajax_'+sSelName);
		ajaxCountry.innerHTML = '<img src="/templates/tmpl_uni/images/ajax_loader.gif">';
        var onGetCountries = function(Request)
        {
            document.getElementById('ajax_'+sSelName).innerHTML = Request.responseText;
        }
        
        SendRequest('GET', '/ajax/get_countries.php', 'sel_name=' + sSelName+'&number='+number+'&selName='+sSelName, onGetCountries);
	}
}

function changeCountry2(oSelect, sFlagUrl, sSelName, number)
{
	flagImage = document.getElementById('flagImageId2');
	if (oSelect.value != 'other')
	{
		flagImage.src = sFlagUrl + oSelect.value.toLowerCase() + '.gif';
	}
	else
	{

        var onGetCountries2 = function(Request)
        {
            document.getElementById('ajax_'+sSelName).innerHTML = Request.responseText;
        }

		flagImage.src = '/templates/tmpl_uni/images/spacer.gif';
		ajaxCountry = document.getElementById('ajax_Country2');
		ajaxCountry.innerHTML = '<img src="/templates/tmpl_uni/images/ajax_loader.gif">';
		SendRequest('GET', '/ajax/get_countries.php', 'sel_name=' + sSelName, onGetCountries2);
	}
}


function open_window(link,w,h) //opens new window
 {
  var win = "width="+w+",height="+h+",menubar=no,location=no,resizable=yes,scrollbars=yes";
  newWin = window.open(link,"newWin",win);
  newWin.focus();
 }
 
 
 function CheckForDisabled(name) {
  if (document.getElementById(name).options[document.getElementById(name).selectedIndex].disabled) {
        document.getElementById(name).selectedIndex = 1;
  }
}
 
/* Проверка формы для обрезки фоток */  
function checkValues (form) {
	return true;
	if (form.x.value < 1 || form.y.value < 1 || form.w.value < 1 || form.h.value < 1) {
		alert("Извините, но сначала Вы должны выделить нужную Вам область на фотографии!");
		return false;
	}
	return true;
}

/* Приглашение на мероприятия */
function InviteFriends () {
	var selector = document.getElementById('invitefriends');
	var filter = document.getElementById('name');
	filter.value = '';
	nameFilter('');
	selector.style.display = 'block';
}

function CloseInviteForm () {
	var selector = document.getElementById('invitefriends');
	selector.style.display = 'none';
	unCheckSelections();
}

function InviteUsers () {
	var selector = document.getElementById('inviteusers');
	var filter = document.getElementById('name');
	filter.value = '';
	nameFilter('');
	selector.style.display = 'block';
}

function CloseInviteUsersForm () {
	var selector = document.getElementById('inviteusers');
	selector.style.display = 'none';
	unCheckSelections();
}

function checkAllFriends () {
	var elements = document.getElementsByTagName('input');
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].name = 'selFriend[]') {
			elements[i].checked = true;
		}
	}
}

function checkInvitationForm (form) {
	var check = false;
	var elements = document.getElementsByTagName('input');
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].name = 'selUser[]') {
			if (elements[i].checked) {
				check = true;
			}
		}
	}
	if (check) {
		return true;
	}
	return false;
}

function inviteFormSubmit() {
	var check = false;
	var elements = document.getElementsByTagName('input');
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].name = 'selFriend[]') {
			if (elements[i].checked) {
				check = true;
			}
		}
	}
	if (check) {
		document.inviteform.submit();
	}
}

function inviteUsersFormSubmit() {
	var check = false;
	var elements = document.getElementsByTagName('input');
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].name = 'selFriend[]') {
			if (elements[i].checked) {
				check = true;
			}
		}
	}
	if (check) {
		document.inviteform2.submit();
	}
}

function unCheckSelections () {
	var elements = document.getElementsByTagName('input');
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].name = 'selFriend[]') {
			elements[i].checked = false;
		}
	}
}

function nameFilter (string) {
    //if (string == "") return;
    var divs = document.getElementsByTagName('DIV');    
    var check = false;    
    for (var i = 0; i < divs.length; i++) {
      if (divs[i].className == 'fList') {
        var divID = divs[i].id;
        if (divID.indexOf(string) < 0 && string != "") {
            divs[i].style.display = 'none';
        }
        else {
            divs[i].style.display = 'block';
            check = true;
        }
      }
    }    
}

function showUserInfo (image, name) {
	if (name == '') name = '/templates/tmpl_uni/images/icons/man.jpg';
	var resHTML = "<div style=&quot;text-align:center; width: auto;&quot;><b>"+name+"</b><br><img src=&quot;"+image+"&quot; style=&quot;border: 1px solid #E0E196; margin: 5px;&quot;></div>";
	return resHTML;
}

function inviteFromGroups () {
	var div = document.getElementById('groupsList');
	if (div.style.display == 'none') div.style.display = 'block';
	else div.style.display = 'none';
}

function showGroupUsers (group_id, event_id) {
	if (group_id > 0 && event_id > 0) {
		location.href = 'browse.php?action=invite&event_id='+event_id+'&fromgroup='+group_id;
	}
}

function save_selection (user_id, checkbox) {
	var check_uncheck_status = checkbox.checked == true ? 1 : 0;
	x_save_users_checkbox_status(user_id, check_uncheck_status, save_selection_res);
}
function save_selection_res (res) {
//	alert(res);
}
/* КОНЕЦ - Приглашение на мероприятия */

/* Голосование */
function vote_for_photocontent (mark, fileID) {
	//sajax_debug_mode = true;
	x_vote_for_photo(mark, fileID, vote_for_content_res);
}
function vote_for_content_res (res) {
	//alert(res);
	if (res != false) {
		var voteSpace = document.getElementById('voteSpace');
		var contents_mark = document.getElementById('contents_mark');
		voteSpace.innerHTML = '<b>Спасибо! Ваш голос принят!</b>';
		contents_mark.innerHTML = res;
	}
	else {
		alert('Голос не принят!');
	}	
}

function vote_for_audiocontent (mark, fileID) {
	//sajax_debug_mode = true;
	x_vote_for_audio(mark, fileID, vote_for_content_res);
}

function vote_for_videocontent (mark, fileID) {
	//sajax_debug_mode = true;
	x_vote_for_video(mark, fileID, vote_for_content_res);
}

function vote_for_bookcontent (mark, fileID) {
	//sajax_debug_mode = true;
	x_vote_for_book(mark, fileID, vote_for_content_res);
}

function vote_for_blogcontent (mark, fileID) {
	//sajax_debug_mode = true;
	x_vote_for_blog(mark, fileID, vote_for_content_res);
}
/* КОНЕЦ - Голосования */



/*  Слайд - шоу */
var stopSlideShow = 0;
var photosArr = new Array();
function initSlideShow () {
	if (checkSlideShowParams()) {
		var albumIDs = '';
		var profileCheck = document.getElementById('profileCheck');
		var delay = document.getElementById('delay').value;
		var elements = document.getElementsByTagName('input');
		stopSlideShow = 0;
		for (var i = 0; i < elements.length; i++) {
			if (elements[i].className == 'albumCheck' && elements[i].type == 'checkbox') {
//				alert(elements[i].value);
				if (elements[i].checked) {
					albumIDs += elements[i].value + ',';
				}
			}
		}
		
		if (profileCheck.checked) {
			var profileIncluded = profileCheck.value;
		}
		
		sajax_request_type = "POST";
//		sajax_debug_mode = true;
		x_initSlideShow(albumIDs, profileIncluded, delay, runSlideShow);
	}
}

function runSlideShow (photos) {
	photosArr = photos;
	if (photos['media'][0]['file'] != '') {		
		document.getElementById('slideShowBg').style.display = 'block';		
		document.getElementById('slideShowContainer').style.display = 'block';		
		setNewPhoto(0);
	}
}

function setNewPhoto (index) {
	var mediaArr = new Array();
	mediaArr = photosArr['media'][index];
	document.getElementById('photoTitle').innerHTML = mediaArr['title'];
	document.getElementById('photoFrame').innerHTML = '<img src="'+mediaArr['file']+'" id="photoTag" style="border: 1px solid #000000">';
//	alert(document.getElementById('photoFrame').innerHTML);
	index++;
	var delay = photosArr['delay'] * 1000;
	if (photosArr['media'][index] && !stopSlideShow) setTimeout('setNewPhoto('+index+')', delay);	
	
}

function closeSlideShow () {
	document.getElementById('slideShowBg').style.display = 'none';
	document.getElementById('slideShowContainer').style.display = 'none';
	stopSlideShow = 1;
}

function checkSlideShowParams () {
	var profileCheck = document.getElementById('profileCheck');
	var elements = document.getElementsByTagName('input');
	var check = 0;
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].className == 'albumCheck' && elements[i].type == 'checkbox') {
			if (elements[i].checked) {
				check = 1;
			}
		}
	}
//	alert(check);
	if (profileCheck.checked) {
		check = 1;
	}
	if (!check) {
		alert('Выберите пожалуйста хотябы один альбом для просмотра в Слайд-шоу!');
		return false;
	}
	return true;
}

/*  КОНЕЦ - Слайд - шоу */