addLoadEvent(distributeTasks);

function addLoadEvent(func) {
    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            oldonload();
            func();
        }
    }
}

function distributeTasks(){
	
    var tags = document.getElementsByTagName("a");
    if(!tags) return false;
    else{
	
        for(var i=0; i<tags.length; i++){
            var anchor = tags[i];
			
            if(anchor.className == "ext_1024"){
                anchor.onclick= function(){
                    var targetUrl = this.href;
                    window.open(targetUrl,'popup','width=1024,height=800,resizable=1,scrollbars=1,toolbar=0');
                    return false;
                }
            }//end of ext1024
            else if(anchor.className == "ext_800"){
                anchor.onclick= function(){
                    var targetUrl = this.href;
                    window.open(targetUrl,'popup','width=600,height=800,resizable=1,scrollbars=1,toolbar=0');
                    return false;
                }
            }//end of ext_800
            else if(anchor.className == "ext_graph"){
                anchor.onclick= function(){
                    var targetUrl = this.href;
                    window.open(targetUrl,'popup','width=830,height=800,resizable=1,scrollbars=1,toolbar=0');
                    return false;
                }
            }//end of ext_800
            else if(anchor.className == "pin"){
                anchor.onclick = function(){
                    var targetUrl = this.href;
                    window.open(targetUrl,'popup','width=400,height=320');
                    return false;
                }
            }//end of pin number
            else if(anchor.className == "back"){
                anchor.onclick = function(){
                    history.back(0);
                    return false;
                }
            }//end of back
            else if(anchor.className == "print"){
                anchor.onclick = function(){
                    window.print();
                    return false;
                }
            }//end of print
				
            else if(anchor.className == "star"){
                anchor.onmouseover = function(){
                    calculateRating();
                    return false;
                }
            }//end of print
			
            else if(anchor.className == "panel"){
                anchor.onclick = function(){
                    toggleControlPanel(this);
                    return false;
                }
            }//end of print
        }
    }
}


function toggleControlPanel(link){
    var controlpanel = document.getElementById("controlpanel");
    if(controlpanel){
        if(controlpanel.style.display == "none"){
            controlpanel.style.display ="block";
            link.firstChild.nodeValue = "Hide Control Panel ";
            link.getElementsByTagName("img")[0].src = "/webresources/images/icons/application_get.gif"
            setCookie("controlpanel","on", false, "/", false, false);

        }
        else{
            controlpanel.style.display ="none";
            link.firstChild.nodeValue = "Show Control Panel ";
            link.getElementsByTagName("img")[0].src = "/webresources/images/icons/application_put.gif"
            setCookie("controlpanel","off", false, "/", false, false);

			
        }
    }
}

function calculateRating(){

}

function activateTabs(){
    var tabs = document.getElementById("tabs");
    if(tabs){
        var tabArray = new Array();
        var links = tabs.getElementsByTagName("a");
        for(var i=0; i<links.length; i++){
            links[i].onclick = function(){
                var url = this.href;
                var lastChar = url.charAt(url.length-1);
                if(lastChar == "#"){
                    var id = this.id;
                    var rightContent = document.getElementById("rightContent");
                    var spans = rightContent.getElementsByTagName("span");
                    for(var j=0; j<spans.length; j++){
                        if(spans[j].id.split("_")[0] == "tab"){
                            tabArray.push(spans[j]);
                        }
                    }
                    for(var k=0; k<tabArray.length; k++){
                        var currTab = tabArray[k].id.split("_")[1]
                        if(currTab != id){
                            tabArray[k].style.display = "none";
                        }
                        else{
                            tabArray[k].style.display = "block";
                            setCookie("tab",currTab, false, "/", false, false);
                            highlightTab(currTab);
                        }
                    }
				
                    return false;
                }//end of check to see if href has any valid links to go to
            }
        }
    }
}


function highlightTab(id){
    var tabs = document.getElementById("tabs");
    var links = tabs.getElementsByTagName("a");
    for(var i=0; i<links.length; i++){
        if(links[i].id == id){
            links[i].className = "on";
        }
        else{
            links[i].className = "";
        }
    }
}

