﻿function summarize(text, maxLength) {
    var strOutput = "";
    
    if (maxLength){
        maxLength = 200;
    }
    
    if (text.length > maxLength)
    {
       strOutput = text.substring(0, maxLength - 3) + "...";
    }
    else
    {
        strOutput = text;
    }
    return strOutput;
}

    function toggleHide(sourceId, targetId1, targetId2) {
    
        var objSource = null;
        var objTarget1 = null;
        var objTarget2 = null;

        objSource = document.getElementById(sourceId);
        
        if (targetId1 != '') {
            objTarget1 = document.getElementById(targetId1);
        }
        
        objTarget2 = document.getElementById(targetId2);
        
        if (objTarget2.style.display == ""){
            if (targetId1 != '') {
                objTarget1.style.display = "none";
            }
            objTarget2.style.display = "none";
            objSource.innerHTML = "Expand full review";
        } else {    
            if (targetId1 != '') {
                objTarget1.style.display = "";
            }
            objTarget2.style.display = "";
            objSource.innerHTML = "Collapse full review";
        }
        
    }
    
    function showHide(sourceId, targetId) {
    
        var objSource = null;
        var objTarget = null;

        objSource = document.getElementById(sourceId);
        
        if (targetId != '') {
            objTarget = document.getElementById(targetId);
        }
        
        if (objTarget.style.display == ""){
            
            objTarget.style.display = "none";
            objSource.innerHTML = "Expand full review";
        }
         else {    
            if (objTarget.style.display = "none"){
            objTarget.style.display = "";
            objSource.innerHTML = "Collapse full review";
            }
         }           
    }
function feedbackValidate(chkYesID, chkNoID, lRatingValueID, chkErrID, rankingErrorID)
{
    var chkYes = document.getElementById(chkYesID);
    var chkNo = document.getElementById(chkNoID);
    var chkErr = document.getElementById(chkErrID);    
    var ratingValue = document.getElementById(lRatingValueID);
    var rankingError = document.getElementById(rankingErrorID);

    if((chkYes.checked != 1) && (chkNo.checked != 1)){
        chkErr.innerHTML = "* <strong>Helpful</strong> vote is required";
        return false;
    }
    else if(ratingValue.innerHTML == ""){
        rankingError.innerHTML = "* <strong>Scoring</strong> is required";
        return false;
    }    
    else{
        chkErr.innerHTML = "";
        return true;
    }
}

//-------- VALIDATE FEEDBACK / EVALUATION -----
function fbValidateActiveTab(chkYesID, chkNoID, lRatingValueID, tabID, chkErrID, rankingErrorID)
{
    var chkYes = document.getElementById(chkYesID);
    var chkNo = document.getElementById(chkNoID);
    var chkErr = document.getElementById(chkErrID);
    var ratingValue = document.getElementById(lRatingValueID);
    var rankingError = document.getElementById(rankingErrorID);
    var ajxRtng =  $find("ajaxRatingControl");

    if((chkYes.checked != 1) && (chkNo.checked != 1)){
        chkErr.innerHTML = "* <strong>Helpful</strong> vote is required";
        setActiveTab(tabID);
        return false;
    }
    else if(ajxRtng._currentRating == 0){
        rankingError.innerHTML = "* <strong>Scoring </strong> is required";
        setActiveTab(tabID);
        return false;
    }    
    else{
        chkErr.innerHTML = "";
        return true;
    }
}

function setActiveTab(tabID)
{
    var ctlTab = $find(tabID);
    if(ctlTab.get_activeTabIndex() != 1)
    {
        ctlTab.set_activeTabIndex(1);
    }
}

function validateFeedback(chkYesID, chkNoID, chkErrID)
{
    var chkYes = document.getElementById(chkYesID);
    var chkNo = document.getElementById(chkNoID);
    var chkErr = document.getElementById(chkErrID);
    if((chkYes.checked != 1) && (chkNo.checked != 1)){
      chkErr.innerHTML = "*<strong>Helpful</strong> vote is required";
      return false;
    }
    else{
    chkErr.innerHTML = "";
    return true;
    }
}
//---Show the loading message for postbacks.
function showLoadingDiv(loadingDivID)
{
    var oLoadingDiv = document.getElementById(loadingDivID);
    if(oLoadingDiv && oLoadingDiv.style.display== "none")
    {
        oLoadingDiv.style.display = "";
    }
}

///****** Display default text while writing reviews ******

function clearDefaultText(textBoxID)
{
    var defTitle ='Tip: Viewers initially see the title of your review';
    var defBody = 'Tip: Write the bulk of your opinions here';
    var defPros = 'Tip: Summarize what you liked';
    var defCons = 'Tip: Summarize what you disliked';
    var defProd = 'Tip: Specify correct model #, and description of your product';
 
    var currentTB = document.getElementById(textBoxID);    
    currentTB.className = "regularText";
    
    if(currentTB.value == defTitle || currentTB.value == defBody || currentTB.value == defPros || currentTB.value == defCons ||
       currentTB.value == defProd || isEmpty(currentTB.value))
    {
        currentTB.value = "";
    }
}

function displayDefaultText(textBoxID)
{
    var currentTB = document.getElementById(textBoxID);
    if(currentTB.value == "" || isEmpty(currentTB.value))
    {
        currentTB.className = "defaultText";
        currentTB.value = getDefaultText(currentTB.name);
    }
}

