<?php
// we need the next 2 lines to send the right header
header('Content-type: text/javascript');
include($_SERVER['DOCUMENT_ROOT'].'/sys/common/tools/siteconfig.php');
$ClPHPBBObj = new ClPhpBB($DBObj,'');
$ClPHPBBTopicsObj = new ClPhpBBTopics($DBObj,'phpbb_topics');
$ClPHPBBPostsObj = new ClPhpBBPosts($DBObj,'phpbb_posts');
$ClUtilityFunctionsObj = new ClUtilityFunctions;

$DomainToSubmit = "http://www.".$ClUtilityFunctionsObj->FnGetDomainNameForServerRole();

$ReferelURL = $_SERVER['HTTP_REFERER'];
$URLComponents = parse_url($ReferelURL);
$RefererHost = $URLComponents['host'];
$ArgumentsInArray = array(
                          'ReferralURL' => $RefererHost,
                          'NumberOfPosts' => 8
                         );
$TopicRow = $ClPHPBBTopicsObj->FnGetForumTopicsForReferralURLInArray($ArgumentsInArray);
$TotalTopics = count($TopicRow);
$AllTopicInfoInArray = array();
if($TotalTopics>0)
{
        $RecentTopicRows = '<table width="100%" border="0"><tbody><tr><td id="listtopic">';
        for($i=0;$i<$TotalTopics;$i++)
        {
             if($TopicRow [$i]['topic_title'] != 'miracle management group')
               {
                $TopicIDInArray = array('TopicID'=>$TopicRow[$i]['topic_id']);
                $AllPostsInArray = $ClPHPBBPostsObj->FnGetAllPostsDetailsForATopicIDInArray($TopicIDInArray);
                $AllPostsInArrayCount = count($AllPostsInArray);
                $AllTopicInfoInArray[$TopicRow[$i]['topic_id']] = array(
                                                                              'title'=>$TopicRow[$i]['topic_title'],
                                                                              'replies'=>$AllPostsInArrayCount
                                                                             );

                for($PostCounter=0;$PostCounter<$AllPostsInArrayCount;$PostCounter++)
                {
                        if($AllPostsInArray[$PostCounter]['poster_id']>0)
                        {
                                $ClUserObj = new ClUser($DBObj,'phpbb_users');
                                $UserInfoInArray = $ClUserObj->FnGetUserDetailsFromUserIDInArray(array('user_id'=>$AllPostsInArray[$PostCounter]['poster_id']));
                                $UserName = $UserInfoInArray['username'];
                                unset($UserInfoInArray);
                                unset($ClUserObj);
                       }
                        else
                        {
                                $UserName = $AllPostsInArray[$PostCounter]['post_username'];
                        }

                        $Subject = (isset($AllPostsInArray[$PostCounter]['post_subject'])&& !empty($AllPostsInArray[$PostCounter]['post_subject'])) ? $AllPostsInArray[$PostCounter]['post_subject'] : "Subject";
                        $PostText = preg_replace("/\"/","\\\"",$ClPHPBBObj->FnGetHtmlTextFromBBCodeText(array('PostText'=>$AllPostsInArray[$PostCounter]['post_text'],'UID'=>$AllPostsInArray[$PostCounter]['bbcode_uid'])));
                        $PostText = preg_replace("/\r\n|\n/","<br>",$PostText);
                        $PostText = preg_replace("/\'/","\'",$PostText);
//                      $PostText = preg_replace("/\//","\\",$PostText);


                        $AllTopicInfoInArray[$TopicRow[$i]['topic_id']]['posts'][$PostCounter] = array(
                                                                                                             'username'=> $UserName,
                                                                                                             'subject' => $Subject,
                                                                                                             'postdate'=> date('D M d, Y g:i a', $AllPostsInArray[$PostCounter]['post_time']),
                                                                                                             'posttext'=> $PostText
                                                                                                            );
                }
                $TopicID=$TopicRow[$i]['topic_id'];
                $RecentTopicRows .= '<li><a href="javascript:showFullDetailOfTopic('.$TopicID.');">';

                $TopicText = (strlen(preg_replace("/\'/","\'",$TopicRow[$i]['topic_title']))>17)?substr(preg_replace("/\'/","\'",$TopicRow[$i]['topic_title']), 0, 17)."...": preg_replace("/\'/","\'",$TopicRow[$i]['topic_title']);
                $RecentTopicRows .= $TopicText."</a><br /><span class=\"topicstarter\"><div align=\"right\">Asked by <b>".$AllTopicInfoInArray[$TopicID]['posts'][0]['username']."</b></div></span></li>";
        }
        $RecentTopicRows .= '</td></tr></table>';
   }    
}
else
{
        $RecentTopicRows = "Use our Ask a Question Box and get quick answers to your debt related queries.";
}