function setActiveTab(){
    var cookie = getCookie("tab");
    if(cookie){
        var tabArray = getSpans();
        for(var i=0; i<tabArray.length; i++){
            var id = tabArray[i].id.split("_")[1];
            if(id == cookie){
                tabArray[i].style.display = "block";
                highlightTab(id);
            }
            else{
                tabArray[i].style.display = "none";
            }
        }
    }
    else{
        document.getElementById("tab_general").style.display = "block";
    }
}


function getActiveTab(){
    var tabs = document.getElementById("tabs");
    var links = tabs.getElementsByTagName("a");
    var tabLength = links.length;
    for(var i=0; i<tabLength; i++){
        if(links[i].className == "on"){
            return links[i].id;
            break;
        }
    }
}

function getSpans(){
    var tabArray = new Array();
    var rightContent = document.getElementById("rightContent");
    var spans = rightContent.getElementsByTagName("span");
    for(var j=0; j<spans.length; j++){
        if(spans[j].id.split("_")[0] == "tab"){
            tabArray.push(spans[j]);
        }
    }
    return tabArray;
}

function activateForms(){
    var rightContent = document.getElementById("rightContent");
    if(!rightContent){
        rightContent = document.getElementById("fullContainer");
    }
    var expandLinks = rightContent.getElementsByTagName("a");
    var expand = new Array();
    for(var i=0; i<expandLinks.length; i++){
        if(expandLinks[i].className.split("_")[0] == "expand"){
            expand.push(expandLinks[i]);
        }
    }
	
    for(var j=0; j<expand.length; j++){
        expand[j].onclick = function(){
            var spanArray = new Array();
            var spans = rightContent.getElementsByTagName("span");
            for(var k=0; k<spans.length; k++){
                if(spans[k].id.split("_")[0] == "expand"){
                    spanArray.push(spans[k]);
                }
            }//end of for
			
            var id = this.className;
            for(var m=0; m<spanArray.length;m++){
                if(spanArray[m].id == id){
                    if(spanArray[m].style.display == "none"){
                        spanArray[m].style.display = "block"
                    }
                    else{
                        spanArray[m].style.display = "none"
                    }
                }
            }
            return false;
        }
    }
	
}


function scroll(content,subintro,scrollBox,scroller){
	
    var contentHeight = document.getElementById(content).offsetHeight;
    var subintroHeight = document.getElementById(subintro).offsetHeight;
    var scrollBoxHeight = document.getElementById(scrollBox).offsetHeight;
    var scrollerHeight = document.getElementById(scroller).offsetHeight;
	
    var subintro = document.getElementById(subintro);
    var scroller = document.getElementById(scroller);
    var scrollBox = document.getElementById(scrollBox);
	
	
    if(contentHeight < subintroHeight){
        var scrollH = 30;
        scroller.style.height = Math.round(scrollH) + "px";
        scrollDist = Math.round(scrollBoxHeight - scrollH);
		
        Drag.init(scroller,null,0,0,0,scrollDist);
		
        scroller.onDrag = function (x,y) {
            var scrollY = parseInt(scroller.style.top);
            var contentY = 0 + (scrollY * (contentHeight - subintroHeight) / scrollDist);
            subintro.style.top = contentY + "px";
        }
    }
    else{
        scrollH = 0;
        scroller.style.display = "none"
        scrollBox.style.display = "none"
    }
}


/*ajax support*/
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0;
var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0;
//netscape, safari, mozilla behave the same???
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0;
var is_ff = (navigator.userAgent.indexOf('Firefox') >= 0) ? 1 : 0;

