var ARTICLE_MENUBAR_HEIGHT = 700;

var SINGARI_CATS = {"sindhura":"Sindhura","baitalebottu":"Baitale bottu",
"bendole":"Bendole","jadebangara":"Jadebangara","muguti":"Muguti","muttinahara":"Muttinahara","tolvanki":"Tolvanki","hombale":"Hombale","vodyana":"Vodyana","kalgejje":"Kalgejje"};

//mapping month string to month name
var SINGARI_MONTHS = {
    chaitra : "Chaitra",
    vyshaka : "Vyshaka",
    jeshta  : "Jeshta",
    ashada  : "Ashada",
    shravana  : "Shravana",
    bhadrapada  : "Bhadrapada",
    ashvayuja  : "Ashvayuja",
    karthika : "Karthika",
    margashira : "Margashira",
    pushya : "Pushya",
    magha : "Magha",
    phalguna : "Phalguna",
    chaitra8: "Chaitra '08",
    vyshaka8:  "Vyshaka '08",
    jeshta8:  "Jeshta '08",
    ashada8:  "Ashada '08",
    shravana8:  "Shravana '08",
    bhadrapada8:  "Bhadrapada '08",
    ashvayuja8:  "Ashvayuja '08",
    karthika8:  "Karthika '08",
    margashira8:  "Margashira '08",
      pushya9:  "Pushya '09",
    magha9:  "Magha '09",
 phalguna9:  "Phalguna '09",
 chaitra9:  "Chaitra '09",
vyshaka9:  "Vyshaka '09",
    jeshta9:  "Jeshta '09",
 ashada9:  "Ashada '09",
   shravana9:  "Shravana '09",
bhadrapada9:  "Bhadrapada '09",
ashvayuja9:  "Ashvayuja '09",
karthika9:  "Karthika '09",
margashira9:  "Margashira '09",
pushya10:  "Pushya '10",
magha10:  "Magha10",
 phalguna10:  "Phalguna '10",
chaitra10:  "Chaitra '10",
vyshaka10:  "Vyshaka '10",
  jeshta10:  "Jeshta '10",
 ashada10:  "Ashada '10",
shravana10:  "Shravana '10"



}

function initMonth(wrapId){
    var url = document.location.href;
    var params = getParamsFromUrl(url);   
    if(hasContent(params.month)){
        //month document height was smaller in the first 2 months
        if(params.month == "vyshaka" || params.month == "jeshta"){
            monthHeight = 700;
        }else{
            monthHeight = 1000;
        }
        var flashSrc = params.month+"-home.swf"+"?month="+params.month;
        var monthHtml ='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"' +                      'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + '7,0,0,0" width="100%" height="'+monthHeight+'" id="month">' +
'<param name="allowScriptAccess" value="sameDomain" />' +
'<param name="movie" value="' + flashSrc +'"/>' + 
'<param name="menu" value="false" />' + 
'<param name="quality" value="high" />' + 
'<param name="scale" value="exactfit"/>' + 
'<embed src="' + flashSrc +'" menu="false" align="left" quality="high"' +
'width="100%" scale="exactfit" height="'+monthHeight+'" allowScriptAccess="always" swliveconnect="true"' + 'type="application/x-shockwave-flash" name="month"' + 'pluginspage="http://www.macromedia.com/go/getflashplayer" />' +
'</object>';    
        var monthPar = document.getElementById(wrapId);
        if(monthPar){
            monthPar.innerHTML = monthHtml;
        }
        document.title = "Singari - " + SINGARI_MONTHS[params.month] + " - Home";
    }
    showRightBar();
}

function initArticlePage(articleWrap){
    var articleHeight;
    var url = document.location.href;
    var params = getParamsFromUrl(url);

    if(hasContent(params["cat"]) && hasContent(params["month"])){
        //article document height was smaller in the first 2 months
        if(params.month == "vyshaka" || params.month == "jeshta"  || params.month=="chaitra"){
            articleHeight = 700;
        }else{
            articleHeight = 1000;
        }
        var articleWrap = document.getElementById(articleWrap);
        if(articleWrap){
            var itemStr = "";
            if(hasContent(params["item"])){
                itemStr = params["item"];
            }
            var monthPrefix;
            if(document.location.href.indexOf("http://") == -1){
                monthPrefix = params.month + "/";
            }else{
                monthPrefix = "";
            }
            var articleLink = monthPrefix+params.cat + itemStr + "-" + params.month + ".swf" + "?month="+params.month+"&cat="+params.cat;

            var articleHtml ='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' + 
               ' codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" '+
               ' width="100%" height="'  +articleHeight + '" id="index">'+
               '<param name="allowScriptAccess" value="sameDomain" />'+
               '<param name="salign" value="tl"/> <param name="movie" value="'+ 
               articleLink +'" />    <param name="menu" value="false" />' +
               '<param name="quality" value="high" />    <embed src="' + articleLink +
               '" menu="false" align="left" quality="high" width="100%" height="' + articleHeight + '"' + 
               ' name="index" allowScriptAccess="sameDomain"  type="application/x-shockwave-flash" ' +
               ' pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object>';  
            articleWrap.innerHTML = articleHtml;
            var titleCategoryString = "";
            if(typeof(params.cat)!="undefined" && params.cat!=null){
                if(SINGARI_CATS[params.cat] != null){
                    titleCategoryString = SINGARI_CATS[params.cat];
                }
            }
            document.title = "Singari - " +  SINGARI_MONTHS[params.month] + " - " + titleCategoryString;
            hideJsKitCancel();
        }
    }    
    createArticleMenuFlash(params["cat"]);
    showRightBar();
}

