﻿
//Adds keydown event to the password restore files
AddOnWindowLoaded(function() {
	$('#passwordRestoreInput').keydown(
		function(event) {
			return PasswordRestoreController.PasswordRestoreKeyDownHandler(event);
		}
	);

	//Close any popup window if escape key was pressed
	$(document).keyup(function(event) {
		if (!$('.blockUI').is(':visible'))
			return;

		var code;
		if (!e) var e = event;
		if (e.keyCode) code = e.keyCode;
		else if (e.which) code = e.which;

		if (code == 27) {
			$.unblockUI();
		}
	});
});


var RecaptchaController = new function() {

	this.DisplayRecaptcha = function() {
		$('#RecaptchaErrorMessage').hide();
		RecaptchaController.RecapchaProgressBarDisplay(false);
		displayModalPanel('RecaptchaContainer');

		//if Recaptcha doesn't exists it should be created
		if ($('#RecaptchaHiddenContainer').children().length == 0 || $('[id="recaptcha_area"]').length == 0) {
			Recaptcha.create("6Lc1PcESAAAAAFYrOmcJ-PPiRbEhY-lpSNRWMo-d", 'RecaptchaHiddenContainer', {
				theme: "clean",
				callback: function() {
					$('#recaptcha_response_field').keydown(
						function(event) {
							return RecaptchaController.RecaptchaKeyDownHandler(event);
						}
					);
					Recaptcha.focus_response_field();
				}
			});
		}
		//Reload Recaptcha
		else {
			Recaptcha.reload();
			Recaptcha.focus_response_field();
		}
	};

	this.RecaptchaKeyDownHandler = function(event) {
		//Enter key was pressed
		if (event.keyCode == 13) {
			RecaptchaController.CheckRecaptcha();
			return false;
		}
		return true;
	};

	this.RecapchaProgressBarDisplay = function(displayFlag) {
		if (displayFlag) {
			$('#RecaptureCheckingDiv').show();
			$('#RecaptureFinishButton').hide();
			$('#RecaptchaErrorMessage').hide();
		} else {
			$('#RecaptureCheckingDiv').hide();
			$('#RecaptureFinishButton').show();
		}
	};

	this.CheckRecaptcha = function() {
		try {
			RecaptchaController.RecapchaProgressBarDisplay(true);
		    var timezone = jstz.determine_timezone();
			$.post("post.ashx",
				{
					recaptchaChallenge: Recaptcha.get_challenge(),
					recaptchaResponse: Recaptcha.get_response(),
					type: 'register',
					firstName: TeamLabPortal.Trim($('[id$="txtFirstName"]').val()),
					lastName: TeamLabPortal.Trim($('[id$="txtLastName"]').val()),
					email: TeamLabPortal.Trim($('[id$="txtEmail"]').val()),
					portalName: TeamLabPortal.Trim($('[id$="txtPortalName"]').val()),
				    tzo:timezone.offset(),
				    tzn:timezone.name()
				},
				function(response) {
					var errorFlag = false;
					try {
						var result = eval("(" + response + ")");
						if (result.status != '') {
							errorFlag = true;

							var checkRecaptchaErrorMessage = result.rs1;
							if (checkRecaptchaErrorMessage == '') {
								checkRecaptchaErrorMessage = result.message;
							}
							$('#RecaptchaErrorMessage').html(checkRecaptchaErrorMessage);
						}

					} catch (err) {
						errorFlag = true;
						$('#RecaptchaErrorMessage').html(errorMessage.GetMessageByType('internalServerError'));
					}
					if (errorFlag) {
						RecaptchaController.RecapchaProgressBarDisplay(false);
						Recaptcha.reload();
						$('#RecaptchaErrorMessage').show();
					} else {
						document.getElementById('RecaptureCheckingDiv').innerHTML = errorMessage.GetMessageByType('forwardingInfo');
						
						try{
						//track creating
						PageTrack('Portal_Created');
						PageEvent('portal',TeamLabPortal.Trim($('[id$="txtPortalName"]').val()));
						}catch(e){}
						
						//load convesion tracker
                        $('body').append('<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1025072253/?value=1&amp;label=N4STCIuI3wEQ_bjl6AM&amp;guid=ON&amp;script=0"/>');
                        //redirect
                        setTimeout("window.open('"+result.rs2+"','_self');", 300);

					}
				}
			);
		} catch (err) { }
	};
};


