﻿
$(function()
{
    HeaderLinksHover();
    //wrapSelects();
    //$(document).pngFix();

    $(".ZoomableImageContainer").fancybox({ hideOnContentClick: true, zoomSpeedIn: 500, zoomSpeedOut: 500 });
    $("form").submit(function()
    {
        if ($(this).is('.GenerateArraysOnSubmit'))
            generateArraysOnSubmit(this);
        if ($(this).is('.LoginForm'))
            return logIn($(this).find('.Submit'));
        else if ($(this).is('.CVFile'))
            return chekCVForm(this);
        else if ($(this).is('.ForgotPass'))
            return submitForgotPass(this);
        else
            return $(this).validateInputs();
    });
    $("form .Required").blur(function() { validateField(this); });
    $("form .OnTheFly").blur(function() { validateFieldOnTheFly(this); });

    //<a href="[email]info[at]kevinleary[dot]net" rel="email">Kevin Leary</a>
    $("a.email").each(function()
    {
        // Modify the mailto: value
        var mailtoVal = $(this).attr('href');
        mailtoVal = mailtoVal.replace("[e]", "mailto:");
        mailtoVal = mailtoVal.replace("[a]", "@");
        mailtoVal = mailtoVal.replace(/\[d\]/g, ".");
        // Auto-generate title tags for users
        var mailtoTitle = mailtoVal.replace("mailto:", "Email: ");
        //$(this).attr('title', mailtoTitle);
        // onClick Event
        $(this).click(function()
        {
            window.location.href = mailtoVal;
            return false;
        });
    });

    //$("form .OnTheFly").keyup(function() { validateFieldOnTheFly(this); });
});

function selectTab(index)
{
    if (index >= 0)
    {
        //$('#TopMenu a').removeClass("Selected").addClass("UnSelected").eq(index).removeClass("UnSelected").addClass("Selected");
        $('#TopMenu a').eq(index).addClass("Selected");
        $('#TopMenuBottom').css({ 'left': -((index) * 93) + "px" });
    }
    else
    {
        $('#TopMenuBottom').hide();
    }
}

function HeaderLinksHover()
{
    $("#HeaderLinksContainer .Link").hover(
            function(){
				$(this).addClass("Hover");
				if(!$(this).is(".Selected"))
					$(this).find("img").attr("src", baseUrl + "/images/icons/homeselected.gif")
			},
            function(){
				$(this).removeClass("Hover");
				if(!$(this).is(".Selected"))
					$(this).find("img").attr("src", baseUrl + "/images/icons/home.gif")
			});
}

function wrapSelects()  // Hides all 'select' elements
{
	$("select").each(function(){
		var selectedText = $(this).find('option:selected').text();
		var width = parseInt($(this).css('width').replace('px', '')) - 5;
		var div = $("<div class='SelectBG' style='width:" + width + "px;'>" + selectedText + "</div>");
		$(this).parent().css("position", "relative").append(div);	
		$(this).addClass("InvisibleSelect");
	});

	$("select").focus(function(){$(this).siblings(".SelectBG").addClass("Focus");});
	$("select").blur(function(){$(this).siblings(".SelectBG").removeClass("Focus");});
}

function showValue(sender)  // Used for all invisible 'select' elements
{
	var text = $(sender).find("option[selected]").text();
	$(sender).siblings(".SelectBG").html(text);
	
	if($(sender).is(".parentList") && $(sender).val() != "0")
		updateSubList(sender);

	if($(sender).parents('#RegistrationPage').length > 0)
		updateParentContainer(sender)
}

function showValueDefault(sender)  // Used for all invisible 'select' elements
{
    var text = $(sender).find("option[selected]").text();
    $(sender).siblings(".SelectBG").html(text);

    if ($(sender).is(".parentList"))
        updateSubList(sender);

    if ($(sender).parents('#RegistrationPage').length > 0)
        updateParentContainer(sender)
}

