var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
var isMSIE  = (navigator.userAgent.indexOf("MSIE") != -1) && (!isOpera);
var isGecko = (navigator.userAgent.indexOf("Gecko") != -1) && (!isOpera);
var isWin32  = (navigator.userAgent.indexOf("Windows") != -1);
var isFirefox = (navigator.userAgent.indexOf("Firefox") != -1);

function crossBrowserSetting(){
    if(isFirefox){
        if((document.getElementById("navigation"))&& (document.getElementById("sneIcon"))){
            //document.getElementById("navigation").style.height="80px";
            document.getElementById("navigation").style.width="596px";
            //document.getElementById("sneIcon").style.marginBottom="3px";
        }
    }
}

function showBlog(id){
    if(document.getElementById(id)){
	document.getElementById("blogID").innerHTML = document.getElementById(id).innerHTML;
    }
}

function showInsights(id){
    if(document.getElementById(id)){
	document.getElementById("insightsID").innerHTML = document.getElementById(id).innerHTML;
    }
}


function loadBlogs(date, blog, comments) {
    
    if(document.getElementById("blogID")){
        document.getElementById("blogID").innerHTML = "<div> - "+date+" - </div><br/><div>"+filter(blog)+"</div><br/><br/>"+getComments(comments);
    }
    else alert("error!");
}


function loadBlogs2(ID){
    var contentID = "blogID";
    var bID = "blog"+ID;
    if(document.getElementById(bID)){
        document.getElementById(contentID).innerHTML = innerTextTransformation(document.getElementById(bID).innerHTML);
        if(!isMSIE)fixHeight();
    }else alert("Loading Blog Error!");
   
}

function loadInsights(ID){
    var contentID = "insightsID";
    var bID = "insight"+ID;
    if(document.getElementById(bID)){
        document.getElementById(contentID).innerHTML = innerTextTransformation(document.getElementById(bID).innerHTML);
        if(!isMSIE)fixHeight();
    }else alert("Loading Insights Error!");

}

function loadCommentForms(ID){
    if(document.getElementById("commentForm")){
        document.getElementById("commentForm").innerHTML ='<div>Write a comment</div><div class="commentFormContent"><form action="" method="post" id="commentform"><input type=hidden name=todo value=post_comment><input type=hidden name=bID value='+(ID*1+1)+'><input type="text" name="author" id="author" value="" class="textfield" tabindex="1" /> Name (Required)<br /><input type="text" name="email" id="email" value="" class="textfield" tabindex="2" /> Email (Required, not to be displayed)<br /><input type="text" name="url" id="url" value="" class="textfield" tabindex="3" /> Website (Optional)<br /><textarea name="comment" id="comment" class="commentbox" tabindex="4"></textarea><input type="submit" name="submit" tabindex="5" class="submit" value="Add your comment" /></form></div>'
    }//else alert("Loading Comment Form Error!");
}


function filter(blog){
    var result = "";
    var lnbkr= "%$#lnbkr#$%";
    var tab = "%$#tab#$%";
    var quote = "%%%q%%%";
    var qquote = "%$#qq#$%";
    var lnbkrR = "<br/>";
    var tabR = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    var quoteR = "'";
    var qquoteR = "\"";
  
    //result = blog.replace(/"%$#q#$%"/g, quoteR);
    //result = result.replace(/qquote/g, qquoteR);
    result = blog.replace(/%%%q%%%/g, quoteR);
    result = result.replace(/%%%qq%%%/g, qquoteR);
    result = result.replace(/%%%tab%%%/g, tabR);
    result = result.replace(/%%%lnbkr%%%/g, lnbkrR);
    
    return result;
}

function getComments(comments){
    var lines;
    var temp;
    var result="";

    lines=comments.split("&&&");//&&& is the comment splitter.
    var numl=lines.length-1;

    if(numl>0){//if there is at least one comment...
        result+="<div><table class='commentTable'>";

        for(var i=0; i<numl;i++){
            temp=lines[i].split("|||");
            var len = temp.length;
            if(len==3){
                result+="<tr><td class='commentContent'><b><i>"+temp[0]+"</i></b> left a comment on <u>"+temp[1]+"</u></td></tr><tr><td class='commentContentInner'>"+"&nbsp;&nbsp;&nbsp;&nbsp;"+temp[2]+"<br/><br/></td><tr>";
            }
            /*
            for(var k=0;k<temp.length;k++){
                alert("temp"+k+" is: "+temp[k]);
            }*/
        }
        //alert(numl);

        result+="</table></div>";
    }
    return result;
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}   

