﻿var serverPath = self.location.protocol + '//' + self.location.host;
var languageId = 0;
var callbackUrl = self.location.href;
var timeZoneOffset;

$(function() {
	timeZoneOffset = readCookie('TimeZoneOffset');
	var currentTimeZoneOffset = -(new Date()).getTimezoneOffset();

	if (timeZoneOffset != null) {
		if (currentTimeZoneOffset != timeZoneOffset) {
			timeZoneOffset = currentTimeZoneOffset;
			createCookie('TimeZoneOffset', timeZoneOffset, 365);
		}
	}
	else {
		timeZoneOffset = currentTimeZoneOffset;
		createCookie('TimeZoneOffset', timeZoneOffset, 365);
	}

	var preload;

	preload = new Image();
	preload.src = 'http://images.mindz.com/css/images/loader/center.gif';
	preload = new Image();
	preload.src = 'http://images.mindz.com/css/images/loader/right.gif';
	preload = new Image();
	preload.src = 'http://images.mindz.com/css/images/loader/left.gif';
});

function GetPopup(popup, webservice, options) {
	if (options == undefined) {
		options = { languageId : 0 };
	}
	else if (options.languageId == undefined) {
		options.languageId = 0;
	}

	if (eval('typeof(Show' + popup + ')') == 'undefined') {
		$.getJSON(serverPath + '/WebServices/' + webservice + '.asmx/Get' + popup + 'Html?callback=?',
			{ languageId: options.languageId, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				eval('Show' + popup + '(options)');
			});
	}
	else {
		eval('Show' + popup + '(options)');
	}
};

function ShowPopup(link, path, popup, options) {
	var showLoader = (link && link.tagName == 'A');
	
	if (showLoader) {
		// Show loader image
		var originalLink = $(link);
		var replacementLink = $('<span style="position: relative;"><img style="position: absolute; left: 0px" src="http://images.mindz.com/css/images/loader/left.png" /><img style="position: absolute; right: 0px" src="http://images.mindz.com/css/images/loader/right.png" /></span>');
		replacementLink
			.css('display', 'inline-block')
			//.css('margin-bottom', '-' + (originalLink.height() / 5) + 'px')
			.css('position', 'relative')
			.css('background-image', 'url(http://images.mindz.com/css/images/loader/center.gif)')
			.css('background-repeat', 'no-repeat')
			.css('width', originalLink.width() + 'px')
			.css('height', originalLink.height() + 'px');
		replacementLink.addClass(originalLink.attr('class'));
		
		originalLink.hide();
		originalLink.after(replacementLink);
	}
	if (options == undefined) {
		options = { languageId: 0 };
	}
	else if (options.languageId == undefined) {
		options.languageId = 0;
	}

	if (eval('typeof(Show' + popup + ')') == 'undefined') {
		$.getJSON(serverPath + '/WebServices/UserControlWS.asmx/GetUserControlHtml?callback=?', {
			userControl: path + '/' + popup,
			languageId: options.languageId,
			parameters: JSON.stringify(options),
			form: 'json'
		},
		function(result) {
			$(result).appendTo($('body'));
			eval('Show' + popup + '(options)');
			if (showLoader) {
				// Hide loader image
				replacementLink.remove();
				originalLink.show();
			}
		});
	}
	else {
		eval('Show' + popup + '(options)');
		if (showLoader) {
			// Hide loader image
			replacementLink.remove();
			originalLink.show();
		}
	}
};

function GetMappingPopup(options) {
	if (typeof(ShowMapping) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/RegisterWS.asmx/GetMappingHtml?callback=?',
			{ languageId: languageId, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				if (options) {
					ShowMapping(options);
				}
				else {
					ShowMapping({});
				}
			});
	}
	else {
		if (options) {
			ShowMapping(options);
		}
		else {
			ShowMapping({});
		}
	}
};

function GetInviteToPlazaPopup(options) {
	if (typeof(ShowInviteToPlaza) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/CircleWS.asmx/GetInviteToPlazaHtml?callback=?',
			{ languageId: languageId, plazaId: options.plazaId, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				ShowInviteToPlaza(options);
			});
	}
	else {
		ShowInviteToPlaza(options);
	}
};

function GetLostPasswordPopup(emailAddress) {
	if (typeof(ShowLostPassword) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/RegisterWS.asmx/GetLostPasswordHtml?callback=?',
			{ languageId: languageId, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				ShowLostPassword(emailAddress);
			});
	}
	else {
		ShowLostPassword(emailAddress);
	}
};

function GetMapChoicePopup(options) {
	if (typeof(ShowMapChoice) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/RegisterWS.asmx/GetMapChoiceHtml?callback=?',
			{ languageId: languageId, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				if (options) {
					ShowMapChoice(options);
				}
				else {
					ShowMapChoice({});
				}
			});
	}
	else {
		if (options) {
			ShowMapChoice(options);
		}
		else {
			ShowMapChoice({});
		}
	}
};

function GetRegisterPopup(options) {
	if (typeof(ShowRegister) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/RegisterWS.asmx/GetRegisterHtml?callback=?',
			{ languageId: languageId, callbackUrl: callbackUrl, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				if (options) {
					ShowRegister(options);
				}
				else {
					ShowRegister({});
				}
			});
	}
	else {
		if (options) {
			ShowRegister(options);
		}
		else {
			ShowRegister({});
		}
	}
};

function GetLoginPopup(options) {
	if (typeof(ShowLogin) == 'undefined') {
		$.getJSON(serverPath + '/WebServices/RegisterWS.asmx/GetLoginHtml?callback=?',
			{ languageId: languageId, callbackUrl: callbackUrl, form: 'json' },
			function(result) {
				$(result).appendTo($('body'));
				if (options) {
					ShowLogin(options);
				}
				else {
					ShowLogin({});
				}
			});
	}
	else {
		if (options) {
			ShowLogin(options);
		}
		else {
			ShowLogin({});
		}
	}
};

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