function updateSubList(sender)
{
    var listsContainer = $(sender).parents(".ListsContainer");
    $.ajax(
		{
		    url: baseUrl + "Shared/RenderOptions",
		    type: "POST",
		    data: "targetType=" + listsContainer.attr("targetType") + "&parentId=" + $(sender).val(),
		    dataType: "html",
		    success: function(data, textStatus)
		    {
		        listsContainer.find(".childList").each(function() { $(this).html(data); showValue(this); });
		    },
		    error: function(XMLHttpRequest, textStatus, errorThrown)
		    {
		        alert("XMLHttpRequest= " + XMLHttpRequest + " textStatus= " + textStatus);
		    }
		});

    //////
//	var listsContainer = $(sender).parents(".ListsContainer");
//	$.post(baseUrl + "Handlers/OptionsRenderingHandler.ashx", 
//		{
//			targetType : listsContainer.attr("targetType"), 
//			parentId : $(sender).val()
//		}, 
//		function(data){
//			listsContainer.find(".childList").each(function(){$(this).html(data);showValue(this);});
//		});
}

function copyTextToFakeInput(sender)
{
	var text = $.trim($(sender).val());
	var fakeFU = $(sender).parents(".UploaderContainer").find('.txtFakeFU');
	fakeFU.removeAttr("readonly").val(text).attr("readonly", "readonly");
}

function logIn(sender)
{
	var form = $(sender).parents("form");
	if(form.validateInputs())
	{
		$.post(baseUrl + "User/LogIn", 
			{
				logInName : $("#txtLogInName").val(),
				password : $("#txtPassword").val(),
				rememberMe : $("#chkRememberMe").is(":checked")
			}, 
			function(data){
				if(data == "OK")
				{
					window.location = location.href;
					//return true;
				}
				else
				{
					form.find(".ErrorMessageContainer").html(data);
					//return false;
				}
			});
		//return false;
	}
	//else
		return false;
}

function logOff()
{
    $.post(baseUrl + "User/LogOut", { inOrOut: "OUT" }, 
		function(data){
			var data = data.split('#');
			if(data == "OK")
				window.location = baseUrl;
		});
}

function hideElement(element, num, hideWhenFinish)
{
	$(element).fadeOut(function(){
							$(element).fadeIn();
							if(num > 0)
								hideElement(element, num-1, hideWhenFinish);
							else if(hideWhenFinish)
								$(element).fadeOut(500);

						});
}

function onKeySearch(e,inputObj)
{
    var code;
    if (!e) 
        var e = window.event;
    if (e.keyCode) 
        code = e.keyCode;
    else if (e.which) 
        code = e.which;
   
    
    //alert('Character was ' + character);

//    if (window.event) // IE
//    {
//        keynum = e.keyCode;
//    }
//    else if (e.which) // Netscape/Firefox/Opera
//    {
//        keynum = e.which;
//    }

    if (code == 13)
    {
        $(inputObj).parents('form').submit();
    }
}


function checkIfTemrsEmpty(sender, id)
{
//    var form = "";
//    if (formid != null)
//    {
//        form = "#form" + formid;
//        var formObj = $(form);
//    }
//    else
//        var formObj = $(sender).parents('form')

    var isEmpty = !$(sender).parents('form').find('#chkAcceptTerms' + id).is(':checked');
    //var isEmpty = !$('.chkAcceptTerms').is(':checked');
    if (isEmpty)
    {
        //var msgDiv = $('#HomePageBody .Message');
        var msgDiv = $(sender).parents('form').find('.Message');
        msgDiv.show().find('.Text').html('יש לקרוא ולקבל את תנאי ההרשמה.');
        setTimeout(function()
        {
            $(msgDiv).fadeOut('slow');
        }, 3000);
    }
    return isEmpty;
}

