// Coder: Thilina Ratnayake

/* Check the cookies set or not */
function checkCookie()
{

    var username=getCookie('UserName');
    if (username == null)
     {
          window.location = "SignIn.aspx"; 
     }
    else 
    {
        return true;
    }
}

/* Retrive the cookie value */
function getCookie(c_name)
{
   if (document.cookie.length>0)
   { 
        c_start=document.cookie.indexOf(c_name + "=")
            if (c_start!=-1)
            { 
                c_start=c_start + c_name.length+1 
                c_end=document.cookie.indexOf(";",c_start)
                if (c_end==-1) 
                c_end=document.cookie.length
                return unescape(document.cookie.substring(c_start,c_end))
            } 
    }
    return null
}

/* Print iFrame */
function printFrame(name)
{
   	var prnFrame = window.frames[name];
	prnFrame.focus();
	prnFrame.print(); 
}

/*Display System Name */
function GetDate(id)
{
    var D = new Date();
    var X = "";

  document.getElementById(id).innerHTML = D.toLocaleDateString ? D.toLocaleDateString() : X;  
    
}

function DeleteCookie(name, path, domain)
{

if (getCookie(name)) 
document.cookie = name + "=" + (( path ) ? ";path=" + path : "") + (( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
window.location = "SignIn.aspx"; 
}


/* Encode/Decode functions */
function urlDecode(str){
    str=str.replace(new RegExp('\\+','g'),' ');
    return unescape(str);
}
function urlEncode(str){
    str=escape(str);
    str=str.replace(new RegExp('\\+','g'),'%2B');
    return str.replace(new RegExp('%20','g'),'+');
}

var END_OF_INPUT = -1;

var base64Chars = new Array(
    'A','B','C','D','E','F','G','H',
    'I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X',
    'Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3',
    '4','5','6','7','8','9','+','/'
);

var reverseBase64Chars = new Array();
for (var i=0; i < base64Chars.length; i++){
    reverseBase64Chars[base64Chars[i]] = i;
}

var base64Str;
var base64Count;
function setBase64Str(str){
    base64Str = str;
    base64Count = 0;
}
function readBase64(){    
    if (!base64Str) return END_OF_INPUT;
    if (base64Count >= base64Str.length) return END_OF_INPUT;
    var c = base64Str.charCodeAt(base64Count) & 0xff;
    base64Count++;
    return c;
}
function encodeBase64(str){
    setBase64Str(str);
    var result = '';
    var inBuffer = new Array(3);
    var lineCount = 0;
    var done = false;
    while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){
        inBuffer[1] = readBase64();
        inBuffer[2] = readBase64();
        result += (base64Chars[ inBuffer[0] >> 2 ]);
        if (inBuffer[1] != END_OF_INPUT){
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
            if (inBuffer[2] != END_OF_INPUT){
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
                result += (base64Chars [inBuffer[2] & 0x3F]);
            } else {
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
                result += ('=');
                done = true;
            }
        } else {
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
            result += ('=');
            result += ('=');
            done = true;
        }
        lineCount += 4;
        if (lineCount >= 76){
            result += ('\n');
            lineCount = 0;
        }
    }
    return result;
}
function readReverseBase64(){   
    if (!base64Str) return END_OF_INPUT;
    while (true){      
        if (base64Count >= base64Str.length) return END_OF_INPUT;
        var nextCharacter = base64Str.charAt(base64Count);
        base64Count++;
        if (reverseBase64Chars[nextCharacter]){
            return reverseBase64Chars[nextCharacter];
        }
        if (nextCharacter == 'A') return 0;
    }
    return END_OF_INPUT;
}

function ntos(n){
    n=n.toString(16);
    if (n.length == 1) n="0"+n;
    n="%"+n;
    return unescape(n);
}

function decodeBase64(str){
    setBase64Str(str);
    var result = "";
    var inBuffer = new Array(4);
    var done = false;
    while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
        && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
        inBuffer[2] = readReverseBase64();
        inBuffer[3] = readReverseBase64();
        result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
        if (inBuffer[2] != END_OF_INPUT){
            result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
            if (inBuffer[3] != END_OF_INPUT){
                result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
            } else {
                done = true;
            }
        } else {
            done = true;
        }
    }
    return result;
}

