// Plugin: Modal 1.1
(function(jq142){
	var Modal = function(element, options){
		element = jq142(element);
		var obj = this;
		var settings = jq142.extend({
		   overlay:{
		   		id: 'modal-no-click-bg',
				color: '#000',
				opacity: '0.4'
			},
			close:{
				className: 'close'
			},
			onOpen:function(){},
			onClose:function(){}
		}, options || {});

		this.init = function(){
			
		}
		
		this.create_overlay = function(){
			if(jq142('#'+settings.overlay.id).length < 1){	
				jq142('body').prepend('<div id="'+settings.overlay.id+'">&nbsp;</div>');
				jq142('#'+settings.overlay.id).hide();
				jq142('#'+settings.overlay.id).css({
					"position":"fixed",
					"background-color":settings.overlay.color,
					"width":'100%',
					"height":'100%',
					"top":"0px",
					"left":"0px",
					"z-index":"2502",
					"filter":"alpha(Opacity = "+settings.overlay.opacity * 100+")",
					"opacity":settings.overlay.opacity,
					"-moz-opacity":settings.overlay.opacity
				});
				
				if(jq142.browser.msie && jq142.browser.version.substr(0,1)=="6"){
					jq142('#'+settings.overlay.id).css({
						"position":"absolute",
						"width":jq142(window).width()+'px',
						"height":jq142(window).height()+'px'
					});
					
					jq142(window).scroll(function(){
						if (jq142('#'+settings.overlay.id).css("display") == "block"){
							jq142('#'+settings.overlay.id).css({
								"top":jq142(window).scrollTop()+'px',
								"left":jq142(window).scrollLeft()+'px'							
							});
						}
					});
					
					jq142(window).resize(function(){
						if (jq142('#'+settings.overlay.id).css("display") == "block"){
							jq142('#'+settings.overlay.id).css({
								"width":jq142(window).width()+'px',
								"height":jq142(window).height()+'px'
							});
						}
					});
				}
			}
			
			jq142(window).scroll(function(){ 
				obj.center();
			});
			
			jq142(window).resize(function(){
				obj.center();
			});
			
			jq142('.'+settings.close.className, element).click(function(event){ 
				event.preventDefault();
				obj.close();
			});
		};
		
		this.remove_overlay = function(){
			jq142(window).unbind('scroll');
			jq142(window).unbind('resize');
			jq142('#'+settings.overlay.id).remove();
		}

		this.toggle = function(){
			if(element.is(':hidden')){
				this.open();
			}else{
				this.close();
			}
		};

		this.open = function(){
			this.create_overlay();
			jq142('#'+settings.overlay.id).show();
			element.show();
			obj.center();
			settings.onOpen();			   
		};

		this.close = function(){
			this.remove_overlay();
			jq142('#'+settings.overlay.id).hide();
			element.hide();
			obj.center();
			settings.onClose();
		};
		
		this.center = function(){
			if (jq142('#'+settings.overlay.id).css("display") == "block"){
				var height = element.height();
				var outerHeight = element.outerHeight();
				var elementHeight = height + (outerHeight - height);
				var windowHeight = jq142(window).height();
				var scrollTop = jq142(document).scrollTop()
				var top = (windowHeight / 2) - (elementHeight / 2);
				
				if(jq142.browser.msie && jq142.browser.version.substr(0,1)=="6"){
					var top = scrollTop + top;
				}
				
				var width = element.width();
				var outerWidth = element.outerWidth();	
				var elementWidth = width + (outerWidth - width);
				
				element.css("margin-left", "-" + elementWidth / 2 + "px");
				element.css("left", "50%");
				
				element.css("margin-top", "0px");	
				element.css("top", top+"px");
				
				element.css("position", "fixed");	
				
				element.css("z-index", "2502");	
				
				if(jq142.browser.msie && jq142.browser.version.substr(0,1)=="6"){
					element.css("position", "absolute");	
				}
			}
		};
	};

	jq142.fn.modal = function(options){
		this.each(function(){
			var element = jq142(this);
			
			if(element.data('modal')){
				return;
			}

			var modal = new Modal(this, options);
			
			modal.init();
			
			element.data('modal', modal);
		});
	};
})(jq142);

