
function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) { 
//Generic Animation Step Value Generator By www.hesido.com 
    var delta = maxValue - minValue; 
    var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta); 
    return Math.ceil(stepp) 
    } 


function doPosChangeMem(elem,startPos,endPos,steps,intervals,powr) {

	if (elem.posChangeMemInt) window.clearInterval(elem.posChangeMemInt);
	
	var actStep = 0;
	
	elem.posChangeMemInt = window.setInterval(
		function() {
			
			var t = new Date();			

			elem.currentPos = [
				easeInOut(startPos[0],endPos[0],steps,actStep,powr),				
				];

			elem.style.left = elem.currentPos[0] + "%";			
			actStep++;
			if (actStep > steps) window.clearInterval(elem.posChangeMemInt);
		}
		,intervals);

}

var a_t = 10;
var a_i = 1;
var a_p = 1;


$(document).ready(function() {

	$('.image-block').lightBox();

	var chrome = navigator.userAgent.match('Chrome') ? 1 : 0
	var msie = navigator.appName == 'Microsoft Internet Explorer' ? 1 : 0;
	var current_page = self.document.location.hash;
	var main_page_div = $('#m-bodydiv');
	
	$('.main-link-left').click(function(){
		var hr = $(this).attr('href');		
		if(hr != current_page) {
			current_page = 	hr;						
			main_page_div.animate({left: (msie || chrome ? '-0.1%' : 0)}, {duration: 500});
		}

		
	});	
	$('.main-link-up').click(function(){

		var hr = $(this).attr('href');			
		if(hr != current_page) {
			current_page = 	hr;				
			main_page_div.animate({top: 0}, {duration: 500});
		}
		
	});

	$('.main-link-right').click(function(){		
		var hr = $(this).attr('href');		
		if(hr != current_page) {
			current_page = 	hr;							
			main_page_div.animate({left: '-200%'}, {duration: 500});

			//doPosChangeMem(document.getElementById('m-bodydiv'), [-100], [-200], a_t, a_i, a_p);
		}
		
	});
	
	$('.main-link-left').hover(function() {
		}, function() {
	});
	

	$('.main-link-return-top').click(function(){		
		current_page = 	'';				
		main_page_div.animate({top: -800}, {duration: 500});		
	});

	$('.main-link-return').click(function(){		
		current_page = 	'';				
		main_page_div.animate({left: '-100%'}, {duration: 500});		

		
	});	
	
	switch(current_page) {
		case '#discount':
			current_page = '';														
			$('#main-link-up').trigger('click');
			break;
		case '#rates':			
			current_page = '';
			$('#main-link-left').trigger('click');
			break;
		case '#friends':			
			current_page = '';
			$('#main-link-right').trigger('click');
			break;
	}






	// DEFAULT

	$.makeFormArray = function (obj)
	{
		var a = new Array();
		for(t=0; t < obj.length; t++)
		{
			value = $(obj[t]).val();
			name = 	$(obj[t]).attr('name');
			if(!$(obj[t]).attr("disabled"))
			{
				switch($(obj[t]).attr("type")){
					case 'checkbox':
						if($(obj[t]).attr("checked"))
							a.push({name: name, value: value});
						break;
					default:
						a.push({name: name, value: value});
				}
			}
		}

		a.push({name: 'ajax_request', value: 1});

		return a;
	}

	$('.validate-form').submit(function() {
		var send = true;
		var error_message = '';
		var form = this;
		$('#error_form_message_div').remove();
		
		$(this).find('input').removeClass('error_input');
		
		$(this).find('div.error_block').remove();

		$(this).find('.required').each(function(i){
			if(($(this).attr("value")=='' || $(this).attr("value")=='http://') && !$(this).attr("disabled") || ($(this).attr("value")==$(this).attr('defaultValue') && !$(this).hasClass('nodef'))) {
				$(this).addClass('error_input');
				$error_message = $('<div class="error_block">' + messages.required + '</div>');				
				$error_message.insertBefore(this);
				send = false;
			}
		});

		re_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2,}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;

		$(this).find('.validate-email').each(function() {
			if(!$(this).hasClass('error_input') && !$(this).attr("value").match(re_email)) {
				$(this).addClass('error_input');
				$error_message = $('<div class="error_block">' + messages.email + '</div>');
				$error_message.insertBefore(this);
				send = false;
			}
		});

		if(!send) {		   
		} else {
		   message = $('<div class="wait"   id="error_form_message_div"  style="display: none;">'+ message_loading +'</div>');
		   message.insertBefore(this);
		   message.fadeIn();

		   if($(this).hasClass('ajax-post')) {

				send = false;

				form_array = $(this).map(function(){ return $.makeFormArray(this.elements); });

				var forma = $(this);

				$.ajax({
				type: "POST",

				url: $(this).attr('action'),

				dataType: 'json',

				data: form_array,

				success: function(data) {
					if(data.result!= undefined && data.result) {
						if(data.redirect) {
							window.location.href = data.redirect;
						} else if(data.refresh) {
							window.location.href = window.location.href.replace(/\#.*$/, '');
						} else if(data.send) {
							send = true;
						}else {
							if(data.reload_link) {
								$('#' +$('#'+data.reload_link).attr('rel')).load($('#'+data.reload_link).attr('href') + '?ajax_request=1');
							} else {
								$(forma).map(function(){ return this.reset(); });
							}
						}
						if($('#feedback-ok').is('div')) {
							forma.hide();
							$('#feedback-ok').fadeIn();
							$('#error_form_message_div').remove();
						} else if(data.message) {
							$('#error_form_message_div').removeClass('wait');
							$('#error_form_message_div').addClass('successful');
							$('#error_form_message_div').html(data.message);
							$('#error_form_message_div').show();

							setTimeout(function() {
								$('#error_form_message_div').slideUp();
							}, 7000);


						}

					} else if(data.result == undefined) {
						$('#error_form_message_div').removeClass('wait');
						$('#error_form_message_div').addClass('error');
						$('#error_form_message_div').html(messages.form_not_send);
					} else {
						error_message = data.message;
						$('#error_form_message_div').removeClass('wait');
						$('#error_form_message_div').addClass('error');
						$('#error_form_message_div').html(data.message);

					}
				},
				error: function() {
						$('#error_form_message_div').removeClass('wait');
						$('#error_form_message_div').addClass('error');					
					$('#error_form_message_div').html(messages.form_not_send);
				}

				});

		   }
		}
		return send;

	});

	$('.mok-button').click(function(){		
		var f = $('#mok-form');		
		if(f.is(':visible'))
			f.hide();
		else {			
			f.show();
		}

		return false;
	});

	$('.sms-button').click(function(){		
		var f = $('#sms-form');		
		if(f.is(':visible'))
			f.hide();
		else {			
			f.show();
		}

		return false;
	});

	$('.popblock').click(function(e){
		var $t = $(e.target);
		if($t.is('a.title')  || $t.is('img.timg')) {
			var $b = $(this).find('.box')
			if($b.is(':visible')) {
				$t.removeClass('on');
				$b.slideUp();
			} else {
				$t.addClass('on');
				$b.slideDown();
			}
			return false;
		} else if($t.is('a.question') || $t.is('img.qimg')) {
			var $b = $(this).find('.answer')
			if($b.is(':visible')) {
				$t.removeClass('on');
				$b.slideUp();
			} else {
				$t.addClass('on');
				$b.slideDown();
			}
			return false;
		}
	});

	$('.news_thumb > li').hover(function(){
		$(this).addClass('on');
	}, function(){
		$(this).removeClass('on');
	});

	$('.print > a').click(function() {
		window.print();
		return false;
	});

	$('#left-block-news').click(function(e){
		
		var $t = $(e.target);
		if($t.is('a')) {					
			if(!$t.hasClass('on')) {

				
				var c = parseInt($t.html());
				if($('.news-block:animated').length==0) {				
					$('.news-block').hide();
					$('.news-block:nth-child(' + c + ')').slideDown();
					
					$(this).find('a').removeClass('on');
					
					$t.addClass('on');

					if($('.news-block').length <= c) {
						$('#new-block-next').addClass('off');
					} else {
						$('#new-block-next').removeClass('off');
					}

					if(c>1) {
						$('#new-block-prev').removeClass('off');
					} else {
						$('#new-block-prev').addClass('off');
					}
					
					if(!$(this).hasClass('noanim')) {
						if(c<=8 && c>=3) {
							var l = ($t.width()+10)*(c-3)*-1;																		
							$(this).animate({left: l});
						}
					}
					
				}
			}		
			
			return false;
		}

	});



	$('#new-block-next').click(function(){		
		if(!$(this).hasClass('off')) {
			$('#left-block-news > a.on').next().trigger('click');
		}
		return false;
	});

	$('#new-block-prev').click(function(){		
		if(!$(this).hasClass('off')) {
			$('#left-block-news > a.on').prev().trigger('click');
		}
		return false;
	});


	$('.google-map-box').click(function(){
			
		var pos = $(this).position();
		var link = $(this).attr('href');
		
		$('#google-map-div').remove();
		
		var $map = $('<div id="google-map-div" class="google-map-outter"><div class="close-map-div"><a href="#close" id="close-map-div-l" class="close-map-div-link"></a></div><div class="google-map"><div class="google-loading"><iframe id="iframe-map"  scrolling="no" frameborder="0" marginwidth="0" marginheight="0" style="display: none; padding: 0px; margin: 0px; width: 493px; height: 394px;"></iframe></div><div class="google-map-link-popup" ><a href="' + $(this).attr('href') + '">' + messages.view_full_map + '</a></div></div></div>');
		
		$map.css({top: (pos.top-260), left: pos.left+100});

		$map.insertAfter(this);
		$('#close-map-div-l').click(function(){	$('#google-map-div').remove(); return false; });
		$map.fadeIn();
		
		var $iframe  = $('#iframe-map');
		$iframe.attr('src', link.replace(/google\-map/, 'popup/google-map'));
		$iframe.fadeIn();
		
		return false;
	});
	

	$('#submit-feedback').click(function(){
		$('#feedback-form').trigger('submit');
		return false;
	});

	$('.ext-rate').mousemove(function(e) {
		$d = $(this).next('div.rate-extended');
		$d.show();
		$d.css({top: (e.pageY+10), left: (e.pageX+10)});
		$(this).css({cursor: 'help'});	
	});

	$('.ext-rate').mouseout(function(e) {
		$(this).next('div.rate-extended').hide();
		$(this).css({cursor: 'auto'});	
	});

	$('.rate-row').click(function(e) {
		var $t = $(e.target);
		if($t.is('a')) {
			
			var $bg = $(this).next('.country-row');

			if($bg.is(':visible')) { 
				$(this).removeClass('on bg');
				$bg.hide();
			} else {
				$(this).addClass('on bg');
				$bg.show();
			}
		}
	});

	$('.print > a').click(function() {
		window.print();
		return false;
	});


	$('#sms-okarte-main-link').click(function() {
		$(this).parent().addClass('on');
		$('#my-okarte-main-link').parent().removeClass('on');
		$('#my-okarte-main').hide();
		$('#sms-okarte-main').show();
		return false;
	});

	$('#my-okarte-main-link').click(function() {
		$(this).parent().addClass('on');
		$('#sms-okarte-main-link').parent().removeClass('on');
		$('#sms-okarte-main').hide();
		$('#my-okarte-main').show();
		return false;
	});

	$('#main-link-left').hover(function(){		 
	}, function(){

	});

	$('#toogle-feedback-form').click(function(){
		$('#feedback-ok').hide();
		$('#feedback-form').slideDown();
		return false;
	});

});

