﻿/* Global variables */
var default_field_value = 'Please enter a value';
var default_field_value_email = 'Please enter a valid email address';

function toggleImage(objID) {
    var elem = document.getElementById(objID);

    if (elem.src.search('plus.jpg') > 0)
      elem.src = "Images/minus.jpg";
    else
        elem.src = "Images/plus.jpg";
        
}

function init() {
    /* Set the selected menu item */
    setSelectedMenuItem();           

    setExecuteOnInit();
}

function ReadQueryString(keyname) {
    var qsParm = new Array();
    var query = window.location.search.substring(1);
    var parms = query.split('&');
    for (var i = 0; i < parms.length; i++) {
        var pos = parms[i].indexOf('=');
        if (pos > 0) {
            var key = parms[i].substring(0, pos);
            var val = parms[i].substring(pos + 1);
            //qsParm[key] = val;
            if (keyname != null) {
                if (key.toUpperCase() == keyname) {                   
                    return val;
                }
            }
        }
    }
    return qsParm;
}

function getSongName() {
    return ReadQueryString('SONGNAME');
}
function getVideoName() {
    return ReadQueryString('VIDEONAME');
}
function openAudioPlayer(songname) {
    //half the screen width minus half the new window width (plus 5 pixel borders).
    windowLeft = (window.screen.width / 2) - (75 + 10);
    //half the screen height minus half the new window height (plus title and status bars).
    windowTop = (window.screen.height / 2) - (100 + 50);
    var param = 'width=400,height=150,left=' + windowLeft + ',top=' + windowTop + ',menubar=no,scrollbars=no,resizable=no,location=no,status=no,titlebar=no';
    var newWindow = window.open('playSong.aspx?songname=' + songname, 'PlayAudio', param);
    newWindow.focus();
}

function openVideoPlayer(videoname) {
    windowLeft = (window.screen.width / 2) - (75 + 10);
    //half the screen height minus half the new window height (plus title and status bars).
    windowTop = (window.screen.height / 2) - (100 + 50);
    var param = 'width=800,height=600,left=' + windowLeft + ',top=' + windowTop + ',menubar=no,scrollbars=no,resizable=no,location=no,status=no,titlebar=no';
    var newWindow = window.open('playVideo.aspx?videoname=' + videoname, 'PlayAudio', param);
    newWindow.focus();
}

function PlaySong() {    
    var songName = getSongName();
    document.getElementById("musicplayer").innerHTML = '<object id="mediaPlayer" width="270" height="45" '
    + 'classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" '
    + 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
    + 'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
    + '<param name="fileName" value="' + 'Audio/' + songName + '">'
    + '<param name="animationatStart" value="true">'
    + '<param name="transparentatStart" value="true">'
    + '<param name="autoStart" value="true">'
    + '<param name="showControls" value="false">'
    + '<param name="loop" value="true">'
    + '<embed type="application/x-mplayer2" '
    + 'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
    + 'bgcolor="101010" showcontrols="false" width="270" height="45" '
    + 'src="' + 'Audio/' + songName + '" autostart="true" designtimesp="5311" loop="true">'
    + '</embed>'
    + '</object>'
}


function PlayVideo() {
    var songName = getVideoName();
    document.getElementById("musicplayer").innerHTML = '<embed type="application/x-mplayer2 ' +
     'pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" ' +
     'name="mediaplayer1" ShowStatusBar="true" EnableContextMenu="true"  autostart="true" ' +
     'loop="true" width="800" height="600" ' +
     'src="Video/1.wmv" uimode=full /> ';
}


function setExecuteOnInit()
{

    var filename = location.href.substring(location.href.lastIndexOf('/') + 1);
    switch (filename.toUpperCase().substr(0, filename.toUpperCase().indexOf(".ASPX"))) 
    {   
       case "AARTI":
         window.open("http://www.gururavidasssabha.org/playSong.aspx?songname=Aarti_Guru_Ravidass.mp3");
         break;
    }
}

