jQuery.preloadImages = function() {
  for ( var i = 0; i < arguments.length; i++) {
    jQuery("<img>").attr("src", arguments[i]);
  }
}

jQuery.clientCoords = function() {
  var dimensions = {
    width : 0,
    height : 0
  };
  if (document.documentElement) {
    dimensions.width = document.documentElement.offsetWidth;
    dimensions.height = document.documentElement.offsetHeight;
  } else if (window.innerWidth && window.innerHeight) {
    dimensions.width = window.innerWidth;
    dimensions.height = window.innerHeight;
  }
  return dimensions;
}

function initForm() {
  jQuery("form.reg-form input")
      .focus(
          function() {
            var show = true;
            if (this.id == 'first_name' || this.id == 'last_name') {
              show = ($('error_for_first_name') == null || $('error_for_first_name').innerHTML == '')
                  && ($('error_for_last_name') == null || $('error_for_last_name').innerHTML == '')
            } else
              show = ($('error_for_' + this.id) == null || $('error_for_' + this.id).innerHTML == '')
            if (show)
              jQuery(this).parent().parent().children('div.focus-help').fadeIn(
                  '300');
          });
  jQuery("form.reg-form input").blur( function() {
    jQuery(this).parent().parent().children('div.focus-help').fadeOut('300');
  });
  jQuery("form.reg-form select").focus( function() {
    jQuery(this).parent().parent().children('div.focus-help').fadeIn('300');
  });
  jQuery("form.reg-form select").blur( function() {
    jQuery(this).parent().parent().children('div.focus-help').fadeOut('300');
  });

  jQuery("form.reg-form a.show-info").click( function() {
    jQuery(this).parent().parent().children('div.clicked-help').fadeIn('300');
    return false;
  });
  jQuery("form.reg-form div.clicked-help div.close").click( function() {
    jQuery(this).parent().fadeOut('300');
  });
  

}

var groupLoadedUsers = new Array();

function initWidget() {
  /* added 14.05 */
  jQuery('div.w-content form.form input').keyup(
      function() {
        if (jQuery('div.w-content form.form input#name').val() != ''
            && jQuery('div.w-content form.form input#family').val() != ''
            && jQuery('div.w-content form.form input#email').val() != ''
            && jQuery('div.w-content form.form input#summ').val() != '')
          jQuery('div.w-content form.form input.add-money').removeClass(
              'add-money-disabled');
        else {
          jQuery('div.w-content form.form input.add-money').addClass(
              'add-money-disabled');
        }
      });
  jQuery('div.w-content form.form input')
      .keyup(
          function() {
            if (jQuery('div.w-content form.form input#login').val() != ''
                && jQuery('div.w-content form.form input#userid').val() != ''
                && jQuery('div.w-content form.form input#transfer-summ').val() != '')
              jQuery('div.w-content form.form input.send').removeClass(
                  'send-disabled');
            else {
              jQuery('div.w-content form.form input.send').addClass(
                  'send-disabled');
            }
          });
}