var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f');
function toHex(n){
    var result = ''
    var start = true;
    for (var i=32; i>0;){
        i-=4;
        var digit = (n>>i) & 0xf;
        if (!start || digit != 0){
            start = false;
            result += digitArray[digit];
        }
    }
    return (result==''?'0':result);
}

function pad(str, len, pad){
    var result = str;
    for (var i=str.length; i<len; i++){
        result = pad + result;
    }
    return result;
}

function encodeHex(str){
    var result = "";
    for (var i=0; i<str.length; i++){
        result += pad(toHex(str.charCodeAt(i)&0xff),2,'0');
    }
    return result;
}

function decodeHex(str){
    str = str.replace(new RegExp("s/[^0-9a-zA-Z]//g"));
    var result = "";
    var nextchar = "";
    for (var i=0; i<str.length; i++){
        nextchar += str.charAt(i);
        if (nextchar.length == 2){
            result += ntos(eval('0x'+nextchar));
            nextchar = "";
        }
    }
    return result;
    
}

function doMailDecode()
{
    var index = 1;
    while(true)
    {
        var mailAdd = document.getElementById("mailAdd" + index);
        if(mailAdd == null)
        {
            break;
        }
        mailAdd.href = "mailto:" + decodeBase64(mailAdd.innerHTML);        
        mailAdd.innerHTML = decodeBase64(mailAdd.innerHTML);
        index++;
    }
}

/* Show fading message */
var language;
function showStatus(lang)
{
    var displayMsg;
    switch(lang)
    {
        case 0: // English
        language = "EN";
        displayMsg = "you have been subscribed";
        break;
        
        case 1: // French
        language = "FR";        
        displayMsg = "vous avez été souscrit";
        break;
        
        case 2: // Dutch
        default:
        language = "NL";              
        displayMsg = "u bent ingetekend";
        break;
    }    
	var code = "<div align='center' valign='middle' style='width:385px;height:157px;z-index:1;'><table width='385' border='0' cellpadding='0' cellspacing='0' background='Images/" + language + "_Subscribe.jpg'><tr><td id='fadeText' width='385' height='156' align='center' valign='middle' class='SubscribeText'>";
	code += displayMsg;
	code += "</td></tr></table></div>";
	document.getElementById("subContent").innerHTML = code;
    setTimeout("startFade()", 2000);
}

var fadeDiv;
function startFade()
{
    fadeDiv = setInterval("doFadeAway()",100)
}

function doFadeAway(){
	var t = document.getElementById("fadeText");
	var m = t.style.color;
	if(m == "")
	{
	    m = "#7b6953";
	}
	m = m.slice(1,3);
	a = m
	m = hexToDec(m);
	m = m+4;
	if(m>=255)
	{
		m=255;
		clearInterval(fadeDiv);
		location.replace("Content/Intro_" + language + ".htm");
	}
	else
	{
		m = decToHex(m);
		m = "#"+m+m+m;
		m = m.toUpperCase();
		t.style.color = m;
	}
}

var hexArray = Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
function transHexToDec(v){for(j=0;j<hexArray.length;j++){if(v==hexArray[j]){v=j;}}return v;}
function transDecToHex(v){for(j=0;j<hexArray.length;j++){if(v==j){v=hexArray[j];}}return v;}
function hexToDec(m) { 
	var i, dig ; var res = 0;
	m = m.toUpperCase()
	for(i=0;i<m.length;i++){dig=m.slice(i,i+1);res += transHexToDec(dig)*Math.pow(16,m.length-1-i);}
	return res;
}
function decToHex(m){
	var dec = parseInt(m);var j = 0; var mp = 0; var f =false;
	while(!f){if(m/16<1){mp=j;f=true;}else{m=m/16;j++;}}
	var coefArr=Array();
	coefArr.length = mp+1;
	for(i=0;i<mp+1;i++){
		k=mp-i;
		coefArr[k]= parseInt(dec/Math.pow(16,k));
		dec = dec-coefArr[k]*Math.pow(16,k);
		coefArr[k] = transDecToHex(coefArr[k]);
	}
	var res = "'";
	for(i=0;i<mp+1;i++){k=mp-i;res += coefArr[k];}
	res = res.slice(1,res.length);
	res = res.toUpperCase()
	return res;
}

//define a secret code for the subscription
var validCode = decodeBase64("TTUwQlhM");








