var direction='block';

function pg_Expandnew(num) {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('pg_divFormnew'+num).style.display=direction;
	if(direction=='none') 
		direction = 'block';
	else
		direction='none'
}

function pg_closenew(num) {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('pg_divFormnew'+num).style.display=direction;
	if(direction=='block') 
		direction = 'none';
	else
		direction='block'
}

function pg_Expand1(num) {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('pg_divForm'+num).style.display=direction;
	if(direction=='none') 
		direction = 'block';
	else
		direction='none'
}

function pg_close1(num) {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('pg_divForm'+num).style.display=direction;
	if(direction=='block') 
		direction = 'none';
	else
		direction='block'
}

function opendiv() {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('opennew').style.display=direction;
	if(direction=='none') 
		direction = 'block';
	else
		direction='none'
}

function closediv(num) {
	//document.getElementById('pg_direction').src="components/com_comprofiler/plugin/user/plug_cbprofilegallery/images/"+direction+"-arrow.gif";
	var checkk=document.getElementById('closenew').style.display=direction;
	if(direction=='block') 
		direction = 'none';
	else
		direction='block'
}

function limiter(user){
	var newcount = (commentMaxChars) ? commentMaxChars : 250;
	var datanum = "0";
	var newval = "comment"+user;
	var newlimitnow = "atul"+user;
	var newLimitElem = document.getElementById(newlimitnow);
	var newValElem = document.getElementById(newval);
	var tex = newValElem.value;
	var len = tex.length;
	
	if(len > newcount){
		tex = tex.substring(0,newcount);
		newValElem.value = tex;
		return false;
	}
	
	var data = newcount-len;
	
	newLimitElem.innerHTML=data;
	newLimitElem.value = data;
	
	if(data==0)
	{
		newLimitElem.style.color="#FF0000";
		newValElem.style.color="#000000";
	}
	else
	{
		newLimitElem.style.color="#8b8b8b";
		newValElem.style.color="#000000";
	}
}

function calltext(call)
{
	var elem = document.getElementById("comment"+call);
	elem.value="";
	elem.focus();
}


// -------------------
// rewritten functions
// -------------------

var urlString = '';
var errorDisplay = null;
var commentBox = null;
var guestNameField = null;
var guestEmailField = null;
var guestWebsiteField = null;
var guestNotifyCheckbox = null;
var guestSubscribeCheckbox = null;

jQuery(document).ready(function($) {
	var helpWindow = $('#help-window');
	if (helpWindow.length) {
		helpWindow.collapsible();
	}
});

function stripWhitespace(string) {
	return string.replace(/^\s*|\s*$/g,'');
}

function changeClass(elemId, newClass) {
	document.getElementById(elemId).className = newClass;
}

function hideShowAllReplies(commentNum) {
	var $ = jQuery;
	var context = $('#comment-' + commentNum);
	
	if (context.length) {
		var replies = $('div.overflow', context);
		var showHideLink = $('div.show-hide-comments a', context);
		
		if (replies.hasClass('hidden')) {
			showHideLink.text(showHideLink.text().replace('show', 'hide'));
		} else {
			showHideLink.text(showHideLink.text().replace('hide', 'show'));
		}
		
		replies.toggleClass('hidden');
	}	
}

function updateCharacterLimit() {
	var maxChars = (commentMaxChars) ? commentMaxChars : 250;
	var commentBox = null;
	var charLimitDisplay = null;
	var commentContainerClass = document.getElementById('comment-container').className;
	
	if (commentContainerClass == 'show-comment-box') {
		commentBox = document.getElementById('comment-text');
		charLimitDisplay = document.getElementById('comment-character-limit');
	} else if (commentContainerClass == 'show-image-box') {
		commentBox = document.getElementById('yugantcom');
		charLimitDisplay = document.getElementById('image-character-limit');
	} else {
		return false;
	}
	
	var commentBoxText = commentBox.value;
	var remainingChars = maxChars - commentBoxText.length;

	if (remainingChars < 0) {
		commentBox.value = commentBoxText.substring(0, maxChars);
		return false;
	} else {
		charLimitDisplay.style.color = (remainingChars == 0) ? '#f00' : '#8b8b8b';
		charLimitDisplay.value = remainingChars;
	}
}

