var ttr_comment = {
	site:'http://tycoonreport.tycoonresearch.com',
	//site:'http://mystockspot.com/tycoonReport',
	abuse_id:false,
	init:function(){
		//$('commentButton').type = 'button';
		//new Insertion.After($('commentButton'),'<input id="commentButton1" type="button" value="Submit Comment" name="submit" />');								
		//$('commentButton').parentNode.removeChild($('commentButton'));
		
		if(document.getElementById('acct_pw')){
			ttr_comment.logInRegisterToggle();
		}

		//Event.observe($('commentButton1'),'click',ttr_comment.send,false);
		Event.observe($('commentButton1'),'click',ttr_comment.validate,false);
		
		ttr_comment.initAbuseLightbox();
		ttr_comment.initPagination();	
	},
	initPagination:function(){
		// top row
		if(document.getElementById('cmtPage')){
			var links = $('cmtPage').getElementsByTagName('a');
			for(var i=0;i<links.length;i++){
				Event.observe(links[i],'click',ttr_comment.page,false);	
			}
		}
		// bottom row
		if(document.getElementById('cmtPage2')){
			var links = $('cmtPage2').getElementsByTagName('a');
			for(var i=0;i<links.length;i++){
				Event.observe(links[i],'click',ttr_comment.page,false);	
			}
		}
		ttr_comment.initAbuse();
	},
	page:function(e){ 	//grabs comments via AJAX
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		//if (!t) return;
		
		var pageNumber = (t.id) ? t.id : 1;
		
		//var pars = 'j=' + $('cmtA').value + '&a=page&article=' + $('cmtArticle').value + '&page=' + t.id;
		var pars = 'path=comment&j=' + $('cmtA').value + '&a=page&article=' + $('cmtArticle').value + '&page=' + pageNumber;
		
		new Ajax.Request('/three/zerio.php', {
			parameters: pars,
			onSuccess:function(resp){
				$('cmtPage').parentNode.removeChild($('cmtPage'));
				$('cmtList').parentNode.removeChild($('cmtList'));
				$('cmtPage2').parentNode.removeChild($('cmtPage2'));
				new Insertion.After($('postCommentLink'),resp.responseText);
				ttr_comment.initPagination();
				$('postCommentLink').focus();
			},
			onFailure : function(resp){alert("Oops, there's been an error. 01");}
		});
	},
	send:function(t){ //inserts new comment
		//tracking
		var s=s_gi(s_account);
		s.linkTrackVars='events';
		s.linkTrackEvents='event9';
		s.events="event9";
		s.tl(t,'o','Posted Comment');

		$('commentForm').submit();
		return;
	},
	resetErrorMsg:function(){
		$('ugcMessage').style.display='none';
		var hl = document.getElementsByClassName('highlight');
		if(hl.length > 0){
			hl.each(function(h){h.removeClassName('highlight');});	
		}
	},
	logInRegisterToggle:function(){
		Event.observe($('acct_name'),'focus',ttr_comment.registerSelect,false);
		Event.observe($('acct_email'),'focus',ttr_comment.registerSelect,false);
		Event.observe($('acct_pw'),'focus',ttr_comment.registerSelect,false);
		
		Event.observe($('login_email'),'focus',ttr_comment.loginSelect,false);
		Event.observe($('login_pw'),'focus',ttr_comment.loginSelect,false);		
	},
	registerSelect:function(){
		ttr_comment.resetErrorMsg();
		$('login_email').value='';
		$('login_pw').value='';
		$('registerBox').addClassName('highlight');
		$('loginBox').removeClassName('highlight');
	},
	loginSelect:function(){
		ttr_comment.resetErrorMsg();
		$('acct_name').value='';
		$('acct_email').value='';	
		$('acct_pw').value='';
		$('loginBox').addClassName('highlight');
		$('registerBox').removeClassName('highlight');
	},
	validate:function(e){
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		var error=0;
		
		if($F('cmtComment')){

                        var regex = /\+?\(?\d\d\d\)?[\ \-\.\/]?\d\d\d[\ \-\.\/]?\d\d\d\d/i;
			if(regex.exec($F('cmtComment'))) {

                          alert('Phone numbers are not allowed in posts.  If you are a current customer and\nrequire assistance please contact us through the help section of the site.\nWarning: If you are trying to get leads for your business we will remove\nyour account at our discretion.');
			  return false;
                        }

			if(document.getElementById('acct_pw')){
				if(document.getElementsByClassName('highlight').length < 1){
					error++;
					alert('Please Log in or Register to post a comment!');
					return;
				}
				else if(document.getElementsByClassName('highlight')[0].id == 'registerBox'){
				//register
					var regFields = new Array('acct_name','acct_email','acct_pw');
					for(var i=0;i<regFields.length;i++){
						if(!$F(regFields[i])){
							error++;
							$(regFields[i]+'Box').addClassName('highlight');
						}
						else{
							$(regFields[i]+'Box').removeClassName('highlight');
						}
					}
					if(!error){
						ttr_comment.register(t);	
						return false;
					}
				}
				else{
				//login
					var loginFields = new Array('login_email','login_pw');
					for(var i=0;i<loginFields.length;i++){
						if(!$F(loginFields[i])){
							error++;
							$(loginFields[i]+'Box').addClassName('highlight');
						}
						else{
							$(loginFields[i]+'Box').removeClassName('highlight');
						}
					}
					if(!error){
						ttr_comment.login(t);
						return false;
					}
				}
			}
		
			ttr_comment.send(t);
			//return true;
		}
		else{
			alert("Please enter a comment!");
			return false;	
		}
		return false;
	},
	
	login:function(t){
		var username = $F('login_email');
		var password = $F('login_pw');
		var remember = '';
		if($('login_remember')) remember = $F('login_remember');
		
		var url = ttr_comment.site+'/common/php/VIAIntegration.php';
		var pars   = 'action=login&username=' + username + '&password=' + password + '&remember=' + remember;
		pars += '&ms=' + new Date().getTime();
		new Ajax.Request(url, { method: 'post', 
									   parameters: pars, 
									   evalScripts: true,
									   onComplete: function(n) {
										 var results = n.responseText.split('|');
										 if(results[0] != 1) {
												// TODO: something fancier here?
											   if(results[1]=='The username and/or password you entered is not valid.'){
													alert(results[1]);
													//new Insertion.After($('ugcMessage'),'<h3 id="ugcMessage2">'+results[1]+'</h3>');							
											   }
											   else{
												   alert('Sorry! There was a problem processing your login. Please contact customer service.');
											   }
										 } else {
												   ttr_comment.send();
													$('loginStatus').style.display='none';
													
													//tracking
													var s=s_gi(s_account);
													s.linkTrackVars='events';
													s.linkTrackEvents='event7';
													s.events="event7";
													s.tl(t,'o','Log in');												
													
													return false;
										 }
									   }
									 });
			return false;
	},
	register:function(t){
		  var firstname = $F('acct_name');
		  var lastname = '';
		  var email = $F('acct_email');
		  var password = $F('acct_pw');
		  var subscribe = $('acct_subscribe').checked ? 1:0;
		 
		  var url    = ttr_comment.site + '/common/php/registration.php';
		  var pars   = 'email=' + email + '&pw=' + password + '&firstname=' + firstname + '&lastname=' + lastname + '&subscribe=' + subscribe + '&ajax=1';
		  pars += '&ms=' + new Date().getTime();
		  new Ajax.Request(url, { method: 'post', 
										   parameters: pars, 
										   onComplete: function(n) {
												var results = n.responseText.split('|');

												if(results[0] != 1){
													//new Insertion.After($('ugcMessage'),'<h3 id="ugcMessage2">'+results[1]+'</h3>');
													alert(results[1]);
												}
												else{													
													ttr_comment.send();
													$('loginStatus').style.display='none';
													
													//omniture
													var s=s_gi(s_account);
													s.linkTrackVars='events';
													s.linkTrackEvents='event8';
													s.events="event8";
													s.tl(t,'o','Register');
											
													return false;
												}
										   }
								});
			return false;
	},
	initAbuseLightbox:function(){
		if(document.getElementById('lbReportAbuse1')){			
			var abuseBox = $('lbReportAbuse1').innerHTML;
			var abuseBox2 = document.createElement('div');
			$('lightbox').appendChild(abuseBox2);
			abuseBox2.innerHTML = abuseBox;
			abuseBox2.id = 'lbReportAbuse';
			$('lbReportAbuse').addClassName('lbox');
			$('lbReportAbuse1').parentNode.removeChild($('lbReportAbuse1'));
		}
		return;
	},
	initAbuse:function(){
		
		var abuseLinks = document.getElementsByClassName('reportAbuse');
		
		if(abuseLinks.length < 1){return;}
		abuseLinks.each(function(abuseLink){
									Event.observe(abuseLink,'click',ttr_comment.lbReportAbuse,false);

									 if(readCookie(abuseLink.id)){
										abuseLink.style.display='none';
									 }
								 });
	},
	lbReportAbuse:function(e){
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		ttr_comment.abuse_id = t.id;
		
		var myLightbox = new Lightbox();
		myLightbox.start('lbReportAbuse');
		$('lbReportAbuse').style.display='block';
		Event.observe($('reportAbuseClose'),'click',myLightbox.end,false);
		Event.observe($('reportAbuseNo'),'click',myLightbox.end,false);
		
		Event.observe($('reportAbuseYes'),'click',function(){
							$(ttr_comment.abuse_id).style.display='none';
							myLightbox.end();
							var abuseType = (t.id.length > 15)? 'comment' : 'article';
							var pars = 'path=abuse&j=' + t.id + '&a='+abuseType;
							new Ajax.Request(ttr_comment.site+'/three/zerio.php', {
								parameters: pars,
								onComplete:function(){
									createCookie(t.id,1,999);
								}
							});
						},false);

		
	}
}

