var aLinkScaler = Class.create(
{
	mainContainerId : 'MainSlideContainer',
	responseBoxId: 'responsebox',
	open : false,
	linkText: new Array(),
	linkCollection: new Array(),
	
	initialize: function(handleClassName)
	{
		var self = this;
		if(!$(this.mainContainerId)) return false;
		if($$('.'+handleClassName).length < 1) return false;
		if($($$('.'+handleClassName)[0]))
		{
			$$('.'+handleClassName).each(function(elem)
			{
				self.linkCollection.push(elem);
				self.linkText.push($(elem).getAttribute('title'));
				$(elem).removeAttribute('title');
				
				$(elem).observe('click', function()
				{
					if(self.open == false)
						self.start(this);
				});
			});
		}
	/*	if(window.contactList)
		{
			if(window.contactList.length > 0)
			{
				var h3 = new Element('h3').update('Jeg vil f&aring; tilsendt informasjon om:');
				var ul = new Element('ul');
				window.contactList.each(function(contactListObj, index)
				{
					var li = new Element('li');
					var radio = new Element('input', {type:'checkbox', id: 'chbox'+index, name:'material[]', value: contactListObj.file});
					var label = new Element('label', { 'for': ('chbox'+index) });
					label.innerHTML = contactListObj.title;
					li.appendChild(radio);
					li.appendChild(label);
					ul.appendChild(li);
					li = null;
				});
				$('contactRadioList').appendChild(h3);
				$('contactRadioList').appendChild(ul);
			}
		}*/
	},
	
	fillContent: function(elem)
	{
		$(this.mainContainerId).update($(elem));
	},
	
	start: function(aLink)
	{
		new Effect.Morph($(aLink).parentNode,
		{
			style: 'opacity:0.5'
		});
		
		var self = this;
		var linkSubject = this.linkText[self.linkCollection.indexOf(aLink)]; // Denne teksten skal i emne feltet...
		$('emne').value = linkSubject;
		var background = '#233A48 url('+($(aLink).getAttribute('rel'))+') 50px 35px no-repeat';
		
		$(this.mainContainerId).setStyle({
			background: background
		});
		
		if(window.innerHeight)
			var bottomYcord = window.innerHeight;
		else
			var bottomYcord = document.viewport.getDimensions().height;
			
		var self = this;
		var yEnd = this._getYcord(aLink);

		

		var viewportDifferenceHeight = Math.round((bottomYcord-(eval($('wrap').getStyle('height').replace('px',''))))-(eval($('wrap').getStyle('padding-bottom').replace('px',''))));
			
		$('closeScaleBtn').observe('click', function()
		{
			new Effect.Morph($(aLink).parentNode,
			{
				style: 'opacity:1.0'
			});
			new Effect.Morph(self.mainContainerId,
			{
				style: 'height: 0px;',
				afterFinish: function()
				{
					self.open = false;
				}
			});
		}.bind(this));
		
		
		if(viewportDifferenceHeight > 0)
			$($$('body')[0]).appendChild($(this.mainContainerId));
		else
			$('wrap').appendChild($(this.mainContainerId));
		
		$(this.responseBoxId).setStyle({height:yEnd.elementHeight+'px'});
		new Effect.Morph(this.mainContainerId,
		{
			style: 'height: '+yEnd.elementHeight+'px;',
			afterFinish: function()
			{
				self.open = true;
			}
		});
		$('MainSlideContainer').setStyle({'background':background});
		
	},
	
	stop: function()
	{
		new Effect.Morph(this.mainContainerId,
		{
			style: 'height: 0;',
			afterFinish: function()
			{
				self.open = false;
				//$('contactFormImage').remove();
			}
		});
	},
	
	_getYcord: function(elem)
	{
		var elementSpecs = new Object();
		elementSpecs.bodyHeight = eval($($$('body')[0]).getStyle('height').replace('px',''));
		elementSpecs.elementTop = (($(elem).cumulativeOffset().top)+($(elem).getHeight()));
		elementSpecs.elementHeight = Math.round((elementSpecs.bodyHeight-elementSpecs.elementTop));
		return elementSpecs;
	}
});
function trackConv() {
	if(true){//$('logged-in')){
		if(true)//$('logged-in').innerHTML == 'Petter Wilhelmsen')
		{
			var form = $('contactForm');
			var checBoxes = form.getInputs('checkbox');
			var urlKvittering = '';
			checBoxes.each(
				function(el){
					if (el.checked) {
						if(urlKvittering == '')
						{
							switch(el.value){
								case 'JAMAX STILLASSYSTEM':{
									urlKvittering = '';
									break;
								}
								case 'JAMAX BYGGMESTERPAKKER':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/pakkelosninger';
									break;
								}
								case 'CENTRUM RULLESTILLAS':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/rullestillas';
									break;
								}
								case 'PROF TUNGSTILLAS':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/tungstillas';
									break;
								}
								case 'MARINA / FLYTEBRYGGER':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/flytebrygger';
									break;
								}
								case 'TILBUD PÅ JAMAX BYGGMESTERPAKKER':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/pakkelosninger';
									break;
								}
								case 'TILBUD PÅ JAMAX HUSPAKKER':{
									urlKvittering = '';
									break;
								}
								case 'TILBUD PÅ RULLESTILLAS':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/rullestillas';
									break;
								}
								case 'TILBUD PÅ MARINA - FLYTEBRYGGER':{
									urlKvittering = '/kontakt-oss/skjema/kvittering/flytebrygger';
									break;
								}
							}
						}
					}
				}
			);
			if(urlKvittering == '')
				urlKvittering = '/kontakt-oss/skjema/kvittering/kontakt';
			
			conversion(urlKvittering);
		}
	};
}
function conversion(aurl) {
   var ifrm = document.createElement("IFRAME");
   ifrm.style.display = 'none';
   aurl = aurl+"?" + Math.random();
   //alert("conversion " +aurl);
   ifrm.setAttribute("src", aurl);
   ifrm.style.width = 1+"px";
   ifrm.style.height = 1+"px";
   document.body.appendChild(ifrm);
   return "";
};
Event.observe(window, 'load', function()
{
	var aLinks = new aLinkScaler('aContactLink');
	if($('contactForm'))
	{
		$('contactForm').observe('submit', function()
		{
			new Ajax.Request('/index.php',
			{
				method: 'post',
				parameters: $('contactForm').serialize(true),
				onSuccess: function(transport)
				{
					var responseObj = transport.responseText.evalJSON();
					if(responseObj.message)
					{
						if(responseObj.message == 'OK')
						{
							$(aLinks.responseBoxId).update('Takk for din henvendelse!');
							trackConv();
						}
						else
						{
							trackConv();
							$(aLinks.responseBoxId).update(responseObj.message);
						}
						new Effect.Appear(aLinks.responseBoxId,
						{
							duration: 0.5,
							afterFinish: function()
							{
								var timer = setTimeout(function()
								{
									if(responseObj.message == 'OK')
									{
										new Effect.Morph(aLinks.mainContainerId,
										{
											style: 'height: 0;',
											afterFinish: function()
											{
												aLinks.open = false;
												$('contactForm').reset();
											}
										});
									}
									new Effect.Fade(aLinks.responseBoxId,{duration:1.5});
									clearTimeout(timer);
								},2000);
							}
						});
					}
				}
			})
		});
	}
});