var PasswordRestoreController = new function() {

	this.DisplayPasswordRestore = function() {
		ForceHideSignIn();
		$('#PasswordRestoreCheckingDiv').hide();
		$('#PasswordRestoreFinishButton').show();
		$('#PasswordRestoreErrorMessage').hide();
		$('#PasswordRestoreSuccessMessage').hide();

		$('#passwordRestoreInput').val($('#txtSignInEmail').val());

		displayModalPanel('PasswordRestoreContainer');
		setTimeout("$('#passwordRestoreInput').focus();", 100);
	};

	this.SendRestorePasswordEmail = function() {
		PasswordRestoreController.PasswordRestoreProgressBarDisplay(true, '');

		var email = TeamLabPortal.Trim($('#passwordRestoreInput').val());

		if (email == '') {
			PasswordRestoreController.PasswordRestoreProgressBarDisplay(false, errorMessage.GetMessageByType('emailEmpty'));
			return false;
		}

		if (email.match(TeamLabPortal.EmailRegex) == null) {
			PasswordRestoreController.PasswordRestoreProgressBarDisplay(false, errorMessage.GetMessageByType('emailIncorrect'));
			return false;
		} else {
			//e-mail looks correct, send password restore.
			try {
				$.post("post.ashx",
					{
						email: email,
						type: 'passwordrestore'
					},
					function(response) {
						var sendRestorePasswordErrorMessage = '';
						try {
							var result = eval("(" + response + ")");
							if (result.status != '') {
								sendRestorePasswordErrorMessage = errorMessage.GetMessageByType(result.message);
								if (sendRestorePasswordErrorMessage == '') {
									sendRestorePasswordErrorMessage = result.message;
								}
							}
						} catch (err) {
							sendRestorePasswordErrorMessage = errorMessage.GetMessageByType('internalServerError');
						}
						PasswordRestoreController.PasswordRestoreProgressBarDisplay(false, sendRestorePasswordErrorMessage);
						return false;
					}
				);
			} catch (err) { }
		}

		//PasswordRestoreController.PasswordRestoreProgressBarDisplay(false, '');
	}

	this.PasswordRestoreKeyDownHandler = function(event) {
		//Enter key was pressed
		if (event.keyCode == 13) {
			PasswordRestoreController.SendRestorePasswordEmail();
			return false;
		}
		return true;
	};

  this.ClosePasswordRestoreDialog = function () {
    if ($('#PasswordRestoreContainer').is(':visible') && $('#PasswordRestoreSuccessMessage').is(':visible')) {
      $.unblockUI();
    }
  };
  
	this.PasswordRestoreProgressBarDisplay = function(displayFlag, err) {
		if (displayFlag) {
			$('#PasswordRestoreCheckingDiv').show();
			$('#PasswordRestoreFinishButton').hide();
			$('#PasswordRestoreErrorMessage').hide();
			$('#PasswordRestoreSuccessMessage').hide();
		} else {
			$('#PasswordRestoreCheckingDiv').hide();
			if (err == '') {
				$('#PasswordRestoreSuccessMessage').show();

				$('#PasswordRestoreFinishButton').hide();
				$('#PasswordRestoreErrorMessage').hide();
        setTimeout(this.ClosePasswordRestoreDialog, 3000);
			} else {
				$('#PasswordRestoreSuccessMessage').hide();

				$('#PasswordRestoreFinishButton').show();
				$('#PasswordRestoreErrorMessage').show();
				$('#PasswordRestoreErrorMessage').html(err);
			}
		}
	};
}


var PortalChooseController = new function() {
	this.DisplayPortalChooseController = function(p) {
		ForceHideSignIn();
		SignInPortal.oPrgs.style.display = '';

		var portals = eval(p);
		var portalsHtml = '';
		var curPortalName = '';

		var portalContainer = $('#PortalChoosePortalsDiv');

		var maxPortalNameLength = 70;
		for (var i in portals) {
			curPortalName = portals[i].portanName;
			if (curPortalName.length > maxPortalNameLength) {
				curPortalName = curPortalName.substring(0, maxPortalNameLength);
				curPortalName += '...';
			}
			portalsHtml += '<a href="' + portals[i].portalLink + '" class="portalChooseItem">' + curPortalName + '</a>';
		}
		portalContainer.html(portalsHtml);

		var isIe6 = false;
		try {
			if ($.browser.msie && $.browser.version == "6.0") {
				isIe6 = true;
			}
		} catch (err) {
			isIe6 = false;
		}

		if (portals.length <= 7) {
			portalContainer.removeClass('portalChooseContainerWithScroll');
			portalContainer.addClass('portalChoosePortalsContainerWithoutScroll');
			if (isIe6) {
				portalContainer.height(40 * portals.length);
			}
		} else {
			portalContainer.removeClass('portalChoosePortalsContainerWithoutScroll');
			portalContainer.addClass('portalChooseContainerWithScroll');
			if (isIe6) {
				portalContainer.height(280);
			}
		}
		displayModalPanel('PortalChooseContainer');
	}
}
//Video

