/* Functions */
function itOverlay(html){
	html = html || '<img src="/images/ajax-loader-black.gif">';
	$('body').prepend('<div class="it-overlay"><div style="padding-top:20em;">' + html + '</div></div>');
}

function itOverlayUpdate(id, html, w, h){
	$('.it-overlay').html('');
	$('.it-overlay').after(html);
	centerPopup(id,w,h);
}

function centerPopup(popup_id) {

	var popup = $('#' + popup_id);

	//request data for centering
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight= document.documentElement.clientHeight;
	var popupWidth  = popup.width();
	var popupHeight = popup.height();

	//centering
	if ($.browser.msie && $.browser.version=="6.0") {
		popup.css({"position": "absolute", "top": windowHeight/2-popupHeight/2,  "left": windowWidth/2-popupWidth/2});
	}else{
		popup.css({"position": "absolute", "top": windowHeight/2-popupHeight/2,  "left": windowWidth/2-popupWidth/2});
	}
}

function closePopup(popup_id) {
	var popup = $('#' + popup_id);
	popup.remove();
	$('.it-overlay').remove();
}

function signup(onSuccess){
	itOverlay();
	$.ajax({
		url: 		'/request/member?action=signup_form',
		type: 		'post',
		dataType: 	'json',
		success:	function(response){
			$('.it-overlay').html('');
			$('.it-overlay').after(response.form);
			centerPopup('signup-form-wrapper');
			$('#firstname-input').focus();

			$('#signup-close').click(function(){
				closePopup('signup-form-wrapper');
			});
			$(document).keydown(function(event){
				if(event.keyCode == '27'){
					closePopup('signup-form-wrapper');
					hideErrorMessage();
				}
			});
			if (onSuccess) {
				$(document).bind("mailchimpSubscribeSuccess", {}, onSuccess);
			}
		}
	});
}

function doSignup(button){
	var form = $(button).closest('form').serialize();

	$.ajax({
		url:		'/request/member?action=do_signup',
		type: 		'post',
		data:		{'data': form},
		dataType:	'json',
		success:	function(response){
			if (response.errors) {
				var text = response.errors.join(' / ');
				showErrorMessage(text);
				return false;
			} else if (response.message) {
				alert(response.message.content);
			}
			window.location.href =  window.location.href;
		},
		error:		function(response){
			console.log('err');
		}
	});
}

function installSHidding(inputSelector) {
	if($(inputSelector).val() == ''){
		$(inputSelector).closest('label').addClass('input-placeholding');
	} else {
		$(inputSelector).closest('label').removeClass('input-placeholding');
	}
	
	$(inputSelector).focus(function(){
		$(this).closest('label').removeClass('input-placeholding');
	
	});

	$(inputSelector).blur(function(){
		var value = $(this).val();
		value = value.trim();
		if(value == '') {
			$(this).closest('label').addClass('input-placeholding');
		}
	});
}

/* Error Messages */
function hideErrorMessage(){
	$('#error-message').slideUp('fast');
}
function showErrorMessage(text){
	window.scrollTo(0,0);
	$('#error-message').slideUp('fast', function(){
		$('#error-message').text(text);
		$('#error-message').slideDown('fast');
	});
}

function closePopup(container_id){
	$('.it-overlay').remove();
	$('#'+container_id).remove();
	hideErrorMessage();
}

/* Sign In */

var iframe_load_c1 = 0;
var iframe_load_c2 = 0;

function login() {
	itOverlay();
	$.ajax({
		url: 		'/request/member?action=login_form',
		type: 		'post',
		dataType: 	'json',
		success:	function(response){
			itOverlayUpdate('login-form-container', response.form, 550, 350);
			$('#username-input').focus();
			
			$(document).keydown(function(event){
				if(event.keyCode == '27'){
					$('.it-overlay, #login-form-container').remove();
					hideErrorMessage();
				}
			});
			$('#login-form-container form input').keydown(function(event){
				if(event.keyCode == '13'){
					doLogin($('#loginButton'));
				}
			});
		}
	});
}