$ArgumentsInArray = array('ArrayValue'=>$AllTopicInfoInArray);
?>
document.write('<script type="text/javascript" src="<?php echo $DomainToSubmit; ?>/include/js/script/movable-win.js"></script>');

var TopicInfoObj = <?php echo $ClUtilityFunctionsObj->FnGetJsObjectFromPhpArray($ArgumentsInArray); ?>;
var navTabs = new Array();
// Example:
// FnWriteCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function FnWriteCookie(name, value, hours)
{
        var expire = "";
        if(hours != null)
        {
                expire = new Date((new Date()).getTime() + hours * 3600000);
                expire = "; expires=" + expire.toGMTString();
        }
        document.cookie = name + "=" + escape(value) + expire;
}
// Example:
// alert( FnReadCookie("myCookie") );
function FnReadCookie(name)
{
        var cookieValue = "";
        var search = name + "=";
        if(document.cookie.length > 0)
        {
                offset = document.cookie.indexOf(search);
                if (offset != -1)
                {
                        offset += search.length;
                        end = document.cookie.indexOf(";", offset);
                        if (end == -1) end = document.cookie.length;
                        cookieValue = unescape(document.cookie.substring(offset, end))
                }
        }
        return cookieValue;
}

function FnShowFormLabelForPostReplyForm(frmControlObj)
{
        frmObj = frmControlObj.form;
        count = frmObj.elements.length;
        frmControlName = frmControlObj.name;

        for (i=0;i<count;i++)
        {
                box = frmObj.elements[i];
                if (box.name == frmControlName)
                {
                        switch(box.name)
                        {
                                case 'UserName' :
                                        if(FnTrimString(box.value) == 'Your Name:')
                                                box.value = '';
                                        break;
                                case 'MessageText' :
                                        if(FnTrimString(box.value) == 'Detail:')
                                                box.value = '';
                                        break;
                        }
                }
                else
                {
                        switch(box.name)
                        {
                                case 'UserName' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Your Name:';
                                        break;
                                case 'MessageText' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Detail:';
                                        break;
                        }
                }
        }
}

function FnValidatePostReplyForm(FormObj)
{
        if(FnTrimString(FormObj.UserName.value)=="Your Name:" || FnTrimString(FormObj.UserName.value)=="")
        {
                alert('Please enter your Name.');
                FormObj.UserName.focus();
                return false;
        }
        else if(FnTrimString(FormObj.MessageText.value) =="Detail:" || FnTrimString(FormObj.MessageText.value) == "")
        {
              alert('Please enter message.');
              FormObj.MessageText.focus();
              return false;
        }
        FnWriteCookie('TopicID', FormObj.TopicID.value, 24);
        return true;
}

function FnGetPostReplyFormHTML(TopicID)
{
        var HostName = document.location.href;

        var PostReplyFormHTML = '<form action="<?php echo $DomainToSubmit; ?>/include/ajax/post-and-return.php" method="post" onsubmit="return FnValidatePostReplyForm(this);" style="display: inline;">';
        PostReplyFormHTML += '<table width="200" border="0" cellpadding="2" cellspacing="0" class="ask" align="center">';
        PostReplyFormHTML += '<tr><td width="10%" valign="top"><input type="text" name="UserName" size="26" maxlength="26"value="Your Name:" onfocus="FnShowFormLabelForPostReplyForm(this);" /></td></tr>';
        PostReplyFormHTML += '<tr><td width="10%" valign="top"><textarea name="MessageText" cols="25" rows="6" onfocus="FnShowFormLabelForPostReplyForm(this);">Detail:</textarea></td></tr>';
        PostReplyFormHTML += '<tr><td valign="top" colspan="2"><input type="hidden" name="TopicID" value="'+TopicID+'" /><input type="hidden" name="ForumID" value="8" /><input type="hidden" name="ReferalURL" value="'+HostName+'"></td></tr>';
        PostReplyFormHTML += '<tr><td valign="top" colspan="2" align="center"><input name="post" type="submit" class="cms_button" value="Post Reply" /></td></tr>';
        PostReplyFormHTML += '</table></form>';

        return PostReplyFormHTML;
}