function showVideoContainer() {
    displayModalPanel('VideoContainer');
}
function PublicationsShow() {
displayModalPanel('PressContainer');

};
function displayModalPanel(panelID) {

	var panelElement = $('#' + panelID);
	$.blockUI({
		message: panelElement,
		css: {
			border: 'none',
			padding: '0px',
			cursor: 'default',
			textAlign: 'left',
			backgroundColor: 'Transparent',
		
			top: '50%',
			left: '50%',
			margin: '-' + (panelElement.height() / 2) + 'px 0 0 -' + (panelElement.width() / 2) + 'px'
		},

		overlayCSS: {
			backgroundColor: 'black',
			cursor: 'default',
			opacity: '0.2'
		},
		focusInput: false,
		fadeIn: 0,
		fadeOut: 0
	});
}



function createCustomSelect(selects) {    
	if (typeof selects === 'string') {
		selects = document.getElementById(selects);
	}
	if (!selects || typeof selects !== 'object') {
		return undefined;
	}
	if (typeof selects.join !== 'function' && !(selects instanceof String)) {
		selects = [selects];
	}

	$('option[value="' + getTeablamUICulture() + '"]').attr('selected', 'selected');

	for (var i = 0, n = selects.length; i < n; i++) {
		var select = selects[i];
		var selectValue = select.value;

		if (select.className.indexOf('originalSelect') !== -1) {
			continue;
		}

		var container = document.createElement('div');
		container.setAttribute('value', selectValue);
		container.className = select.className + (select.className.length ? ' ' : '') + 'customSelect';
		var position =
          (document.defaultView && document.defaultView.getComputedStyle) ?
          document.defaultView.getComputedStyle(select, '').getPropertyValue('position') : (select.currentStyle ? select.currentStyle['position'] : 'static');
		container.style.position = position === 'static' ? 'relative' : position;

		var title = document.createElement('div');
		title.className = 'title' + ' ' + selectValue;
		title.style.height = '100%';
		title.style.position = 'relative';
		title.style.zIndex = '1';
		title.style.textDecoration = 'underline';
		container.appendChild(title);

		var selector = document.createElement('div');
		selector.className = 'selector';
		selector.style.position = 'absolute';
		selector.style.zIndex = '1';
		selector.style.right = '0';
		selector.style.top = '0';
		selector.style.height = '100%';
		container.appendChild(selector);

		var optionsList = document.createElement('ul');
		optionsList.className = 'options';
		optionsList.style.display = 'none';
		optionsList.style.position = 'absolute';
		optionsList.style.zIndex = '666';
		optionsList.style.width = '100%';
		container.appendChild(optionsList);

		var 
			  className = '',
			  fullClassName = '',
			  options = select.getElementsByTagName('option');
		for (var j = 0, m = options.length; j < m; j++) {
			var option = document.createElement('li');
			optionsList.appendChild(option);
			fullClassName = 'option' + ' ' + options[j].value + ((className = options[j].className) ? ' ' + className : '');
			option.setAttribute('value', options[j].value);
			if (selectValue === options[j].value) {
				title.innerHTML = options[j].innerHTML;
				fullClassName += ' selected';
			}
			option.selected = selectValue === options[j].value;
			option.innerHTML = options[j].innerHTML;
			option.className = fullClassName;
		}

		select.parentNode.insertBefore(container, select);
		container.appendChild(select);

		select.className += (select.className.length ? ' ' : '') + 'originalSelect';
		select.style.display = 'none';

		$(optionsList)
          .bind('selectstart', function() {
          	return false;
          })
          .mousedown(function() {
          	return false;
          })
          .click(function(evt) {
          	var $target = $(evt.target);
          	if ($target.hasClass('option')) {
          		var 
          		  containerNewValue = evt.target.getAttribute('value'),
          		  $container = $target.parents('div.customSelect:first'),
          		  container = $container.get(0);
          		if (!container || container.getAttribute('value') === containerNewValue) {
          			return undefined;
          		}
          		container.setAttribute('value', containerNewValue);
          		$container.find('li.option').removeClass('selected').filter('li.' + containerNewValue + ':first').addClass('selected');
          		$container.find('div.title:first').html($target.html() || '&nbsp;').attr('className', 'title ' + containerNewValue);
          		$container.find('select.originalSelect:first').val(containerNewValue).change();
          		
          		setTeablamUICulture(containerNewValue);
          	}
          });
		if ($.browser.msie && $.browser.version < 7) {
			$(optionsList).find('li.option').hover(
          function() { $(this).addClass('hover') },
          function() { $(this).removeClass('hover') }
        );
		}

		$(selector)
          .click(function(evt) {
          	var $options = $(this.parentNode).find('ul.options:first');
          	if ($options.is(':hidden')) {
          		$options.css({ bottom: $(this.parentNode).height() + 1 + 'px' }).slideDown(1, function() {
          			$(document).one('click', function() {
          				$('div.customSelect ul.options').hide();
          			});
          		});
          	}
          });
		$(title)
          .bind('selectstart', function() {
          	return false;
          })
          .mousedown(function() {
          	return false;
          })
          .click(function(evt) {
          	var $options = $(this.parentNode).find('ul.options:first');
          	if ($options.is(':hidden')) {
          		$options.css({ bottom: $(this.parentNode).height() + 1 + 'px' }).slideDown(1, function() {
          			$(document).one('click', function() {
          				$('div.customSelect ul.options').hide();
          			});
          		});
          	}
          });
      } 

  };

  function initLngSelector() {
        $('div.custom-select').hover(function() { $(this).css('background', 'none') }, function() { $(this).css('background', 'none') });
  }
  $(function() {
      initLngSelector();
  });

