


//POLL START New

function submitAnswer(){
	answerId =  $("input[@type=radio][@checked]").val();
	$('#article_poll_ok, #article_poll_alert').addClass('kill');
	if(answerId){
       ChunnelAjax.submitAnswer(answerId);
    }
	else{
	   $('#article_poll_alert').removeClass('kill');
	   //return false;
	}
   
}

//POll END New





$(document).ready(function(){ 
	setInputs();
	setPagination('');
	setChannelBrowser();
	setHomeBrowser();
	setChannelTagClicks();
	
	setPopupButtons();
	setExpander();
	setHovers();
	
	setFlags();
	
	setCommentInterface();
	
	setSlideshow();
	
	setShareLink();
	
	
	setStars();
	
	//triggerAnalytics();
	
});


var setStars = function(){
	
	$('#rating_area .star').hover( function(){
		
	//	if(document.g_nUserId){  //Check for logged in
		
			$('#rating_area .stars').addClass('hovering');
			
			var setTo = $(this).attr('rel') ;
			
			for(var i=1; i<=setTo; i++){
				$('#rating_area .star'+i).addClass('hover');
			}
			
	//	}
		
	},function(){ 
		
	//	if(document.g_nUserId){  //Check for logged in
			$('#rating_area .stars').removeClass('hovering');
				$('#rating_area .star').removeClass('hover');
			
	//	}
		
	});
	
		
	$('#rating_area .star').click( function(){
		
	//	if(document.g_nUserId){  //Check for logged in
			$('#rating_area .star_in').removeClass('star_in');
			$('#rating_area .hover').addClass('star_in');
			$('#rating_area .stars').addClass('user_set');
			ChunnelAjax.setRating( $(this).attr('rel') );
			
	//	}
		
	});
	
	
	
}



var setShareLink = function(){
	
	$('#article_share').submit(function(){ 
		
		var emailRegxp = /^[\+\w\.-]+@([\w-]+(\.))+(\w){2,5}$/; 
		
		var emailString = $(this).children('.input').val() ;
		
		if(emailString == '' || emailString == null || !emailRegxp.test(emailString)){
			$('#article_share_alert').removeClass('kill');
			return false;
		}
		
		ChunnelAjax.sendShareLink( emailString ,  $(this).children('.url').val()  );
		$(this).children('.input').val('');
		$(this).children('.input').blur();
		return false;
	});
	
	
}



var setSlideshow = function(){
	
	var totalWidth = 650;
	var measuredWidth = $('#thumbnail_holder .measure').width();
	var holderWidth = $('#slideshow .thumbnails').width();
	document.scrollerPosition = 0;
	document.scrollDiff = measuredWidth - holderWidth;
	

	if( measuredWidth < totalWidth  ){
		$('#slideshow .scroll_l').remove();
		$('#slideshow .scroll_r').remove();
		$('#slideshow .thumbnails').width(totalWidth);
	}
	else{
		$('#slideshow .scroll_l').click(function(){
			scrollSlideshowLeft(200);
		});
		$('#slideshow .scroll_r').click(function(){
			scrollSlideshowRight(200);
		});
	}
	
	$('#slideshow .imgholder').hover( function(){
		$(this).css('background-position','bottom');
	}, function(){
		$(this).css('background-position','top');
	});
	
	$('#slideshow .imgholder').click(function(){
		
		if($(this).attr('rev')){
		 	$('#slideshow_main').html('<div class = "video">'+Base64.decode($(this).attr('rev'))+'</div>');
		}
		else{					   
			$('#slideshow_main').html('<img src="'+$(this).attr('rel')+'" />');
		}
		
		if($(this).attr('caption')){
			$('#caption_main').html(''+$(this).attr('caption')+'');
		}else{
			$('#caption_main').html('');
		}
	});
	
		if($('#slideshow .imgholder').eq(0).attr('rev')){
		 	$('#slideshow_main').html('<div class = "video">'+Base64.decode($('#slideshow .imgholder').eq(0).attr('rev'))+'</div>');
		}
		else{					   
			$('#slideshow_main').html( '<img src="'+$('#slideshow .imgholder').eq(0).attr('rel')+'" />' );
		} 
		if($('#slideshow .imgholder').eq(0).attr('caption')){
			$('#caption_main').html(''+$('#slideshow .imgholder').eq(0).attr('caption')+'');
		}else{
			$('#caption_main').html('');
		}
}


var scrollSlideshowRight = function(amount){
	document.scrollerPosition =  document.scrollerPosition - amount;
	
	if(document.scrollerPosition * -1  > document.scrollDiff ){
		document.scrollerPosition = -document.scrollDiff;
	}
	
	$('#thumbnail_holder').animate({left: document.scrollerPosition + 'px'},500 );
}