/* Changing the menu item to become the selected menu item */
function setSelectedMenuItem() {

    var filename = location.href.substring(location.href.lastIndexOf('/') + 1);
    var menuitemname = '';
    switch (filename.toUpperCase().substr(0, filename.toUpperCase().indexOf(".ASPX"))) 
    {   
       case "HOME":
       case "DEFAULT":
            menuitemname = 'menuitem_home';
            break;
       case "BIOGRAPHY":
       case "BANI":
       case "BANIINENGLISH":
       case "AARTI":
       case "LIFE":
       case "SAAKHI":
       case "SAAKHI-A":
       case "SAAKHI-B":
       case "ARTICLES":
           menuitemname = 'menuitem_gururavidassji';           
           break;
       case "ELECTIONS2011":
       case "UPCOMINGEVENTS":
       case "PASTEVENTS":
       case "CURRENTEVENTS":
       case "EVENTS":
           menuitemname = 'menuitem_events';
           break;
       case "PICTURES":
       case "SGRS_AMBEDKAR_BDAY2010":
       case "SGRS_DISHWASHER_OPEN2010":
       case "SGRS_GURPURAB2010":
       case "SGRS_NAGARKIRTAN2010":
       case "SGRS_VANCOUVER2010":
       case "SGRS_VICTORIA_LEGISLATIVE2010":
       case "SGRS_NAGARKIRTAN_2011":
       case "AUDIOS":
       case "VIDEOS":
           menuitemname = 'menuitem_gallery';
           break;
       case "EXECUTIVES":
       case "TRUSTEE":
       case "BOARD":
           menuitemname = 'menuitem_presentcommittee';
           break;
       case "DOWNLOADNEWSLETTER":
       case "WORLDWIDE":
       case "PERSONALITIES":
       case "USEFULLINKS":
       case "AMBEDKARJI":
       case "KANSHIRAMJI":
       case "CONTACTUS":
       case "FEEDBACK":
       case "DISCLAIMER":
           menuitemname = 'menuitem_others';
           break;       
       default:
           menuitemname = 'menuitem_home';
           break;
    }

    document.getElementById(menuitemname).style.color = '#052D7B';
    document.getElementById(menuitemname).style.fontWeight = 'bold';
    document.getElementById(menuitemname).style.backgroundColor = '#BED5FF';
}

function hideSaveStatusDiv(objName) {
    document.getElementById(objName).style.display = 'none';
}

function verifyEmailContents(objName) {
    var obj;
    var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;

    obj = document.getElementById(objName);
    if (obj.value.search(emailRegEx) == -1) {
        return false;
    }
    else {
        return true;
    }
}

function IsFieldEmpty(objName) 
{
    var obj = document.getElementById(objName);
    if ((obj.value.length == 0) || 
        (obj.value.toUpperCase() == default_field_value.toUpperCase()) ||
        (obj.value.toUpperCase() == default_field_value_email.toUpperCase()))
    {
        return true;
    }
    return false;
}


function checkFeedBackData() {
    var status = true;
    if (IsFieldEmpty('txtName')) {
        document.getElementById('txtName').value = default_field_value;
        document.getElementById('txtName').focus();
        document.getElementById('txtName').select();
        status = false;
    }
    if ((status == true) && (!verifyEmailContents('txtEmail'))) {
        document.getElementById('txtEmail').value = default_field_value_email;
        document.getElementById('txtEmail').focus();
        document.getElementById('txtEmail').select();
        status = false;
    }
    if ((status == true) && (IsFieldEmpty('txtSubject'))) {
        document.getElementById('txtSubject').value = default_field_value;
        document.getElementById('txtSubject').focus();
        document.getElementById('txtSubject').select();
        status = false;
    }
    if ((status == true) && (IsFieldEmpty('txtMsg'))) {
        document.getElementById('txtMsg').value = default_field_value;
        document.getElementById('txtMsg').focus();
        document.getElementById('txtMsg').select();
        status = false;
    }
    if (status == true) {
        /* Show loading state and disable form */
        document.getElementById("divEmailLoading").style.visibility = 'hidden';
        setEnableDisable('DISABLE_FORM');
        
        /* End Show loading state */
        SendEmailToUser(document.getElementById('txtName').value, document.getElementById('txtEmail').value, document.getElementById('txtSubject').value, document.getElementById('txtMsg').value);
    }

  return status;
}


function SendEmailToUser(SenderName, FromEmailID, Subject, Msg) {
    /* 4 parameters to send email */
    /* Add list of Colon (;) delimited CC people in the CC variable. If empty it doesnt CC anyone */    
    PageMethods.SendEmailToUser(SenderName, FromEmailID, Subject, Msg, OnSendFeedbackSucceeded, OnSendFeedbackFailed);
}