function OpenLanguageSelector() {
    if (!$('#LanguageSelector').hasClass('open')) {

        $('div.custom-select').unbind('mouseenter mouseleave');
        $('div.custom-select').css('background', 'none')


        $('#LanguageSelector ul.options:first').slideDown(10, function() {
            $('#LanguageSelector').addClass('open');
            $(document).one('click', function() {

                $('div.custom-select').css('background', 'none');
                initLngSelector();

                $('#LanguageSelector ul.options:first').hide();
                $('#LanguageSelector').removeClass('open');
            });
        });
	}
}



  /*------Modules--------*/
var SideBarManager = new function() {

    this.Data = null;
    this.Init = function(data) {
        this.Data = data;
        $("#sideBarContainer").html($("#sideBarTemplate").tmpl(this.Data));
        
    }

}

$(function() {
    $('.photo').click(function() {
      $img = $('#' + $(this).attr('target'));
        var path = $('#' + $(this).attr('target')).attr('src');        
        $('#scrTourContent').html($("#scrTourTemplate").tmpl({ CurScreen: path })); 
        var width = $img.width();
       $('#scrTourContainer').width(width + 50 + 'px');
        displayModalPanel('scrTourContainer');
        
//        $('#large-img').hide();
//        $('#large-img').load(function() {
//            $('#loader').hide();
//            $('#large-img').show();
//        });

    })
})


$(function() {
    $('.screenphoto').click(function() {
 
       $img = $('#' + $(this).attr('target'));
       var alt = $img.attr('alt');
       var path = $('#' + $(this).attr('target')).attr('src');
       $('#scrHelpContent').html($("#scrHelpTemplate").tmpl({ CurScreen: path, curalt: alt }));
       var width = $img.width();
       $('#scrHelpContainer').width(width + 50 + 'px');
       displayModalPanel('scrHelpContainer');
    })

})



function getRSS(feedUrl) {

      $.get('proxy.ashx?url=' + feedUrl, function(data) {  

        var blogs = $(data).find('item');
        blogs.length = 4;
              blogs.each(function() {
              var title = $(this).find('title').text();
              var url = $(this).find('link').text();     
              var html;
              html  = '<div class="entry"><h2 class="postTitle">' + '<a href="' + url + '" target="_blank">'+title+'</a></div>' + '</h2>';     
              $('#rssContent').append($(html));              
         });
     });
 }

 
