﻿
//browser detection
var strUserAgent = navigator.userAgent.toLowerCase(); 
var isIE = strUserAgent.indexOf("msie") > -1; 
var isNS6 = strUserAgent.indexOf("netscape6") > -1; 
var isNS4 = !isIE && !isNS6  && parseFloat(navigator.appVersion) < 5; 

// Manage window.onload scripts
var onloadScripts = new Array();

function onloadProcess()
{
    for(var i = 0;i < onloadScripts.length;i++) {
        eval(onloadScripts[i]);
    }
}

function onloadAdd(func){
    onloadScripts[onloadScripts.length] = func;
}

// Add onload
window.onload = onloadProcess;

function norun() {
    return false;
}

function swapimage(o, ev) {
    if (ev == "over") {
        o.src = o.src.replace(".gif", "-over.gif");
    }
    else {
        o.src = o.src.replace("-over.gif", ".gif");
    }
}

// Super Sniffa Voting
function sniffavote() {
    // Call ajax function
    PageMethods.Sniffa_Vote(sniffavotetsuccess, ajaxfailure);
}

function sniffavotetsuccess(value, ctx, methodName) {
    // Check for errors
    if (value == "error timeout") {
    	alert("Your session has timed out. Please sign in again.");
	}
	else if (value == "error exists") {
    	alert("You have already voted for this Sniffa. You may only vote once.");
	}
    else {
    	alert("Thank you, your vote has been cast.");
    	document.getElementById("sniffavote").innerHTML = "Votes: " + value
    }
}

// Sniffa Mail
function opensniffamail() {
    greyoutContent(true);
    document.getElementById("sniffamail").className = "";
}

function cancelsniffamail() {
    greyoutContent(false);
    document.getElementById("sniffamail").className = "hidden";
}

function sendsniffamail() {
    if (document.getElementById("txtMBody").value == "") {
        alert("Please enter your message");
        return false;
    }
    PageMethods.Sniffa_Mail_Send(document.getElementById("txtMSubject").value, document.getElementById("txtMBody").value, sendsniffamailsuccess, ajaxfailure);
}

function sendsniffamailsuccess(value, ctx, methodName) {
    // Check for errors
    if (value == "error timeout") {
    	alert("Your session has timed out. Please sign in again.");
	}
    else {
    	document.getElementById("mailform").className = "hidden";
    	document.getElementById("mailconfirm").className = "";
    }
}

// Form IDs
function getID(o) {
    var elid;

    if (o.id.lastIndexOf("_") > -1) {
        elid = o.id.substr(0, o.id.lastIndexOf("_")+1)
    }
    else {
        elid = o.id + "_";
    }
    return elid;
}

/*
    AJAX Method Failure
*/
function ajaxfailure(ex, ctx, methodName) { 
    if (ex.get_message() == "Session Timeout" || ex.get_message() == "Authentication failed.") {
        window.location.href = "http://www.thesniffa.com/sign-in.aspx?to=true";
        return false;
    }
    if (!(ex.get_message().startswith("The server method '") && ex.get_message().endswith("' failed."))) {
        alert(ex.get_message()); 
    }
    // get_stackTrace(), get_message(), 
    // get_statusCode(), get_timedOut() 

    // show lists and tools and hide add form
    /*
    switch (methodName) {
        case "Signin_User":
            enableform(document.getElementById("signinform"));
    }
    */
    // Hide any passed loader animations
    if (ctx) {
        if (ctx.greyoutcontent == "true") {
            greyoutContent(false);
        }
    }
} 

// Ends With
if (!String.prototype.endswith) {
  String.prototype.endswith = function(suffix) {
    var startPos = this.length - suffix.length;
    if (startPos < 0) {
      return false;
    }
    return (this.lastIndexOf(suffix, startPos) == startPos);
  };
}
// Starts With
if (!String.prototype.startswith) {
  String.prototype.startswith = function(prefix) {
    return (this.indexOf(prefix) == 0);
  };
}

// Grey out page
function greyoutContent(vis) {

  var cdark = document.getElementById('greyoutcontent');

  if (vis) {
    //set the shader to cover the entire page and make it visible.
    cdark.style.opacity = 0.7;                      
    cdark.style.MozOpacity = 0.7;                   
    cdark.style.filter = 'alpha(opacity=' + 70 + ')'; 
    cdark.className = 'greyout';		
  } else {
     cdark.className = 'hidden';
  }
}

function greyOut(vis, divid) {

    if (!divid) {
        divid = "greyout";
    }

    var cdark = document.getElementById(divid);

    if (vis) {
        //set the shader to cover the entire page and make it visible.
        cdark.style.opacity = 0.7;                      
        cdark.style.MozOpacity = 0.7;                   
        cdark.style.filter = 'alpha(opacity=' + 70 + ')'; 
        cdark.className = 'greyout';		
    } else {
        cdark.className = 'hidden';
    }
}

/*
    Form disabling
*/
// Diable form items
function disableform(o) {

    var inputs = o.getElementsByTagName("INPUT");
    for (var i = 0; i < inputs.length; i++) {
        inputs[i].readOnly = true;
        inputs[i].disabled = true;
    }
    var texts = o.getElementsByTagName("TEXTAREA");
    for (var j = 0; j < texts.length; j++) {
        texts[j].readOnly = true;
        texts[j].disabled = true;
    }
    var selects = o.getElementsByTagName("SELECT");
    for (var k = 0; k < selects.length; k++) {
        selects[k].readOnly = true;
        selects[k].disabled = true;
    }
}
// Enable form items
function enableform(o) {

    var inputs = o.getElementsByTagName("INPUT");
    for (var i = 0; i < inputs.length; i++) {
        inputs[i].readOnly = false;
        inputs[i].disabled = false;
    }
    var texts = o.getElementsByTagName("TEXTAREA");
    for (var j = 0; j < texts.length; j++) {
        texts[j].readOnly = false;
        texts[j].disabled = false;
    }
    var selects = o.getElementsByTagName("SELECT");
    for (var k = 0; k < selects.length; k++) {
        selects[k].readOnly = false;
        selects[k].disabled = false;
    }
}