//Plugin: Query String 1.0
(function (jq142) {
	jq142.fn.queryString = function() {
		
		var form = jq142(this);
		var formData = new Array();
	
		jq142(':input:not(:checkbox, :radio, select)', form).each(function(){
			formData.push(jq142(this).attr('name')+'='+encodeURIComponent(jq142(this).val()));
		})
	
		jq142('input:checkbox:checked',form).each(function(){
			if(jq142('[name="'+jq142(this).attr('name')+'"]', form).length > 1){
				formData.push(jq142(this).attr('name')+'[]='+encodeURIComponent(jq142(this).val()));
			}else{
				formData.push(jq142(this).attr('name')+'='+encodeURIComponent(jq142(this).val()));
			}
		})
		
		jq142('input:radio:checked',form).each(function(){
			formData.push(jq142(this).attr('name')	+'='+encodeURIComponent(jq142(this).val()));
		})
		
		jq142('select :selected',form).each(function(){				
			if(jq142(this).parent().attr('multiple')){
				formData.push(jq142(this).parent().attr('name')+'[]='+encodeURIComponent(jq142(this).val()));
			}else{
				formData.push(jq142(this).parent().attr('name')+'='+encodeURIComponent(jq142(this).val()));
			}
		})
		return formData.join('&');
	};
})(jq142);

