﻿function changeVoice(v) {

    if(v == 'M') {
        txtVoice.SetText('M');
        document.getElementById('ctl00_cbpanMain_rpanMain_ContentPlaceHolder1_imgM').src = 'img/usermS.png';
        document.getElementById('ctl00_cbpanMain_rpanMain_ContentPlaceHolder1_imgF').src = 'img/userf.png';        
    }
    if(v == 'F') {
        txtVoice.SetText('F');
        document.getElementById('ctl00_cbpanMain_rpanMain_ContentPlaceHolder1_imgF').src = 'img/userfS.png';
        document.getElementById('ctl00_cbpanMain_rpanMain_ContentPlaceHolder1_imgM').src = 'img/userm.png';
    }
}
function ShowInfoWindow() {
    pcInfo.Show();
}
function ShowCreateAccountWindow() {
    pcCreateAccount.Show();
    tbUsername.Focus();
}
function ShowTOSWindow() {
    //try {    document.getElementById("embedPlayerDiv").style.visibility='hidden';    }     catch(err) {}
    cbpanTOS.PerformCallback("1");
    
}
function ShowAboutWindow() {
    pcAbout.Show();
}
function ShowFAQWindow() {
    cbpanFAQ.PerformCallback("1");
}
function ShowContactWindow() {
    pcContact.Show();
}
function ShowMessage() {
    pcMsg.Show();
}
function closeReportWindow(s,e) {
    pcReport.Hide();
}
function checkTextValid(s,e){

    if((txtMessage.GetText() != '') && (txtWhere.GetText() != '')) {
        butSpeak.SetEnabled(true);
    } else {
        butSpeak.SetEnabled(false);
    }
    if((txtMessage.GetText() != '')) {
        butPreview.SetEnabled(true);
    } else {
        butPreview.SetEnabled(false);
    }
}
function checkTextValidFB(s,e){

    if((txtMessage.GetText() != '')) {
        butSpeak.SetEnabled(true);
    } else {
        butSpeak.SetEnabled(false);
    }
    if((txtMessage.GetText() != '')) {
        butPreview.SetEnabled(true);
    } else {
        butPreview.SetEnabled(false);
    }
}
function checkReportTextValid(s,e){

    if((txtReportMessage.GetText() != '')) {
        butReport.SetEnabled(true);
    } else {
        butReport.SetEnabled(false);
    }
}

function checkFBList() {
//alert(cmbFriend.GetSelectedIndex());
	var xcnt;
	xcnt = cmbFriend.GetSelectedIndex();
/*
	xcnt = 0;
	
	var itemCount = listF.GetItemCount();
	alert(itemCount);
	for(var i = 0; i < itemCount; ++i)
	{
	  
		xcnt = xcnt + 1;
	}

//alert(list.options[i].value);
alert(xcnt);
alert(itemCount);*/

if (xcnt != -1)
{
	return true;
} else {
	return false;
}
}

function fbLoadWhere() {
	var xcnt;
	var whereid;
	var whereid = "";
	var xcnt;
	xcnt = cmbFriend.GetSelectedIndex();
	
	
   
/*    var itemCount = listF.GetItemCount();
	for(var i = 0; i < itemCount; ++i)
	{
	    xcnt = xcnt + 1;
		whereid = whereid + listF.GetValue(i) + ',';
	}
*/
whereid = cmbFriend.GetValue(cmbFriend.GetSelectedIndex());
	
    if (xcnt != -1)
    {
    txtWhere.SetText(whereid);
    return whereid;
    } else {
    
    whereid = '';
    txtWhere.SetText(whereid);
     return whereid;
    }
}
function checkWhereValid(s,e) {
    if((txtMessage.GetText() != '') && (txtWhere.GetText() != '')) {
        butSpeak.SetEnabled(true);
    } else {
        butSpeak.SetEnabled(false);
    }
}

function checkWhereValidFB(s,e) {
    if((txtMessage.GetText() != '')) {
        butSpeak.SetEnabled(true);
    } else {
        butSpeak.SetEnabled(false);
    }
}
function parseCB(res)
{
         var textVal = "text1,text2,text3,text4";
         var texts = textVal.split(",");
         alert(texts.length);  
}


function checkWhere(s, e) {
    //initial cb
    var txtw = txtWhere.GetText();
    cbChecks.PerformCallback("cmd=chkwhere;who=" + txtw);
}
function checkWhereFB(s, e) {
    //initial cb
    var wherefb;
     wherefb = fbLoadWhere();
    //alert(wherefb);
    var txtw = txtWhere.GetText();
    cbChecks.PerformCallback("cmd=chkwhere;who=" + wherefb);
}
function checkWhereE(s, e, res) {
    //end cb and parse result
    //alert(res);
     var restxt = res;
     var restxtS = restxt.split(";");
     //should always return 8 results
     //0;0;0;0;0;0;0;0

    whoMsgCount.SetText(restxtS[0]); 
    
     
    //alert(res);
    
    //now that the callback ended
    //lets move onto checking other stuff
    checkCore(s, e);
}
function checkWhereEFB(s, e, res) {
    //end cb and parse result
    //alert(res);
     var restxt = res;
     var restxtS = restxt.split(";");
     //should always return 8 results
     //0;0;0;0;0;0;0;0

    whoMsgCount.SetText(restxtS[0]); 
    
     
    //alert(res);
    
    //now that the callback ended
    //lets move onto checking other stuff
    checkCoreFB(s, e);
}