var clicked=0;

var stars = {
	init:function(){
		if(!document.getElementById('votebox')){return;}
		
		var starValue =stars.getCookie();
		if(starValue){
			stars.voted(starValue,true);	
		}
		
		
		var links = document.getElementsByClassName('star-rating')[1].getElementsByTagName('a');
		for(var i =0;i<links.length;i++){
			Event.observe(links[i],'click',stars.clicked,false);
			Event.observe(links[i],'mouseover',stars.mouseover,false);
		}
		stars.get();
	},
	get:function(){
		var pars = 'path=vote&j=' + $('cmtA').value + '&a=get&article_id=' + $('cmtArticle').value;
		new Ajax.Request(ttr_comment.site+'/three/zerio.php', {
			parameters: pars,
			onSuccess:function(resp){
				$('current-rating').style.width = (nodeValue(resp.responseXML,'count')*30) +'px';
				
				if(nodeValue(resp.responseXML,'count') ==0){
					$('currentRatingBox').style.display='none';
				}
				else{
					$('current-rating').style.display='block';
				}
			},
			onFailure : function(resp){alert("Oops, there's been an error. 03");}
		});
	},
	clicked:function(e){
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		if (!t) return;
		
		//get how many star clicked
		var starValue;	
		var ul = t.parentNode.parentNode;
		var links = ul.getElementsByTagName('a');
		for(var i=0;i<links.length;i++){
			//links[i].addClassName('clicked');
			if(links[i].className == t.className){
				starValue=i+1;
				break;	
			}
		}
		
		stars.voted(starValue,false);
		
		setTimeout('clicked = true;',1750);
		var pars = 'path=vote&j=' + $('cmtA').value + '&a=vote&article_id=' + $('cmtArticle').value + '&stars=' + starValue;
		new Ajax.Request('/three/zerio.php', {
			parameters: pars,
			onSuccess:function(){
				$('voteconf').style.display='block';
			},
			onFailure : function(resp){alert("Oops, there's been an error. 04");}
		});

		stars.setCookie(starValue);
	},
	voted:function(starValue,displayConf){
		//remove links
		var bucks = new Array('one','two','three','four','five');
		for(var b=0;b<bucks.length;b++){
			var s = (b==0)?'':'s';
			var l = document.getElementsByClassName(bucks[b]+'-star'+s)[0];
			//l.parentNode.removeChild(l);
			l.parentNode.style.display='none';
		}
		//display star(s) clicked
		$('voted-rating').style.width = (starValue*30) +'px';
		$('voted-rating').style.display='block';
		
		if(displayConf){
			$('voteconf').style.display='block';	
		}
	},
	mouseover:function(e){
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		if (!t) return;
		if(!clicked){return;}
		
		clicked=false;
		$('stars').value=0;
		var ul = t.parentNode.parentNode;
		var links = ul.getElementsByTagName('a');
		for(var i=0;i<links.length;i++){
			links[i].removeClassName('clicked');
		}
	},
	setCookie:function(starValue){
		//return;
		var name = 'ttr_rating' + $('cmtArticle').value;
		var value = starValue;
		var days = 999;
		
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*86400000)); //24*60*60*1000
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	},
	getCookie:function(){
		//return;
		var name = 'ttr_rating' + $('cmtArticle').value;
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) {
				return c.substring(nameEQ.length,c.length);
			}
		}
		return null;
	},
	eraseCookie:function(name) {
		createCookie(name,"",-1);
	}
}

