// Get Scroller for IE
function getScrollerWidth(){var inner=document.createElement('p');inner.style.width='100%';inner.style.height='200px';var outer=document.createElement('div');outer.style.position='absolute';outer.style.top='0px';outer.style.left='0px';outer.style.visibility='hidden';outer.style.width='200px';outer.style.height='150px';outer.style.overflow='hidden';outer.appendChild(inner);document.body.appendChild(outer);var w1=inner.offsetWidth;outer.style.overflow='scroll';var w2=inner.offsetWidth;if(w1===w2){w2=outer.clientWidth;};document.body.removeChild(outer);return (w1-w2);}

var controlDown = false;


window.addEvent('domready', function(){
	if($('postTopicPage')){
		if(document.getElement('#postTopicPage.createPost .postHandle')){
			var startAt = $('pid').value - 1;
			
			var handleCount = 1;
			$$('.postHandle').each(function(element){
				var clickTo = handleCount;
				element.addEvent('click', function(e){
					$('pid').value = clickTo;
				});
				handleCount++;
			});
			$$('.postExpandContent').each(function(element){
				element.setStyle('visibility', 'visible');									   
			});
			var myAccordion = new Accordion($('accordian'), $$('.postHandle'), $$('.postExpandContent'), {
				opacity: false,
				alwaysHide: false,
				display: startAt
			});
			
			$('messageBodyEdit').setStyle('cursor', 'pointer');
			$('messageBodyEdit').addEvent('click', function(e){
				$('pid').value = '-1';
				myAccordion.display(-1);
			});
		}
		
		$$('.focusOutline').each(function(element){
			element.addEvents({
				'focus': function(event){
					element.getParent('.borderChange').addClass('borderChangeSelected');
				},
				
				'blur': function(event){
					element.getParent('.borderChange').removeClass('borderChangeSelected');
				}
			});																		
		});
		
		
		if($('loadBBCeditor')){	
			//Create Shortcut Keys
			$('txtarea').addEvents({
				'keydown': function(event){
					CONTROL = event.control;
					KEY = event.key;
					
					if(CONTROL && KEY === 'b'){event.preventDefault();bbstyle(0);}
					if(CONTROL && KEY === 'u'){event.preventDefault();bbstyle(4);}
					if(CONTROL && KEY === 'i'){event.preventDefault();bbstyle(2);}
					if(CONTROL && KEY === 'l'){event.preventDefault();bbstyle(16);}
					if(CONTROL && KEY === 'g'){event.preventDefault();bbstyle(14);}
					if(CONTROL && KEY === 'q'){event.preventDefault();bbstyle(6);}
					if(CONTROL && KEY === '¿'){event.preventDefault();bbstyle(8);}
					if(CONTROL && KEY === '8'){event.preventDefault();bbstyle(10);}
					if(CONTROL && KEY === '7'){event.preventDefault();bbstyle(12);}
					if(CONTROL && KEY === '9'){event.preventDefault();bbstyle(18);}
					
					if(CONTROL && KEY === 'ü'){event.preventDefault(bbstyle(-1));}
				}
			});
			
			
			// Creat Smilies Select Box
			var timer = false;
			var timerDelay = 3000;
			var smilies = $('smilie_picker');
			smilies.store('state', false);
			
			smilies.addEvents({
				'reveal': function(e){
					$clear(timer);
					smilies.setStyles({
						'opacity': 0,
						'display': 'block'
					});
					smilies.fade('in');
					smilies.store('state', true);
					timer = smObscure.delay(timerDelay);
				},
				'obscure': function(e){
					smilies.fade('out');
					var wait = function(){
						smilies.setStyles({
							'opacity': 0,
							'display': 'none'
						});
					}.delay(300);
					smilies.store('state', false);
				},
				'toggle': function(e){
					if(smilies.retrieve('state')){
						smilies.fireEvent('obscure');
					} else {
						smilies.fireEvent('reveal');
					}
				},
				'mouseenter': function(e){
					$clear(timer);
				}
			});
			$('smilie_inner').addEvents({
				'mouseleave': function(e){
					$clear(timer);
					timer = smObscure.delay(timerDelay);
				},
				'mouseenter': function(e){
					$clear(timer);
				}
			});
			
			var smObscure = function(){
				smilies.fireEvent('obscure');	
			}
			
			
			$('smilie_activate').addEvents({
				'click': function(){
					smilies.fireEvent('toggle');
				}
			});
			
			$$('.smilie_icon').each(function(element){
				element.addEvent('click', function(e){
					smilies.fireEvent('obscure');
				});
			});
			
			
			// Create Tool Tips
			var bbcToolTips = new Tips('.bbc_tip', {
				'className': 'bbc_TIP'
			});
		}
	}
	
	// Generic Form button actions
	$$('a.formAction').each(function(element){
		element.addEvent('click', function(event){
			event.stop();
			element.getParent('ul').getPrevious('input.formAction').setProperty('name', element.getProperty('rel'));
			element.getParent('ul').getPrevious('input.formAction').setProperty('value', element.getElement('strong').innerHTML.replace(' ', '_'));
			
			element.getParent('form').submit();
		});
	});
	
	// Generic Label Actions
	$$('label.labelAction').each(function(element){
		if(element.getElement('.labelAction') && element.getElement('.labelAction').getProperty('checked')){
			element.addClass('selected');	
		}
		
		element.addEvent('click', function(event){
			element.getParent().getParent().getElements('label').each(function(el){
				el.removeClass('selected');
			});
			if(element.getElement('.labelAction').getProperty('checked')){
				element.addClass('selected');
			}
		});
	});
	
	if($('viewTopicPage')){
		var scrollBarSize = getScrollerWidth();
		
		// Karma Functions
//		$$('.karmaVoter ul').each(function(element){
//			element.store('karmaDisplay', element.className);
//			
//			element.getElements('li').each(function(subElements){
//					subElements.addEvent('mouseenter', function(event){
//						element.className = subElements.className;
//					});
//					subElements.addEvent('click', function(event){
//						event.stop();
//						
//						
//						alert(subElements.getElement('a').getProperty('href'));
//						var vote = new Request({
//							url: subElements.getElement('a').getProperty('href'),
//							onSuccess: function(txt){
//								alert("yea");
//							}
//						});
//						vote.send();
//					});
//			});
//			
//			element.addEvent('mouseleave', function(event){
//				element.className = element.retrieve('karmaDisplay');										
//			});
//							 
//		});
		
		if(Browser.Engine.trident4){
			$$('.postSignature img').each(function(element){
				if(element.offsetWidth > 690){
					element.style.width = '690px';	
				}
			});
		}
		
		
		// Initialize SqueezeBox
		SqueezeBox.assign($$('a.squeezeBox'), {
			parse: 'rel'
		});
		
		
		if($('pageScrollFunctions')){
			// Actions for Scrolling Buttons
			var prevPage = $('previousPageLink') ? $('previousPageLink').href : false;
			var nextPage = $('nextPageLink') ? $('nextPageLink').href : false;
			var pollDelay = false;
			
			var preBot = false;
			var preTop = false;
			var atBot = false;
			var atTop = false;
			
			var rowLocations = new Array();
			var rowCount = 0;
			var firstRow = false;
			var lastRow = false;
			var rows = '';
			$$('.postRowStart').each(function(element){
				if(element.getProperty('id') === 'pollstop'){
					pollDelay = true;	
				}
				
				if((rowCount === 0 && !(firstRow) && !(pollDelay)) || (rowCount === 1 && pollDelay)){
					firstRow = element;
					if(prevPage){ element.getElement('.scrollPrev').href = prevPage + '&scrollToEnd=true';} 
					else { element.getElement('.scrollPrev').getParent().destroy();}
				}
				
				rowLocations.push(element);	
				rowCount++;
				lastRow = element;
			});
			
			if(nextPage){lastRow.getElement('.scrollNext').href = nextPage + '&scrollToFirst=true';} 
			else {lastRow.getElement('.scrollNext').getParent().destroy();}
			
			document.addEvent('keydown', function(e){
				if(e.control && (e.key === 'down')){
					e.stop();
					e.preventDefault();
					var winAt = window.getScroll().y;
					var target = 0;
					var doThis = true;
					atTop = false;
					
					if(atBot){
						if(nextPage)document.location = nextPage + '&scrollToFirst=true';
					} else if(preBot){
						window.scrollTo(0, 999999);
						atTop = false;
						atBot = true;
						preTop = false;
						preBot = false;
					} else {
						atTop = false;
						atBot = false;
						preTop = false;
						preBot = false;
						for(j=0; j<rowLocations.length && doThis; j++){
							if(rowLocations[j].getPosition().y > winAt){
								target = rowLocations[j].getPosition().y;
								doThis = false;
								if(j === 0){
									preTop = true;
								} else if(j === (rowLocations.length - 1)){
									preBot = true;
								}
							}
						}
						
						window.scrollTo(0, target);
					}
					
					
				} else if(e.control && (e.key === 'up')) {
					e.stop();
					e.preventDefault();
					var winAt = window.getScroll().y;
					var target = 0;
					var doThis = true;
					atBot = false;
					
					if(atTop){
						if(prevPage)document.location = prevPage + '&scrollToEnd=true';
					} else if(preTop){
						window.scrollTo(0,0);
						atTop = true;
						atBot = false;
						preTop = false;
						preBot = false;
					} else {
						atTop = false;
						atBot = false;
						preTop = false;
						preBot = false;
						
						for(j=rowLocations.length - 1; j>=0 && doThis; j--){
							if(rowLocations[j].getPosition().y < winAt){
								target = rowLocations[j].getPosition().y;
								doThis = false;
								if(j === 0){
									preTop = true;
								} else if(j === (rowLocations.length - 1)){
									preBot = true;
								}
							}
						}
						
						window.scrollTo(0, target);
					}
				}
			});
			
			
			
			//SCROLL TO END OF PAGE
			if(scrollToEnd === 'true'){
				var newURL = document.location + 'NULL';
				newURL = newURL.replace('NULL','');
				document.location = (newURL.indexOf('#')) ? newURL.substring(0, newURL.indexOf('#')) + '#' + lastRow.getProperty('id') : newURL + '#' + lastRow.getProperty('id');
				preBot = true;
			} else if(scrollToFirst == 'true'){
				var newURL = document.location + 'NULL';
				newURL = newURL.replace('NULL','');
				document.location = (newURL.indexOf('#')) ? newURL.substring(0, newURL.indexOf('#')) + '#' + firstRow.getProperty('id') : newURL + '#' + firstRow.getProperty('id');
				preTop = true;
			}

		}
	}
	
	
	
});
	
	