jQuery(document).ready(
    function() {

      if (jQuery("div.view-space ul").position()) {
        var countEl = jQuery("div.view-space ul li").size();
        var pos = jQuery("div.view-space ul").position();
        var moveNum = pos.left - 70;
        var moveStep = moveNum + 'px';
        var modE = -1;
        if (moveNum * modE > (countEl - 6) * 70) {
          jQuery("div.photo-slider div.rarr").addClass('disabled-rarr');
        }
      }

      jQuery("a.show-login-form").mouseover(
          function() {
            jQuery("div.login-form").css('filter', 'alpha(opacity=80)').fadeIn(
                '300');
          });
      jQuery("a.show-login-form").click( function() {
        return false;
      });

      jQuery("div.login-form").mouseout(
          function(e) {
            var position = jQuery("div.login-form").position();
            var cursorPositionX = e.pageX;
            var cursorPositionY = e.pageY;
            var blockWidth = jQuery("div.login-form").width();
            var blockHeight = jQuery("div.login-form").height();
            var leftMargin = (jQuery(document).width() - 1000) / 2;
            if (cursorPositionX >= leftMargin + blockWidth
                || cursorPositionX <= leftMargin
                || cursorPositionY >= position.top + blockHeight) {
              jQuery("div.login-form").fadeOut('300');
            }
          });

      jQuery("ul.menu a").mouseover( function() {
      	
          if (jQuery(this).attr('id')) {
          	
          	if (!(jQuery('div#sub-cont-'+jQuery(this).attr('id')).is(':visible'))) {
          	      	
          		jQuery('div.submenu-container').slideUp();
          	}
          	
          	jQuery('div.submenu-container ul.submenu').hide();
          	jQuery('ul.menu span.active').removeClass('active');
          	jQuery('ul#sub-' + jQuery(this).attr('id')).show();
          	jQuery('div#sub-cont-'+ jQuery(this).attr('id')).slideDown();
          	jQuery(this).parent('span').addClass('active');
          }
        });
        
        jQuery("div.submenu-container").mouseout(
                function(e) {
              	
                 if (jQuery(this).hasClass('hidden')) {
                    var position = jQuery(this).position();
                    var cursorPositionY = e.pageY;
                    var blockHeight = jQuery('div#'+jQuery(this).attr('id')+' ul.submenu')
                        .height();
                    //alert(blockHeight);
                    // alert(jQuery('div#head').height() +
                    // jQuery('div#top-line').height() + position.top +
                    // blockHeight);
                    // alert (cursorPositionY);
                    if (cursorPositionY >= jQuery('div#head').height()
                        + jQuery('div#top-line').height() + position.top
                        + blockHeight + 11) {
                      var elId = jQuery("div.submenu-container ul.submenu:visible")
                          .attr("id").substring(4);
                      jQuery('div#'+ jQuery(this).attr('id')).slideUp();
                      jQuery("ul.menu a#" + elId).parent('span')
                          .removeClass('active');
                    }
                 }
                });

      jQuery("div.photo-slider div.rarr").click( function() {
        if (jQuery(this).hasClass('disabled-rarr')) {
          return false;
        } else {
          var countEl = jQuery("div.view-space ul li").size();
          var pos = jQuery("div.view-space ul").position();
          var modE = -1;
			var moveNum = pos.left - 210;
			if (((countEl-6)*70) - moveNum*modE < 0)
			   moveNum = moveNum - (((countEl-6)*70) - moveNum*modE);
			var moveStep = moveNum + 'px';
          jQuery("div.view-space ul").css('left', moveStep);
          if (moveNum * modE >= (countEl - 6) * 70) {
            jQuery(this).addClass('disabled-rarr');
          }
          if (jQuery("div.photo-slider div.larr").hasClass('disabled-larr')) {
            jQuery("div.photo-slider div.larr").removeClass('disabled-larr');
          }
        }
      });

      jQuery("div.photo-slider div.larr").click( function() {
        if (jQuery(this).hasClass('disabled-larr')) {
          return false;
        } else {
          var countEl = jQuery("div.view-space ul li").size();
          var pos = jQuery("div.view-space ul").position();
          var modE = -1;
			var moveNum = pos.left + 210;
			if (moveNum > 0)
			   moveNum = moveNum + moveNum*modE;
			var moveStep = moveNum + 'px';
          jQuery("div.view-space ul").css('left', moveStep);
          if (moveNum == 0) {
            jQuery(this).addClass('disabled-larr');
          }
          if (jQuery("div.photo-slider div.rarr").hasClass('disabled-rarr')) {
            jQuery("div.photo-slider div.rarr").removeClass('disabled-rarr');
          }
        }
      });
     initForm();
 	/*added 23.05*/
	

      /** *** 13/05/09 added **** */
      /*
       * jQuery('div.education-pack a.by-now').click(function(){
       * if(jQuery(this).next('div.pay-variant').is(':hidden')) {
       * jQuery('div.pay-variant').slideUp('300');
       * jQuery('a.by-now').removeClass('by-now-disabled'); }
       * jQuery(this).next('div.pay-variant').slideToggle('300', function() {
       * jQuery('div#footer').hide().show(); } );
       * jQuery(this).toggleClass('by-now-disabled'); return false; });
       * 
       * jQuery('div.pay-variant label, div.pay-variant
       * input').click(function(){ if
       * (jQuery(this).parent().children('div.focus-help').is(':visible'))
       * return true; else jQuery('div.focus-help').fadeOut('300');
       * jQuery(this).parent().children('div.focus-help').fadeIn('300');
       * jQuery(this).parent().parent().children('fieldset.disabled').removeClass('disabled');
       * });
       */
      /*
       * jQuery('form.plastic-card input').keyup(function(){
       * if(jQuery('form.plastic-card input#name').val() != '' &&
       * jQuery('form.plastic-card input#family').val() != '' &&
       * jQuery('form.plastic-card input#email').val() != '' &&
       * jQuery('form.plastic-card input#price').val() != '')
       * jQuery('form.plastic-card
       * input.pay-plastic-card').removeClass('pay-plastic-card-disabled'); else {
       * jQuery('form.plastic-card
       * input.pay-plastic-card').addClass('pay-plastic-card-disabled'); } });
       * 
       * jQuery('form.plastic-card input').keyup(function(){
       * if(jQuery('form.plastic-card input#name').val() != '' &&
       * jQuery('form.plastic-card input#family').val() != '' &&
       * jQuery('form.plastic-card input#email').val() != '' &&
       * jQuery('form.plastic-card input#price').val() != '')
       * jQuery('form.plastic-card
       * input.add-money').removeClass('add-money-disabled'); else {
       * jQuery('form.plastic-card
       * input.add-money').addClass('add-money-disabled'); } });
       */

      jQuery('a.tree-link').click( function() {
        //alert("Start");
          obj = jQuery(this);
          getMyGroupChildLine(obj);
          return false;
          /*
           * sid=obj.attr("id"); arr = sid.split("_"); id=arr[2]; if
           * (!in_array(id,groupLoadedUsers)) { groupLoadedUsers.push(id); }
           * else { jQuery('#ul_p_'+id).slideToggle('300'); return false; } new
           * Ajax.Request('/user/getFirstLine?id='+id, { method: 'get',
           * onSuccess: function(transport) { //jQuery('evalScripts').html(
           * transport.responseText); //alert(transport.responseText);
           * //$('u'+id).innerHTML += transport.responseText;
           * //alert(jQuery('#u'+id).html());
           * jQuery('#u'+id).append(transport.responseText);
           * //$('u_link_'+id).onclick = function () { removeTree(id); return
           * false;} ; window.document.body.style.cursor='default';
           * jQuery('#ul_p_'+id).slideToggle('300');
           * //jQuery('#u'+id).children().children().children('i.have-sub').toggleClass('have-sub-unfolded'); },
           * onCreate: function() { window.document.body.style.cursor='wait' }
           * }); return false;
           */
        });
      initWidget();

      /*
       * jQuery('div.tree a').click(function(){
       * 
       * //jQuery(this).parent().parent().parent().children('ul').slideToggle('300');
       * //jQuery(this).children().children('i.have-sub').toggleClass('have-sub-unfolded');
       * 
       * obj = jQuery(this); //alert("!");
       * 
       * //alert(jQuery(this).attr("id")); //return false; new
       * Ajax.Request('/user/getFirstLine?id='+obj.attr("id"), { method: 'get',
       * evalJS: true, onSuccess: function(transport) { //alert("Done");
       * jQuery('#evalScripts').html(transport.responseText);
       * //obj.parent().parent().parent().append(transport.responseText);
       * obj.parent().parent().parent().children('ul').slideToggle('300');
       * //$('u_link_'+id).onclick = function () { removeTree(id); return
       * false;} ; window.document.body.style.cursor='default'; }, onCreate:
       * function() { window.document.body.style.cursor='wait' } }); return
       * false; });
       */
    });

