// 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 pingalaCMS = {
		
	load : function() {
		pingalaCMS.openWindow();
		pingalaCMS.printWindow();
		pingalaCMS.formStyle();
		if($('slideimages')) {pingalaWeb.startSlideshow(0)};
		if($('boxes')) {pingalaWeb.liLinks()};
		StyleSheetSwitcher.initialize();
	},
	
	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()};
		});

	},
	
	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, width, height) {
	
			if (flashversion >= 8){
			
				if (!width){width = Element.getDimensions($(x)).width;}
				if (!height){height = Element.getDimensions($(x)).height;}
				
				fla = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+width+'" height="'+height+'">\n<param name="movie" value="'+movie+'">\n<param name="quality" value="high" />\n<param name="menu" value="false">\n<param name="wmode" value="transparent">\n<param name="flashvars" value="'+query+'">\n<param name="scale" value="noscale" />\n<param name="salign" value="lt" />\n<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</object>';
				
				$(x).innerHTML = fla;
				$(x).style.visibility= 'visible';
			}
			
	}	
	
	
	
}


var pingalaWeb = {
	
	
	startSlideshow : function(delay) {
		setTimeout(pingalaWeb.fadeInOut(delay), delay);
		lis = $$('#slideimages>li');
		lis.each(function(node, i) {if (node.className==''){node.className='block'; node.hide()}; });
	},


	fadeInOut : function(delay) {
		return(function() {
			lis = $$('#slideimages>li');
			new Effect.Appear(lis[1], { duration: 2, afterFinish: function(obj) {
				lisFade = lis[0].remove();
				lisFade.hide();
				$('slideimages').appendChild(lisFade);
				pingalaWeb.startSlideshow(3000);
			}});
		})
	
	},
	
	quickLinks : function() {
	
		allNodes = $A($("qlinks").childNodes)
					
			allNodes.each(function(node, i) {
				if (node.nodeName=="LI") {
					
					node.getElementsByTagName('H2')[0].onclick = function() {
						
						currentstate = this.className;
						divNode=node.getElementsByTagName('DIV')[0];
								if (currentstate==''){ 
									this.className ='open';
									new Effect.Morph(divNode, { style: 'margin-top: -130px; height: 175px;',  duration: 0.5 }); 
								}else {
									new Effect.Morph(divNode, { style: 'margin-top: -3px; height: 48px;',  duration: 0.2 }); 
									this.className ='';
								}
						return false;
					};
				}
	
			});
		},
	
	liLinks : function() {
		
		linkNode = $A($("boxes").childNodes);
		linkNode.each(function(node, i) {
		
			if (node.nodeName=="LI") {
				if(node.getElementsByTagName('A')[0]){
					node.className += ' hand';
					node.onclick=function() { 
						aNode = node.getElementsByTagName('A')[0]
						if (aNode.className=='newWindow') { window.open(aNode.href); return false; } else { window.location = aNode.href; }
					
					 }	
				}
			}
		
		})
	},
	
	 
	showTabs : function() {
		allNodes = $A($("tabs").childNodes)
			
			allNodes.each(function(node, i) {
				if (node.nodeName=="LI") {
					node.onclick = function() {
						
						onNodes = $("middle").select('.on'); 
						onNodes.each(function(node, i) {
							node.className='';
						});
					
					thistab = "tab"+this.childNodes[0].href.split('#')[1]
					Element.addClassName(this.childNodes[0], "on"); 
					Element.addClassName(thistab, "on"); 						
					
					$(thistab).scrollTop = 0;	
					pingalaWeb.loadScroller(thistab); 
					
						
					};
				}
	
			});	
			
	},
			
	loadScroller : function(tabID) {
	
			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 ($(tabID).scrollHeight <= $(tabID).offsetHeight) {
				}else {
					$('track').style.display='block';
				}
				
				var slider = new Control.Slider('handle', 'track', {
					axis: 'vertical',
					onSlide: function(v) { scrollVertical(v, $(tabID), slider);  },
					onChange: function(v) { scrollVertical(v, $(tabID), slider); }
				});
				
				
				Event.observe(tabID, 'DOMMouseScroll', wheel); // mozilla
				Event.observe(tabID, 'mousewheel', wheel); // IE
			
		}

}