//hides the JS-Kit Cancel Comment button
//used on pages where the comment box is open by default
function hideJsKitCancel(){
    //if JS-Kit "Cancel" button is found, hide it ('cos it doesn't work if comment box
    //is open by default
    var cancels = document.getElementsByName("js-Cmtcancel");
    if(cancels.length > 0){
	cancels[0].style.display = "none";
    }
}

//creates the article menu swf markup
function createArticleMenuFlash(activeCat){
    var url = document.location.href;
    var params = getParamsFromUrl(url);
    if(hasContent(params.month)){        
        var articleMenuLink = "articlemenubar.swf?month="+params.month+"&cat="+activeCat;
        var menuHtml = createFlashMarkup(articleMenuLink, null, ARTICLE_MENUBAR_HEIGHT);
        document.getElementById("articleMenu").innerHTML = menuHtml;
    }
}

//displays the right side bar after a slight delay, if it exists
function showRightBar(){
    var bar = document.getElementById("rightBar");
    if(bar){
        setTimeout(
            function(){
                bar.style.display = "block";
            },
           1000
        ); 
    }
}

//creates the preface markup
function createPreface(wrapid){
    var url = document.location.href;
    var params = getParamsFromUrl(url);
    if(hasContent(params.month)){
        createArticleMenuFlash();
    }
    var html = createFlashMarkup("munnudi.swf", null, 700);
    document.getElementById(wrapid).innerHTML = html;
    showRightBar();
}

//embeds the About Us content
function createAboutUs(wrapid){
    var url = document.location.href;
    var params = getParamsFromUrl(url);
    if(hasContent(params.month)){
        createArticleMenuFlash();
    }
    var html = createFlashMarkup("parichaya.swf", null, 700);
    document.getElementById(wrapid).innerHTML = html;
    showRightBar();
}

//displays the categories menu on the feedback page
function showFeedbackPage(){
    var url = document.location.href;
    var params = getParamsFromUrl(url);
    if(hasContent(params.month)){
        createArticleMenuFlash();
    }
    hideJsKitCancel();
    showRightBar();
}


//puts the flash object in given node - currently unused
//uses SWFObject
function createFlashObject(attachTo, url, width, height){
    width = (width == null) ? "100%" : width;
    height = (height == null) ? "100%" : height;
    var so = new SWFObject(url, null, width, height, "6", null, "high");
    so.addParam("scale", "exactfit");
    so.addParam("salign", "tl");
    so.write(attachTo);
}

//returns the Html markup for the Flash embed with given swf url, width, height
//if width and height are null, they default to "100%"
function createFlashMarkup(url, width, height){
    width = (width == null) ? "100%" : width;
    height = (height == null) ? "100%" : height;

    var html = '<object id="categoryMenu" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'
+'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='
+'7,0,0,0"  width="'+ width + '" height="'+height+'" align="left">'
+' <param name="allowScriptAccess" value="sameDomain" />'
+'  <param name="movie" value="'+url+'" />'
+'  <param name="menu" value="false" />    '
+'  <param name="quality" value="high" />    '
+'  <param name="salign" value="tl"/>'
+'    <embed src="'+url+'" menu="false" name="categoryMenu" swliveconnect="true" ' + 'quality="high" width="'+width+'" height="'+height+'" allowScriptAccess="sameDomain" type="application/x-'
+'shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" salign="tl"/>'
+'     </object>';
    return html;
}

function hasContent(str){
    if(typeof(str) != "undefined" && str != null 
      && str != ""){
        return true;
    }else{
        return false;
    }
}

function getParamsFromUrl(url){
   var params = new Object();
   if (url){
       var mres = url.match(/[\?\&]([^\?\&=]*=[^\?\&=]*)/g);
       if (mres != null){
           for (var i=0;i<mres.length;i++) {
               var sides = mres[i].split('=');
               params[sides[0].substring(1)] = sides[1];
           }
       }
   }
   return params;
}