function OnSendFeedbackSucceeded(result, userContext, methodName) {
    /* Hide the loading image and show the email status */
    setEnableDisable('STOP_LOADING_SPLASH');
    if (result == true) {
        document.getElementById('divSendEmailStatus').style.display = 'block';
        document.getElementById('divSendEmailStatus').setAttribute("class", "psSuccessMessage");
        $('#divSendEmailStatus').addClass('psSuccessMessage');
        document.getElementById('divSendEmailStatus').style.visibility = 'visible';
        document.getElementById("divEmailLoading").style.visibility = 'hidden';
        document.getElementById('divSendEmailStatus').innerHTML = "Your feedback has been received successfully.";        
        setTimeout("setEnableDisable('SUCCESS')", 4000);        
        return true;
    }
    else {
        document.getElementById('divSendEmailStatus').style.display = 'block';
        document.getElementById('divSendEmailStatus').setAttribute("class", "psErrorMessage");
        $('#divSendEmailStatus').addClass('psErrorMessage');
        document.getElementById('divSendEmailStatus').style.visibility = 'visible';
        document.getElementById("divEmailLoading").style.visibility = 'hidden';
        document.getElementById('divSendEmailStatus').innerHTML = "We are facing some technical difficulties. Please try again later.";       
        setTimeout("setEnableDisable('FAILURE')", 4000);
        return false;
    }    
}

function OnSendFeedbackFailed(error, userContext, methodName) {
    if (error !== null) {
        document.getElementById('divSendEmailStatus').innerHTML = "We are facing some technical difficulties. Please try again later.";
        document.getElementById('divSendEmailStatus').style.visibility = 'visible';
        document.getElementById('divSendEmailStatus').setAttribute("class","psErrorMessage");
        $('#divSendEmailStatus').addClass('psErrorMessage');
        document.getElementById("divEmailLoading").style.visibility = 'hidden';        
        setTimeout("setEnableDisable('FAILURE')", 4000);
        //alert("An error occurred: " + error.get_message());
      return false;
  }
  return true;
}

function setEnableDisable(state) {
    
    /* Success */
    if (state == 'SUCCESS') {
        
        //document.getElementById("divSendEmailStatus").style.visibility = 'hidden';
        animatedcollapse.toggle('divSendEmailStatus');
        
        /* Show the button and enable form controls */
        setEnableDisable('ENABLE_FORM'); 
    }
    /* Failure */
    if (state == 'FAILURE') {    
        
        //document.getElementById("divSendEmailStatus").style.visibility = 'hidden';
        animatedcollapse.toggle('divSendEmailStatus');
        
         /* Show the button and enable form controls */
        setEnableDisable('ENABLE_FORM'); 
    }
    /* Stop Showing Loading Splash*/
    if (state == 'STOP_LOADING_SPLASH') {
        document.getElementById("divEmailLoading").style.visibility = 'hidden';
        //document.getElementById("divSendButtonState").style.visibility = 'visible';
    }
    if (state == 'ENABLE_FORM') {
        document.getElementById("divSendButtonState").disabled = false;
        document.getElementById('txtEmail').disabled = false;
        document.getElementById('txtEmail').style.color = "#052D7B";
        document.getElementById('txtName').disabled = false;
        document.getElementById('txtName').style.color = "#052D7B";
        document.getElementById('txtSubject').disabled = false;
        document.getElementById('txtSubject').style.color = "#052D7B";
        document.getElementById('txtMsg').disabled = false;
        document.getElementById('txtMsg').style.color = "#052D7B";
        document.getElementById('CmdSend').style.visibility = 'visible';
    }
    if (state == 'DISABLE_FORM') {
        document.getElementById('txtEmail').disabled = true;
        document.getElementById('txtEmail').style.color = "#CCCCCC";
        document.getElementById('txtName').disabled = true;
        document.getElementById('txtName').style.color= "#CCCCCC";
        document.getElementById('txtSubject').disabled = true;
        document.getElementById('txtSubject').style.color = "#CCCCCC";
        document.getElementById('txtMsg').disabled = true;
        document.getElementById('txtMsg').style.color = "#CCCCCC";
        document.getElementById('divSendButtonState').disabled = true;
        document.getElementById('divEmailLoading').style.visibility = 'visible';
        document.getElementById('CmdSend').style.visibility = 'hidden';
    }
    if (state == 'STOP_LOADING_NEWSLETTER_SUBSCRIPTION') {
        document.getElementById("divNewsletterSubscriptionLoading").style.visibility = 'hidden'; 
        document.getElementById('divNewsletterSubscriptionStatus').style.visibility = 'visible';        
    }

    if (state == 'HIDE_NEWSLETTER_SUBSCRIPTION') {
        document.getElementById("divNewsletterSubscriptionLoading").style.visibility = 'visible';
        document.getElementById('divNewsletterSubscriptionStatus').style.visibility = 'hidden';

        //Disable the Controls
        document.getElementById('txtName').disabled = true;
        document.getElementById('txtName').style.color = "#CCCCCC";
        document.getElementById('txtEmail').disabled = true;
        document.getElementById('txtEmail').style.color = "#CCCCCC";
        document.getElementById('CmdSend').disabled = true;
        document.getElementById('CmdSend').style.visibility = 'hidden';
    }
    if (state == 'SHOW_NEWSLETTER_SUBSCRIPTION') {
        document.getElementById('divNewsletterSubscriptionStatus').style.visibility = 'hidden';
        document.getElementById("divNewsletterSubscriptionLoading").style.visibility = 'hidden';
        document.getElementById('divSaveNewsletterSubscription').style.visibility = 'visible';
        
        //Enable the Controls
        document.getElementById('txtName').disabled = false;
        document.getElementById('txtName').style.color = "#052D7B";
        document.getElementById('txtEmail').disabled = false;
        document.getElementById('txtEmail').style.color = "#052D7B";
        document.getElementById('CmdSend').disabled = false;
        document.getElementById('CmdSend').style.visibility = 'visible';
    }    
}