var pingalaAjax = {
			
	makeRequest : function(url,getID) { 
			
		new Ajax.Request(url, {
			method: 'post',
			//parameters: 'ajax=2',
			onSuccess: function(originalRequest){$(getID).innerHTML = originalRequest.responseText;}
		});
	
	},
	
	submitForm : function(pageUrl) {
		
		$('waiting').innerHTML = '<img src="/_img/layup/loading.gif" />'
		$('submitButton').type == 'button'; 
		$('submitButton').disabled = 'disabled'; 
			
		if(pageUrl) {pageLocation = pageUrl} else {pageLocation = window.location.href}
		
		waitPadd = (Element.getDimensions($('cmsForm')).height - 48)  /2
		$('waiting').style.paddingTop =  waitPadd + "px"
		$('waiting').style.paddingBottom =  waitPadd + "px"
		
		 new Effect.Morph('cmsForm', { 
		  style:  'opacity: 0;', 
		  duration: 0.2,
		  afterFinish: function(){
			  	Element.show('waiting'); 
				new Ajax.Request(pageLocation, {
					method: 'post',
					parameters: 'ajax=1&' + Form.serialize("cmsForm"),
					onSuccess: pingalaAjax.showResponse
				});
			
			 }
		 }); 

			
	},

	showResponse : function(originalRequest) {
			
			if(originalRequest.responseText.substring(0,4) == 'http') {
				window.location = originalRequest.responseText; 
			  } else {
			
				$('cmsForm').innerHTML = originalRequest.responseText; 
					Effect.Fade('waiting'); 
					new Effect.Morph('cmsForm', { 
					  style:  'opacity: 1;', 
					  duration: 0.9,
					  afterFinish: function(){
							new Effect.Shake('submitButton');
							pingalaCMS.formStyle();
						 }
					 }); 
				
  			}

	}
	
}





var StyleSheetSwitcher = {
	
	initialize: function() {
		this.setActive(Cookies.read("style") || this.getPreferred());
		Event.observe(window, 'unload', this.unloadHandler.bindAsEventListener(this));
		
		allNodes = $A(document.getElementsByClassName("cssSwitch")); 
			allNodes.each(function(node, i) {
								   
				if(allNodes[i].innerHTML==Cookies.read("style")){allNodes[i].className+=' on';}
			
				allNodes[i].onclick = function() {
		
					StyleSheetSwitcher.setActive(this.innerHTML);
					allNodes.each(function(node, i) {allNodes[i].className ='cssSwitch'});
					this.className+=' on';
					
				};
		});
		
		
	},

	unloadHandler: function() {
		Cookies.create("style", this.getActive(), 365);
	},

	setActive: function(title) {
		$$("link").each(function(link) {
			if (link && link.getAttribute("rel").indexOf("style") != -1 && link.getAttribute("title")) {
				link.disabled = true;
				if (link.getAttribute("title") == title) link.disabled = false;
			}
		});
	},

	getActive: function() {
		var element = $$("link").detect(function(link) {
			return (
				link.getAttribute("rel").indexOf("style") != -1 &&
				link.getAttribute("title") && !link.disabled);
		});
		return element? element.getAttribute("title") : "";
	},

	getPreferred: function() {
		var element = $$("link").detect(function(link) {
			return (
				link.getAttribute("rel").indexOf("style") != -1 && 
				link.getAttribute("rel").indexOf("alt") == -1 &&
				link.getAttribute("title"));
		});
		return element? element.getAttribute("title") : "";
	}
};



var Cookies = {
	create: function(name, value, days) {
		var string = name + "=" + value;
		if (days) {
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			string += "; expires=" + date.toGMTString();
		}
		document.cookie = string + "; path=/";
	},

	read: function(name) {
		var nameEQ = name + "=";
		return (document.cookie.split(/;\s*/).detect(function(cookie) {
			return (cookie.indexOf(nameEQ) == 0);
		}) || "").substr(nameEQ.length);
	},

	exists: function(name) {
		return this.read(name) !== "";
	}
}


Event.observe(window, 'load', pingalaCMS.load, false);
