﻿
/*---------------------------------------------------------------
Implementation settings:
----------------------------------------------------------------- */
var FSTPATH = 'http://www.legaltechbase.com/community/';
var HOSTPATH = 'http://www.legaltechbase.com/';
var FSTCOMMONPATH = 'http://www.legaltechbase.com/community/firestartercommon/';
var COOKIENAME = 'fstLTB';
/*--------------------------------------------------------------- */


/*--------------------------------------------------------------- */
var DEBUG = false;
/*--------------------------------------------------------------- */


/* avatar sign in */
var _avatarPlaceholderID = "fstUserAvatar";
var _avatarFormPlaceholderID = "fstAvatarSignInContainer";
var _avatarStatusBoxID = "fstAvatarStatus";
var _avaterSignInLoaderID = "fstSignInLoader";
var _avatarSignInFormID = "fstAvatarSignInForm";

var _signInErrorMsg = "";
var _commentRegisterErrorMsg = "";
var _fstUsernameID = "fstUN";

/* comment sign in */
var _commentSignInLoaderPlaceholderID = "fstCommentSignInLoader";
var _commentSignInPlaceholderID = "fstCommentSignInBox";
var _addCommentPlaceholderID = "fstPostComment";
var _commentSignInFormID = "frmCommentSignInForm";

/* comment register */
var _commentRegisterFormID = "fstRegisterForm";
var _commentRegisterBoxPlaceholderID = "fstRegisterPlaceholder";
var _commentSignInRegisterStatusBoxID = "fstCommentSignInRegisterStatus";

/* add comment */
var _addCommentFormID = "fstAddCommentForm";
var _captchaImageID = "captchaimage";
var _captchaGuidID = "ccguid";
var _commentInputBoxID = "cmt";
var _captchaInputBoxID = "cc";
var _commentListID = "fstCommentList";
var _commentMessageBoxID = "fstCommentMessage";
var _isCommentSignIn = false;

/* in progress flags */
var _registerInProgress = false;
var _commentInProgress = false;
var _signinInProgress = false;

/* general */
var _registerLinkID = "fstdvRegister";
var _commonLoaderID = "fstLoader";
var REGISTERURL_REPLACE = '##REGISTERURL##';
var SV = 'nodata';
var DO_RATINGS = false;
var DO_COMMENTS = false;
var _CW_PREFIX = 'fstCW';
var _currentItemID = 0;
var _currentItemType = "";
var _focusOnCommentBox = false;
var URL_COMPLAINT = FSTPATH + 'complaint.aspx';


/*--------------------------------------------------------------- */
function fst_PublicInit()
{    	
	if(DO_RATINGS == true) { fst_RatingsInit(); }
	if(DO_COMMENTS == true) { fst_CommentsInit(); }
	fst_HideLoader();
}

/*--------------------------------------------------------------- */
function fst_HelpMe(section)
{
    var url = FSTPATH + "help/index.aspx";
    if(section != '') { url += "?section=" + section; }
    window.open(url,'FireStarterHelp','width=600,height=460,resizable=no,scrollbars=yes,toolbar=no,status=no,menubar=no');
}

/*--------------------------------------------------------------- */
function fst_CloseHelp()
{
    window.close();
}

/*--------------------------------------------------------------- */
function fst_HideShowMessage(evt)
{
    if($('addmessage'))
    {
        var obj = $('addmessage');
             
        if(obj.className == 'hidden')
        {
            obj.className = 'visible';
        }
        else
        {
            obj.className = 'hidden';
        }
    }
}

/*--------------------------------------------------------------- */
function fst_HideError(obj)
{
    if($(obj))
    {
        $(obj).style.visibility = 'hidden';
    }
}

/*--------------------------------------------------------------- */
function fst_ShowError(obj,msg)
{
    if($(obj))
    {
        $(obj).innerHTML = msg;
        $(obj).style.visibility = 'visible';
    }
}

/*--------------------------------------------------------------- */
function fst_RefreshPage()
{
    window.location.reload( false );
}

