﻿// variables
var FloaterOpen = false;

//SmartMusic Communication
function CloseWindow() {
    try {
        var UserAgent = navigator.userAgent;
        var Is2010 = (UserAgent.indexOf('2011') > -1 || UserAgent.indexOf('2012') > -1);
        Is2010 = !Is2010;
        if (Is2010) {
            window.external.cancel();
        }
        else {
            window.close();
        }
    }
    catch (err) {
        alert(err);
    }
   
}

// Log In 
function LogInAndRedirect(UserName, Password, TargetPage) {
    // SmartMusic Application Log In
    LogIn(UserName, Password);
    // Redirect to Target Page
    window.location = TargetPage;
}

function LogIn(UserName, Password) {
    // SmartMusic Application Log In
    try {
        window.external.setSMProperty('Login', UserName + '|' + Password);
    }
    catch (Error) {

    }
}

//Misc
function SwapImage(ImageID, State) {
    document.getElementById(ImageID).src = eval(ImageID + '_' + State).src;
}

function ShowLoading() {
    try
    {
        document.getElementById("divProcessingLock").style = "height: 100%; width:100%; position: absolute; top: 0px; left:0px; z-index:20000; display: block;";
        document.getElementById("divProcessing").style = "height: 100%; width:100%; position: absolute; top: 0px; left:0px; z-index:25000; display: block;";    
    }
    catch(ex)
    { // Ignore errors with Animation 
    }

}

function ShowHideSettings(DivID) {
    if (document.getElementById(DivID).style.display != 'block') {
        if (FloaterOpen) {
            alert("Settings already open.");
        }
        else {
            document.getElementById(DivID).style.display = 'block';
            //document.getElementById('SettingsLockOut').style.display = 'block';
            FloaterOpen = true;
        }        
    }
    else {
        document.getElementById(DivID).style.display = 'none';
        //document.getElementById('SettingsLockOut').style.display = 'none';
        FloaterOpen = false;
    }

}

function ShowElement(ParentElement, ChildElement) {
    var ChildElements=document.getElementById(ParentElement).getElementsByTagName('*');
    for(var Index=0; Index < ChildElements.length; Index++){
        var ThisElement = document.getElementById(ParentElement).getElementsByTagName("*").item(Index)
        var ThisElementID = ThisElement.id;
        //ThisElementID = 'Child1';
        if (ChildElement == ThisElementID) {
            //document.getElementById('SettingsLockOut').style.display='block';
            document.getElementById(ThisElementID).style.display = 'block';
        }
        else {
            //document.getElementById('SettingsLockOut').style.display='none';
            document.getElementById(ThisElementID).style.display = 'none';
        }
    }
}

function SelectPart(ParentElement, SelectElement, SettingsElement) {
    // Set Part Instruction Visibility
    var ChildElements = document.getElementById(ParentElement).getElementsByTagName('div');
    var SelectIndex = SelectElement.selectedIndex;
    for (var Index = 0; Index < ChildElements.length; Index++) {
        var ThisElement = document.getElementById(ParentElement).getElementsByTagName("div").item(Index)
        var ThisElementID = ThisElement.id;
        if (Index == SelectIndex) {
            document.getElementById(ThisElementID).style.display = 'block';
        }
        else {
            document.getElementById(ThisElementID).style.display = 'none';
        }
    }
    // Set Part Settings Visibility
    ChildElements = document.getElementById(SettingsElement).getElementsByTagName('div');
    SelectIndex = SelectElement.selectedIndex;
    for (var Index = 0; Index < ChildElements.length; Index++) {
        var ThisElement = document.getElementById(SettingsElement).getElementsByTagName("div").item(Index)
        var ThisElementID = ThisElement.id;
        if (Index == SelectIndex) {
            document.getElementById(ThisElementID).style.display = 'block';
        }
        else {
            document.getElementById(ThisElementID).style.display = 'none';
        }
    }
}

function PerformEnsembleAssignment(AssignmentID, ClassAssignmentID, SelectedPartControl) {
    var SelectedPartIndex = document.getElementById(SelectedPartControl).options[document.getElementById(SelectedPartControl).selectedIndex].value
    // var txt = document.getElementById('selBox').options[document.getElementById('selBox').selectedIndex].value
    if (SelectedPartIndex < 0) {
        alert("Please select your part.");
    }
    else {
        var param = ClassAssignmentID.toString() + "|" + AssignmentID.toString() + "|" + SelectedPartIndex.toString();
        //alert(param);
        window.external.setSMProperty("SelectAssignment", param);
        window.external.openMessage("Assignment", "Perform");
    }  
}

function PerformAssignment(assignmentId, classUserId) {
    var param = classUserId.toString() + "|" + assignmentId.toString() + "|-1";
    try{       
        window.external.setSMProperty("SelectAssignment", param); 
    }
    catch (Error) {
        alert(Error);
    }
    try {
        window.external.openMessage("Assignment", "Perform");
    }
    catch (Error) {
        alert(Error);
    }
}
function SetCookie(sName, sValue) {
    document.cookie = sName + "=" + escape(sValue);
}
function SMAppVersion() {
   
        var versionArray = window.SmartMusic.applicationVersion.split(' ');
        var versionArray2 = versionArray[1].split('.');
        return versionArray2[0];
  
}
//<script type="text/javascript" language="javascript">function getAllTags(){var arr = new Array(); arr = document.documentElement.getElementsByTagName("*")
    //;alert("Total Number of HTML Elements Found: " + document.documentElement.getElementsByTagName("*").length); for(var i=0; i < arr.length; i++){var tagName = document.documentElement.getElementsByTagName("*").item(i).nodeName; switch (tagName){case "DIV": var tagObj = document.documentElement.getElementsByTagName("*").item(i); alert("TagName: " + tagName + "\n\ninnerText:\n" + tagObj.innerText); break; case "SPAN": var tagObj = document.documentElement.getElementsByTagName("*").item(i); alert("TagName: " + tagName + "\n\ninnerText:\n" + tagObj.innerText); break; case "P": var tagObj = document.documentElement.getElementsByTagName("*").item(i); alert("TagName: " + tagName + "\n\ninnerText:\n" + tagObj.innerText); break; default:}}}