// function getText (path){
//  $.get(path, function(data) {
//  
//       $('.press_center .td_features', data).each(function() 
//            {
//            var title = $(this).find('h2 a').text();
//            var date = $(this).find('p.type_date_of_press').text();
//            var url = $(this).find('h2 a').attr('href'); 
//            var text = $(this).find('p.text').text();
//            var html = '<div class="entry"><h2><a href="' + url +'" target="_blank">' + title + '</a></h2>' + '<p class="date_of_press">'+date+'</p>'+'<p class="text">'+text+'</p></div>'; 
//            $('#ReleasesContent').append($(html));       
//            });
//   });
// }


﻿function Search(path) {
        var url = new String();
        var search = document.getElementById('txtSearch').value; 
        if (search != null && search.length > 0 && search !=$('#helpmark').val()) {
            url = path +'?text=' + encodeURIComponent(search);
            window.location.href = url;
        } 
    };
function tooltip(target_items, name) {
       
           $(target_items).each(function()
           {
                var id = $.trim($(this).attr('id')).split('_')[1];
                var title = $.trim($(this).attr('title'));
                if (title == "" || title == null) return;

                $("body").append("<div style='display:none;' class='borderBase tintMedium "+name+"' id='"+name+id+"'><p>" + title + "</p></div>");

                var my_tooltip = $("#"+name+id);

                $(this).removeAttr("title")
                .mouseover(function(){my_tooltip.show();})
                .mousemove(function(kmouse){my_tooltip.css({left:kmouse.pageX+15, top:kmouse.pageY+15});})
                .mouseout(function(){my_tooltip.hide();});
           });
                       
        }
        

var PortalNameRestoreController = new function() {

	this.SendRestorePortalNameEmail = function() {
		PortalNameRestoreController.PortalNameRestoreProgressBarDisplay(true, '');

		var email = TeamLabPortal.Trim($('#PortalNameRestoreInput').val());

		if (email == '') {
			PortalNameRestoreController.PortalNameRestoreProgressBarDisplay(false, errorMessage.GetMessageByType('emailEmpty'));
			return false;
		}

		if (email.match(TeamLabPortal.EmailRegex) == null) {
			PortalNameRestoreController.PortalNameRestoreProgressBarDisplay(false, errorMessage.GetMessageByType('emailIncorrect'));
			return false;
		} else {
			//e-mail looks correct, send portal name restore.
			try {
				$.post("post.ashx",
					{
						email: email,
						type: 'portalnamerestore'
					},
					function(response) {
						var sendRestorePortalNameErrorMessage = '';
						try {
							var result = eval("(" + response + ")");
							if (result.status != '') {
								sendRestorePortalNameErrorMessage = errorMessage.GetMessageByType(result.message);
								if (sendRestorePortalNameErrorMessage == '') {
									sendRestorePortalNamedErrorMessage = result.message;
								}
							}
						} catch (err) {
							sendRestorePortalNameErrorMessage = errorMessage.GetMessageByType('internalServerError');
						}
						PortalNameRestoreController.PortalNameRestoreProgressBarDisplay(false, sendRestorePortalNameErrorMessage);
						return false;
					}
				);
			} catch (err) { }
		}

		//PortalNameRestoreController.PortalNameRestoreProgressBarDisplay(false, '');
	}
  

	this.PortalNameRestoreProgressBarDisplay = function(displayFlag, err) {
		if (displayFlag) {
			$('#PortalNameRestoreCheckingDiv').show();
			$('#PortalNameRestoreFinishButton').hide();
			$('#PortalNameRestoreErrorMessage').hide();
			$('#PortalNameRestoreSuccessMessage').hide();
		} else {
			$('#PortalNameRestoreCheckingDiv').hide();
			if (err == '') {
				$('#PortalNameRestoreSuccessMessage').show();
				$('#PortalNameRestoreFinishButton').hide();
				$('#PortalNameRestoreErrorMessage').hide();
				$('#PortalNameRestoreInput').css('marginBottom', '0px');
			} else {
				$('#PortalNameRestoreSuccessMessage').hide();
				$('#PortalNameRestoreFinishButton').show();
    			$('#PortalNameRestoreErrorMessage').show();
				$('#PortalNameRestoreErrorMessage').html(err);
				$('#PortalNameRestoreInput').css('marginBottom', '0px');
			}
		}
	};
}

$(function() {
       $('[name=arrow_top]').css("margin-left", ($(".subMenu").width() - 17) / 2 + "px"); /* 17px - ширина стрелки*/ 
       
})