window.addEvent('load', function(e){
								 
	//////////// ADVERTISEMENTS //////////////
	/* INSERT LEADERBOARD ADVERTISEMENT CODE */
	$$('.leaderboardAd').each(function(element){
		var AdCode = new Element('iframe', {
			'styles': {
			   'width': '728px',
			   'height': '90px',
			   'overflow': 'hidden'
			},
			'name': 'adLeaderboard',
			'src': url_portal + leaderboardAd,
			'frameborder': '0'
		});
		element.innerHTML = '';
		AdCode.inject(element);
	});	
	
	/* INSERT RECTANGLE ADVERTISEMENT CODE */
	$$('.rectangleAd').each(function(element){
		var randNum = Math.floor( Math.random() * 999999);
		var AdCode = new Element('iframe', {
			'styles': {
			   'width': '300px',
			   'height': '250px',
			   'overflow': 'hidden'
			},
			'name': 'adRectange' + randNum,
			'src': url_portal + rectangleAd,
			'frameborder': '0',
			'scrolling': 'no'
		});
		element.innerHTML = '';
		AdCode.inject(element);
	});
		
	/* INSERT RECTANGLE ADVERTISEMENT CODE 2 */
	$$('.rectangleAd2').each(function(element){
		var randNum = Math.floor( Math.random() * 999999);
		var AdCode = new Element('iframe', {
			'styles': {
			   'width': '300px',
			   'height': '250px',
			   'overflow': 'hidden'
			},
			'name': 'adRectange' + randNum,
			'src': url_portal + rectangleAd2,
			'frameborder': '0',
			'scrolling': 'no'
		});
		element.innerHTML = '';
		AdCode.inject(element);
	});	


});
