﻿var $Nova = {
    style: {
        defaultModalOverlay: {
            speed: 0,
            closeOnClick: false,
            expose: {
                color: '#333',
                loadSpeed: 400,
                opacity: 0.5
            }
        }
    }
};

$Nova.logOut = function() {
}

function assignNumber(val) {
    document.getElementById('chosenNumber').innerHTML = val;
}

function showHelp(containerId) {
    TagToTip(containerId, SHADOW, true, SHADOWWIDTH, 7, BGCOLOR, '#ffffff', BORDERCOLOR, '#000000', FADEIN, '500', FADEOUT, '500', FOLLOWMOUSE, false);
}


function buySong(id, artist, title, price, type) {
    songId = id;
    songType = type;
    if (songType == "FRIENDTONE") {
        $(".toneType").text("Vinatón");
        $(".toneTypeNF").text("Vinatónn");
    }
    else {
        $(".toneType").text("Hringitón");
        $(".toneTypeNF").text("Hringitónn");
    }
    $("#overlayDivContents").html($("#kaupaTon").html());
    $("#kaupaHringitonArtist").text(title + " - " + artist);
    $("#kaupaHringitonVerd").text(price + " kr");
    $("#overlayDiv").overlay().load();
    $('#overlayDiv input').bind('keypress', function(e) {
        if (e.keyCode == 13) {
            stepOne();
        }
    });
}

function stepOne() {

    var msisdn = $("#overlayDivContents input").val();
    setTimeout(' $("#overlayDivContents").html($("#augnablik").html())', 100);
    setTimeout('stepOneAjax(' + msisdn + ')', 100);
}

function stepOneAjax(msisdn) {
    $.ajax(
    {
        type: "POST",
        url: "/services/TonarService.asmx/stepOne",
        data: "{'songId':'" + songId + "', 'msisdn':'" + msisdn + "', 'toneType':'" + songType + "', 'controlGuid':'nona'            }",
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        success: function(msg) {
            if (msg.d.responseCode == 0) {
                $("#overlayDivContents").html($("#smsLykilordTonn").html());
            }
            else if (msg.d.responseCode == 1) {
                $("#overlayDivContents").html($("#ekkiVidiskipavinurTonn").html());
            }
            else {
                $("#overlayDivContents").html($("#ubbbs").html());
            }
            $('#overlayDivContents input').bind('keypress', function(e) {
                if (e.keyCode == 13) {
                    stepTwo();
                }
            });

        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            $("#overlayDivContents").html("<h1>Text Status: " + textStatus + ", <br>Error Thrown: " + errorThrown);
        }
    }
    );
}


function stepTwo() {
    var lykilord = $("#overlayDivContents input").val();
    setTimeout('stepTwoReady()', 100);
    setTimeout('stepTwoAjax("' + lykilord + '")', 100);
}

function stepTwoReady() {

    $("#overlayDivContents").html($("#augnablik").html())

}


function stepTwoAjax(lykilord) {
    $.ajax(
    {
        type: "POST",
        url: "/services/TonarService.asmx/stepTwo",
        data: "{ 'toneCode':'" + lykilord + "'}",
        contentType: "application/json;charset=utf-8",
        dataType: "json",
        success: function(msg) {
            if (msg.d.responseCode == 0) {
                if (songType == "FRIENDTONE")
                    $("#overlayDivContents").html($("#vinatonnFinal").html());
                else
                    $("#overlayDivContents").html($("#hringitonnFinal").html());
            }
            else if (msg.d.responseCode == 10) {
                $("#overlayDivContents").html($("#ekkiNaegInnistaedaTonn").html());
            }
            else if (msg.d.responseCode == 1) {
                $("#overlayDivContents").html($("#vinatonnRangurKodi").html());
            }
            else {
                $("#overlayDivContents").html($("#ubbbs").html());
            }
        }
    });
}

/* In-Field Labels jQuery Plugin - Setur label í text fields */
//$(function() { $("label.inFieldLabel").inFieldLabels(); });




/**
 *   Flýtival JavaScript
 */

//opacity