function GetXmlHttpObject() {
    var objXmlHttp = null;    //Holds the local xmlHTTP object instance

    //Depending on the browser, try to create the xmlHttp object
    if (is_ie){
        //The object to create depends on version of IE
        //If it isn't ie5, then default to the Msxml2.XMLHTTP object
        var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
	    
        //Attempt to create the object
        try{
            objXmlHttp = new ActiveXObject(strObjName);
        //objXmlHttp.onreadystatechange = handler;
        }
        catch(e){
            //Object creation errored
            //alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
            return;
        }
    }
    else if (is_opera){
        //Opera has some issues with xmlHttp object functionality
        //alert('Opera detected. The page may not behave as expected.');
        return;
    }
    else{
        // Mozilla | Netscape | Safari
        objXmlHttp = new XMLHttpRequest();
    //objXmlHttp.onload = handler;
    //objXmlHttp.onerror = handler;
    }
	
    //Return the instantiated object
    return objXmlHttp;
}

/*
function createDocument() {
	var Versions = ["MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0", "MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument", "Microsoft.XmlDom"];
	
	for (var i = 0; i < Versions.length; i++) {
		try {
			var xmlDom = new ActiveXObject(Versions[i]);
		} catch (err) {
			//ignore
		}
	}
}
 */

function subscribe(){
    var formSubscribe = document.getElementById('form_subscribe');
    var subscribeButton = document.getElementById("subscribeButton");
    subscribeButton.onclick = function(){
        if(formSubscribe.style.display == 'none'){
            formSubscribe.style.display = "block";
        }
        else{
            formSubscribe.style.display = "none";
        }
        return false;
    }
}

function addSubscription(type){
    if(type == 'blog'){
        var email = $('#email').val();
        var blogKey = $('#blogKey').val();
        if(email != ''){
            $.ajax({
                type: "POST",
                url: "/services/subscriptions.asmx/SubscribeToBlog",
                data: "{'email':'" + email + "', 'blogKey':" + blogKey + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                beforeSend: function() {
                },
                success: function(result) {
                    if (result.hasOwnProperty("d")){
                        if(result.d){
                            $('#rightContent h3').after('<ul class="info"><li>You have been successfully subscribed to the blog.</li></ul>');
                            $('#form_subscribe').hide();
                            $('#email').val('');
                        }
                        else{
                            $('#rightContent h3').after('<ul class="error"><li>There is an issue subscribing.</li></ul>');
                        }
                    }
                    else {
                        if(result){
                            $('#rightContent h3').after('<ul class="info"><li>You have been successfully subscribed to the blog.</li></ul>');
                            $('#form_subscribe').hide();
                            $('#email').val('');
                        }
                        else{
                            $('#rightContent h3').after('<ul class="error"><li>There is an issue subscribing.</li></ul>');
                        }
                    }

                },
                error: function(xhr, status, error) {
                    var err = eval("(" + xhr.responseText + ")");
                    alert(err.Message)
                }
            });
        }
        else{
            $('#rightContent h3').after('<ul class="error"><li>Please enter an email address.</li></ul>');
        }
    }
    else{
        var email = $('#email').val();
        var bloggerKey = $('#bloggerKey').val();
        if(email != ''){
            $.ajax({
                type: "POST",
                url: "/services/subscriptions.asmx/SubscribeToBlogger",
                data: "{'email':'" + email + "', 'bloggerKey':" + bloggerKey + "}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                beforeSend: function() {
                },
                success: function(result) {
                    if (result.hasOwnProperty("d")){
                        if(result.d){
                            $('#rightContent h3').after('<ul class="info"><li>You have been successfully subscribed to the blog.</li></ul>');
                            $('#form_subscribe').hide();
                            $('#email').val('');
                        }
                        else{
                            $('#rightContent h3').after('<ul class="error"><li>There is an issue subscribing.</li></ul>');
                        }
                    }
                    else {
                        if(result){
                            $('#rightContent h3').after('<ul class="info"><li>You have been successfully subscribed to the blog.</li></ul>');
                            $('#form_subscribe').hide();
                            $('#email').val('');
                        }
                        else{
                            $('#rightContent h3').after('<ul class="error"><li>There is an issue subscribing.</li></ul>');
                        }
                    }

                },
                error: function(xhr, status, error) {
                    var err = eval("(" + xhr.responseText + ")");
                    alert(err.Message)
                }
            });
        }
        else{
            $('#rightContent h3').after('<ul class="error"><li>Please enter an email address.</li></ul>');
        }
    }
}