// true if IE
var IE = /*@cc_on!@*/false;

//detect flash
var flashversion = 0;
if (navigator.plugins && navigator.mimeTypes.length) {
	var x = navigator.plugins["Shockwave Flash"];
	if(x && x.description) {
		var y = x.description;
		flashversion = parseInt(y.substr(y.indexOf(".") - 2, 2), 10);
	}
} else {
	result = false;
	for(var i = 30; i >= 3 && result != true; i--){
		execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
		flashversion = i;
	}
}

if (flashversion >= 8) {
	    document.getElementsByTagName('html')[0].className = 'flashInstalled';
}
		document.getElementsByTagName('html')[0].className += ' json';



var citrusCMS = {
		
	load : function() {
		citrusCMS.openWindow();
		citrusCMS.printWindow();
		citrusCMS.formStyle(); 
		citrusCMS.showDrop(); 
		citrusCMS.openClose();
		if ($("middle")) {citrusCMS.loadScroller()}
		if ($("middle")) {citrusCMS.flashRewrite('middle>h1','/_img/layup/title.swf', '', '1')}
		if ($("topnavi")) {citrusCMS.flashRewrite('topnavi>a','/_img/layup/navi.swf', '', '1')}
	},
	
	openWindow : function(){
		
		allNodes = $A(document.getElementsByClassName("openWindow")); 
		allNodes.each(function(node, i) {
		allNodes[i].onclick = function() {window.open(this.href); return false};
		});
	},
	
	printWindow : function(){
		
		allNodes = $A(document.getElementsByClassName("printWindow")); 
		allNodes.each(function(node, i) {
		allNodes[i].onclick = function() {window.print()};
		});
	},
	
	hideNavi : function(){
		
		onNodes = $("topnaviint").select('.navion'); 
		onNodes.each(function(node, i) {
			$(node).morph('height: 0px;background-color: #393939;  margin-top: -1px;');
			$(node.parentNode.childNodes[0]).morph('border-top: solid #393939 13px; opacity: 1;');
			node.className='';
		});
		
	},
	
	openClose : function() {
		
		if ($("openclose")) {
			$("openclose").childNodes[0].onclick = function() {
			
				if(this.className=='on'){
					Effect.Appear('middle');
					this.className = ''
					this.innerHTML = 'Close'
				}else{
					Effect.Fade('middle');
					this.className = 'on'
					this.innerHTML = 'Open'
					citrusCMS.hideNavi();
					
				}
			
			}
		}
		
	},
	
	
	showDrop : function(){
			
			if ($("topnavi")) {
				
				allNodes = $A($("topnavi").childNodes)
				
				allNodes.each(function(node, i) {
				if (node.nodeName=="LI") {
					
					node.childNodes[1].style.display = 'none';
					
					node.onclick = function() {
						
							onNodes = $("topnavi").select('.navion'); 
							onNodes.each(function(node, i) {
								Effect.Fade(node)
								node.className='';
							});
						
						
						Effect.Appear(this.childNodes[1]); 
						this.childNodes[1].className='navion';
						
						
						};
					
				}
	
			});
				
			
				
			}else{
				
				
				allNodes = $("topnaviint").select('.nlink'); 
				
				allNodes.each(function(node, i) {
					
					node.onclick = function() {
						
							currentstate = this.parentNode.childNodes[1].className;
							citrusCMS.hideNavi();
						
						if (currentstate==''){ 
							this.parentNode.childNodes[1].className='navion';
							
							
									switch (this.parentNode.className){
										case 'l1':
										  bgcolor = '#21b3cd'
										  break;
										case 'l2':
										  bgcolor = '#cd21a1'
										  break;
										case 'l3':
										  bgcolor = '#61d138'
										  break;
										case 'l4':
										  bgcolor = '#cd6621'
										  break;
									}
							
							
							 $(this.parentNode.childNodes[1]).morph('height: 354px;background-color: '+bgcolor+'; margin-top: -355px; opacity: 0.90;');
							 $(this).morph('border-top: solid '+bgcolor+' 13px;opacity: 0.90;');
						}else{
							 $(this.parentNode.childNodes[1]).morph('height: 0px;background-color: #393939;  margin-top: -1px;');
							 $(this).morph('border-top: solid #393939 13px; opacity: 1;');
							 this.parentNode.childNodes[1].className='';
						}
						
						
						};
				
				});
	
	
			}
			
		
	},
	
	formStyle : function(){
		
		allNodes = $A(document.getElementsByClassName("textform")); 
		allNodes.each(function(node, i) {
			
			Event.observe(allNodes[i], 'focus', 
				function(e){ 
					if(Event.element(e).nodeName != 'SELECT'){
						Event.element(e).className="textformfocus";
						if (Event.element(e).value.charAt(0) == '-') { Event.element(e).value='' }
					}
					}
				);

			Event.observe(allNodes[i], 'blur', 
				function(e){ 
					Event.element(e).className="textform";
					}
				);
		});
	},
	
	flashRewrite : function (x, movie, query, type, width, height) {
	
		if (flashversion >= 8){
				
			if (type == '1'){ //tag name
				xArea = x.split('>'); //if TagName in a id
	
				if (xArea[1]){var x = $(xArea[0]).getElementsByTagName(xArea[1]);} else {var x = document.getElementsByTagName(x);}
					
				for (var i=0;i<x.length;i++){
								
					if (!width){width = Element.getDimensions($(x[i])).width;}
					if (!height){height = Element.getDimensions($(x[i])).height;};
                    color = $(x[i]).getStyle('color')
					title = x[i].innerHTML;
				
					
					if (title) {title = title.replace("&", "%26")}
					if (!query){q= "title="+ title + "&color="+ color;} else {q= query +"&title="+ title + "&color="+ color;}	
										
						// check for flash in 'a' tag
						if(x[i].nodeName == 'A') {
							
							q+= "&link="+ x[i].href.replace("&", "%26");
							if (x[i].className == "flash" || x[i].className == "flash on"){
								
								if (x[i].className == "flash on"){ q+= "&s=1" }
								citrusCMS.getFlash(x[i], movie, q, width, height)
							
							}
							
						// not a	
						}else{
							citrusCMS.getFlash(x[i], movie, q, width, height)
						}
						q = '';
					
				}
				
			} else { //id
					
				if (!width){width = Element.getDimensions($(x)).width;}
				if (!height){height = Element.getDimensions($(x)).height;}
				
				citrusCMS.getFlash($(x), movie, query, width, height)

			}
			
		}
		
	},

	getFlash : function(what, movie, query, width, height) {

		new_txt = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="'+width+'" height="'+height+'">\n';
		new_txt += '<param name="movie" value="'+movie+'">\n';
		new_txt += '<param name="quality" value="high" />\n';
		new_txt += '<param name="menu" value="false">\n';
		new_txt += '<param name="wmode" value="transparent">\n';
		new_txt += '<param name="flashvars" value="'+query+'">\n';
		new_txt += '<param name="scale" value="noscale" />\n';
		new_txt += '<param name="salign" value="lt" />\n';
		new_txt += '<embed src="'+movie+'" flashvars="'+query+'" width="'+width+'" height="'+height+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" scale="noscale" salign="lt" wmode="transparent"></embed>\n';
		new_txt += '</object>';
		what.innerHTML = new_txt;
		what.style.visibility= 'visible';
	
	},
	
	
		
	loadScroller : function() {
	
			function handle(delta) {
				slider.setValueBy(-delta);
			}

			function wheel(event){
				var delta = 0;
				if (!event) /* For IE. */
					event = window.event;
				if (event.wheelDelta) { /* IE/Opera. */
					delta = event.wheelDelta/10000;
					if (window.opera)
						delta = -delta;
				} else if (event.detail) { /** Mozilla case. */
					delta = -event.detail/150;
				}
	
				if (delta)
					handle(delta);
		

				if (event.preventDefault)
					event.preventDefault();
				
				event.returnValue = false;
			}
			
			function scrollVertical(value, element, slider) {
				element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
			}
			
			
				if ($('maintext').scrollHeight <= $('maintext').offsetHeight) {
				}else {
					$('track').style.display='block';
				}
				
				var slider = new Control.Slider('handle', 'track', {
					axis: 'vertical',
					onSlide: function(v) { scrollVertical(v, $('maintext'), slider);  },
					onChange: function(v) { scrollVertical(v, $('maintext'), slider); }
				});
				
				
				Event.observe('maintext', 'DOMMouseScroll', wheel); // mozilla
				Event.observe('maintext', 'mousewheel', wheel); // IE
			
		}
	
}

