isIE=document.all;
isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;
var LayerName;
LayerName = "";
var isLoaded;
isLoaded=0;

function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
//  whichDog=isIE ? document.all.theLayer : document.getElementById("theLayer");
  hotDog=isIE ? event.srcElement : e.target;  
//  while (hotDog.id!="titleBar"&&hotDog.tagName!=topDog){
//    hotDog=isIE ? hotDog.parentElement : hotDog.parentNode;
//  }  
  if (hotDog.id=="titleBar"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(document.getElementById(LayerName).style.left);
    nowY=parseInt(document.getElementById(LayerName).style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e){
  if (!ddEnabled) return;
  document.getElementById(LayerName).style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  document.getElementById(LayerName).style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(whatDog){
  if (!isN4) return;
  N4=eval(whatDog);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e){
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function(){
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}

function hideMe(){
  if (isIE||isNN) document.getElementById(LayerName).style.visibility="hidden";
  else if (isN4) document.getElementById(LayerName).visibility="hide";
  LayerName  = "";
  isLoaded=0;
}

function showMe(LName){
  if (isLoaded==1){hideMe();}
  isLoaded=1;
  LayerName = LName;
  setPosition();
  if (isIE||isNN) document.getElementById(LayerName).style.visibility="visible";
  else if (isN4) document.getElementById(LayerName).visibility="show";
}

  document.onmouseup=Function("ddEnabled=false");
  document.onmousedown=ddInit;


function setPosition(){

	if (LayerName!=""){	
	  scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
	  }
	
	  var myWidth = 0, myHeight = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight - 15;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	  }
	
		//document.getElementById(LayerName).style.top = (scrOfY+myHeight/2)-125; 
		var msgboxheight = document.getElementById(LayerName).offsetHeight;
		var top_position = (scrOfY+myHeight/2);
		if (msgboxheight > (myHeight/2)){
			top_position = top_position - (msgboxheight-(myHeight/2));
		}
		else{
			top_position = top_position + ((myHeight/2)-msgboxheight);
		}
		document.getElementById(LayerName).style.top = top_position;
		document.getElementById(LayerName).style.left = 0;
	}
}

//--- Load Page into DIV

function ReadPageContent(url, target) {
  document.getElementById(target).innerHTML = 'Loading...';
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {PageResponse(url, target);};
    req.open("GET", url, true);
    req.send("");
  }
}  

function PageResponse(url, target) {
  if (req.readyState == 4) { // only if req is "loaded"
    if (req.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req.responseText;
    } else {
      document.getElementById(target).innerHTML=" Error:\n"+ req.status + "\n" +req.statusText;
    }
  }
}

function LoadPage(name, div) {
	ReadPageContent(name, div);
}

//--- Load Page into DIV

function ReadPageContent1(url, target) {
  document.getElementById(target).innerHTML = 'Loading...';
  if (window.XMLHttpRequest) {
    req1 = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req1 = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req1 != undefined) {
    req1.onreadystatechange = function() {PageResponse1(url, target);};
    req1.open("GET", url, true);
    req1.send("");
  }
}  

function PageResponse1(url, target) {
  if (req1.readyState == 4) { // only if req is "loaded"
    if (req1.status == 200) { // only if "OK"
      document.getElementById(target).innerHTML = req1.responseText;
    } else {
      document.getElementById(target).innerHTML=" Error:\n"+ req1.status + "\n" +req1.statusText;
    }
  }
}

function LoadPage1(name, div) {
	ReadPageContent1(name, div);
}