var endOfSearch = null;
function getMyGroupTreeR() {
  if (tree && tree.length) {
    id = tree[0];
    if (!in_array(id, groupLoadedUsers)) {
      groupLoadedUsers.push(id);
      
      var checked = '1';
      if (jQuery('#dfreess').attr('checked')) {
    	  checked = '0';
      }
      
      new Ajax.Request('/user/getFirstLine?id=' + tree[0]+'&free='+checked, {
        method : 'get',
        onSuccess : function(transport) {
          jQuery('#u' + id).append(transport.responseText);
          window.document.body.style.cursor = 'default';
          jQuery('#ul_p_' + id).slideToggle('300');
          jQuery('#g_u_' + id).children().children('i.have-sub').toggleClass(
              'have-sub-unfolded');
          tree.shift();
          getMyGroupTreeR();
        },
        onCreate : function() {
          window.document.body.style.cursor = 'wait'
        }
      });
    } else {
      jQuery('#ul_p_' + id).slideToggle('300');
      jQuery('#g_u_' + id).children().children('i.have-sub').toggleClass(
          'have-sub-unfolded');
      tree.shift();
      getMyGroupTreeR();
    }
  } else {
    if (endOfSearch) {

      jQuery('#' + endOfSearch).focus();
      jQuery('#' + endOfSearch).toggleClass("highlight");
      // alert(endOfSearch);
      // new Effect.ScrollTo(endOfSearch);
    }
  }
}

function getMyGroupChildLine(obj) {
  sid = obj.attr("id");
  arr = sid.split("_");
  id = arr[2];
  if (!in_array(id, groupLoadedUsers)) {
    groupLoadedUsers.push(id);
  } else {
    jQuery('#ul_p_' + id).slideToggle('300');
    jQuery('#g_u_' + id).children().children('i.have-sub').toggleClass(
        'have-sub-unfolded');
    return false;
  }
  var checked = '1';
  if (jQuery('#dfreess').attr('checked')) {
	  checked = '0';
  }
  
  new Ajax.Request('/user/getFirstLine?id=' + id+'&free='+checked, {
    method : 'get',
    onSuccess : function(transport) {

    jQuery('#u' + id).append(transport.responseText);
    window.document.body.style.cursor = 'default';
    jQuery('#ul_p_' + id).slideToggle('300');
    jQuery('#g_u_' + id).children().children('i.have-sub').toggleClass('have-sub-unfolded');
    jQuery("#my-group-tree").hide().show();
    jQuery("#footer").hide().show();
  },
  onCreate : function() {
    window.document.body.style.cursor = 'wait'
  }
  });
}

function in_array(needle, haystack, strict) {
  var found = false, key, strict = !!strict;

  for (key in haystack) {
    if ((strict && haystack[key] === needle)
        || (!strict && haystack[key] == needle)) {
      found = true;
      break;
    }
  }

  return found;
}