function opacity(id, opacStart, opacEnd, duration) {
    //speed for each frame
    var sleep = 20;
    var timer = 1;
    var range = Math.abs(opacStart - opacEnd);
    var stepamount = duration / sleep;
    var step = Math.round(range / stepamount);
    if (step <= 0) step = 1;

    //determine the direction for the blending, if start and end are the same nothing happens
    if (opacStart > opacEnd) {
        for (i = opacStart; i >= opacEnd - stepamount; i -= step) {
            setTimeout("changeOpac(" + i + ",'" + id + "')", sleep * timer);
            timer++;
        }
    } else if (opacStart < opacEnd) {
        for (i = opacStart; i <= opacEnd + stepamount; i += step) {
            setTimeout("changeOpac(" + i + ",'" + id + "')", sleep * timer);
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    if (opacity < 0) opacity = 0;
    if (opacity >= 100) opacity = 99;
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
var fadeTime = 350;
function opacityOpen(id) {
    //changeOpac(0,id);
    document.getElementById(id).style.display = "block";
    //opacity(id, 0, 100, fadeTime);

}

function opacityClose(id) {


    //changeOpac(0,id);

    document.getElementById(id).style.display = "none";
}

//opacity ends

function activeBackGround(obj) {
    obj.style.backgroundPosition = '0px 0px';
}

function inactiveBackGround(obj) {
    obj.style.backgroundPosition = '0px -33px';
}

function mouseOverGluggar() {
    this.hover = true;
    if (!this.active) {
        activeBackGround(this);
    }
}



function mouseOutGluggar() {
    this.hover = false;
    if (!this.active) {
        inactiveBackGround(this);
    }
}

function lokahinum(ekkiThessumTakka) {
    var takkar = ['button_stollinn', 'button_sms', 'button_tilNova']; //nöfn glugganna
    var takki;
    for (i = 0; i < takkar.length; i++) {

        if (takkar[i] != ekkiThessumTakka.id) {
            takki = document.getElementById(takkar[i]);


            inactiveBackGround(takki);
            takki.active = false;
            opacityClose(takki.myDiv.id); //takki.myDiv.style.display="none";
        }
    }
}

function opnaGlugga() {
    opnaGluggaRemote(this);
}
function opnaGluggaRemote(obj) {
    var gluggi = obj.myDiv; //document.getElementById(this.myDiv);
    if (gluggi.style.display == "block") {
        opacityClose(gluggi.id); //gluggi.style.display="none";
        if (!obj.hover) {
            inactiveBackGround(obj);
        }
        obj.active = false;
    }
    else {
        lokahinum(obj);
        opacityOpen(gluggi.id, fadeTime); //gluggi.style.display="block";
        setTimeout("focusSibling('" + gluggi.id + "')", fadeTime);
        activeBackGround(obj);
        obj.active = true;
    }

}
function focusSibling(id) {

    document.getElementById(id).focusSibling(); //addað í öðru usercontroli
}
function initFlytival() {
    var takkar = ['button_stollinn', 'button_sms', 'button_tilNova']; //nöfn glugganna
    var gluggar = ['div_stollinn', 'div_sms', 'div_tilNova'];
    for (i = 0; i < takkar.length; i++) {
        var button_gluggi = document.getElementById(takkar[i]);
        button_gluggi.onclick = opnaGlugga;
        button_gluggi.myDiv = document.getElementById(gluggar[i]);
        button_gluggi.onmouseover = mouseOverGluggar;
        button_gluggi.onmouseout = mouseOutGluggar;
        button_gluggi.active = false;
        button_gluggi.hover = false;

    }


}

function clickLink(element) {
    try {
        if (!element.onclick || (element.onclick() != false)) location = element.href;
        //it will not fire events set with addEventListener()
    }
    catch (e) { }
}

function DetectNEnter(e, btn)
//someControl.Attributes.Add(“onKeyPress”, “DetectNEnter(event, ‘” + btnGo.ClientID + “‘)”)
{
    var characterCode;
    if (e && e.which) // NN4 specific code
    {
        e = e;
        characterCode = e.which;
    } else {
        e = event
        characterCode = e.keyCode; // IE specific code
    } if (characterCode == 13) //// Enter key is 13
    {
        e.returnValue = false;
        e.cancelBubble = true;
        clickLink(document.getElementById(btn));
    } else return false;
}


function addLoadListener(fn) {
    if (typeof window.addEventListener != 'undefined')
        window.addEventListener('load', fn, false);
    else if (typeof document.addEventListener != 'undefined')
        document.addEventListener('load', fn, false);
    else if (typeof window.attachEvent != 'undefined')
        window.attachEvent('onload', fn);
    else {
        var oldfn = window.onload
        if (typeof window.onload != 'function') window.onload = fn;
        else window.onload = function() { oldfn(); fn(); }
    }
}

function setValidatorGroups() {
    __current_validators = arguments;
}


function getQueryParameter(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}




var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
