var appscripts = function() {	
	if($('direct-debit-register-form-iframe') && location.href.indexOf('register') > -1)
	{
		$('main-content').replace('<p>Thank you for completing your website registration with CGA. Please now complete your declaration and details in order to submit your Direct Debit application. Once completed you will be able to login using the username and password you have chosen.</p><p>If you would like brief step by step notes to help you complete this application, please click <a href="#" id="dd-steps" title="Step by step guide">here</a> (opens new window).</p>');
									
		$('dd-steps').observe('click', steps_popup);
		$('register-first-page-text').hide();
	}
		
	//Style Navs
	if($('nav-1'))
	{
		var nav1listCurrent = $('nav-1').down('li.current');
		var nav1listCurrentPos = nav1listCurrent.positionedOffset();		
		var nav1listCurrentLeft = nav1listCurrentPos[0];
 	}

	if($('nav-2'))
	{
		var nav2listCurrent = $('nav-2').down('li.current');
		if(nav2listCurrent)
		{
			var nav2listCurrentPos = nav2listCurrent.positionedOffset();		
			var nav2listCurrentLeft = nav1listCurrentPos[0];		

			var nav2list = $('nav-2').down('ul');
			var nav2listMarginLeft = nav2list.getStyle('margin-left').replace('px', '');
			var nav2listSize = nav2list.getDimensions();
			var nav2listWidth = nav2listSize.width;

			if(nav2listMarginLeft == 10)
			{
				var offset = nav1listCurrentLeft + nav2listWidth/2;
				while (offset + nav2listWidth > 970)
				{
					offset = offset - 1;
				}

				nav2list.setStyle({
					'marginLeft':offset + 'px'
				}
				);
			}
		}
	}
	
	if($('nav-3'))
	{
		var nav3list = $('nav-3').down('ul');
		var nav3listMarginLeft = nav3list.getStyle('margin-left').replace('px', '');		

		var nav3listSize = nav3list.getDimensions();
		var nav3listWidth = nav3listSize.width;
				
		if(nav3listMarginLeft == 10)
		{
			var offset = nav2listCurrentLeft + nav2listWidth/2;
			while (offset + nav3listWidth > 970)
			{
				offset = offset - 1;
			}
						
			nav3list.setStyle({
				'marginLeft':offset + 'px'
			}
			);
		}
	}
	if($('offerswants_add-form_submit'))
	{
		$('offerswants_add-form_submit').observe('click', validatePreview, false);
		
		
		//get the upload form tom sit in the right place
		var num_4 = $('offers_wants_NO4').offsetTop;
		var form_4 = $('file_upload_form').offsetTop;
		var diff = form_4 - num_4;
		var cur_pos = $('file_upload_form').getStyle('top');
		cur_pos = cur_pos.replace('px', '');
		var new_pos = parseInt(cur_pos) - diff + 5;		
		var browser = navigator.userAgent;			
		if(browser.indexOf('MSIE 6.') != -1)
			new_pos = new_pos - 45;
		new_pos = new_pos+'px';

		$('file_upload_form').setStyle({top: new_pos});
		
	}
	if($('showform')){
		$('showform').observe('click', showForm, false);		
	}
	if($('postform')){
		$('postform').observe('click', postForm, false);		
	}	
	
	$$('a.lw_cancel').each(function(elem ){ 
		elem.observe('click', function(event){ 
			parent.myLightWindow.deactivate();
			event.stop();
			});
		});

	if($('plugInsuranceContact')){

		InsuranceEnq();

		$$('input.cboxes').each(
			function( cbox )
			{ 
				cbox.observe('change', InsuranceEnq);
			}
		);
	}

	if($('plugEstatePlanner'))
	{
		add_estate_child();
		sum_assets();	
	}	
	
	if($('OW-deletephoto'))
	{
		delete_photo();
		var x  = '';
		var el = $('OW-deletephoto');	
		var im = $$('.del_img');
		im.each(
			function(elem){
				x = elem.down('img').readAttribute('src');	
			}
		)
		
		if(x.indexOf('awaitingphoto')!= -1){
			el.hide();
		}
	}
	
	if('direct-debit-register-form-iframe')
	{
		new PeriodicalExecuter(dd_complete, 3);

	}
}

var steps_popup = function()
{
	var url ='/ddcallback/steps';
	var h = 468;
	while (h > document.viewport.getHeight())
	{
		h =  h - 1;
	}
	var w = 450;	
	window.open(url, '', 'width='+w+',height='+h+',scrollbars=1, addressbar=0');
	
}