function updateReplyCharacterLimit(commentNum) {
	var maxChars = (commentMaxChars) ? commentMaxChars : 250;
	var charLimitDisplay = document.getElementById('reply-char-count-' + commentNum);
	var commentBox = document.getElementById('reply-to-comment-' + commentNum);
	var commentBoxText = commentBox.value;
	var remainingChars = maxChars - commentBoxText.length;
	
	if (remainingChars < 0) {
		commentBox.value = commentBoxText.substring(0, maxChars);
		return false;
	} else {
		charLimitDisplay.style.color = (remainingChars == 0) ? '#f00' : '#8b8b8b';
		charLimitDisplay.value = remainingChars;
	}
}

function validateComment() {
	var $ = jQuery;
	var errorDisplay = document.getElementById('error-message');
	var commentField = document.getElementById('comment-text');
	var commentFieldText = commentField.value;
	var videoId = document.getElementById('video-id-field').value;
	var userId = document.getElementById('user-id-field').value;
	var userName = document.getElementById('user-name-field').value;
	var guestEmail = null;
	var guestWebsite = null;
	var guestNotify = null;
	var guestSubscribe = null;
	var urlString = '';
	
	if (!userName) {
		errorDisplay.innerHTML = 'Hey stranger, <a href="/index.php?mode=login&amp;urldirect=' + window.location + '">login</a> or <a onclick="openLoginWindow();">register as a guest commenter</a> to post your comment';
		return false;
	}
	
	if (commentFieldText == 'Enter Comment' || stripWhitespace(commentFieldText) == '') {
		errorDisplay.innerHTML = 'The comment field must not be blank';
		commentField.focus();
		return false;
	}
	
	if (commentFieldText.match(/([\<])([^\>]{1,})*([\>])/i) != null) {
		errorDisplay.innerHTML = 'HTML tags are not allowed';
		commentField.focus();
		return false;
	}
	
	$('.error-message').html('');
	urlString = '/modules/profile/ques.php?question=' + commentFieldText + '&userid=' + userId + '&video=' + videoId;
	
	if (!parseInt(userId)) {
		guestEmail = document.getElementById('guest-email-field').value;
		guestWebsite = document.getElementById('guest-website-field').value;
		guestNotify = document.getElementById('guest-notify-field').value;
		guestSubscribe = document.getElementById('guest-subscribe-field').value;
		
		urlString += '&email=' + guestEmail + '&website=' + guestWebsite + '&notify=' + guestNotify + '&subscribe=' + guestSubscribe;
	}
	
	var http = getNewXmlHttp();
	http.open("GET", urlString, true);
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			commentField.value = '';
			updateCharacterLimit();
			showcat('show');
		}
	}
	
	http.send(null);
}

function validateReply(commentId, commentNum) {
	var $ = jQuery;
	var errorDisplay = document.getElementById('reply-error-display-' + commentNum)
	var commentField = document.getElementById('reply-to-comment-' + commentNum);
	var commentText = commentField.value;
	var videoId = document.getElementById('video-id-field').value;
	var userId = document.getElementById('user-id-field').value;
	var userName = document.getElementById('user-name-field').value;
	var guestEmail = null;
	var guestWebsite = null;
	var guestNotify = null;
	var guestSubscribe = null;
	var urlString = '';
	
	if (!userName) {
		errorDisplay.innerHTML = 'Hey stranger, <a href="/index.php?mode=login&amp;urldirect=' + window.location + '">login</a> or <a onclick="openLoginWindow();">register as a guest commenter</a> to post your reply';
		return false;
	}
	
	if (!commentText || commentText == 'post your reply...') {
		errorDisplay.innerHTML = 'The comment field must not be blank';
		commentField.focus();
		return false;
	}
	
	if (commentText.match(/([\<])([^\>]{1,})*([\>])/i) != null) {
		errorDisplay.innerHTML = 'HTML tags are not allowed';
		commentField.focus();
		return false;
	}
	
	$('.error-message').html('');
	urlString = '/submitdata.php?comment=' + commentText + '&commentid=' + commentId + '&userid=' + userId;
	
	if (!parseInt(userId)) {
		guestEmail = document.getElementById('guest-email-field').value;
		guestWebsite = document.getElementById('guest-website-field').value;
		guestNotify = document.getElementById('guest-notify-field').value;
		guestSubscribe = document.getElementById('guest-subscribe-field').value;
		
		urlString += '&email=' + guestEmail + '&website=' + guestWebsite + '&notify=' + guestNotify + '&subscribe=' + guestSubscribe;
	}
	
	var http = getNewXmlHttp();
	http.open("GET", urlString, true);
	
	http.onreadystatechange = function() {
		if (http.readyState == 4) {
			showcat('show');
		}
	}
	
	http.send(null);
}