function doLogin(button){
	var form_obj = $(button).closest('form');
	var form = form_obj.serialize();
	
	$.ajax({
		url:		'/request/member?action=do_login',
		type: 		'post',
		data:		{'data': form},
		dataType:	'json',
		success:	function(response){
			if (response!=undefined && response.errors!=undefined) {
				$('#password-input').attr('value','');
				var text = response.errors.join(' / ');
				showErrorMessage(text);
				return false;
			}

			// multilogin
			var $iframe	= $('#login-iframe');
			var $alter_form = $iframe.contents().find('form');

			var origin_site_id = form_obj.find('input[name=site_id]').val();
			
			$alter_form.attr('action', BaseUrlAlter);
			$alter_form.find('#username-input-alter').val(form_obj.find('#username-input').val());
			$alter_form.find('#password-input-alter').val(form_obj.find('#password-input').val());
			$alter_form.find('input[name=site_id]').val(origin_site_id == 1 ? 9 : 1);
			$alter_form.submit();

			$iframe.load(function(){
				iframe_load_c1++;
				if (iframe_load_c1 == 2) {
					window.location.href =  window.location.href;
				}
			});
			return true;
		}
	});
}

/* Logout */
function logout(){
	$.ajax({
		url:		'/request/member?action=logout&is_ajax=1',
		type: 		'post',
		dataType:	'json',
		success:	function(response){

			//multilogout
			var $iframe		= $('#logout-iframe');
			var $alter_form = $iframe.contents().find('form');

			$alter_form.attr('action', BaseUrlAlter + 'request/member?action=logout');
			$alter_form.submit();

			$iframe.load(function(){
				//iframe_load_c2++;
				//if (iframe_load_c2 == 2) {
					window.location.replace('/');
				//}
			});
		}
	});
}


	

/**
 * Tags functions
 */
function setupTags(selector, _readonly, _delimiter) {

	// optional params
	var delimiter =	_delimiter || ',';
	var readonly  =	_readonly  || false;

	$(selector).each(function(){
		$(this).tags({
			readOnly: readonly,
			delimiter: delimiter
		});
	});
}


// Sign Up & Go to PayPal for create order
function signUpAndOrderNow(){
	var form = $('#signup_form');
	var options = {
		url:    BaseUrl + 'request/member/?action=micro_signup',
		type:  'post',
		success: function(data) {
			// clear all fields
			$('.inp',form).each(function(){
				$(this).removeClass('inp-error');
//				$('#'+this.id+' + div').hide();
			});
			if (data.errors) {
				showErrorMessage(data.errors);
			} else if (data.fields_errors) {
				// mark fields with errors
				var error = '';
				var cnt=0;
				for (var i in data.fields_errors) {
					if (cnt==0) $('#'+i).focus();
					$('#'+i).removeClass('inp-error').addClass('inp-error');
//					$('#'+i+' + div').html(data.fields_errors[i]).show();
					cnt++;
				}
			} else if (data.ok) {
				alert("Sign Up was done successfully");
			}
		},
		dataType:'json'
	};
	$(form).ajaxSubmit(options);
}


function showAdvancedSearch() {
//	$('#advanced-search .ad-button').hide();
	
	$('.advanced-search').animate({
		"height"	: "580px",
		"opacity"	: "show"
	});
}
function closeAdvancedSearch(){
	
	$('.advanced-search').animate({
		"height"	: "0px",
		"opacity"	: "hide"
	},500);
	
	$('#advanced-search .ad-button').show();
	
	
}


$(document).ready(function() {
	/*
	 * Main Menu hovers
	 */
	// First level
	$('#main-menu li.level_1').hover(
		function(){
			$(this).children('ul').show();
		}, 
		function(){
			$(this).children('ul').hide();
		}
	);
	// second level
	$('#main-menu li.level_2').hover(
		function(){
			var ul	= $(this).children('ul');
			var p	= $(this).parent().parent().position();
			if (p.left > 300) ul.css('left', '-' + (ul.width()+1) + 'px' );
			ul.show();
		},
		function(){
			$(this).children('ul').hide();
		}
	);
	
	//Hiddining text in inputs
	installSHidding('#q-search-q');
	installSHidding('#q-adsearch-q');
	
	// Rounded corners
	$('.signup').corner('3px br');
	$('.corner').corner('3px');
	$('.select').corner('3px');
	$('.letters a').corner('3px');
	$('.corner-bottom').corner('bottom 3px');
	$('.corner-top').corner('top 3px');
	$('.li_first').corner('top 3px');
	$('.li_last').corner('bottom 3px');

//	$('.nested-round-corner').corner("round 10px").parent().css('padding', '4px').corner("round 10px"); // for borders
//	$('.cloud b').corner('7px');// for small clouds
	

});

