function getClickCoordinates(e){ 
	var evt = e ? e : window.event, src = evt.target ? evt.target : evt.srcElement, 
	abX = evt.pageX ? evt.pageX : evt.clientX, abY = evt.pageY ? evt.pageY : evt.clientY, 
	abL = abT = 0; while (src.offsetParent) {abL += src.offsetLeft; abT += src.offsetTop; src = src.offsetParent} 
	var rzX = abX - abL - 2, rzY = abY - abT - 2;

	//	alert ('X=' + rzX + '\nY=' + rzY);

	return rzX;
} 

function getPNPhoto_p(){
	xajax_fetchPhoto($('prev_photo_id').innerHTML, $('current_height').innerHTML);
}

function getPNPhoto_n(){
	xajax_fetchPhoto($('next_photo_id').innerHTML, $('current_height').innerHTML);
}

/*
function getPNPhoto(event){

	var x_coords = getClickCoordinates(event);
	var cyr_width = $('current_width').innerHTML;

	if(x_coords >= cyr_width/2){
		alert('next_photo_id');
		var img_id = $('next_photo_id').innerHTML;
	} else {
		alert('prev_photo_id');
		var img_id = $('prev_photo_id').innerHTML;
	}

//	xajax_fetchPhoto(img_id, $('current_height').innerHTML);
}
*/

function Set_Cookie( name, value, expires, path, domain, secure ){

    // set time, it's in milliseconds
    var today = new Date();
    today.setTime( today.getTime() );

    /*
    if the expires variable is set, make the correct
    expires time, the current script below will set
    it for x number of days, to make it for hours,
    delete * 24, for minutes, delete * 60 * 24
    */
    if ( expires ){
        expires = expires * 1000 * 60 * 60 * 24;
    }

    var expires_date = new Date( today.getTime() + (expires) );

    document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
    ( ( path ) ? ";path=" + path : "" ) +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}


function Get_Cookie( check_name ) {

    // first we'll split this cookie up into name/value pairs
    // note: document.cookie only returns name=value, not the other components
    var a_all_cookies = document.cookie.split( ';' );
    var a_temp_cookie = '';
    var cookie_name = '';
    var cookie_value = '';
    var b_cookie_found = false; // set boolean t/f default f

    for ( i = 0; i < a_all_cookies.length; i++ )
    {
        // now we'll split apart each name=value pair
        a_temp_cookie = a_all_cookies[i].split( '=' );


        // and trim left/right whitespace while we're at it
        cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

        // if the extracted name matches passed check_name
        if ( cookie_name == check_name )
        {
            b_cookie_found = true;
            // we need to handle case where cookie has no value but exists (no = sign, that is):
            if ( a_temp_cookie.length > 1 )
            {
                cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
            }
            // note that in cases where cookie is initialized but no value, null is returned
            return cookie_value;
            break;
        }
        a_temp_cookie = null;
        cookie_name = '';
    }
    if ( !b_cookie_found )
    {
        return null;
    }
}

function commentsInit(){
    var elements = $$('div.checkers');

    elements.each(function(element, index){

        if(Get_Cookie(element.id) == 'y'){
            $(element.id).innerHTML = '';
        }
    });
}

function setRate(id){

    c_name =  'yanukovych_cc_'+id;

    Set_Cookie(c_name, 'y', 7, '/', '', '');
    xajax_setCommentRating(id);
}


function addParamInPOST(name_param, type_param, value_param, form_name){

	var input = document.createElement("input");
	input.setAttribute("type", type_param);
	input.setAttribute("name", name_param);
	input.setAttribute("value", value_param);
	document.getElementById(form_name).appendChild(input);
}


function makeOrder(id, lang){ xajax_makeOrder(id, $('uid').innerHTML, lang); }

function sendPrivateMessage(lang){

	if($('pm_ta').value == '') { $('pm_ta').focus(); init_toggle2('pm_ta'); return false; }

	xajax_sendPrivateMessage(
						$('sid').innerHTML, 
						$('rid').innerHTML, 
						$('pm_ta').value,
						lang
					);
}