function getDefaultText(textBoxName)
{

    var defTitle ='Tip: Viewers initially see the title of your review';
    var defBody = 'Tip: Write the bulk of your opinions here';
    var defPros = 'Tip: Summarize what you liked';
    var defCons = 'Tip: Summarize what you disliked';
    var defProd = 'Tip: Specify correct model #, and description of your product';
    
    if(textBoxName.match("tbTitle") == "tbTitle")
    {
        return defTitle;
    }
    else if(textBoxName.match("tbBody") == "tbBody" )
    {
        return defBody;
    }
    else if(textBoxName.match("tbPros") == "tbPros" )
    {
        return defPros;
    }
    else if(textBoxName.match("tbCons") == "tbCons" )
    {
        return defCons;
    }
    else if(textBoxName.match("tbProdDesc") == "tbProdDesc")
    {
        return defProd;
    }
    else 
    {
        return '';
    }
}

///********* Display default text while writing GUIDES ******

function clearDefaultTextGuides(textBoxID)
{
    var defTitle ='Tip: Viewers initially see the title of your guide';
    var defBody = 'Tip: What has been your best and worse buying experiences';
    var defPros = 'Tip: Summarize the best features, brands or models for your target audience';
    var defCons = 'Tip: Recommend what to avoid for your target audience';
 
    var currentTB = document.getElementById(textBoxID);  
    var currentClasses = currentTB.className.split(" ");
        if(currentClasses.length > 1){//-- Since the textbox has two classes defined for styling, we will only change the secondary class name.
            currentClasses = currentClasses[0];
        }  
    currentTB.className = currentClasses+ " regularText";
    
    if(currentTB.value == defTitle || currentTB.value == defBody || currentTB.value == defPros || currentTB.value == defCons ||
       isEmpty(currentTB.value))
    {
        currentTB.value = "";
    }
}

function displayDefaultTextGuides(textBoxID)
{
    var currentTB = document.getElementById(textBoxID);
    if(currentTB.value == "" || isEmpty(currentTB.value))
    {
        var currentClasses = currentTB.className.split(" ");
        if(currentClasses.length > 1){ //-- Since the textbox has two classes defined for styling, we will only change the secondary class name.
            currentClasses = currentClasses[0];
        }
        currentTB.className = currentClasses + " defaultText";
        currentTB.value = getDefaultTextGuides(currentTB.name);
    }
}

function getDefaultTextGuides(textBoxName)
{

    var defTitle ='Tip: Viewers initially see the title of your guide';
    var defBody = 'Tip: What has been your best and worse buying experiences';
    var defPros = 'Tip: Summarize the best features, brands or models for your target audience';
    var defCons = 'Tip: Recommend what to avoid for your target audience';
    
    if(textBoxName.match("tbTitle") == "tbTitle")
    {
        return defTitle;
    }
    else if(textBoxName.match("tbBody") == "tbBody" )
    {
        return defBody;
    }
    else if(textBoxName.match("tbPros") == "tbPros" )
    {
        return defPros;
    }
    else if(textBoxName.match("tbCons") == "tbCons" )
    {
        return defCons;
    }
    else 
    {
        return '';
    }
}

//****************** Product search control functions ********************
function clearText(textbox, label)
{
    oSearchTB = document.getElementById(textbox);
    oStatlbl =  document.getElementById(label);
    if(oSearchTB.value == "Enter Keyword" || oSearchTB.value == "Product Search" || isEmpty(oSearchTB.value)) {
        oSearchTB.value="";
        oSearchTB.className = "normalText";
    }
    if(oStatlbl.innerHTML != "") {oStatlbl.innerHTML = "";}
}

function showDefaultText(textbox)
{
    oSearchTB = document.getElementById(textbox);
    if(oSearchTB.value == "" || isEmpty(oSearchTB.value)) {
    oSearchTB.value = "Product Search";
    oSearchTB.className = "defaultText";
    }
}

//****************** End: Product search control functions ********************

//****** VALIDATE BLANK STRING ******

function isEmpty(str)
{
    var strRE = /^[\s]*$/gi;
    return strRE.test(str);
}

//****** END : BLANK STRING VALIDATION ******

/*********************************
* JFW video player
/*********************************/

function createPlayer(fileName, fileUrl, thumbName, playerLoc, thePlaceholder, width, height, autoStart){

        var plyID = "player_"+fileName;
        var fileLoc = fileUrl+fileName;
        var skinLoc = playerLoc + "skins/Snel.swf";
        var logoLoc = playerLoc + "logo.gif";
        playerLoc += "player.swf";        
                
        deletePlayer('wrapper', thePlaceholder, plyID);
        
        var flashvars = {
	        file:fileLoc,
	        image:thumbName,
	        autostart:true,
	        skin: skinLoc,
	        logo : logoLoc
	        }

        var params = {
	        allowfullscreen:"true",
	        allowscriptaccess:"always",
	        wmode:"opaque"
	        
	        }
        	
        var attributes = {
	        id:plyID,
	        name:plyID
	        }

        swfobject.embedSWF(playerLoc, thePlaceholder, width, height, "9", false, flashvars, params, attributes);
}


function deletePlayer(theWrapper, thePlaceholder, thePlayerID)
{
	swfobject.removeSWF(thePlayerID);
	var tmp = document.getElementById(theWrapper);
	if(tmp) { tmp.innerHTML = "<div id="+thePlaceholder+" runat='server'></div>";}
}