function checkSubmit(s, e) {
//first perform callback for whereto.
    checkWhere(s, e);
}
function checkSubmitFB(s, e) {
//first perform callback for whereto.
    checkWhereFB(s, e);
}
function checkCore(s, e) {

  if(canSubmit() == true){
        pcErr.Hide();
        pcMsg.Show();
    } else {
        pcErr.Show()
        
    }
}
function checkCoreFB(s, e) {

  if(canSubmitFB() == true){
        pcErr.Hide();
        pcMsgFB.Show();
    } else {
        pcErr.Show()
        
    }
}
function canSubmit() {
    var txtw = txtWhere.GetText();
    var msgCnt = userMsgCount.GetText()
    var whoCnt = whoMsgCount.GetText()
    msgCnt = parseInt(msgCnt);
    whoCnt = parseInt(whoCnt);
    
    if(checkEmail(txtw) == false) {
        lblErrorMsg.SetText("Please provide a valid e-mail address");
        return false;
    } else if(parseInt(msgCnt)>= 5) {
        lblErrorMsg.SetText("You have reached the daily limit for sending messages.  Please try again later.");
        return false; 
    } else if(parseInt(msgCnt)== -1) {
        lblErrorMsg.SetText("You have been blocked from using this service due to abuse. Please contact support.");
        return false; 
    } else if(parseInt(whoCnt) == -1) {
        lblErrorMsg.SetText("The person you are trying to message has opted out of recieving synthesized messages.");
        return false;  
    } else if(parseInt(whoCnt)>= 5) {
        lblErrorMsg.SetText("The person you are trying to message has reached his or her daily limit for recieving messages.  Please try again later.");
        return false;        
    } else {
        return true;
    }
}

function canSubmitFB() {
    var txtw = txtWhere.GetText();
    var msgCnt = userMsgCount.GetText()
    var whoCnt = whoMsgCount.GetText()
    msgCnt = parseInt(msgCnt);
    whoCnt = parseInt(whoCnt);
    

    if(parseInt(msgCnt)>= 5) {
        lblErrorMsg.SetText("You have reached the daily limit for sending messages.  Please try again later.");
        return false; 
    
	} else if(checkFBList()== false) {
        lblErrorMsg.SetText("You must select atleast one friend to message.");
        return false; 
	} else if(parseInt(msgCnt)== -1) {
        lblErrorMsg.SetText("You have been blocked from using this service due to abuse. Please contact support.");
        return false; 
    } else if(parseInt(whoCnt) == -1) {
        lblErrorMsg.SetText("The person you are trying to message has opted out of recieving synthesized messages.");
        return false;  
    } else if(parseInt(whoCnt)>= 5) {
        lblErrorMsg.SetText("The person you are trying to message has reached his or her daily limit for recieving messages.  Please try again later.");
        return false;        
    } else {
        return true;
    }
}

function checkEmail(eml) {
var email = eml;
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email)) {
        //alert("Please provide a valid email address");
        return false;
    }
}
function processSpeak(s,e){
    pcMsg.Hide(); 
    cbpanMain.PerformCallback('cmd=speak;voice=' + txtVoice.GetText() + ';msg=' + txtMessage.GetText()); 
}
function processSpeakFB(s,e){
    pcMsgFB.Hide(); 
    cbpanMain.PerformCallback('cmd=speakfb;voice=' + txtVoice.GetText() + ';msg=' + txtMessage.GetText()); 
}
function setMaxLength(textAreaElement, length) {
                textAreaElement.maxlength = length;
                ASPxClientUtils.AttachEventToElement(textAreaElement, "keyup", createEventHandler("onKeyUpOrChange"));
                ASPxClientUtils.AttachEventToElement(textAreaElement, "change", createEventHandler("onKeyUpOrChange"));
            }
function onKeyUpOrChange(evt) {
    processTextAreaText(ASPxClientUtils.GetEventSource(evt));
}
function processTextAreaText(textAreaElement) {
    var maxLength = textAreaElement.maxlength;
    var text = textAreaElement.value;
    var isAcceptable = (maxLength == 0) || (text.length <= maxLength);
    if (maxLength != 0 && text.length > maxLength) 
        textAreaElement.value = text.substr(0, maxLength);
}
function createEventHandler(funcName) {
    return new Function("event", funcName + "(event);");
}
function resetMessage() {
txtWhere.SetText("");
txtMessage.SetText("");
butSpeak.SetEnabled(false);
butPreview.SetEnabled(false);
pcSuccess.Hide(); 
}
function OnGridSelectionChanged() {
    var counter = document.getElementById("selCount");
    if(counter != null) setInnerText(counter, grid.GetSelectedRowCount().toString());
    grid.GetSelectedFieldValues('UID', OnGridSelectionComplete);
}
function OnGridSelectionComplete(values) {
    selList.BeginUpdate();
    selList.ClearItems();
    for(var i = 0; i < values.length; i ++) {
        selList.AddItem(values[i]);
    }
    selList.EndUpdate();
}
function setInnerText(element, text) { 
    if(typeof element.textContent != 'undefined') { 
        element.textContent = text; 
    } 
    else if (typeof element.innerText != 'undefined') { 
        element.innerText = text; 
    } 
    else if (typeof element.removeChild != 'undefined') { 
        while (element.hasChildNodes()) { 
            element.removeChild(element.lastChild); 
        } 
        element.appendChild(document.createTextNode(text)); 
    } 
}

function addFriend(s,e) {
if(cmbFriend.GetValue() != null) {
var dval;
dval = cmbFriend.GetValue();

listF.AddItem(dval);

listFX.AddItem(cmbFriend.GetText() + '&nbsp;<img src="img/delete16.png" valign="middle" style="cursor:pointer;" onClick="removeItem(\'' + dval + '\');" alt="Remove This Friend (do not message)">');
//alert(cmbFriend.GetValue());
}
}
function removeItem(uid){
    listF.RemoveItem(listFX.GetSelectedIndex());
    listFX.RemoveItem(listFX.GetSelectedIndex());
}