/*--------------------------------------------------------------- */
function fst_NotAvailable()
{
	alert('Feature not yet available');
}

/*--------------------------------------------------------------- */
function fst_ShowPhoto(imageID)
{
	var url = "previewphoto.aspx?i=" + imageID;
	var winRef = window.open( url, "userphoto");
	winRef.focus()
}

/*--------------------------------------------------------------- */
function fst_ShowLoader()
{
    if($(_commonLoaderID)) { $(_commonLoaderID).style.display = 'block'; }
}

/*--------------------------------------------------------------- */
function fst_HideLoader()
{
    if($(_commonLoaderID)) { $(_commonLoaderID).style.display = 'none'; }
}

/*--------------------------------------------------------------- */
function fst_ShowImage()
{
    if($('logo'))
    {
	    var imageDiv = $('logo');
	    var fileObject = $('filUpload');

	    // create the new image object
	    var newImage = document.createElement('img');
	    newImage.setAttribute('src', fileObject.value);
	    newImage.setAttribute('alt', 'Logo');
    				
	    // remove any children from the image div
	    imageDiv.removeChild(imageDiv.firstChild);
	    imageDiv.appendChild(newImage);
	}
}

/*--------------------------------------------------------------- */
function fst_PrintPage()
{
	window.print();
}

/*--------------------------------------------------------------- */
function fst_EmailPage()
{
	var who = '[email]';
	var what = 'This might be of interest to you: ' + document.title;
	var link = window.location.href;
	var body = document.title + '  \r\n' + link;
	parent.location.href = 'mailto:' + who + '?subject=' + what + '&body=' + body;
}

/*--------------------------------------------------------------- */
function fst_BookmarkPage()
{
	var urlAddress = window.location.href;
	var pageName = document.title;
	
	if (window.external)
	{
		window.external.AddFavorite(urlAddress,pageName)
	} 
	else
	{
		alert("Sorry, your browser doesn't support this function.");
	}		
}

/*--------------------------------------------------------------- */
function fst_DoComplaint(type,itemid)
{
	var uri = location.href;
	if(DEBUG) { alert(type + ', ' + itemid + ', ' + uri); }
	window.location = URL_COMPLAINT + '?type=' + type + '&item=' + itemid + '&url=' + uri + "#cmt" + itemid;
}

/*--------------------------------------------------------------- */
function fst_CWHShowTab(type)
{
    fst_CWHideTabs(type);
    var id = $('fstSel' + type).options[$('fstSel' + type).selectedIndex].value;   
    $(_CW_PREFIX + 'L' + id).style.visibility = 'visible';
    $(_CW_PREFIX + 'L' + id).style.display = 'block';
}

/*--------------------------------------------------------------- */
function fst_CWHideTabs(type)
{
    var cwTabs = $$('.' + _CW_PREFIX + 'L' + type);
        
    if(cwTabs != null)
    {
        for (var i = 0; i < cwTabs.length; i++)
        {
            cwTabs[i].style.visibility = 'hidden';
            cwTabs[i].style.display = 'none';
        }
    }
}

/*--------------------------------------------------------------- */
function fst_CWResetSelectedTab(type)
{
    var cwSelectdTab = $$('.' + _CW_PREFIX + 'T' + type + '_SEL');
            
    if(cwSelectdTab != null)
    {
        for (var i = 0; i < cwSelectdTab.length; i++)
        {
            cwSelectdTab[i].className = _CW_PREFIX + 'T' + type;
        }
    }
}

/*--------------------------------------------------------------- */
function fst_ConfirmDeleteMessage()
{
    return confirm("Are you sure you want to delete this message?");
}

/*--------------------------------------------------------------- */
function fst_ConfirmArchiveMessage()
{
    return confirm("Are you sure you want to archive this message?");
}