function fixHeight(){

//  var realHeight = getDocHeight();
    var realHeight = 800;
    var mainContentHeight = document.getElementById('mainContent').style.height;
    var insideHeight="";

    if(mainContentHeight!=''){
//    alert("maincontentheight = "+mainContentHeight);
    mainContentHeight = ((mainContentHeight.split("px"))[0])*1;
    }    

    if(document.getElementById('insightsID'))  insideHeight = document.getElementById('insightsID').offsetHeight*1;
    if(document.getElementById('blogID'))  insideHeight = document.getElementById('blogID').offsetHeight*1;
    //if(document.getElementById('milestonesID'))  insideHeight = document.getElementById('milestonesID').offsetHeight*1;
    //if(document.getElementById('2mChallengeID'))  insideHeight = document.getElementById('2mChallengeID').offsetHeight*1;

//  alert("realHeight = "+realHeight+"; mainContentHeight = "+mainContentHeight+"; and insightsHeight = "+insideHeight);
//  if((realHeight*1 > 800)&&((mainContentHeight>640)||(mainContentHeight==''))){
    if(insideHeight>267){
        var diff = insideHeight*1-267;
//      alert("insideHeight = "+insideHeight+", diff = "+diff);

        document.getElementById('mBox').style.height = 800 + diff;
        document.getElementById('content1ID').style.height = realHeight - 80 + diff;
        document.getElementById('mainContent').style.height = realHeight - 160 + diff;
    }
    else{
        realHeight=800;
        document.getElementById('mBox').style.height = realHeight;
        document.getElementById('content1ID').style.height = realHeight - 80;
        document.getElementById('mainContent').style.height = realHeight - 160;
    }
//    alert("content1ID = "+document.getElementById('content1ID').style.height+"; mainContentHeight = "+document.getElementById('mainContent').style.height+"; and insightsHeight = "+insideHeight);
}

function fixHeight2(){

//  var realHeight = getDocHeight();
    var realHeight = 800;
    var mainContentHeight = document.getElementById('mainContent').style.height;
    var insideHeight="";

    if(mainContentHeight!=''){
//    alert("maincontentheight = "+mainContentHeight);
    mainContentHeight = ((mainContentHeight.split("px"))[0])*1;
    }    

//    if(document.getElementById('insightsID'))  insideHeight = document.getElementById('insightsID').offsetHeight*1;
//    if(document.getElementById('blogID'))  insideHeight = document.getElementById('blogID').offsetHeight*1;
    if(document.getElementById('milestonesID'))  insideHeight = document.getElementById('milestonesID').offsetHeight*1;
    else if(document.getElementById('2mChallengeID'))  insideHeight = document.getElementById('2mChallengeID').offsetHeight*1;

//  alert("realHeight = "+realHeight+"; mainContentHeight = "+mainContentHeight+"; and insightsHeight = "+insideHeight);
//  if((realHeight*1 > 800)&&((mainContentHeight>640)||(mainContentHeight==''))){
    if(insideHeight>600){
        var diff = insideHeight*1-600;
//      alert("insideHeight = "+insideHeight+"; diff = "+diff);

        document.getElementById('mBox').style.height = 800 + diff;
        document.getElementById('content1ID').style.height = realHeight - 80 + diff;
        document.getElementById('mainContent').style.height = realHeight - 160 + diff;
    }
    else{
        realHeight=800;
        document.getElementById('mBox').style.height = realHeight;
        document.getElementById('content1ID').style.height = realHeight - 80;
        document.getElementById('mainContent').style.height = realHeight - 160;
    }
//    alert("mboxHeight = "+document.getElementById('mBox').style.height+"mainContentHeight = "+document.getElementById('mainContent').style.height+"; and insightsHeight = "+insideHeight);
}