var delete_photo = function()
{
	$('OW-deletephoto').observe('click', function(event){
		if(confirm("Are you sure you want to delete this photo")){
			$("offerswants_edit-form_upload").replace('<input type="hidden" value="0" name="form_upload" />');
			var el = event.element();
			el.up('form').submit();	
		}		
	}, false)
}

var sum_assets = function()
{
	$$('input.joint-asset', 'input.row-header', 'input.spouse-asset').each(
		function(elem)
		{
			if(elem.id!='estate_planner-form_totals_your_assets')
			{			
				elem.observe('blur', function(event)
				{
					var ja = 0;
					var ya = 0;
					var sa = 0;
					var ad_am = 0;

					el = event.element();

					$$('input.joint-asset').each(
						function(elem)
						{
							var str = $F(elem);
							ad_am = (str)? str.replace(/[^\d]/gi, ""):0;
							ad_am = parseInt(ad_am);								
							ja = ja + ad_am;

							ad_am = 0;
						}
					);

					$$('input.spouse-asset').each(
						function(elem)
						{

							var str = $F(elem);
							ad_am = (str)? str.replace(/[^\d]/gi, ""):0;
							ad_am = parseInt(ad_am);								
							sa = sa + ad_am;

							ad_am = 0;							
						}
					);

					$$('input.row-header').each(
						function(elem)
						{

							var str = $F(elem);
							ad_am = (str)? str.replace(/[^\d]/gi, ""):0;
							ad_am = parseInt(ad_am);								
							ya = ya + ad_am;						
							ad_am = 0;								

						}
					);

					$('estate_planner-form_totals_joint_assets').value=ja;
					$('estate_planner-form_totals_your_assets').value=ya;
					$('estate_planner-form_totals_spouse_assets').value=sa;				

					ya = 0;
					sa = 0;
					ja = 0;							
				}
			);
		}
	}
);
}