var originalForm = false;
var modalJoinLogin, targetUrl;
jq142(document).ready(function(){
	function join_login_modal_loader(){
		var modal_element = jq142(".s-modal-join-login");
		var current_url = document.URL;
		
		if (modal_element.length == 0){
			
			jq142("body").append('<div class="structure s-modal s-modal-join-login"><div class="structure s-inner-modal"><div class="module m-header m-header-modal"><div class="inner"><div class="body"><h3>Join / Login</h3><a href="javascript:;" class="call-close">Close</a></div></div></div><div xmlns:php="http://php.net/xsl" class="structure s-join-login"><div class="structure s-column-left"><div class="structure s-join"><div class="module m-header m-header-page m-header-page-modal"><div class="inner"><div class="body"><h3>Join myDealZ</h3></div></div></div><div class="strucutre s-column-left"><div class="module m-form m-form-join"><div class="inner"><div class="body"><form id="form-join" method="post" action="http://hukd.mydealz.de/login"><input type="hidden" name="referer" value="' + current_url + '"><input type="hidden" name="usubmit" value="Join"><label for="new_username">Benutzername</label><span class="required">*</span><div class="input input-text input-text-username"><input class="" type="text" name="new_username" tabindex="200" id="new_username" maxlength="25" value=""></div><span class="tip">Wähle einen Benutzernamen</span><label for="new_password">Passwort</label><span class="required">*</span><div class="input input-text input-text-password"><input type="password" name="new_password" tabindex="210" id="new_password" maxlength="25"></div><span class="tip">Passwort</span><label for="new_email">Email</label><span class="required">*</span><div class="input input-text input-text-email"><input type="text" name="new_email" id="new_email" tabindex="220" maxlength="50" value=""></div><span class="tip">Email</span><label for="confirm_password">Emailadresse bestätigen</label><span class="required">*</span><div class="input input-text input-text-email"><input type="text" name="confirm_email" tabindex="230" id="confirm_password" maxlength="50"></div><span class="tip">Email</span><div class="clear" /><div class="input input-checkbox input-checkbox-terms"><input type="checkbox" name="agree_to_terms" id="agree_to_terms" tabindex="240"></div><label class="label label-checkbox label-checkbox-terms" for="agree_to_terms"><a href="http://hukd.mydealz.de/diverses/regeln-und-bedingungen/2" target="_blank">Ich stimme den Regeln und<br />Bedingungen zu.</a></label><span class="required">*</span><div class="clear"></div><span class="holder-required"><span class="required">*</span>Pflicht</span><div class="input input-button input-button-join"><input type="submit" name="join" value="Join" tabindex="250"></div><div class="clear"></div></form></div></div></div></div><div class="structure s-column-right"><div class="module m-modal-why-join"><div class="inner"><div class="header"><h4>Warum myDealZ Mitglied werden?</h4></div><div class="body"><p>myDealZ ist auch ohne Anmeldung problemlos nutzbar. Eine Registrierung ist allerdings komplett kostenlos und nur so kannst Du wirklich aktiv mitwirken - Deals bewerten, Deals einstellen und kommentieren.<br><br></p></div></div></div></div></div></div><div class="structure s-column-right"><div class="structure s-login"><div class="module m-header m-header-page m-header-page-modal"><div class="inner"><div class="body"><h3>Login</h3></div></div></div><div class="module m-form m-form-login"><div class="inner"><div class="body"><form method="post" action="http://hukd.mydealz.de/login" id="form-login"><input type="hidden" name="referer" value="' + current_url + '"><input type="hidden" name="usubmit" value="Login"><label for="username">Benutzername</label><div class="input input-text input-text-username"><input type="text" class="textbox" name="username" id="username" tabindex="260" value=""></div><label for="password">Passwort</label><div class="input input-text input-text-password"><input type="password" class="password" name="password" id="password" tabindex="270" value=""></div><div class="input input-checkbox input-checkbox-remember"><input name="remember_me" id="remember_me" type="checkbox" checked tabindex="280" value="true"></div><label class="label label-checkbox label-checkbox-remember" for="remember_me">Eingeloggt bleiben?</label><div class="clear"></div><div class="input input-button input-button-login"><input type="submit" name="login" tabindex="290" value="Login"></div><div class="clear"></div><a class="reminder" href="http://hukd.mydealz.de/login?reminder=true">Passwort vergessen?</a></form></div></div></div></div></div></div></div></div>');
			modal_element = jq142(".s-modal-join-login");
			
			modal_element.modal({
				overlay:{
					color: "#000",
					opacity: "0.4"
				},
				close:{
					className: "call-close"
				},
				onClose:function(){
					jq142("input[type='text'], input[type='password']",".s-modal-join-login").val("");
					jq142("input[name='agree_to_terms']",".s-modal-join-login").attr("checked",false);
					jq142("input[name='remember_me']",".s-modal-join-login").attr("checked",true);
				}
			});
			
			modalJoinLogin = modal_element.data("modal");
		}
	}
	
	jq142(".call-modal-join").click(function(event){
		join_login_modal_loader();
		event.preventDefault();
		if ( jq142(this).attr("href") ){
			targetUrl = jq142(this).attr("href");
		}
		modalJoinLogin.open(targetUrl);
	});
	
	if(jq142('.call-login').length > 0){
		jq142('.call-login').click(function(event){
			event.preventDefault();
			jq142(".m-userbar-welcome").hide();
			jq142(".m-form-userbar-login").show();
			
		});
		jq142('.call-login-cancel').click(function(){
			jq142(".m-form-userbar-login").hide();
			jq142(".m-userbar-welcome").show();
		});
	}
});

function parseResponse(response){
	var responseObj = {};
	
	responseObj.status = getTagFromResponse("response_status",response);
	responseObj.content = getTagFromResponse("response_content",response);
	responseObj.messages = getTagFromResponse("response_messages",response);
	responseObj.value = getTagFromResponse("response_value",response);

	return responseObj;
}

function getTagFromResponse(tag, response){
	tagVal = null;
	
	response = response.split("<" + tag + ">");
	
	if(response.length > 1){
		response = response[1].split("</" + tag + ">");
		
		if(response.length > 1){
			tagVal = jq142.trim(response[0]);
		}
	}
	
	return tagVal;
}