jQuery.extend(
  jQuery.expr[":"],
  { reallyvisible: function(a) { return !(jQuery(a).is(':hidden') || jQuery(a).parents(':hidden').length); } }
);

  function submitForgotPass()
  {
      var forgotPassEmail = $("#forgotPassEmail");
      var email = forgotPassEmail.val();
      forgotPassEmail.val("");
      if (email != null && email.length > 0)
      {
          $.post(baseUrl + "Registration/ForgotPassword", { email: email },
		    function(data)
		    {
		        $('#forgotpassContainer').toggle(400)
		        $('.ErrorMessageContainer').html(data);
		    });
      }
      else
      {
          $('#forgotpassContainer').toggle(400);
      }
  }

  /*========================
  HomePage
  =========================*/
  $(function() {
      $(".WhiteDiv").prepend("<div class='BG'></div>");
      $(".SliderContainer .Arrow").click(function() { SlideImages($(this)); });

      var cvFileMsg = $('#HomePageBody .Message');
      if (cvFileMsg.find('.Text').html() != '')
          setTimeout(function() { $(cvFileMsg).fadeOut('slow'); }, 3000);

  });

  function SlideImages(sender) {
      var senderDirection = $(sender).attr("id");
      var $sliderWindow = $("#ManagersContainer");
      var visibleSlider = $(".Manager.Show");
      var sliderMarkerRight = $(visibleSlider).get(0);
      var sliderMarkerLeft = $(visibleSlider).get(2);

      switch (senderDirection) {
          case "SlideRight":
              if ($(sliderMarkerRight).prevAll(".Manager").length > 0) {
                  $(sliderMarkerRight).prev().toggleClass("Show").animate({ width: "show" }, 2000);
                  $(sliderMarkerLeft).toggleClass("Show").animate({ width: "hide" }, 2000);
                  $("#SlideLeft").show();
                  if ($(sliderMarkerRight).prevAll(".Manager").length == 1)
                      $("#SlideRight").hide();
              }
              break;

          case "SlideLeft":
              if ($(sliderMarkerLeft).nextAll(".Manager").length > 0) {
                  $(sliderMarkerRight).toggleClass("Show").animate({ width: "hide" }, 2000);
                  $(sliderMarkerLeft).next().toggleClass("Show").animate({ width: "show" }, 2000);
                  $("#SlideRight").show();
                  if ($(sliderMarkerLeft).nextAll(".Manager").length == 1)
                      $("#SlideLeft").hide();
              }
              break;
      }
  }

  /*========================
  FormValidator
  =========================*/
  (function($) {

      $.fn.validateInputs = function(invokeOnInvalid) {

          var valid = true;

          this.find(".ErrorMessageContainer").html("");

          this.each(function() {
              $(this)
                .find("input[@type='checkbox'], input[@type='text'], input[@type='password'], select, textarea")
	            .filter(":enabled")
	            .each(function() {
	                if (!validateField(this)) {
	                    valid = false;
	                    if (invokeOnInvalid != null && typeof (invokeOnInvalid) == "function")
	                        invokeOnInvalid(this);
	                }
	            });

          });

          return valid;
      };

      $.fn.autoValidate = function() {
          return this.each(function() {
              $(this)
                .find("input[@type='text'], input[@type='password'], select, textarea, input[@type='checkbox']")
	            .filter(".Required:enabled, .Regex:enabled")
	            .blur(function() { validateField(this); })
	            .change(function() { validateField(this); });
          });
      };

  })(jQuery);

  function validateField(sender) {

      var element = $(sender);

      if (
            (element.is('.Required') && (element.val() == '' || element.val() == "0")) ||
            (element.is('.Regex') && !new RegExp(element.attr("regex"), "gi").test(element.val()) && element.val() != "") ||
            (element.is('.Required') && element.is("input[@type='checkbox']") && !element.is(":checked"))
       ) {
          element.addClass('Invalid')
			   .siblings('.SelectBG')
			   .addClass('Invalid'); // add 'Invalid' to the "select's brother div".

          if (typeof (element.attr('error')) != "undefined" && element.attr('error') != null) {
              if (element.parent().find('.error').length == 0) {
                  if (element.parents('form').find(".ErrorMessageContainer").text().indexOf(element.attr('error')) < 0)
                      element.parents('form').find(".ErrorMessageContainer").append(element.attr('error') + "<br />");
              }
          }
          return false;
      }
      else {
          element.removeClass('Invalid')
			   .siblings('.SelectBG')
			   .removeClass('Invalid'); // remove 'Invalid' from the "select's brother div".
          return true;
      }
  }

  function validateFieldOnTheFly(sender) {
      var element = $(sender);
      if (element.val().length > 0) {
          var form = element.parents('form');
          $.post(baseUrl + "Handlers/RegistrationHandler.ashx",
		{
		    requestType: "checkOnTheFly",
		    fieldType: element.attr("fieldType"),
		    val: element.val()
		},
		function(data) {
		    if (data.length > 0) {
		        var onTheFlyError = element.parent().find(".onTheFlyError");
		        onTheFlyError.html(data);
		        element.addClass('Invalid');
		        form.find(':submit').attr("disabled", "disabled");
		    }
		    else {
		        element.removeClass('Invalid')
		        var onTheFlyError = element.parent().find(".onTheFlyError");
		        onTheFlyError.html("");

		        var valid = true;
		        var errors = form.find(".onTheFlyError");
		        for (var i = 0; i < errors.length; i++) {
		            if ($(errors[i]).html().length > 0) {
		                valid = false;
		                break;
		            }
		        }
		        if (valid)
		            form.find(':submit').attr("disabled", "");
		    }

		});
      }
  }

  /*========================
  Jobs
  =========================*/
  $(function() {
      $('#EditProfileImage').bind("click", function(e) {
          $('#ImageUploadOuter .fuCVFile').click();
      });

  });

  function checkJobsForm(sender) {
      var form = $(sender).parents('form');
      var isValid = false
      form.find('select').each(function() {
          if ($(this).val() != "0")
              isValid = true;
      });
      if (!isValid)
          form.find(".ErrorMessageContainer").html("לא נבחרו מאפייני חיפוש.");
      return isValid;
  }

  function signUpForNewsletter(sender) {
      var form = $(sender).parents("form");
      form.find(".ErrorMessageContainer").html("");
      var parentCatId = form.find("#parentCatId").val();
      var catId = form.find("#CatId").val();
      var parentSkillId = form.find("#parentSkillId").val();
      var skillId = form.find("#skillId").val();
      if (parentCatId == "0" && parentSkillId == "0" && catId == "0" && skillId == "0")
          form.find(".ErrorMessageContainer").html("יש לבחור מקצוע ו/או מיומנות.<br />");
      else {
          if (form.validateInputs()) {
              $.post(baseUrl + "Handlers/RegistrationHandler.ashx",
				{
				    requestType: "GetNewsletter", parentCatId: parentCatId, catId: catId, parentSkillId: parentSkillId,
				    skillId: skillId, email: form.find("#txtEmail").val(), password: form.find("#txtPassword").val(), nickname: form.find("#txtNickname").val()
				},
				function(data) {

				    data = data.split('#');
				    if (data[0] == "OK") {
				        //form.find("table, .SelectBG").fadeOut(1000, function() { $(this).remove(); });
				        form.find("select").attr('selectedIndex', 0);
				        form.find(".ErrorMessageContainer").show();
				        form.find(".ErrorMessageContainer").html("בקשתך נרשמה בהצלחה במערכת, נעדכן ישירות לכתובת המייל אם יכנסו משרות מתאימות לתחומים שהגדרת.");
				        setTimeout(function() { form.find(".ErrorMessageContainer").fadeOut(1000); }, 3000);

				    }
				    else if (data[0] == "OK_ACT") {
				        form.find("table, .SelectBG").fadeOut(1000, function() { $(this).remove(); });
				        form.find(".ErrorMessageContainer").html("מייל הפעלה להרשמה נשלח לכתובת הדואר האלקטרוני שלך.  <br/ >" + "בקשתך נרשמה בהצלחה במערכת, לאחר הפעלת הפרופיל נעדכן ישירות לכתובת המייל אם יכנסו משרות מתאימות לתחומים שהגדרת.");

				    }
				    else
				        form.find(".ErrorMessageContainer").html(data[1]);
				});
          }
      }
  }

  function signUpForSmartAgent(sender) {
      var form = $(sender).parents("form");
      form.find(".ErrorMessageContainer").html("");
      var parentCatId = form.find("#parentCatId").val();
      var catId = form.find("#CatId").val();
      var parentSkillId = form.find("#parentSkillId").val();
      var skillId = form.find("#skillId").val();
      if (parentCatId == "0" && parentSkillId == "0" && catId == "0" && skillId == "0")
          form.find(".ErrorMessageContainer").html("יש לבחור מקצוע ו/או מיומנות.<br />");
      else {
          if (form.validateInputs()) {
              $("#SmartAgentContainer").load(baseUrl + "Recruitment/SmartAgent",
				{
				    requestType: "GetNewsletter", parentCatId: parentCatId, catId: catId, parentSkillId: parentSkillId,
				    skillId: skillId, email: form.find("#txtEmail").val(), password: form.find("#txtPassword").val(), nickname: form.find("#txtNickname").val()
				},
				function() {
				    var form = $('#SmartAgentRequestsForm');
				    setTimeout(function() { form.find(".ErrorMessageContainer").fadeOut(1000); }, 3000);

				    //				    data = data.split('#');
				    //				    if (data[0] == "OK") {
				    //				        //form.find("table, .SelectBG").fadeOut(1000, function() { $(this).remove(); });
				    //				        form.find("select").attr('selectedIndex', 0);
				    //				        form.find(".ErrorMessageContainer").show();
				    //				        form.find(".ErrorMessageContainer").html("בקשתך נרשמה בהצלחה במערכת, נעדכן ישירות לכתובת המייל אם יכנסו משרות מתאימות לתחומים שהגדרת.");
				    //				        setTimeout(function() { form.find(".ErrorMessageContainer").fadeOut(1000); }, 3000);

				    //				    }
				    //				    else if (data[0] == "OK_ACT") {
				    //				        form.find("table, .SelectBG").fadeOut(1000, function() { $(this).remove(); });
				    //				        form.find(".ErrorMessageContainer").html("מייל הפעלה להרשמה נשלח לכתובת הדואר האלקטרוני שלך.  <br/ >" + "בקשתך נרשמה בהצלחה במערכת, לאחר הפעלת הפרופיל נעדכן ישירות לכתובת המייל אם יכנסו משרות מתאימות לתחומים שהגדרת.");

				    //				    }
				    //				    else
				    //				        form.find(".ErrorMessageContainer").html(data[1]);
				});
          }
      }
  }

  function favoriteJob(sender) {
      sender = $(sender);
      var jobId = sender.parents('.Job').attr('id')
      var flag = sender.is('.On') ? "remove" : "add";

      sender.toggleClass('On');
      var action = sender.is('.On') ? "בטל משרה שמורה" : "שמור משרה"
      sender.find(".FlagAJob").html(action);
      var numOfJobs = parseInt($("#UserFavoritesCount").html());
      if (flag == "add") {
          numOfJobs++;
      }
      else {
          numOfJobs--;

      }
      $("#UserFavoritesCount").html("" + numOfJobs);
      $.post(baseUrl + "Recruitment/AddRemoveFavoriteJob", { action: "Favorite", flag: flag, jobId: jobId }, function(data) { });
  }

  function openDetails(sender) {
      var jobContainer = $(sender).parents(".Job");
      var targetDiv = jobContainer.find(".Action." + $(sender).attr('target'));

      if (!targetDiv.is(":visible")) {
          if (jobContainer.find(".Action:visible").length > 0) {
              jobContainer.find(".Action:visible").hide(100, function() {
                  targetDiv.show(100);
                  jobContainer.find(".Control.Selected").removeClass("Selected");
                  $(sender).addClass("Selected");
              });
          }
          else {
              targetDiv.show(100);
              $(sender).addClass("Selected");
          }
      }
      else {
          targetDiv.hide(100);
          $(sender).removeClass("Selected");
      }
  }

  function sendJobToAFriend(sender) {
      var form = $(sender).parents('form');
      if (form.validateInputs()) {
          var jobId = $(sender).parents('.Job').attr('id');
          $.post(baseUrl + "Handlers/SendAJobHandler.ashx",
			{
			    senderName: $("#SenderName" + jobId).val(), senderEmail: $("#SenderEmail" + jobId).val(), targetName: $("#TargetName" + jobId).val(),
			    targetEmail: $("#TargetEmail" + jobId).val(), subject: $("#Subject" + jobId).val(), content: $("#Content" + jobId).val()
			},
			function(data) { form.find('.ErrorMessageContainer').html(data); }
		);
      }
  }

  function toggleDescription(sender) {
      sender = $(sender);
      var parent = sender.parents('.Description');

      if (sender.is('.More'))
          sender.parent().fadeOut('fast', function() { sender.parent().next().fadeIn(); });
      else // sender is .Less
          sender.parent().fadeOut('fast', function() { sender.parent().prev().fadeIn(); });
  }

  function chekCVForm(sender) {
      var fuInput = $(sender).find('.fuCVFile');
      return fuInput.val() != "";
  }

  function removeDiv(sender) {
      var currentContainer = $(sender).parent();
      if (currentContainer.attr('itemId') != 0) {
          $.post(baseUrl + "Handlers/RegistrationHandler.ashx",
		{ requestType: "RemoveItem", type: currentContainer.attr('type'), itemId: currentContainer.attr('itemId') },
		function(data) { });

          currentContainer.fadeOut('slow', function() { $(this).remove(); });
      }
  }

  /*========================
    Registration
  =========================*/
  $(function() {
      $(".AutoComplete").each(function() {
          initiateAutocompleter(this);
      });

      $('.MultiParametersContainer').each(function() { updateMultiSelectorsIds(this); });
  });

  function showTabContent(sender) {
      var targetDiv = $("#" + $(sender).get(0).id + "Content");
      if (!targetDiv.is(":visible")) {
          $(".TabContent:visible").fadeOut(100, function() {
              targetDiv.fadeIn(100);
              $(".SideTab.Selected").removeClass("Selected");
              $(sender).addClass("Selected");
          });
      }

      var msg = $(".message");
      if (msg != null && msg.html() != "") {
          $(".ErrorMessageContainer").fadeOut(3000);
      }
  }

  function showContent(url)
  {
      window.location.href = baseUrl + url;
  }

  function getMultipleSelectorArray(containerId)
  {
      var arr = "";
      $('#' + containerId).find('.MultiParameter').each(function() {
          arr += "#" + $(this).attr('id') + "|" + $(this).attr('itemId');
          $(this).find('select').each(function() { arr += "#" + $(this).attr('id') + "|" + $(this).val(); });
          $(this).find('input.AutoComplete').each(function() { arr += "#" + $(this).attr('id') + "|" + $(this).attr('valueId'); });
          $(this).find('input.OpenText').each(function() { arr += "#" + $(this).attr('id') + "|" + $(this).val(); });
          $(this).find('input[@type=checkbox]').each(function() {
              var isChecked = $(this).is(':checked') ? '1' : '0';
              arr += "#" + $(this).attr('id') + "|" + isChecked;
          });
      });

      return arr.substring(1, arr.length);
  }

  function updateParentContainer(sender)
  {
      //alert("updateParentContainer");
      var parentContainer = $(sender).parents('.MultiParametersContainer');
      if (parentContainer.parents('#RegistrationPage').length > 0)
          parentContainer.find('.valuesArray').val(getMultipleSelectorArray(parentContainer.attr('id')));
  }

  function generateArraysOnSubmit(senderForm) {
      $(senderForm).find('.MultiParametersContainer')
				 .each(function() {
				     $(this).find('.valuesArray').val(getMultipleSelectorArray($(this).attr('id')));
				 });
  }

  function initiateAutocompleter(sender) {
      $(sender).focus(function()
      {
          var mustMatch = 0;
          if ($(this).attr("targetType") == "cities")
              mustMatch = 1;

          var action = "";
          switch ($(this).attr("targetType"))
          {
              case "organizations":
                  action = "GetOrganizations";
                  break;
              case "cities":
                  action = "GetCities";
                  break;

          }
          $(this).autocomplete(baseUrl + "Autocomplete/" + action,
			{
			    autoFill: false, delay: 150, maxItemsToShow: 12,
			    selectFirst: true, mustMatch: mustMatch,
			    scroll: false,

			    extraParams: { targetType: $(this).attr("targetType") }
			    //			    ,
			    //			    onItemSelect: function(li)
			    //			    {
			    //			        if (li.extra) $(sender).attr("valueId", (li.extra));
			    //			    }
			}).result(function(event, item)
			{
			    $(sender).attr("valueId", item.toString().split(",")[1]);
			});

      });
  }

  function updateMultiSelectorsIds(container)
  {
      //alert("updateMultiSelectorsIds");
      $(container).find('.MultiParameter')
				.each(function(i) {
				    $(this).attr('id', $(this).attr('name') + i);
				    $(this).find('select').each(function() { $(this).attr('id', $(this).attr('name') + i); });
				    $(this).find('input').each(function() { $(this).attr('id', $(this).attr('name') + i); });
				});
      $(container).find('.valuesArray').val(getMultipleSelectorArray($(container).attr('id')));
  }

  function addContainer(sender) {
      var parentContainer = $(sender).parents('.MultiParametersContainer');
      var currentContainer = parentContainer.find('.MultiParameter:last'); // get the current container just been clicked.
      var newContainer = currentContainer.clone(); 		 // create a new container to inject.
      //	var id = parseInt(currentContainer.attr('id').substring(6));
      //	++id;

      //	newContainer.attr('id', 'itemId' + id);
      //	alert(newContainer.attr('id'));
      resetMultiParameterValues(newContainer);

      newContainer.css('display', 'none').find('.SelectBG').css('display', 'none');
      parentContainer.append(newContainer); 				    // inject the new container.
      newContainer.fadeIn('slow', function() { updateMultiSelectorsIds(parentContainer); }).find('.SelectBG')
							   .fadeIn('slow', function() { updateMultiSelectorsIds(parentContainer); });
  }

  function removeImage(sender) {

      var parent = $(sender).parent();
      $.post(baseUrl + "Handlers/RegistrationHandler.ashx",
		{ requestType: "RemoveItem", type: "ProfleImage", itemId: parent.find(':hidden').val() },
		function(data) { window.location = location.href; });
  }

  function removeContainer(sender) {
      var currentContainer = $(sender).parents('.MultiParameter'); // the one just been clicked to remove.
      var parentContainer = $(sender).parents('.MultiParametersContainer');
      var actualUserId = $("#actualUserId");
      //alert(actualUserId.val());
      actualUserId = actualUserId != null ? actualUserId.val() : 0;
      

      // AJAX REMOVE ITEM.
      if (currentContainer.attr('itemId') != 0)
          $.post(baseUrl + "Handlers/RegistrationHandler.ashx",
		{ requestType: "RemoveItem", type: currentContainer.attr('type'), itemId: currentContainer.attr('itemId'), actualUserId: actualUserId },
		function(data) { });

      if (currentContainer.next().is('.MultiParameter') || currentContainer.prev().is('.MultiParameter')) {
          currentContainer.fadeOut('slow', function() { $(this).remove(); updateMultiSelectorsIds(parentContainer); })
						.find('.SelectBG')
						.fadeOut('slow', function() { updateMultiSelectorsIds(parentContainer); });
      }
      else
          resetMultiParameterValues(currentContainer);
  }

  function resetMultiParameterValues(element) {
      element = $(element);
      element.find('select.childList').html("<option value='0'>- בחר -</option>");
      element.find('select:not(.childList)').find('option:first')
										  .attr('selected', 'selected')
										  .siblings().removeAttr('selected');
      element.find('.TextField').each(function() { // reset the ".AutoComplete" input for the new container.
          $(this).val('').attr('valueId', '0').val('');
          if ($(this).is('.AutoComplete'))
              initiateAutocompleter(this);
      });
      element.attr('itemId', '0'); // reset the "itemId" for the new container - Means a new instance.
      element.find('select').each(function() { showValue(this); });

  }

  function calcNotification(sender) {
      var hidden = $('#' + $(sender).attr('notType') + 'Sum');
      if ($(sender).is(':checked'))
          hidden.val(parseInt(hidden.val()) + parseInt($(sender).val()));
      else
          hidden.val(parseInt(hidden.val()) - parseInt($(sender).val()));
  }

  function calcNotificationValue(notificationClass) {
      var sum = 0;
      $("." + notificationClass).each(function() {
          if ($(this).is(":checked"))
              sum += parseInt($(this).val());
      });
      return sum;
  }

  function showFullProfile() {
      var CatsSkillsContainer = $('#CatsSkillsContainer');
      CatsSkillsContainer.fadeOut("slow", function() { CatsSkillsContainer.remove(); });

      $.post(baseUrl + "Registration/FullDetails",
		function(data) {
		    $('#FullProfile').html(data);
		    $('#FullProfile').fadeIn('slow');

		    //$('#CatsSkillsContainer').remove();

		    var SaveProfile = $('#SaveProfile');
		    var BuildFullProfile = $('#BuildFullProfile');

		    BuildFullProfile.fadeOut("slow", function() { BuildFullProfile.remove(); });
		    SaveProfile.val("שמור פרופיל מלא");
		    $('#profileType').val("full");

		    $('.MultiParametersContainer').each(function() { updateMultiSelectorsIds(this); });
		    $(".AutoComplete").each(function() {
		        initiateAutocompleter(this);
		    });
		});
}