/*--------------------------------------------------------------- */
function fst_GetSelectedRadioItem(rdoObject)
{
    if(DEBUG) { alert('start: fst_GetSelectedRadioItem'); }
    
	if(!rdoObject)
	{
	    return "";
	}
	
	if(DEBUG) { alert('check 1'); }
	
	var radioLength = rdoObject.length;
	
	if(radioLength == undefined)
	{
		if(rdoObject.checked)
        {
			return rdoObject.value;
		}
		else
		{
			return "";
        }
    }
    
    if(DEBUG) { alert('check 2'); }
    	
	for(var i = 0; i < radioLength; i++)
	{
		if(rdoObject[i].checked)
		{
			return rdoObject[i].value;
		}
	}
	
	if(DEBUG) { alert('finish: fst_GetSelectedRadioItem'); }
	
	return "";
}

/*--------------------------------------------------------------- */
function fst_ShowPanel(panel)
{
    if($(panel)) { $(panel).style.display = "block"; }
}

/*--------------------------------------------------------------- */
function fst_HidePanel(panel)
{
    if($(panel)) { $(panel).style.display = "none"; }
}

/*--------------------------------------------------------------- */
function fst_CreateDocumentElement(elementTag, id, className, content)
{
    var e = document.createElement(elementTag);
    if(className != null && className.length > 0) { e.setAttribute("class",className); }
    if(id != null && id.length > 0) { e.setAttribute("id",id); }
    if(content != null && content.length > 0) { e.innerHTML = content; }
    return e;
}

/*--------------------------------------------------------------- */
function fst_ValidateEmail(str)
{    
    var validStr = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@.-';
    var mandStr = '@.';
    var iPresentCount = 0;
        
    if(str.length > 0)
    {
        for (i = 0; i < str.length; i++)
        {
            if (validStr.indexOf(str.charAt(i)) == -1)
                return false;
        }
        
        for (i = 0; i < str.length; i++)
        {
            if (mandStr.indexOf(str.charAt(i)) != -1)
                iPresentCount++;
        }

        if (iPresentCount < mandStr.length)
            return false;
    }
    else
    {
        return false;
    }

    return true;
}

/*--------------------------------------------------------------- */
function fst_ValidateName(str)
{
  var initialStr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_!? '";
  var followStr  = initialStr + ' &.';
  if (str.length > 0) {
    if (initialStr.indexOf(str.charAt(0)) == -1)
      return false;
    for (i = 1; i < str.length; i++) {
      if (followStr.indexOf(str.charAt(i)) == -1)
        return false;
    }
  }
  return true;
}

/*--------------------------------------------------------------- */
function fst_ValidString(str,len)
{
    return (str.length <= len) ? false : true;
}

/*--------------------------------------------------------------- */
function fst_DoPasswordsMatch(pwd1,pwd2)
{
    return (pwd1 != pwd2) ? false : true;
}

/*--------------------------------------------------------------- */
function fst_IsPwdCorrectLength(pwd)
{
    return (pwd.length < 6 || pwd.length > 50) ? false : true;    
}

/*--------------------------------------------------------------- */
function fst_IsValidPassword(pwd)
{
    var validStr = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.- ';
    
    // make sure the password contains valid characters
    for (i = 0; i < pwd.length; i++)
    {
        if (validStr.indexOf(pwd.charAt(i)) == -1)
        {
            return false;
        }
    }
    
    return true;
}

/*--------------------------------------------------------------- */
function fst_IsValidPasswordNumber(pwd)
{
    var validStr = '1234567890';
    // make sure the password contains valid characters
    for (i = 0; i < pwd.length; i++)
    {
        if (validStr.indexOf(pwd.charAt(i)) >= 0)
        {
             return true;         
        }
    }
    return false; 
}

/*--------------------------------------------------------------- */
function fst_IsValidPasswordCharacter(pwd)
{
    var validStr = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    // make sure the password contains valid characters
    for (i = 0; i < pwd.length; i++)
    {
        if (validStr.indexOf(pwd.charAt(i)) >= 0)
        {
             return true;         
        }
    }
    return false; 
}

/*--------------------------------------------------------------- */
function  fst_DoPasswordsMatchWithOrignalPassword(oldpwd,pwd)
{
    return (oldpwd == pwd) ? false : true;
}