function showFullDetailOfTopic(topicID)
{
        FnWriteCookie('TopicID', 0, 24);
        var TopicText = TopicInfoObj[topicID]['posts'][0]['posttext'];
        var TopicTitle = TopicInfoObj[topicID]['title'];
        var DivObj = document.getElementById('showTopicInfo');

        var TopicDetailHTML = '';
        var tblclass = '';

        TopicDetailHTML += '<table width="100%" cellspacing="0" class="maintable" align="center">';
        TopicDetailHTML += '<tr><td class="forumtopichead" valign="center" nowrap>'+TopicTitle+'</td></tr>';

        TopicDetailHTML += '<tr><td colspan="3" class="forumtopicdescription">'+TopicInfoObj[topicID]['posts'][0]['posttext']+'</td></tr>';
        TopicDetailHTML += '<tr><td colspan="3" align="right" class="topicstarter">asked by <b>'+TopicInfoObj[topicID]['posts'][0]['username']+'</b></td></tr>';

        for(var i=1;i<TopicInfoObj[topicID]['replies'];i++)
        {
                TopicText = TopicInfoObj[topicID]['posts'][i]['posttext'];

                if(i%2==0) tblclass = 'row1';
                else tblclass = 'row2';

                TopicDetailHTML += '<tr class="posted"><td width="50%" class="poster"><b>'+TopicInfoObj[topicID]['posts'][i]['username']+'</b> says ..</td><td><div class="postdate">Posted: '+TopicInfoObj[topicID]['posts'][i]['postdate']+'</div></td></tr>';

                TopicDetailHTML += '<tr><td colspan="2" class="'+tblclass+'">'+TopicText+'</td></tr>';
        }
        TopicDetailHTML += '<tr><td colspan="2" class="posted" align="center"><b>Post your reply</b></td></tr>';
        TopicDetailHTML += '<tr><td colspan="2" align="center">'+FnGetPostReplyFormHTML(topicID)+'</td></tr>';
        TopicDetailHTML += '</table>';
        DivObj.innerHTML = TopicDetailHTML;
        winList['MiniForumWin'].open();
}

function FnShowFormLabel(frmControlObj)
{
        frmObj = frmControlObj.form;
        count = frmObj.elements.length;
        frmControlName = frmControlObj.name;

        for (i=0;i<count;i++)
        {
                box = frmObj.elements[i];
                if (box.name == frmControlName)
                {
                        switch(box.name)
                        {
                                case 'username' :
                                        if(FnTrimString(box.value) == 'Your Name:')
                                                box.value = '';
                                        break;
                                case 'email' :
                                        if(FnTrimString(box.value) == 'Your Email(OPTIONAL):')
                                                box.value = '';
                                        break;
                                case 'subject' :
                                        if(FnTrimString(box.value) == 'Question:')
                                                box.value = '';
                                        break;
                                case 'message' :
                                        if(FnTrimString(box.value) == 'Messagebody')
                                                box.value = '';
                                        break;
                        }
                }
                else
                {
                        switch(box.name)
                        {
                                case 'username' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Your Name:';
                                        break;
                                case 'email' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Your Email(OPTIONAL):';
                                        break;
                                case 'subject' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Question:';
                                        break;
                                case 'message' :
                                        if(!FnTrimString(box.value))
                                                box.value = 'Messagebody';
                                        break;
                        }
                }
        }
}

function FnTrimString(stringVal)
{
        var str = stringVal;
        return str.replace(/^\s*|\s*$/g,"");
}