function validateImageUpload(form) {
	ajaxUpload(form,'js/ajaxupload.php?filename=filename&maxSize=9999999999&maxW=700&fullPath=uploads/&relPath=../uploads/&colorR=255&colorG=255&colorB=255&maxH=500','upload_area','File Uploading, Please Wait...<br /> <img src="/images/loader_light_blue.gif" width="128" height="15" border="0" />','<img src="/images/error.gif" width="16" height="16" border="0" /> Error in Upload, check settings and path info in source code.');
}

function showUploadImagePreview(imgContainerId, inputFile) {
	var fileName = '';
	if (inputFile.indexOf("/") > 0) {
		fileName = inputFile.substring(inputFile.lastIndexOf("/") + 1, inputFile.length);
	} else {
		fileName = inputFile.substring(inputFile.lastIndexOf("\\") + 1, inputFile.length)
	}
	
	document.getElementById(imgContainerId).innerHTML = '<img src="images/upload-cropped.png" /> ' + fileName;
}

function openHelpWindow() {
	var $ = jQuery;
	var helpWindow = $('#help-window');
	helpWindow.show();
}

function closeHelpWindow() {
	var $ = jQuery;
	var helpWindow = $('#help-window');
	helpWindow.hide();
}

function openLoginWindow() {
	var $ = jQuery;
	var loginWindow = $('#login-window');
	loginWindow.show();
	document.getElementById('guest-name').focus();
}

function closeLoginWindow() {
	var $ = jQuery;
	var loginWindow = $('#login-window');
	loginWindow.hide();
}

function guestLogin() {
	var $ = jQuery;
	var errorDisplay = document.getElementById('login-window-error-display');
	var guestNameField = document.getElementById('guest-name');
	var guestEmailField = document.getElementById('guest-email');
	var guestWebsiteField = document.getElementById('guest-website');
	var guestNotifyCheckbox = document.getElementById('notify-on-reply');
	var guestSubscribeCheckbox = document.getElementById('subscribe-to-newsletter');
	
	var guestNameText = guestNameField.value;
	var guestEmailText = guestEmailField.value;
	var guestWebsiteText = guestWebsiteField.value;
	var guestNotifyIsChecked = guestNotifyCheckbox.checked;
	var guestSubscribeIsChecked = guestSubscribeCheckbox.checked;
		
	if (!guestNameText) {
		errorDisplay.innerHTML = 'You must include your name';
		guestNameField.focus();
		return false;
	}
	 
	if (!guestEmailText) {
		errorDisplay.innerHTML = 'You must include your email address';
		guestEmailField.focus();
		return false;
	}
	
	if (!guestEmailText.match(/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/)) {
		errorDisplay.innerHTML = 'Oops, your email address is not looking right :(';
		guestEmailField.focus();
		return false;
	}
	
	if (guestWebsiteText != '' && !guestWebsiteText.match(/.+\..{2,4}.+?/)) {
		errorDisplay.innerHTML = 'Hmm... is your website URL correct?';
		guestWebsiteField.focus();
		return false;
	}
	
	$('.error-message').html('');
	urlString = '/modules/login/guest-login.php?login=true&name=' + guestNameText + '&email=' + guestEmailText + '&website=' + guestWebsiteText;
	
	if (guestNotifyIsChecked) urlString += '&notify=true';
	if (guestSubscribeIsChecked) urlString += '&subscribe=true';
	
	var http = getNewXmlHttp();
	http.open('GET', urlString, true);
	
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			// Update the user greeting
			var string = 'Hi, ' + http.responseText + '! (Not you? <a onclick="guestLogout();">Logout</a> or <a onclick="openLoginWindow();">edit your guest information</a>)';
			document.getElementById('user-name-notify').innerHTML = string;
			
			// Update the hidden input values
			document.getElementById('user-name-field').value = guestNameText;
			document.getElementById('guest-email-field').value = guestEmailText;
			document.getElementById('guest-website-field').value = guestWebsiteText;
			document.getElementById('guest-notify-field').value = (guestNotifyIsChecked) ? 'true' : 'false';
			document.getElementById('guest-subscribe-field').value = (guestSubscribeIsChecked) ? 'true' : 'false';
			
			// Close the login window
			closeLoginWindow();
			
			// Remove any error messages
			errorDisplay.innerHTML = '';
			document.getElementById('error-message').innerHTML = '';
		}
	}
	
	http.send(null);
}