/* Articles */
function openCommentBox(articleId)
{
    $.post(baseUrl + "Article/AddComment",
		{
		    articleId: articleId
		},
		function(data)
		{
		    $('#AddComment').html(data);
		    $('#AddComment').toggle("slow");
		});    
}


function SaveComment()
{
    var articleId = $('#articleId').val();
    $.post(baseUrl + "Article/SaveComment",
		{
		    articleId: articleId,
		    name: $('#name').val(),
		    content: $('#content').val()
		},
		function(data)
		{
		    $('#AddComment').toggle("slow");
		    setTimeout(function() { $('#commentsContainer').html(data); }, 1000);
		    var commentCount = $('#listComment' + articleId);
		    var html = commentCount.html();
		    if (html.indexOf('תגובה') >= 0)
		    {
		        commentCount.attr("id", "");
		        commentCount.html("<span id='listComment" + articleId + "'>2</span> תגובות");
		    }
		    else
		    {
		        var count = parseInt(html);
		        commentCount.html("" + (count + 1));

		    }
		});
}

function SendToFriendCount(email, posId) {
    //debugger;
    $.post(baseUrl + "Recruitment/SendToFriend", { Email: email, PosId: posId },
		function(data) {
		    //if (data.answer == "OK")
		        //alert('ddd');
		    //window.location = baseUrl;
		}, "json");
}