function FnValidateEmail(emailVal)
{
        var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
        if(FnTrimString(emailVal)=='')
        {
                return true;
        }
        else if (!regex.test(emailVal))
        {
                return false;
        }
        return true;
}

function FnValidateAskQuestionForm(formObj)
{
        FormObj = formObj;

        if(FnTrimString(FormObj.username.value)=="Your Name:" || FnTrimString(FormObj.username.value)=="")
        {
              alert('Please enter your Name.');
              FormObj.username.focus();
              return false;
        }
        else if(FnTrimString(FormObj.email.value) != "Your Email(OPTIONAL):" && !FnValidateEmail(FnTrimString(FormObj.email.value)))
        {
                alert('Invalid email, Please enter valid email. e.g abc@somesite.com');
                FormObj.email.focus();
                return false;
        }
        else if(FnTrimString(FormObj.subject.value) =="Question:" || FnTrimString(FormObj.subject.value) == "")
        {
              alert('Please enter subject.');
              FormObj.subject.focus();
              return false;
        }
        else if(FnTrimString(FormObj.message.value) == "Messagebody" || FnTrimString(FormObj.message.value) == "")
        {
              alert('Please enter message.');
              FormObj.message.focus();
              return false;
        }
        FnWriteCookie('PostVal', 1, 24);
        return true;
}

function findYPosition( oLink ) {
  if( oLink.offsetParent ) {
    for( var posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
      posX += oLink.offsetLeft;
      posY += oLink.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ oLink.x, oLink.y ];
  }
}