function guestLogout() {
	var http = getNewXmlHttp();
	var urlString = '/modules/login/guest-login.php?logout=true';
	http.open('GET', urlString, true);
	
	http.onreadystatechange = function() {
		if(http.readyState == 4) {
			// Update the user greeting
			var string = '<a href="/index.php?mode=login&amp;urldirect=' + window.location + '">Login</a> or <a onclick="openLoginWindow();">Post as Guest</a> to add your comment.';
			document.getElementById('user-name-notify').innerHTML = string;
			
			// Update the hidden input values
			document.getElementById('user-name-field').value = '';
			document.getElementById('guest-email-field').value = '';
			document.getElementById('guest-website-field').value = '';
			document.getElementById('guest-notify-field').value = 'true';
			document.getElementById('guest-subscribe-field').value = 'true';
			
			// Update the login window values
			document.getElementById('guest-name').value = '';
			document.getElementById('guest-email').value = '';
			document.getElementById('guest-website').value = '';
			document.getElementById('notify-on-reply').checked = true;
			document.getElementById('subscribe-to-newsletter').checked = true;
		}
	}
	
	http.send(null);
}

function getNewXmlHttp() {
	var http_object;

		// Internet Explorer
		
		/*@cc_on
		@if (@_jscript_version >= 5)
			try {
				http_object = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e) {
				try {
					http_object = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
					http_object = false;
				}
			}
		@else
			xmlhttp = http_object;
		@end @*/


		// Every other browser

		if (!http_object && typeof XMLHttpRequest != 'undefined') {
			try {
				http_object = new XMLHttpRequest();
			} catch (e) {
				http_object = false;
			}
		}

		return http_object;
}

// ---------------------
// MailChimp Signup Form
// ---------------------

function showMailChimpForm(effect) {
	var $ = jQuery;
	switch (effect){
	case 'fade' :
		$('#mailchimp-signup').fadeIn('slow');
		break;
	default :
		$('#mailchimp-signup').show();
		break;
	}
}

function closeMailChimpForm() {
	var $ = jQuery;
	$('#mailchimp-signup').hide();
}

var fnames = new Array();
var ftypes = new Array();

fnames[0]='EMAIL';
ftypes[0]='email';
fnames[1]='FNAME';
ftypes[1]='text';

var err_style = '';

try{
    err_style = mc_custom_error_style;
} catch(e){
    err_style = 'margin: 1em 0 0 0; padding: 1em 0.5em 0.5em 0.5em; background: FFEEEE none repeat scroll 0% 0%; font-weight: bold; float: left; z-index: 1; width: 80%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: FF0000;';
}