function subscribeForNewsletter() {
    var status = true;
    if (IsFieldEmpty('txtName')) {
        document.getElementById('txtName').value = default_field_value;
        document.getElementById('txtName').focus();
        document.getElementById('txtName').select();
        status = false;
    }
    if ((status == true) && (!verifyEmailContents('txtEmail'))) {
        document.getElementById('txtEmail').value = default_field_value_email;
        document.getElementById('txtEmail').focus();
        status = false;
    }
    if (status == true) {
        setEnableDisable('HIDE_NEWSLETTER_SUBSCRIPTION');
        /* Save Newsletter subscription with the username and email address */        
        PageMethods.SaveNewsletterSubscription(document.getElementById('txtName').value
                                             , document.getElementById('txtEmail').value                                             
                                             , OnSaveNewsletterSubscriptionSucceeded
                                             , OnSaveNewsletterSubscriptionFailed);

    }
    return status;
}

function OnSaveNewsletterSubscriptionSucceeded(result, userContext, methodName) {
    var statusmessage = null;
    switch (result) {
        case 0:
            statusmessage = 'You have successfully subscribed for the newsletter. Thanks for visiting us.';            
            break;
        case 1:
            statusmessage = 'We are facing some technical difficulties. Please try again later. Thanks for visiting us.';
            break;
        case 2:
            statusmessage = 'This email address already exist with us. Thanks for visiting us.';
            break;
        default:
            statusmessage = 'We are facing some technical difficulties. Please try again later. Thanks for visiting us.';
            break;
    }

    setEnableDisable('STOP_LOADING_NEWSLETTER_SUBSCRIPTION');
    document.getElementById('newsletterSubscriptionStatus').innerHTML = statusmessage;            
    setTimeout("setEnableDisable('SHOW_NEWSLETTER_SUBSCRIPTION')", 4000);
    return true;
}

function OnSaveNewsletterSubscriptionFailed(error, userContext, methodName) {
    if (error !== null) {
        setEnableDisable('STOP_LOADING_NEWSLETTER_SUBSCRIPTION');
        document.getElementById('newsletterSubscriptionStatus').innerHTML = 'We are facing some technical difficulties. Please try again later. Thanks for visiting us.';
        setTimeout("setEnableDisable('SHOW_NEWSLETTER_SUBSCRIPTION')", 4000); 
        return false;
    }
    return true;
}