var citrusWeb = {
	
	showMap : function() {
		
		var map = new GMap($("image"));
		map.addControl(new GLargeMapControl());
		map.centerAndZoom(new GPoint(0.521287,51.268509), 2);
		
		
		function createMarker(point) {
			var marker = new GMarker(point);
			
			GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml("<p style='width: 200px; color: #000'><strong>We Are Here</strong><br /><br />Tangerine UK Ltd, 64 College Road,<br />Maidstone, Kent ME15 6SJ</p>");
		});
		
		return marker;
		}
		
		var point = new GPoint(0.520787,51.267409);
		var marker = createMarker(point);
		map.addOverlay(marker);
		
	}
	
}


var citrusAjax = {
	
	makeRequest : function(url,what,dbID,fromPage) { 
	
		
	
		if(what.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=='DIV'){
				whatClasses = $("topnaviint").select('.on'); 
			}else {
				whatClasses =  what.parentNode.parentNode.childNodes;
		}
	
		allNodes = $A(whatClasses); 
		allNodes.each(function(node, i) {
				Element.removeClassName(node, "on")
		});
				
		what.parentNode.className ='on';
		
		if(fromPage==1) {
			citrusCMS.hideNavi();
		}
		
	
		$('waiting2').innerHTML = '<img src="/_img/layup/loading.gif" />'
		Element.show('waiting2'); 
		Effect.Appear('waiting2', { duration: 0.01 });
		
		Element.show('middle');
		$("openclose").childNodes[0].className = ''
	
		var myAjax = new Ajax.Request(
		url +'?ajax=2',
		{
			method: 'post', 

			onComplete: function(originalRequest){
				$("middle").innerHTML = originalRequest.responseText;
				new Effect.Fade('waiting2') ; 
				citrusCMS.openWindow();
				if ($("middle")) {citrusCMS.flashRewrite('middle>h1','/_img/layup/title.swf', '', '1')}
				
				titletext = originalRequest.responseText.split("<h1>")
				document.title = titletext[1].split("</h1>")[0]
				
				citrusCMS.loadScroller();
				citrusCMS.formStyle();
				
				}
		});
	
		var myAjax = new Ajax.Request(
		'/_inc/js/dbscript.asp?ajax=2&id='+dbID,
		{
			method: 'post', 

			onComplete: function(originalRequest){
				
				if(originalRequest.responseText.split(".",1)=='citrusWeb') {
					$("image").innerHTML = '';
					citrusWeb.showMap();
					$("image").style.visibility='visible';
				
				}else{
					$("image").innerHTML = '<img src="/_img/pics/'+originalRequest.responseText.split(",",1)+'" width="1000" height="390" alt="" />';
					$("image").style.backgroundColor='#393939';
					citrusCMS.flashRewrite('image','/_img/layup/head.swf', 'images='+originalRequest.responseText+'', '0');
					
				}
				
				}
		});
	
	
	},
	
	submitForm : function(pageUrl) {
		
		
		$('waiting2').innerHTML = '<img src="/_img/layup/loading.gif" />'
		Element.show('waiting2'); 
		Element.show('middle');
		
		
		if(pageUrl) {pageLocation = pageUrl} else {pageLocation = window.location}
		
		var myAjax = new Ajax.Request(
		pageLocation,
		{
			method: 'post', 
			parameters: 'ajax=1&' + Form.serialize("cmsForm"),
			onComplete: citrusAjax.showResponse
		});
			
	},

	showResponse : function(originalRequest) {
		
			$('maintext').scrollTop = 0;
			$('handle').style.top = '0';
			$('track').style.display='none';
				
			if(originalRequest.responseText.substring(0,4) == 'http') {
				window.location = originalRequest.responseText;
				
				  } else {
				new Effect.Fade('waiting2') ;
				$('cmsForm').innerHTML = originalRequest.responseText;
				new Effect.Shake('message')
				citrusCMS.formStyle(); 
				$('track').style.display='block';
				
				
				
  			}

	}
	
}


Event.observe(window, 'load', citrusCMS.load, false);