var scrollSlideshowLeft = function(amount){
	document.scrollerPosition =  document.scrollerPosition + amount;
	
	if(document.scrollerPosition * -1  < 0 ){
		document.scrollerPosition = 0;
	}
	
	$('#thumbnail_holder').animate({left: document.scrollerPosition + 'px'},500 );
}

var isemailvalid = true;
var setCommentInterface = function(){
	
	
	 $('#addcomment').submit( function(){
	   //error checking
	   if(!($('#user_name').val())){ $('#name_error').html("Please enter Name") } else { $('#name_error').html("") }	
	   //validate if email is empty
	   if(!($('#user_email').val())){ 
	   		$('#email_error').html("Please enter Email") 
	   } else { 
	  		 $('#email_error').html(""); 
		     //validate if email format is correct
			 if((/^[_a-zA-Z0-9-]+([.+_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+([.a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/.test($('#user_email').val()) == false)){ 
			 isemailvalid = false;
	   		 $('#email_error').html("Please enter valid Email") 
			 } else { 
			          isemailvalid = true;
			          $('#email_error').html("");
			 		}
	   }
	   //validate if comment is empty
	   if(!($('#addcomment textarea').val())){ $('#comment_error').html("Please enter Comment") } else { $('#comment_error').html("") }
		
	   if($('#user_name').val() && $('#user_email').val() && $('#addcomment textarea').val() && isemailvalid){      //if( document.g_nUserId ){
			ChunnelAjax.addComment( $('#addcomment textarea').val(), $('#user_name').val(), $('#user_email').val());
			//clear out all values
			$('#addcomment textarea').val('');
			$('#user_name').val('');
			$('#user_email').val('');
			$('#name_error').html("");
			$('#email_error').html("");
			$('#comment_error').html("");
			$('#popup_comment').addClass('kill');
			return false;
		}
		else{
			return false;
		}
	});
	
}


var setFlags = function(){
	$('#comments .flag').click(function(){
		if(! $(this).attr('rev') ){
			$(this).attr('rev', '1')
			ChunnelAjax.flagComment( $(this).attr('rel') );
		}
		
		$(this).children('.msg').removeClass('hide');
		
	});
}


var setExpander = function(){
	
	if(document.getElementById("poll_question")){
				$('#description_text').expander({
					//check if poll exists
					slicePoint:250,
					expandText: '<div class="readmore colorme">Read More &raquo;</div>',
					userCollapseText: '<div class="readmore colorme">Hide</div>'
					
				});
	}
	
		
	
}

var setPopupButtons = function(){
	
	$('#share_button').click( function(){
		$('#popup_share').toggleClass('kill');
		$('#article_share_ok, #article_share_alert').addClass('kill');
	});
	
	$('#signin_button').click( function(){
		$('#signin').removeClass('kill');
		$('#signin_interface').addClass('kill');
		$('#signin input').eq(0).focus();
	});
	
	
	$('#comments_viewall').click( function(){
		document.commentview = -1;
		$('#comments_viewall').remove();
		ChunnelAjax.getComments(-1);
	});
	
	$('#comments_leave').click( function(){
		$('#popup_comment').removeClass('kill');
	});
	
	$('#popup_comment .close').click( function(){
		$('#popup_comment').addClass('kill');
	});
	
	
	
	
}


var setHovers = function(){
	
	$('#home_articlebrowser .left , #home_articlebrowser .right, #footer .navfoot li a, #topnav li a,  #channel_articlebrowser .nav div, #findcontent .content span').hover( function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
	
}



var setInputs = function(){
	$('input.autofill').each(function(){
		$(this).val(  $(this).attr('name') ) ;
	});
	$('input.autofill').focus(function(){
		if( $(this).val() == $(this).attr('name')  ){
			$(this).val( '' );
			$(this).addClass('post');
		}
	});
	$('input.autofill').blur(function(){
		if( $(this).val() === '' ){
			$(this).val(  $(this).attr('name') ) ;
			$(this).removeClass('post');
		}
	});
	
}



var setChannelBrowser = function(){
	
	$('#channel_articlebrowser .nav div').click(function(){
		$(this).parent().children('.current').removeClass('current');
		$(this).addClass('current');
		
		ChunnelAjax.getCompleteChannelBrowser( $(this).attr('rel') );
		
		$('#findcontent .content .current .bgme').removeClass('bgme');
		$('#findcontent .content .current ').removeClass('current');
	 });
	
}


var setPagination = function(target){
	$(target+' .pagination span').hover( function(){
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
	
	$(target+' .pagination').each(function(){
		
		
		$(this).children('.num').click(function(){
			$(this).parent().children('.current').removeClass('current');
			$(this).addClass('current');
			checkPaginationParent( $(this).parent(), parseInt($(this).html()) - 1  );
			
		});	
		
		$(this).find('strong .left,strong .right').click(function(){
			
			var parent = $(this).parent().parent();	
			var currentpage = $(parent).children('.currentpage').html() ;
			var totalcount = $(parent).children('.totalcount').html();
			var perpage = $(parent).children('.perpage').html();
			var maxpages =  parseInt(Math.ceil(totalcount / perpage ));
			
			
			if( $(this).attr('title') == 'right'){
				var newpage = parseInt(currentpage) + 1;
				$(parent).find('strong .left').removeClass('hide');
				if(newpage >= maxpages){
					newpage = maxpages;
					$(parent).find('strong .right').addClass('hide');
					$(parent).find('strong .pipe').addClass('hide');
				} else{
					$(parent).find('strong .pipe').removeClass('hide');	
				}
				
			}
			
			if( $(this).attr('title') == 'left'){
				var newpage = parseInt(currentpage) - 1;
				$(parent).find('strong .right').removeClass('hide');
				if(newpage <= 1){
					newpage = 1;
					$(parent).find('strong .left').addClass('hide');
					$(parent).find('strong .pipe').addClass('hide');
				}
				else{
				$(parent).find('strong .pipe').removeClass('hide');
				}
			}
			
			$(parent).children('.current').removeClass('current');
			
			for(var i = 1; i <= perpage; i++){
				
				var newMin = ((newpage-1) * perpage);
				var newNum = parseInt( newMin + i );
				if(newNum > totalcount){
					$(parent).children( '.num'+i  ).addClass('hide');
				}
				else{
					$(parent).children( '.num'+i  ).removeClass('hide');
					$(parent).children( '.num'+i  ).html( newNum ) ;
				}
				
			}
			$(parent).children('.num1').addClass('current');
			
			checkPaginationParent( $(this).parent().parent(), parseInt($(parent).children('.num1').html()) - 1  );
			
			$(parent).children('.currentpage').html(newpage);
			
			
		 });
		
	 });
		
}


var checkPaginationParent = function(pagiElement, newPage){
	if( $(pagiElement).parents('#freshlinks').html() ){
		ChunnelAjax.getFreshLinks(newPage);
	}
	else if ( $(pagiElement).parents('#channel_articlebrowser_bytag').html() ){
		ChunnelAjax.getArticlesByTag(newPage);
	}
	else if( $(pagiElement).parents('#channel_articlebrowser').html() ){
		ChunnelAjax.getChannelBrowser(newPage);
	}
	else if ( $(pagiElement).parents('#findcontent').html() ){
		ChunnelAjax.getTagBrowser(newPage);
	}
	else if ( $(pagiElement).parents('#article_articlebrowser').html() ){
		ChunnelAjax.getSimilarBrowser(newPage);
	}
	else if ( $(pagiElement).parents('#search_results').html() ){
		ChunnelAjax.searchArticle(newPage);
	}
	else if ( $(pagiElement).parents('#latest_content_browser').html() ){
		ChunnelAjax.getHomeLatestUpdates(newPage);
	}
}


var setHomeBrowser = function(){
	
	$('#home_articlebrowser .nav div').click(function(){
		var totalcount = $(this).parent().children('.totalcount').html();
		var current = $(this).parent().children('.current').html();
		$(this).siblings('.hide').removeClass('hide');
		if($(this).attr('title') == 'right'){
			current++;
			if(current+1 >= totalcount){
				$(this).addClass('hide');
				current = totalcount-1;
			}
		}
		if($(this).attr('title') == 'left'){
			current--;
			if(current <= 0){
				$(this).addClass('hide');
				current = 0;
			}
		}
		$(this).parent().children('.current').html(current);
		
		ChunnelAjax.getHomeArticleLinks($(this).parent().parent().attr('rel'), current );
		
	});
}



var setChannelTagClicks = function(){
	
	$('#findcontent .content span').click(function(){
		ChunnelAjax.getArticlesByTagComplete( $(this).attr('rel') );
		$('#tagName').html( $(this).children('strong').html() );
		$(this).siblings('.current').children('strong').removeClass('bgme');
		$(this).siblings('.current').removeClass('current');
		$(this).addClass('current');
		$(this).children('strong').addClass('bgme');
	});
	
	$('#channel_articlebrowser .browse').click(function(){
		$('#channel_articlebrowser .tagged_content').hide();
		$('#channel_articlebrowser .standard_content').show();
		$('#findcontent .content .current .bgme').removeClass('bgme');
		$('#findcontent .content .current ').removeClass('current');
	});
	
}

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);

            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

var triggerAnalytics = function(){
	if(_uacct != ""){
		urchinTracker();
	}
}