var sendtofriend={
	article_id:false,
	launched:false,
	init:function(){
		var newBox = $('lbSendToFriend1').innerHTML;
		var newBox2 = document.createElement('div');
		$('lightbox').appendChild(newBox2);
		newBox2.innerHTML = newBox;
		newBox2.id = 'lbSendToFriend';
		$('lbSendToFriend').addClassName('lbox');
		$('lbSendToFriend1').parentNode.removeChild($('lbSendToFriend1'));
	
		var links = document.getElementsByClassName('sendtofriendlink');
		if(links.length < 1){return;}
		links.each(function(e_link){
									Event.observe(e_link,'click',sendtofriend.launch,false);
								 });
	},
	launch:function(e){
		var t = window.event ? window.event.srcElement : e ? e.target : null;
		sendtofriend.article_id = t.id;
		
		var myLightbox = new Lightbox();
		myLightbox.start('lbSendToFriend');
		$('lbSendToFriend').style.display='block';
		
		if(sendtofriend.launched < 1){
			Event.observe($('sendToFriendClose'),'click',myLightbox.end,false);
			Event.observe($('sendtofriendbutton'),'click',function(){
								if(!sendtofriend.validate()){return;}
								else{
									sendtofriend.send();	
								}
								myLightbox.end();
			},false);
		}
		sendtofriend.launched++;					
	},
	send:function(){
		var pars = 'path=sendtofriend&article_id=' + sendtofriend.article_id + '&email='+$('sender_email').value + '&name=' + $('sender_name').value + '&friend_email=' + $('friend_email').value + '&friend_name='+$('friend_name').value;
		new Ajax.Request(ttr_comment.site+'/three/zerio.php', {
							parameters: pars,
							onComplete:function(){
								alert('The article was sent!');
								return;
							}
						});
	},
	validate:function(){
		if(!$('sender_name').value){
			alert('Please enter your name.');
			return false;
		}
		if(!$('sender_email').value){
			alert('Please enter your Email.');
			return false;
		}
		if(!$('friend_name').value){
			alert('Please enter your friend&rsquo;s name.');
			return false;
		}
		if(!$('friend_email').value){
			alert('Please enter your friend&rsquo;s Email.');
			return false;
		}
		return true;
	}
}





function get_lastchild(n){
	var x=n.lastChild;
	while (x.nodeType!=1){x=x.previousSibling;}
	return x;
}
function nodeValue(node, name) {
    var childs = node.getElementsByTagName(name);
    if (childs.length > 0 && childs.item(0).childNodes.length > 0)
        return childs.item(0).childNodes.item(0).nodeValue;
    return "";
}
Event.observe(window,'load',ttr_comment.init,false);
Event.observe(window,'load',stars.init,false);
Event.observe(window,'load',sendtofriend.init,false);