function openPrivateMessageWindow2(vidget_id, recipient_id, recipient_name){
	var coordinates = $(vidget_id).viewportOffset();
	var h1 = coordinates[1];
	var el_left = coordinates[0]+5;
	var coordinates = document.viewport.getScrollOffsets();
	var h2 = coordinates[1];
	var el_top = h2 + h1+15;

	$('private_message').setStyle({'top': el_top+'px', 'left': el_left+'px'});
	$('pm_ta').value='';
	$('pm_for_name').innerHTML=recipient_name;
	$('rid').innerHTML=recipient_id;

	login_toggle('private_message', 'private_message_on');
}

function openPrivateMessageWindow(vidget_id, recipient_id, recipient_name){

	var coordinates = $(vidget_id).viewportOffset();
	var h1 = coordinates[1];
	var el_left = coordinates[0];
	var coordinates = document.viewport.getScrollOffsets();
	var h2 = coordinates[1];
	var el_top = h2 + h1;

	$('private_message').setStyle({'top': el_top+'px', 'left': el_left+'px'});
	$('pm_ta').value='';
	$('pm_for_name').innerHTML=recipient_name;
	$('rid').innerHTML=recipient_id;

	login_toggle('private_message', 'private_message_on');
}

function messageaccordioninit(){

	var stretchers	= $('content1', 'content2'); 
	var toggles		= $('title1', 'title2');

	var colorSwap1 =  new fx.Color(toggles[0], {fromColor: "#063053", toColor: "#3176ac"});
	var colorSwap2 =  new fx.Color(toggles[1], {fromColor: "#3176ac", toColor: "#063053"});

	var myAccordion = new fx.Accordion(
										toggles, 
										stretchers, {
														opacity: false, height: true, duration: 400,
														onActive: function(toggler){colorSwap1.toggle();colorSwap2.toggle();}
													});
}

function makeAnswer(parent_id){

    var myElement = $('comments_make_block');
    var myScrollEffect = new fx.Scroll;

    myScrollEffect.scrollTo(myElement);    

    $('cid').innerHTML = parent_id;
    if($('userdescid')){ $('userdescid').focus(); } else {
		init_toggle2('join_postinternal');    
    }
}

function messageSend(nid, cid){

    var comment_body = $('comment_body');
    var editname = $('commentor_name');
    var captchanumbers = $('captchanumbers');

    if( comment_body.value != '' && 
        captchanumbers.value != '' && 
        editname.value != '' && 
        !comment_body.value.blank())
    {
        xajax_addComment(
                            comment_body.value, 
                            $('nid').innerHTML, 
                            editname.value, 
                            captchanumbers.value,
                            $('cid').innerHTML
                        );
        return;

    } else {

        alert('Поля \'Имя\', \'Текст сообщения\' и \'Код\' являются обязательными.');

        if(comment_body.value == ''){comment_body.focus();}
        if(editname.value == ''){editname.focus();}
        if(captchanumbers.value == ''){captchanumbers.focus();}
        
        return;
    }
}


