/*
	File: f2s.js
	Code:	Kirill Popov (wangoviridans [@] gmail.com)
		Lezzoum Djebran (dl [@] log.com.ua)
	Copyright: www.fan2stick.com
	Thu, 15 Oct 2009 12:21:31 +0300
*/

var dialogHight;
var dialogWidth;
var sXY;
var wWH;
var topPosition;
var leftPosition;

var addFbBackend = '/user/feedback/create';
var userRegBackend = '/user/register/step2';
var userUpdateProfileBackend = '/user/register/updateprofile';


var flashMessage = '';

function setFlashMessage(fMsg) {
	flashMessage = fMsg;
}

function getWindowSize() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return [myWidth, myHeight];
}

function getScrollXY() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [scrOfX, scrOfY];
}

function showMask() {
	maskHeight = $(document).height();
	maskWidth = $(window).width();
	$('#mask').css({'width':maskWidth,'height':maskHeight});  
	$('#mask').fadeIn();      
	$('#mask').fadeTo("slow",0.8);
}

function reloadCloseButton() {
	$('.window .closeW').click(function (e) {    
		e.preventDefault();  
		$('#mask, .window').animate({height: "hide"}, 400);
	});
}

function resetDynDiv() {
	$('#dyndiv').html('<div class="splashReg"><div class="splashTop">&nbsp;</div><div class="splashRegMid"><a href="#" title="Close window" class="closeW"><img src="/images/close.gif" alt="" /></a><div class="accessD"><h2>Загрузка</h2><center><img src="/images/lightbox-ico-loading.gif" /></center></div></div><div class="splashBot">&nbsp;</div></div>');
	reloadCloseButton();
}

function makeMessage(title, content) {
	return('<div class="splashReg"><div class="splashTop">&nbsp;</div><div class="splashRegMid"><a href="#" title="Close window" class="closeW"><img src="/images/close.gif" alt="" /></a><div class="accessD"><h2>'+title+'</h2>'+content+'</div></div><div class="splashBot">&nbsp;</div></div>');
}	

function LoadDiv(divname, params) {
	resetDynDiv();
	$('#dyndiv').animate({height: "show"}, 300);
	$.get('/user/dyndiv/'+divname, params, function(data){ DivLoaded(data); })
}

function DivLoaded(data) {
	if (data!='') {
		$('#dyndiv').html(data);
	} else {
		$('#dyndiv').html(makeMessage('Системное сообщение', 'Соединение с сервером было прервано.'));
	}
	
	fixDivPosition();
	reloadCloseButton();
}

function FormReturn(data) {

	var reg = $.evalJSON(data).registration;
	var message = $.evalJSON(data).message; 
	if (reg==true){
		resetDynDiv();
		$('#dyndiv').html(makeMessage('Системное сообщение', message));
		fixDivPosition();
		reloadCloseButton();
	
	}else {
		$('#qReg .regmessage').html(message);
	}
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
 	return pattern.test(emailAddress);
}

function registerUser() {
	r_user_name = $('#nick').val();
	r_email_address = $("#email").val();
	r_password = $('#pass').val();
	r_confirm_password = $('#pass_en').val();

	if ((r_user_name=='') || (r_email_address=='') || (r_password=='') || (r_confirm_password=='')) {
		$('#qReg .regmessage').html('* обозначены поля, обязательные для заполнения !');
		return false;
	}

	if(!isValidEmailAddress(r_email_address)) {
		$('#qReg .regmessage').html('Неверный Email адрес.');
		return false;
	}

	if (r_password!=r_confirm_password) {
		$('#qReg .regmessage').html('Пароли не совпадают !');
		return false;
	}
	
	var formData = { user_name: r_user_name, email_address: r_email_address, password: r_password, confirm_password: r_confirm_password}

	//resetDynDiv();
	//$.post(userRegBackend, formData, DivLoaded);
	
	$('#qReg .regmessage').html('<img src="/images/lightbox-ico-loading.gif" />');
	$.post(userRegBackend, formData, FormReturn);
	
	
}