function CreateNavRow(nav_name,nav_url,nav_type) { //without sub nav (red arrow)
/*
nav_type
0=non-selected nav
1=selected w/o subnav
2=selected w/ subnav
3=non-selected subnav
4=selected subnav

*/
	switch (nav_type){
		case 0 : //non-selected nav
		document.write('		<tr>');
		document.write('          <td width="5" style="border-bottom:#E9E9E9 1px solid;"><img src="images/icn_arrow_red.gif" alt="Arrow" width="3" height="5" /></td>');
		document.write('          <td width="170" style="border-bottom:#E9E9E9 1px solid;"><a href="' + nav_url + '" class="leftnav">' + nav_name + '</a></td>');
		document.write('        </tr>');
		break
		
		case 1 : //selected nav w/o sub nav
		document.write('		<tr>');
		document.write('          <td width="5" style="border-bottom:#E9E9E9 1px solid;"><img src="images/icn_arrow_black.gif" alt="Arrow" width="3" height="5" /></td>');
		document.write('          <td width="170" style="border-bottom:#E9E9E9 1px solid;"><a href="' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
		document.write('        </tr>');
		break
		
		case 2 : //selected nav (with sub nav)
        document.write('<tr>');
        document.write('  <td height="14" style="border-bottom:#E9E9E9 1px solid;"><img src="images/icn_arrow_black_down.gif" alt="Arrow" width="5" height="3" /></td>');
        document.write('  <td width="170" class="leftnavoffsel" style="border-bottom:#E9E9E9 1px solid;"><a href="' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
		case 3 : //non-selected subnav
		document.write('        <tr>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;">&nbsp;</td>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;"><img src="images/icn_arrow_red.gif" alt="Arrow" width="3" height="5" hspace="5" vspace="5" align="absmiddle" /><a href="' + nav_url + '" class="leftnav">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
		case 4 : //selected subnav
		document.write('        <tr>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;">&nbsp;</td>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;"><img src="images/icn_arrow_black.gif" alt="Arrow" width="3" height="5" hspace="5" vspace="5" align="absmiddle" /><a href="' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
	}
}

function CreateNavRow1(nav_name,nav_url,nav_type) { //without sub nav (red arrow)
/*
nav_type
0=non-selected nav
1=selected w/o subnav
2=selected w/ subnav
3=non-selected subnav
4=selected subnav

*/
	switch (nav_type){
		case 0 : //non-selected nav
		document.write('		<tr>');
		document.write('          <td width="5" style="border-bottom:#E9E9E9 1px solid;"><img src="../images/icn_arrow_red.gif" alt="Arrow" width="3" height="5" /></td>');
		document.write('          <td width="170" style="border-bottom:#E9E9E9 1px solid;"><a href="../' + nav_url + '" class="leftnav">' + nav_name + '</a></td>');
		document.write('        </tr>');
		break
		
		case 1 : //selected nav w/o sub nav
		document.write('		<tr>');
		document.write('          <td width="5" style="border-bottom:#E9E9E9 1px solid;"><img src="../images/icn_arrow_black.gif" alt="Arrow" width="3" height="5" /></td>');
		document.write('          <td width="170" style="border-bottom:#E9E9E9 1px solid;"><a href="../' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
		document.write('        </tr>');
		break
		
		case 2 : //selected nav (with sub nav)
        document.write('<tr>');
        document.write('  <td height="14" style="border-bottom:#E9E9E9 1px solid;"><img src="../images/icn_arrow_black_down.gif" alt="Arrow" width="5" height="3" /></td>');
        document.write('  <td width="170" class="leftnavoffsel" style="border-bottom:#E9E9E9 1px solid;"><a href="../' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
		case 3 : //non-selected subnav
		document.write('        <tr>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;">&nbsp;</td>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;"><img src="../images/icn_arrow_red.gif" alt="Arrow" width="3" height="5" hspace="5" vspace="5" align="absmiddle" /><a href="../' + nav_url + '" class="leftnav">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
		case 4 : //selected subnav
		document.write('        <tr>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;">&nbsp;</td>');
        document.write('  <td style="border-bottom:#E9E9E9 1px solid;"><img src="../images/icn_arrow_black.gif" alt="Arrow" width="3" height="5" hspace="5" vspace="5" align="absmiddle" /><a href="../' + nav_url + '" class="leftnavoffsel">' + nav_name + '</a></td>');
        document.write('</tr>');
		break;
		
	}
}

function ShowNav(nav_id, nav_sub_id) {
/*
nav_id:
1. About Us
2. Services
3. Experiences
4. Articles
5. Alliances
6. Contact Us
*/

	//we dont use array 0 to avoid confusing with nav_id
	var data_nav = new Array(10);
	var data_nav_URL = new Array(10);
	var total_nav;
	
	//create 2 dimensional array for subnav
	var data_subnav = new Array(10);
	var data_subnav_URL = new Array(10);
	for (i=1; i <=10; i++){
	data_subnav[i] = new Array(10);
	data_subnav_URL[i] = new Array(10);
	}
	//total the number of subnav for each nav
	var total_subnav = new Array(10);

	//enter nav data
	total_nav=6;
	data_nav[1]="About Us";data_nav_URL[1]="about_us.html";
	data_subnav[1][1]="Our Team";data_subnav_URL[1][1]="our_team.html";
	data_subnav[1][2]="Management";data_subnav_URL[1][2]="management.html";
	total_subnav[1]=2;
	
	data_nav[2]="Services";data_nav_URL[2]="services.html";
	data_subnav[2][1]="Audit and Review";data_subnav_URL[2][1]="audit_review.html";
	data_subnav[2][2]="Assessment";data_subnav_URL[2][2]="assessment.html";
	data_subnav[2][3]="Development";data_subnav_URL[2][3]="development.html";
	data_subnav[2][4]="Training";data_subnav_URL[2][4]="training.html";
	total_subnav[2]=4;
	
	data_nav[3]="Experiences";data_nav_URL[3]="experiences.html";
	total_subnav[3]=0;
	
	data_nav[4]="Articles";data_nav_URL[4]="articles.html";
	data_subnav[4][1]="Man-In-The-Middle Attack On 2FA";data_subnav_URL[4][1]="articles/web_2fa.html";
	data_subnav[4][2]="Be Careful What You Share";data_subnav_URL[4][2]="articles/becareful_what_you_share.html";
	data_subnav[4][3]="Security Considerations for Rich Client Design";data_subnav_URL[4][3]="articles/rich_client.html";
	data_subnav[4][4]="CISCO Security TechByte 2009 Presentation Slide: Web Application Security Threats - Your Network Defense Can't Stop Them";data_subnav_URL[4][4]="articles/webappsecurity.html";
	total_subnav[4]=4;
	
	data_nav[5]="Alliances";data_nav_URL[5]="alliances.html";
	data_subnav[5][1]="SCS";data_subnav_URL[5][1]="alliance_scs.html";
	data_subnav[5][2]="BT Frontline";data_subnav_URL[5][2]="alliance_frontline.html";
	data_subnav[5][3]="SYSTEX";data_subnav_URL[5][3]="alliance_systex.html";
	total_subnav[5]=3;
	
	data_nav[6]="Contact Us";data_nav_URL[6]="contact_us.html";
	total_subnav[6]=0;

	//write table
	document.write('		<table width="190" border="0" cellspacing="0" cellpadding="1" class="content">');
	if (nav_id==4 && nav_sub_id!=0 ){
		for(i=1;i<=total_nav;i++){
			if (nav_id==i){
				if(total_subnav[i]>0){//selected w sub menu
					CreateNavRow1(data_nav[i],data_nav_URL[i],2);
					//create sub nav menu
					for(j=1;j<=total_subnav[i];j++){
						if(nav_sub_id!=j){CreateNavRow1(data_subnav[i][j],data_subnav_URL[i][j],3);} //non-selected sub nav
						else{CreateNavRow1(data_subnav[i][j],data_subnav_URL[i][j],4);} //selected sub nav
					}
				} 
				else{CreateNavRow1(data_nav[i],data_nav_URL[i],1);}//w/o sub menu
			}
			else{CreateNavRow1(data_nav[i],data_nav_URL[i],0);}//non-selected nav
		}
	}
	else{
		for(i=1;i<=total_nav;i++){
			if (nav_id==i){
				if(total_subnav[i]>0){//selected w sub menu
					CreateNavRow(data_nav[i],data_nav_URL[i],2);
					//create sub nav menu
					for(j=1;j<=total_subnav[i];j++){
						if(nav_sub_id!=j){CreateNavRow(data_subnav[i][j],data_subnav_URL[i][j],3);} //non-selected sub nav
						else{CreateNavRow(data_subnav[i][j],data_subnav_URL[i][j],4);} //selected sub nav
					}
				} 
				else{CreateNavRow(data_nav[i],data_nav_URL[i],1);}//w/o sub menu
			}
			else{CreateNavRow(data_nav[i],data_nav_URL[i],0);}//non-selected nav
		}
	}
	document.write('    <tr>');
    document.write('      <td>&nbsp;</td>');
    document.write('      <td>&nbsp;</td>');
    document.write('    </tr>');
	document.write('		</table>');

}

function showHighlight(url)
{
	var newwindow;
	newwindow=window.open(url,'name','height=300,width=500,top=10,left=10,resizable=1,status=0,menubar=no,scrollbars=no,location=no');
	if (window.focus) {newwindow.focus()}
}

function showHighlight1(url)
{
	var newwindow;
	newwindow=window.open(url,'name','height=300,width=500,top=10,left=10,resizable=0,status=0,menubar=no,scrollbars=no,location=no');
	if (window.focus) {newwindow.focus()}
}

function windowResize(){
	var wHeight = document.getElementById("popup_window").offsetHeight;
	var wWidth = document.getElementById("popup_window").offsetWidth;
	this.window.resizeTo(wWidth+12,wHeight+80);
}

function ChangeColor1(tdLayerName){
	document.getElementById(tdLayerName).style.color="#000000";
	//document.getElementById(tdLayerName).style.font="normal";
}

function ChangeColor2(tdLayerName){
	document.getElementById(tdLayerName).style.color="#afafaf";
	//document.getElementById(tdLayerName).style.font="bold";
}

function PSCopyright(){
	var d = new Date();
	var curr_year = d.getFullYear();
	document.write("Copyright &copy; " + curr_year + " PulseSecure Pte Ltd");
}