function RefreshReports() {
    var query = '/Report/Index?param1=' + $("#param1").val() + '&param2=' + $("#param2").val() + '&param3=' + $("#param3").val();
    window.location = query;
}

function changeLang(select) {
    //alert(url);
    var lang = select.options[select.selectedIndex].value;
    var langSub = $(".LangSub");
    var url = baseUrl + "home/SetLanguage";

    $.get(url, { id: lang },
        function(data) {
    location.reload();
  });
}

/*==================================
Upload resume box
==================================*/

// for the job search page resume upload
function uploadResume(sender, id, logedin)
{
    //alert("d");
    if (checkIfEmpty(sender))
        return false;

    
    if (logedin == "false")
    {
        if (checkIfTemrsEmpty(sender, id))
            return false;
    }
   
    if (logedin == "true")
    {

        var resumeIframe = $("#resumeIframe");
        if (resumeIframe != null)
        {
            resumeIframe.attr('src', baseUrl + "Home/Resume");
        }
        $(sender).parents('form').submit();
    }
    else
    {
        //$(sender).closest('form').find('#chkAcceptTerms' + id).closest(".WhiteDiv").show();
        $(sender).parents('form').find('#chkAcceptTerms' + id).parents(".WhiteDiv").show();
        return false;
    }
}