function updateUserProfile() {
	r_user_name = $('#nick').val();
	r_vpassword = $('#vpass').val();
	r_email_address = $("#email").val();
	r_password = $('#pass').val();
	r_confirm_password = $('#pass_en').val();
	r_contacts = $('#contacts').val();
	r_www = $('#www').val();
	r_about = $('#about').val();
	r_city = $('#city').val();
	r_bday = $('#bday').val();
	r_bmonth = $('#bmonth').val();
	r_byear = $('#byear').val();
	/*
	r_bday = document.r.bday.value;
	r_bmonth = document.r.bmonth.value;
	r_byear = document.r.byear.value;
	*/
	r_country = $('#country').val();
	
	
	if (document.r.gender[0].checked){
		var r_gender = document.r.gender[0].value;
	}
	if (document.r.gender[1].checked){
		var r_gender = document.r.gender[1].value;
	}

	if (r_vpassword==''){
		$('#qReg .regmessage').html('* обозначены поля, обязательные для заполнения !');
		return false;
	}
	
	if (r_email_address!=''){
		if(!isValidEmailAddress(r_email_address)) {
			$('#qReg .regmessage').html('Неверный Email адрес.');
			return false;
		}
	}
	
	if (r_password!=''){ 
		if (r_password!=r_confirm_password) {
				$('#qReg .regmessage').html('Пароли не совпадают !');
				return false;
		}
	}
	
	var formData = {user_name: r_user_name, vpassword: r_vpassword,email_address: r_email_address, password: r_password, confirm_password: r_confirm_password, gender:r_gender,contacts:r_contacts,www:r_www,about:r_about,city:r_city,bday:r_bday,bmonth:r_bmonth,byear:r_byear,country:r_country }

	$('#qReg .regmessage').html('<img src="/images/lightbox-ico-loading.gif" />');
	$.post(userUpdateProfileBackend, formData, FormReturn);

	return true

}

function addFb() {
	r_subject = $('#r_theme').val();
	r_comment = $('#r_text').val();

	if ((r_subject=='')||(r_comment=='')) {
		$('#addfbmessage').html('* обозначены поля, обязательные для заполнения !');
		return false;
	}

	resetDynDiv();
	$.post(addFbBackend, { title: r_subject, comment: r_comment }, fbAdded);
}

function fbAdded(data) {
	$('#dyndiv').html(makeMessage('Книга отзывов', 'Отзыв успешно добавлен !'));
	reloadCloseButton();
}

function fixDivPosition() {
	dialogHight = $('#dyndiv').height();
	dialogWidth = $('#dyndiv').width();
	sXY =getScrollXY();
	wWH =getWindowSize();
	topPosition = sXY[1] + dialogHight/2;
	leftPosition = sXY[0] + wWH[0]/2 - dialogWidth/2;
	$('#dyndiv').css('top', topPosition);
	$('#dyndiv').css('left', leftPosition);
}

function f2sRequest(f, q) {
	$.getJSON('/user/dyndiv/'+f+'.json', {query:'Profile Testing'}, f2sResponse);
}

function f2sResponse(data, textStatus) {
	console.log(data);
	console.log(textStatus);
	switch (textStatus) {
		case "timeout":
			// Server not responding
			//return false;
		break;
		case "error":
			// Server returned error
			return false;
		break;
			// Page not modified
		case "notmodified":
			false;
		break;
			// Request succeess
		case "success":
			return true;
		break;
		case "parsererror":
			return false;
		break;
	}
}

$(document).ready(function() {
	fixDivPosition();
	
	$('a[name=modal]').click(function(e) {    
		e.preventDefault();
		fixDivPosition();
		var id = $(this).attr('href');
		showMask();
		params = {}
		if ((id == "#SaleDescription")||(id == "#Rating")) {
			params = { colid: $(this).attr('id') };
		}
		LoadDiv(id.replace("#", ""), params);
	});

	reloadCloseButton();

	$('#mask').click(function () {  
		$(this).hide();  
		$('.window').hide();  
	});

	$(function() {
        	$('#gallery a').lightBox();
		$('#colFace').lightBox();
		$('a.lightbox').lightBox(); // Select all links with lightbox class
	});

	if (flashMessage != '') {
		showMask();
		$('#dyndiv').html(makeMessage('Системное сообщение', flashMessage));
		fixDivPosition();
		reloadCloseButton();
		$('#dyndiv').animate({height: "show"}, 300);
	};
});

/*
	File: f2s.js
	Code:	Kirill Popov (wangoviridans [@] gmail.com)
		Lezzoum Djebran (dl [@] log.com.ua)
	Copyright: www.fan2stick.com
	Thu, 15 Oct 2009 12:21:31 +0300
*/