var mce_jQuery = jQuery.noConflict();
mce_jQuery(document).ready( function($) {
  var options = { errorClass: 'mce_inline_error', errorElement: 'div', errorStyle: err_style, onkeyup: function(){}, onfocusout:function(){}, onblur:function(){}  };
  var mce_validator = mce_jQuery("#mc-embedded-subscribe-form").validate(options);
  options = { url: 'http://learnmyshot.us1.list-manage.com/subscribe/post-json?u=e19da8ca50550c6411df3b690&id=5ab3a11a05&c=?', type: 'GET', dataType: 'json', contentType: "application/json; charset=utf-8",
                beforeSubmit: function(){
                    mce_jQuery('#mce_tmp_error_msg').remove();
                    mce_jQuery('.datefield','#mc_embed_signup').each(
                        function(){
                            var txt = 'filled';
                            var fields = new Array();
                            var i = 0;
                            mce_jQuery(':text', this).each(
                                function(){
                                    fields[i] = this;
                                    i++;
                                });
                            mce_jQuery(':hidden', this).each(
                                function(){
                                                if ( fields[0].value=='MM' && fields[1].value=='DD' && fields[2].value=='YYYY' ){
                                                                this.value = '';
                                                                                                                                                } else if ( fields[0].value=='' && fields[1].value=='' && fields[2].value=='' ){
                                                                this.value = '';
                                                                                                                                                } else {
                                                    this.value = fields[0].value+'/'+fields[1].value+'/'+fields[2].value;
                                                }
                                });
                        });
                    return mce_validator.form();
                },
                success: mce_success_cb
            };
  mce_jQuery('#mc-embedded-subscribe-form').ajaxForm(options);
 
});

function mce_success_cb(resp){
    mce_jQuery('#mce-success-response').hide();
    mce_jQuery('#mce-error-response').hide();
    if (resp.result=="success"){
        mce_jQuery('#mce-'+resp.result+'-response').show();
        mce_jQuery('#mce-'+resp.result+'-response').html(resp.msg);
        mce_jQuery('#mc-embedded-subscribe-form').each(function(){
            this.reset();
                });
    } else {
        var index = -1;
        var msg;
        try {
            var parts = resp.msg.split(' - ',2);
            if (parts[1]==undefined){
                msg = resp.msg;
            } else {
                i = parseInt(parts[0]);
                if (i.toString() == parts[0]){
                    index = parts[0];
                    msg = parts[1];
                } else {
                    index = -1;
                    msg = resp.msg;
                }
            }
        } catch(e){
            index = -1;
            msg = resp.msg;
        }
        try{
            if (index== -1){
                mce_jQuery('#mce-'+resp.result+'-response').show();
                mce_jQuery('#mce-'+resp.result+'-response').html(msg);           
            } else {
                err_id = 'mce_tmp_error_msg';
                html = '<div id="'+err_id+'" style="'+err_style+'"> '+msg+'</div>';
               
                var input_id = '#mc_embed_signup';
                var f = mce_jQuery(input_id);
                if (ftypes[index]=='address'){
                    input_id = '#mce-'+fnames[index]+'-addr1';
                    f = mce_jQuery(input_id).parent().parent().get(0);
                } else if (ftypes[index]=='date'){
                    input_id = '#mce-'+fnames[index]+'-month';
                    f = mce_jQuery(input_id).parent().parent().get(0);
                } else {
                    input_id = '#mce-'+fnames[index];
                    f = mce_jQuery().parent(input_id).get(0);
                }
                if (f){
                    mce_jQuery(f).append(html);
                    mce_jQuery(input_id).focus();
                } else {
                    mce_jQuery('#mce-'+resp.result+'-response').show();
                    mce_jQuery('#mce-'+resp.result+'-response').html(msg);
                }
            }
        } catch(e){
            mce_jQuery('#mce-'+resp.result+'-response').show();
            mce_jQuery('#mce-'+resp.result+'-response').html(msg);
        }
    }
}

function mcEvilPopupEnable() {
	var $ = jQuery;
	cks = document.cookie.split( ';' );
	var show=true;
	for(i=0;i<cks.length;i++){
	    parts = cks[i].split('=');
	    if( parts[0].indexOf('MCEvilPopupClosed')>0 ) show = false;
	}
	if (show){
		setTimeout( function(){ showMailChimpForm('fade') } , 3000);
		$('#mailchimp-signup .close-button').click(function(){ mcEvilPopupClose();});
	}
	$(document).keydown(function(e){
	    if (e == null) {
	      keycode = event.keyCode;
	    } else {
	      keycode = e.which;
	    }
	    if(keycode == 27){
	        mcEvilPopupClose();
	    }
	});
}

function mcEvilPopupClose(){
    closeMailChimpForm();
    var now = new Date();
    var expires_date = new Date( now.getTime() + 31536000000 );
    document.cookie = 'MCEvilPopupClosed=yes;expires=' + expires_date.toGMTString()+';path=/';
}