function FnShowInitialTableForMiniForum()
{
        var HostName = document.location.href;
        var InitialTable = '';
        var Posted = FnReadCookie('PostVal');
        var mainDivObj = document.getElementById('MiniForumsSection');
        var mainDivPosition = findYPosition(mainDivObj);
        var mainDivLeft = mainDivObj.offsetLeft;

        var WindowHTMLCode = '<div id="MiniForumWin" class="window" style="left: 219px; top: '+mainDivPosition[1]+'px; z-index: 6; width: 500px; visibility: hidden;">';
        WindowHTMLCode += '<div style="" class="titleBar">';
        WindowHTMLCode += '<span style="" class="titleBarText">Mini Forums</span>';
        WindowHTMLCode += '<img class="titleBarButtons" alt="" src="<?php echo $DomainToSubmit; ?>/styles/dtcc/img/nav-button.gif" usemap="#MiniForumMap">';
        WindowHTMLCode += '<map id="MiniForumMap" name="MiniForumMap">';
        WindowHTMLCode += '<area shape="rect" coords="0,0,15,13" href="" alt="" title="Minimize" onclick="this.parentWindow.minimize();return false;">';
        WindowHTMLCode += '<area shape="rect" coords="16,0,31,13" href="" alt="" title="Restore" onclick="this.parentWindow.restore();return false;">';
        WindowHTMLCode += '<area shape="rect" coords="34,0,49,13" href="" alt="" title="Close" onclick="this.parentWindow.close();return false;">';
        WindowHTMLCode += '</map></div>';
        WindowHTMLCode += '<div id="showTopicInfo" class="clientArea" style="height: 100%;"><br /></div>';
        WindowHTMLCode += '</div>';
        
        var FreeQuestionFormHTMLCode = '<form style="display: inline;" name="AskQuestionFormTool" method="post" action="<?php echo $DomainToSubmit; ?>/syndicate/ask-question.php" onsubmit="return FnValidateAskQuestionForm(this);">';
        FreeQuestionFormHTMLCode += '<table border="0" cellpadding="2" cellspacing="0" style="font-family: verdana; font-size: 12px;">';
        if(Posted==1)
        {
                FreeQuestionFormHTMLCode += '<tr><td valign="top" align="center"><small><b>Your Question has been posted.</b></small></td></tr>';
        }
        FreeQuestionFormHTMLCode += '<tr><td width="10%" valign="top"><input type="text" name="username" size="26" maxlength="26" id="IDAskQuestionName" value="Your Name:" onfocus="FnShowFormLabel(this);" /></td></tr>';
        FreeQuestionFormHTMLCode += '<tr><td width="10%" valign="top"><input type="text" name="email" size="26" maxlength="26" id="IDAskQuestionEmail" value="Your Email(OPTIONAL):" onfocus="FnShowFormLabel(this);" /></td></tr>';
        FreeQuestionFormHTMLCode += '<tr><td width="10%" valign="top"><input type="text" name="subject"  size="26" maxlength="60" id="IDAskQuestionSubject" value="Question:" onfocus="FnShowFormLabel(this);" /></td></tr>';
        FreeQuestionFormHTMLCode += '<tr><td width="10%" valign="top"><textarea name="message" cols="25" rows="6" id="IDAskQuestionMessage" onfocus="FnShowFormLabel(this);">Messagebody</textarea></td></tr>';
        FreeQuestionFormHTMLCode += '<tr><td valign="top" colspan="2"><input type="hidden" name="mode" value="newtopic" /><input type="hidden" name="f" value="8" /><input type="hidden" name="ReferalURL" value="'+HostName+'"></td></tr>';
        FreeQuestionFormHTMLCode += '<tr><td valign="top" colspan="2" align="center"><input name="post" type="submit" value="Submit Question" /></td></tr>';
        FreeQuestionFormHTMLCode += '</table></form>';

        if(document.getElementById('MiniForumsHomeLink')=='http://www.debtconsolidationcare.com/')
        {
                document.getElementById('MiniForumsHomeLink').className = 'syndicate';
                var width = 500;
                var height = 400;
                var left = 200;
                var top = 100;

                InitialTable += '<table border="0" class="tabmaintable">';
                InitialTable += '<tr><td valign="top" nowrap>';
                InitialTable += '<div id="MiniJsMainContainer">';
                InitialTable += '<ul class="tabbernav"><li id="MiniJsNavTab1" class="tabberactive"><a title="Post Question" href="javascript:void(null);" onclick="javascript:FnShowTab(this,1);">Post Question</a></li><li id="MiniJsNavTab2" class="tabberinactive"><a title="Answers" href="javascript:void(null);" onclick="javascript:FnShowTab(this,2);">Answers</a></li></ul>';
                InitialTable += '<div id="MiniJsNavBox1" class="tabbertab">'+FreeQuestionFormHTMLCode+'</div>';
                InitialTable += '<div id="MiniJsNavBox2" class="tabbertabhide"><? echo $RecentTopicRows; ?></div>';
                InitialTable += '</div>';

                InitialTable += '</td></tr></table>';
                InitialTable += '</td></tr></table>'+WindowHTMLCode;

                document.getElementById('MiniForumsSection').innerHTML = InitialTable;
       }
        else
        {
                document.getElementById('MiniForumsSectionMain').innerHTML = 'To enable this Mini Forums, please paste the full code as described at <a href="http://www.debtconsolidationcare.com/syndicate/mini-forums.html">Debt Consolidation Care</a>';
        }
}

function FnShowTab(LinkObj,idValue)
{
        var i=1;
        for(i;i<=2;i++)
        {
                if(i==idValue) continue;
                document.getElementById('MiniJsNavTab'+i).className = 'tabberinactive';
                document.getElementById('MiniJsNavBox'+i).className = 'tabbertabhide';
        }
        document.getElementById('MiniJsNavTab'+idValue).className = 'tabberactive';
        document.getElementById('MiniJsNavBox'+idValue).className = 'tabbertab';
}

function FnInitialiseCSSAndShowInitialTableForMiniForum()
{
    //document.write('<style type="text/css">.tabber{display:none;}</style>');
    FnShowInitialTableForMiniForum();
    var TopicID = FnReadCookie('TopicID');
    var Posted = FnReadCookie('PostVal');
    if(parseInt(TopicID)>0)
    {
        showFullDetailOfTopic(parseInt(TopicID));
    }
    if(Posted==1)
    {
        FnWriteCookie('PostVal', 0, 24);
        document.getElementById('MiniJsMainContainer').tabber.tabShow(1);
    }
}

FnInitialiseCSSAndShowInitialTableForMiniForum()