function innerTextTransformation(str) {
    var temp="";
    //alert("search="+str.search("ittbold"));
    if(str) {
	    temp = str;
	    if(temp.indexOf("ittcolor")>0)temp = ittColor(str);
	    if(temp.indexOf("ittbold")>0)temp = ittBold(temp);
	    if(temp.indexOf("ittimage")>0)temp = ittImage(temp);
	    if(temp.indexOf("ittlink")>0)temp = ittLink(temp);    	
    }

    //document.getElementById("whole").innerHTML += temp;
    return temp;
 }

 function ittColor(content) {//format - <ittcolor?colorname>xyz</ittcolor> 
    var newstr="";
    var color="";
    var colorPre = "";
    var colorPost = "font>";

    if(content) newstr = content;
    
    while(newstr.indexOf("ittcolor")>0){
     	  if(newstr.indexOf("ittcolor?yellow")>0){
         	  colorPre = "font style='color:yellow;'";
         	  newstr = newstr.replace("ittcolor?yellow", colorPre);
     	  }
     	  else if(newstr.indexOf("ittcolor?red")>0){
         	  colorPre = "font style='color:red;'";
         	  newstr = newstr.replace("ittcolor?red", colorPre);
     	  }
     	  else if(newstr.indexOf("ittcolor?green")>0){
         	  colorPre = "font style='color:green;'";
         	  newstr = newstr.replace("ittcolor?green", colorPre);
     	  }
     	  else if(newstr.indexOf("ittcolor?blue")>0){
         	  colorPre = "font style='color:blue;'";
         	  newstr = newstr.replace("ittcolor?blue", colorPre);
     	  }
     	  else {alert("Color Transformation Error!");break;}
        newstr = newstr.replace("ittcolor>", colorPost);
        
    }
    //document.getElementById("color").innerHTML += newstr;
    return newstr;
 }

 function ittBold(content) {//format - <ittbold>xyz</ittbold>
    var newstr="";
    var bold = "b";

    if(content) newstr = content;

    if(content.indexOf("ittbold")>0){
        while (newstr.indexOf("ittbold")>0) newstr = newstr.replace("ittbold", bold);
    }

    //document.getElementById("bold").innerHTML += newstr;
    return newstr;
 }

 function ittImage(content) {//format - <ittimage?image_fullname>
      var newstr="";
      var temp="", temp1, temp2;
      var image="";
      var imagePre = "<img border='0' src='images/";
      var imagePost = "img>";

		if(content){
			newstr = content;
			var i = 0;
			while(newstr.indexOf("ittimage")>0){
				image = "<br/>"+imagePre+(((newstr.split("ittimage?"))[1]).split(">"))[0]+"'><br/>";
				temp = newstr.substring((newstr.indexOf("<ittimage?")+1));
				temp1 = (newstr.split("<ittimage?"))[0];
				temp2 = temp.substring((temp.indexOf(">")+1));
				newstr = temp1+image+temp2;	
				i++;
				if(i==3)break;	
			}

		}
      //document.getElementById("image").innerHTML += newstr;
      return newstr;
 }

 function ittLink(content) {//format - <ittlink?hyperlink>xyz</ittlink>
      var newstr="";
      var temp="", temp1, temp2;
      var link="";
      var linkPre = "<a target='_blank' href='";
      var linkPost = "a>";

		if(content){
			newstr = content;
      		var i=0;
			while(newstr.indexOf("ittlink")>0){
				link = linkPre+(((newstr.split("<ittlink?"))[1]).split(">"))[0]+"'>";
				temp = newstr.substring((newstr.indexOf("<ittlink?")+1));
				temp1 = (newstr.split("<ittlink?"))[0];
				temp2 = temp.substr((temp.indexOf(">")+1));
				newstr = temp1+link+temp2;
				newstr = newstr.replace("ittlink>", linkPost);
				i++;
				if(i==3)break;
			}

		}
      //document.getElementById("link").innerHTML += newstr;
      return newstr;
 }

 function hideCommentArea(){
     document.getElementById("commentForm").style.display = "none";
 }