var add_estate_child = function(event)
{
	$$('.child').each(
		function (elem)
		{
			elem.hide();
			elem.next('div.form-row').hide();
			$('estate_planner-formrow-form_childs_name').show();
			$('estate_planner-formrow-form_child_dob').show();			
		}
	);
	$('add-child-btn').observe('click', 
	function()	
	{
		$$('.childs_dob').each(
			function (elem)
			{
				if($F(elem.down('input'))>''){
					
					var nxtrow = elem.next('div.form-row');
					nxtrow.show();
					nxtrow.next('div.form-row').show();					
				}

			}
		);				

		}, false);

	}

	var InsuranceEnq = function(  )
	{
		var pages = $$('.form-pages');			
		var fm_pages = '';

		if ($F('insurance_contact_add-form_insurance_type_mortgage') == 1)
		{
			fm_pages = fm_pages + ':insurance_contact_add-form-page2';
		}
		if ($F('insurance_contact_add-form_insurance_type_home') == 1)
		{
			fm_pages = fm_pages + ':insurance_contact_add-form-page3';
		}	
		if ($F('insurance_contact_add-form_insurance_type_travel') == 1)
		{
			fm_pages = fm_pages + ':insurance_contact_add-form-page4';
		}	
		pages.each(
			function(el)
			{
				var elid = el.readAttribute('id');

				if(elid != 'insurance_contact_add-form-page1')
				{
					if (fm_pages.indexOf(elid)>-1)
					{
						el.show();
					}
					else
					{
						el.hide();
					}
				}
			}
		);
		if( ( !check_enquire_checkboxes() ) && ( fm_pages=='' ) )//no check bosex ae selected - choose home insurance
		{
			$('insurance_contact_add-form-page3').show();		
			$('insurance_contact_add-form_insurance_type_home').checked='checked';
		}
		$('insurance_contact_add-form-page5').show();
	}

	var check_enquire_checkboxes = function()
	{
		
		var arr = new Array;
		arr[0] = 'insurance_contact_add-form_insurance_type_mortgage';
		arr[1] = 'insurance_contact_add-form_insurance_type_home';
		arr[2] = 'insurance_contact_add-form_insurance_type_travel';
		arr[3] = 'insurance_contact_add-form_insurance_type_investment';
		arr[4] = 'insurance_contact_add-form_insurance_type_inheritance';
		arr[5] = 'insurance_contact_add-form_insurance_type_finance';
		arr[6] = 'insurance_contact_add-form_insurance_type_pensions';
		arr[7] = 'insurance_contact_add-form_insurance_type_wills';
		arr[8] = 'insurance_contact_add-form_insurance_type_other';
		arr[9] = 'insurance_contact_add-form_insurance_type_commercial';
		arr[10] = 'insurance_contact_add-form_insurance_type_personal';
		
		for(a = 0; a < arr.length; a++)
		{
			if ($F(arr[a]) == 1) return true;
		}
		return false;
	}



	var previewForm;
	var validatePreview = function( event )
	{
		previewForm = event.element();
		
		checkfile();
		event.stop();
	}

	var showPreview = function(id)
	{
		if(previewForm==undefined) { return; }
	
		$('main-content').hide();
		
		$('file_upload_form').hide();

		var fm = $(previewForm.up('#the-form-offerswants_add'));
		var ser = fm.serialize(true);
		fm.hide();			

		new Ajax.Updater('preview-offer', '/offerpreview', {
			parameters: ser,
			onComplete: function() {
				appscripts()
				
					if(id)
					{
						var src = '/preview_upload/crop/64/64/' + id;
						var img1 = new Element('img', {alt: 'Item image', id: 'offerswants-preview-image', src: src});
						var img2 = new Element('img', {'class': 'magglass', alt: 'Enlarge image', src: '/staticfiles/img/app/magglass.jpg'});
					
						$('offer-wants_image').update(img1);
						$('offer-wants_image').insert(img2);
					}
			
					el = $('offers-ad_container');

					html = '<div id="offerswants_add-formrow-form_terms" class="form-row surround odd"> <div class="row-title"><label for="offerswants_add-form_terms">I have read and agree to the <a href="/page/faq-offers-wants#offers-wants-terms">Terms & Conditions</a><em>*</em></label></div><div class="row-content"><input id="offerswants_add-form_terms" class="" type="checkbox" value="1" name="form_terms"/></div></div>'; 

					el.insert(html);

					var text = tinyMCE.activeEditor.getContent();
					
					$('offer-wants-form_copy').update(text);
					
				}

			} );
			$('preview-offer').show();
			
	}

	var showForm = function( event )
	{
		var el = event.element();
		var fm = $('the-form-offerswants_add');
		$('preview-offer').hide();
		fm.show();
		$('file_upload_form').show();
		$('main-content').show();
		appscripts()
		event.stop();
	}
		
		
	var postForm = function()
	{
		var check = $('offerswants_add-form_terms');
		if(!check.checked)
		{
			alert('You have not agreed to the terms and conditions.');
			return false;
		}

		var fm = $('the-form-offerswants_add');	
		fm.submit();
	}


	var checkfile = function()
	{
		var valid = false;
		var filename = $('add-form_upload').value;
		
		if(filename == '')
		{
			showPreview('');
			return;
		}
			
		var filetypes = [".png", ".gif", ".jpg", ".jpeg"];
		for(var i = 0; i < filetypes.length; i++)
		{
			var filetype = filetypes[i];
			if(filename.toLowerCase().endsWith(filetype))
			{
				valid = true;
				break;
			}
		}

		if(!valid)
		{
			alert('Please enter a valid image type');
			return false;
		}

		new PeriodicalExecuter(this.waitforfile.bind(this), 0.01);
		
		$('file_upload_form').submit();
	
	}

	var waitforfile = function(pe)
	{
		var content = $('upload_target').contentWindow.document.body.innerHTML;
		if(content == "") 
		{
			return false;
		}
		

		pe.stop();
		
		var arr = content.split('|', 2);
		var img_id = false;
		if(arr)
		{
			$('offerswants_add-form_upload').value = arr[1];
			img_id = arr[0];
		}	
		
		showPreview(img_id);
	}


	function dd_complete () 
	{
		if($('direct-debit-register-form-iframe'))
		{
			$$('h2').each(
				function(elem)
				{
					if(elem.innerHTML == 'Completed')
					{
						var url = '/ddcallback';
						new Ajax.Request(url, {
							method: 'post',
							parameters:{uid: $F('user_id')},
							onSuccess: function(transport) {
								var notice = $('notice');
								if (transport.responseText != 1)
								{
									alert('error');
								}
							}
						});
					}
				}
			);		
		}

	}




	document.observe('dom:loaded', appscripts, false);

	function externalLinks() {  if (!document.getElementsByTagName) return;  var anchors = document.getElementsByTagName("a");  for (var i=0; i<anchors.length; i++) {  var anchor = anchors[i];  if (anchor.getAttribute("href") &&  anchor.getAttribute("rel") == "external")  anchor.target = "_blank";  }  };
	function internalLinks() {  if (!document.getElementsByTagName) return;  var anchors = document.getElementsByTagName("a");  for (var i=0; i<anchors.length; i++) {  var anchor = anchors[i];  if (anchor.getAttribute("href") &&  anchor.getAttribute("rel") == "internal")  anchor.target = "_self";  }  };

	document.observe('dom:loaded', externalLinks, false);
	document.observe('dom:loaded', internalLinks, false);	