// for the home page resume upload
function uploadResume2(sender, id, logedin)
{
    //alert("logedin: " + logedin);
    if (checkIfEmpty(sender))
    {
        return false;
    }
    else
    {

        if (logedin == "true")
        {

            var resumeIframe = $("#resumeIframe");
            if (resumeIframe != null)
            {
                resumeIframe.attr('src', baseUrl + "Home/Resume");
            }
            $(sender).parents('form').submit();
        }
        else
        {
            //$(sender).closest('form').find('#chkAcceptTerms' + id).closest(".WhiteDiv").show();
            $(sender).parents('form').find('#chkAcceptTerms' + id).parents(".WhiteDiv").show();
            return false;
        }
    }
}

function sendResume(sender, id)
{
    //var checked = $(sender).closest('form').find('#chkAcceptTerms1').is(':checked');
    var checked = $(sender).parents('form').find('#chkAcceptTerms' + id).is(':checked');
    if (checked)
    {
        //$(sender).closest('form')[0].submit();

        var resumeIframe = $("#resumeIframe");
        if (resumeIframe != null)
        {
            resumeIframe.attr('src', baseUrl + "Home/Resume");
        }
        $(sender).parents('form').submit();


        $(sender).parents('form')[0].submit();
    }
}



function checkIfEmpty(sender)
{
    var sender = $(sender);
    var isEmpty = sender.parents('form').find('.fuCVFile').val() == "";
    if (isEmpty)
    {
        if (sender.hasClass("HomeResumeUpload"))
        {
            showErrorMsgFade(sender);
        }
        else if (sender.hasClass("ResumeUpload"))
        {
            showErrorMsg(sender);
        }
        else if (sender.hasClass("JobResumeUpload"))
        {
            var msgDiv = $(sender).parents('form').find('.Message');
            msgDiv.show().find('.Text').html('לא נבחר קובץ לשליחה.');
        }
    }
    return isEmpty;
}

function showErrorMsg()
{
    var msgDiv = $('.Message2');
    var ErrorMessageContainer = $('#MainResumeForm .ErrorMessageContainer');
    if (ErrorMessageContainer.html() != 'לא נבחר קובץ לשליחה.')
        msgDiv.find('.Text').html('לא נבחר קובץ לשליחה.');
}


function showErrorMsgFade(sender)
{
    var msgDiv = $(sender).parents('form').find('.Message');
    msgDiv.show().find('.Text').html('לא נבחר קובץ לשליחה.');
    $(sender).siblings('.UploaderArea').css('border', 'solid 1px red');
    setTimeout(function()
    {
        $(msgDiv).fadeOut('slow');
        $(sender).siblings('.UploaderArea').css('border', 'none');
    }, 3000);
}