function printStackTrace() {
   var callstack = [];
   var isCallstackPopulated = false;
   try {
       i.dont.exist+=0; 
   } catch(e) {
       if (e.stack) { //Firefox
           var lines = e.stack.split("\n");
           for (var i = 0, len = lines.length; i < len; i++) {
               if ( lines[i].match( /^\s*[A-Za-z0-9\-_\$]+\(/ ) ) {
                   callstack.push(lines[i]);
               }
           }

           callstack.shift();
           isCallstackPopulated = true;
       }
       else if (window.opera && e.message) { //Opera
           var lines = e.message.split("\n");
           for (var i = 0, len = lines.length; i < len; i++) {
               if ( lines[i].match( /^\s*[A-Za-z0-9\-_\$]+\(/ ) ) {
                   var entry = lines[i];
                   //Append next line also since it has the file info
                   if (lines[i+1]) {
                       entry += " at " + lines[i+1];
                       i++;
                   }
                   callstack.push(entry);
               }
           }
           callstack.shift();
           isCallstackPopulated = true;
       }
   }
   if (!isCallstackPopulated) { //IE and Safari
       var currentFunction = arguments.callee.caller;
       while (currentFunction) {
           var fn = currentFunction.toString();
           //If we can't get the function name set to "anonymous"
           var fname = fn.substring(fn.indexOf("function") + 8, fn.indexOf("(")) || "anonymous";
           callstack.push(fname);
           currentFunction = currentFunction.caller;
       }
   }
   output(callstack);
}

function output(arr) {
   alert(arr.join("\n\n"));
}


function ajax_request(action, params, message, callback, loader) {
    if (message == null || confirm(message)) {

        new Ajax.Request(action, {
            contentType: 'application/x-www-form-urlencoded',
            method: 'post',
            parameters: params,
            onComplete: function(transport) {
                if (200 == transport.status) {
                    if(callback != null) {
                        callback(transport.responseText);
                    }
                } else {
                    if(callback != null) {
                        callback(null);
                    }
                }
                return true;
            },
            onException: function(req, exception) {
                return Tools.processException(req, exception);
            }
        });
    }
}

function search_init(siteurl){

    var str = $F('search_text_id');

    /*
	xajax_doParseValue(str);

	if($F('check_id') == '1'){
		$('search_text_id').value = ''; $('search_text_id').focus(); init_toggle2('search_text_id'); return false; 
	}
    */

    if(typeof str == "string") {
      str = str.replace(/^\s+|\s+$/g, '');
    } else {
      str = '';
    }

	var arr_boxes = $$('input.chk');
	var arr_boxes_cheked = Array();

	for(var i=0; i<arr_boxes.length; i++){
		if(arr_boxes[i].checked){
			arr_boxes_cheked.push($F(arr_boxes[i]));
		}
	}
	var selected_cat_str = arr_boxes_cheked.join(',');
//	if(selected_cat_str == '') { alert('Необходимо выбрать категорию'); return false; }
    
    $("search").action=siteurl+"?action=tryfind&search_type="+(document.search.RadioGroupSharpSearch[0].checked ? "AND": "OR")+
                                    "&sharp_search="+($('CheckBoxSharpSearch').checked ? "1": "0") +
                                    "&cat="+selected_cat_str+
                                    "&search_str="+str;

    $("search").submit();
}

function doLogout(l){ xajax_tryDoLogout(l); }

function init_toggle(container_name) 
{
	var red_alert = new fx.Flash(container_name, {color_from:"#DEE2E3", color_to:"#7f0000", count:2, duration:100});
	red_alert.toggle();
}

function init_toggle2(container_name) 
{
	var red_alert = new fx.Flash(container_name, {color_from:"#ffffff", color_to:"#7f0000", count:2, duration:100});
	red_alert.toggle();
}

function init_toggle3(container_name) 
{
	var red_alert = new fx.Flash(container_name, {color_from:"#003863", color_to:"#7f0000", count:1, duration:200});
	red_alert.toggle();
}


//http://habrahabr.ru/blogs/javascript/14481/
onReady = (function(ie){
 var d = document;
 return ie ? function(c){
   var n = d.firstChild,
    f = function(){
     try{
      c(n.doScroll('left'))
     }catch(e){
      setTimeout(f, 10)
     }
    }; f()
  } : 
  /webkit|safari|khtml/i.test(navigator.userAgent) ? function(c){
   var f = function(){
     /loaded|complete/.test(d.readyState) ? c() : setTimeout(f, 1000)
    }; f()
  } : 
  function(c){
   d.addEventListener("DOMContentLoaded", c, false);
  }
})(/*@cc_on 1@*/);

Object.extend(Event, {
    onReady : function(f) {
        onReady(f);
    }
});


/**
 * Validates form defined by form name.
 *
 * @access public
 * @param  string
 */
function validate(formName)
{
    switch (formName) {
    case 'contact':
        conditions = [
            ['first_name', 'not_empty', 'input_first_name'],
            ['last_name', 'not_empty', 'input_last_name'],
            ['email', 'not_empty', 'input_email'],
            ['email', 'email', 'incorrect_email'],
            ['zip', 'zip', 'incorrect_zip'],
            ['country', 'not_empty', 'input_country'],
            ['city', 'not_empty', 'input_city']
        ];
        break;
    default:
        alert(getMessage('invalid_form', language));
        return false;
    }

    return check(conditions, formName);
}

/**
 * Returns message for given name with given language
 *
 * @access public
 * @param  string
 */
function getMessage(message, language)
{
    var en = '';
    var it = '';
    var ru = '';

    switch (message) {
    case 'input_first_name':
        en = 'Please input your first name.';
        it = 'Inserire il nome.';
        ru = 'Пожалуйста, введите свое имя. ';
        break;
    case 'input_last_name':
        en = 'Please input your last name.';
        it = 'Inserire il cognome.';
        ru = 'Пожалуйста, введите свою фамилию. ';
        break;
    case 'input_email':
        en = 'Please input your e-mail.';
        it = "Inserire l'e-mail.";
        ru = 'Пожалуйста, введите e-mail. ';

        break;
    case 'incorrect_email':
        en = 'Please input correct e-mail address.';
        it = 'Inserire un indirizzo e-mail valido.';
        ru = 'Пожалуйста, введите корректный e-mail. ';

        break;
    case 'incorrect_zip':
        en = 'Postal code should be a number with minimum 5 digits.';
        it = 'Il codice postale dovrebbe essere un numero di 5 cifre.';
        ru = 'Почтовый индекс должен состоять как минимум из 5 цифр. ';

        break;
    case 'input_country':
        en = 'Please input your country.';
        it = 'Inserire la nazione.';
        ru = 'Пожалуйста, введите страну. ';

        break;
    case 'input_city':
        en = 'Please input your city.';
        it = 'Inserire la cittа.';
        ru = 'Пожалуйста, введите город. ';

        break;
    case 'input_phone':
        en = 'Please input your contact phone.';
        it = 'Inserire il nr. di telefono.';
        ru = 'Пожалуйста, введите телефон. ';

        break;
    case 'invalid_phone':
        en = 'Bad phone number format.';
        it = 'Nr. di telefono non valido.';
        ru = 'Пожалуйста, введите корректный номер телефона. ';

        break;
    case 'invalid_fax':
        en = 'Bad fax number format.';
        it = 'Nr. di telefono non valido.';
        ru = 'Пожалуйста, введите корректный номер факса. ';
        break;
    case 'incorrect_form':
        en = 'Error! Incorrect form name.';
        it = 'Errore! Nome campo non valido.';
        ru = 'Ошибка! Неправильное имя формы. ';
        break;

    default:
        return '';
    }

    if (language == 'en') {
        return en;
    } else if (language == 'it'){
        return it;
    } else {
        return ru;
    }
}

/**
 * Checks form using given conditions.
 *
 * @access public
 * @param  string
 */
function check(conditions, formName)
{
    form = document.forms[formName];
    elems = form.elements;

    for (i = 0; i<conditions.length; i++) {
        field = conditions[i][0];
        type = conditions[i][1];
        message = conditions[i][2];

        for (j = 0; j < elems.length; j++) {
            if (elems[j].name == field) {
                elem = elems[j];
                value = elem.value;
                switch (type) {
                case 'not_empty':
                    if (value == '') {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'email':
                    if (!value.match(/.+@.+\..+/)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'url':
                    if (!(
                        value == 'http://www.' ||
                        value == '' ||
                        value.match(/^https?:\/\/([\w-]+\.)+[\w-]+(\/.*|)$/)
                    )) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'positive':
                    value = Number(value);
                    if (value <= 0) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'regexp':
                    param = conditions[i][3];
                    if (!value.match(param)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'not_equal':
                    param = conditions[i][3];
                    if (value == param) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'exp':
                    parts = value.split('/');
                    if (!(
                        parts.length == 2 &&
                        parts[0] > 0 &&
                        parts[0] <= 12 &&
                        parts[1] >= 2000
                    )) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'integer':
                    if (!value.match(/^\d+$/)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'date':
                    if (value != '' && !isCorrectDate(value)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'currency':
                    if (value != '' && !isCorrectCurrency(value)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'currency/date':
                    if (value != '') {
                        parts = value.split('/');
                        if (parts.length != 4) {
                            fail(message, formName, elem);
                            return false;
                        }
                        price = parts[0];
                        date = parts[1] + '/' + parts[2] + '/' + parts[3];

                        if (!(
                            isCorrectCurrency(price) &&
                            isCorrectDate(date)
                        )) {
                            fail(message, formName, elem);
                            return false;
                        }
                    }
                    break;
                case 'zip':
                    if (value != '' && !value.match(/^\d{5,}$/)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                case 'phone':
                    if (value != '' && !value.match(/^[0-9 \+\-\(\)]+$/)) {
                        fail(message, formName, elem);
                        return false;
                    }
                    break;
                }
            }
        }
    }

    return true;
}


/**
 * Checks if given string is a correct date in format mm/dd/yyyy.
 *
 * @param  string
 * @return bool
 */
function isCorrectDate(str)
{
    parts = str.split('/');
    if (parts.length != 3) {
        return false;
    }
    date = new Date(parts[2], parts[0] - 1, parts[1]);

    if(
        (Number(date.getDate()) == Number(parts[1])) &&
        (Number(date.getMonth()) + 1 == Number(parts[0])) &&
        (Number(date.getFullYear()) == Number(parts[2]))
    ) {
        return true;
    } else {
        return false;
    }
}

/**
 * Checks if given string is a correct currency with thouthands and decimals separators.
 *
 * @param  string
 * @return bool
 */
function isCorrectCurrency(value)
{
    return value.match(/^\d+(,\d{3})*(\.\d+)?$/);
}

/**
 * Fails form field one condition check.
 *
 * @param string
 * @param string
 * @param object element
 */
function fail(message, formName, field)
{
    alert(getMessage(message, language));
    focus(field);
}

/**
 * Sets focus to given element.
 *
 * @access public
 * @param  object element
 */
function focus(element)
{
    element.focus();
}

/**
 * Sets focus to given element of given form.
 *
 * @access public
 * @param  string
 * @param  string
 */
function focusElement(formName, elementName)
{
    focus(document.forms[formName].elements[elementName]);
}


function openIT(theURL)
{
    var windowprops = "width=500,height=400,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";
    var subwin;

    subwin = window.open(theURL, "",windowprops);
}

function openPopup(url, width, height, scroll) {
    w = window.open(
        url,
        'popup',
        'width=' + width + ',height=' + height + ',scrollbars=' + scroll + ',resizable'
    );
    w.focus();
}

function ifConfirmed(message) {
    result = confirm(message);
    event.returnValue = result;
    return result;
}

function acceptChoice(formName, input1, value1, input2, value2) {
    var input = eval("window.opener.document." + formName + "." + input1);
    input.value = value1;
    input.onchange(); // onchange is not fired automatically ;(

    if (input2 != null && value2 != null) {
        var input = eval("window.opener.document." + formName + "." + input2);
        input.value = value2;
    }
    window.opener.focus();
    window.close();
}

/**
 * Функции работы с cookies
**/
function ex_setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function ex_getCookie(c_name) {
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1; 
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        } 
      }
    return "";
}

/**
 * Процедуры для обслуживания модуля голосования
**/
function show_loading_progress(id) {
    var html = "<div class=\"loading\"><img src='images/loading.gif' height=16 width=16><\/div>";
    $(id).innerHTML = html;
}

function preset(view_result, vote_id, lang_digit){

    var el = document.getElementsByName('item_voting');
    var count_question = el.length;
    var index = 0;

    if(view_result != null && view_result) {
        index = -1;
    } else {
        if(vote_id == null) {
            return;
        }
        var I = 0;
        for(I ; I < count_question; I++){
            if(el[I].checked == true){
                index = el[I].value;
            }       
        }
        if(index < 0) {
            alert('Необходимо выбрать один из пунктов голосования');
            return;
        }
        ex_setCookie('voting_' + vote_id, 1, 31);
    }
    show_loading_progress('voting_res');

    xajax_setVoting(vote_id, index, lang_digit);
}

function Polls (dataset, options) {
   this.dataset = dataset;
   this.options = options;
}

Polls.prototype.get_vote_rate = function (vote_id, total) {
   var rate = 0;
   if(total == 0) {
      return 0;
   }
   for(var i=0; i < this.dataset.myFirstDataset.length; i++) {
      if(this.dataset.myFirstDataset[i][0] == vote_id) {
         rate = Math.round(this.dataset.myFirstDataset[i][1]*100/total);
         break;
      }
   }
   return rate;
}

Polls.prototype.get_votes = function (vote_id) {
   var votes = 0;
   for(var i=0; i < this.dataset.myFirstDataset.length; i++) {
      if(this.dataset.myFirstDataset[i][0] == vote_id) {
         votes = this.dataset.myFirstDataset[i][1];
         break;
      }
   }
   return votes;
}

Polls.prototype.get_max_vote_id = function () {
   var vote_id = 0;
   var max_vote = -1;
   for(var i=0; i < this.dataset.myFirstDataset.length; i++) {
      if(this.dataset.myFirstDataset[i][1] >= max_vote) {
         max_vote = this.dataset.myFirstDataset[i][1];
         vote_id = this.dataset.myFirstDataset[i][0];
      }
   }
   return vote_id;
}

Polls.prototype.gen_voting_result = function (lang_param) {
        
   if(lang_param == 1) {
	var mess1 = 'голосів';
	var mess2 = 'Всього проголосувало: ';
   } else if(lang_param == 2){
	var mess1 = 'голосов';
	var mess2 = 'Всего проголосовало: ';
   } else {
	var mess1 = 'votes';
	var mess2 = 'Total votes: ';
   }
   
   var _html = "";
   var total = 0;
   var max_vote_id = this.get_max_vote_id();
   
   _html = "<ul class=\"polls\">";
   
   //подсчет общего кол-ва голосов
   for(var i=0; i < this.dataset.myFirstDataset.length; i++) {
      total += this.dataset.myFirstDataset[i][1];
   }

   //расчет рэйтов
   for(var i=0; i < this.options.xTicks.length; i++) {
      var rate = this.get_vote_rate(this.options.xTicks[i].v, total);
      _html += "<li>";

      if(this.options.xTicks[i].v == max_vote_id) {
        _tmp = "<div class=\"bar_container v_top\">";
      } else { 
        _tmp = "<div class=\"bar_container\">";
      }

      _html += _tmp + "<div class=\"voting_bar\" style=\" width:" + rate + "%\">";
      _html += "<\/div><div class=\"percent\"> " + rate +"%, " + this.get_votes(this.options.xTicks[i].v) + " " + mess1 +"</div></div>";
      _html += "<div class=\"result_answer \">";
      _html += this.options.xTicks[i].label;
      _html += "</div>";
      _html += "<\/li>";
   }
   _html += "<li><strong>" + mess2 + total + "<\/strong><\/li>";
   _html += "<\/ul>";
   return _html;
}

function awataraccordioninit2(){

	var stretchers	= $('content1', 'content2'); 
	var toggles		= $('title1', 'title2');

	var colorSwap1 =  new fx.Color(toggles[0], {fromColor: "#98BD32", toColor: "#7FCFEA"});
	var colorSwap2 =  new fx.Color(toggles[1], {fromColor: "#7FCFEA", toColor: "#98BD32"});

	var myAccordion = new fx.Accordion(
										toggles, 
										stretchers, {
														opacity: false, height: true, duration: 500,
														onActive: function(toggler){colorSwap1.toggle();colorSwap2.toggle();}
													});
}

function awataraccordioninit(){
	heightEffect = new fx.Height($("select_from_list"), {duration:500});
	heightEffect.hide();
}


function selectAwatar(src){
	$('user_choise').src = src;
	$('hidden_selected_name').value = src;
}

function setDefaultAwatar(){
	$('user_choise').src = 'images/user_icon.gif';
	$('hidden_selected_name').value = 'images/user_icon.gif';

	if($('select_from_list').offsetHeight > 0){
		heightEffect.custom(176, 0);
	}
}

function throb(item) {
		
	if (!hash[item]) hash[item] = 2;
	fader.fade(Math.floor(hash[item] / 2), !(hash[item] % 2));
	setTimeout(function() { throb(item); }, (hash[item] % 2) ? 100 : 8000);
	if (++hash[item] > fader.msg.length * 2 - 1) hash[item] = 2;
}

