/*
 * Common Javascript used on the side
 */

 function clearSearch(inpVal)
 {
	if(inpVal.value == "Image name or Keyword") {
		inpVal.value = '';
		inpVal.style.color = 'BLACK';
		document.srchForm.elements['srch'].disabled=false;
	}
 }


/* Disable the buttons before submitting the Send to Friend form */
function disableSP()
{	
	document.getElementById('gSubmit').disabled=true;
	document.getElementById('rst').disabled=true;
	document.getElementById('gSubmit').value="sending";	
}


/* Set the highlight for the thumbnails, mouseover goes black & white */
 
function setHighlight(obj, flag){
	if (flag)
		obj.className='thumbBoxH';
	else
		obj.className='thumbBox';
}

/* Used for Left Navigation, shows or hides a layer */
function showLayer(lyr)
{	
	// determine if models are showing or not, switch view
	if (document.getElementById(lyr).style.display=='none') {
		document.getElementById(lyr).style.display='block';
		createCookie(lyr,"T",30);		
	}
	else {
		document.getElementById(lyr).style.display='none';
		eraseCookie(lyr);
	}
}

/* Used for Left Navigation, creates cookie to remember layer settings */
function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/* Used for Left Navigation, reads cookie for layer settings */
function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/* Used for Left Navigation, erases layer settings cookie */
function eraseCookie(name)
{
	createCookie(name,"",-1);
}



/* fadeinLayer()
 *	Fades in a DIV
 * Pass: oFrom, oTo, fSpeed, dLyr
 */
function fadeinLayer(oFrom, oTo, fSpeed, dLyr)
{
	if (oFrom<oTo){
		oFrom += fSpeed;
		if(!document.all && document.getElementById)
			document.getElementById(dLyr).style.MozOpacity = oFrom/100;
		else
			document.getElementById(dLyr).style.filter= 'alpha(opacity='+oFrom+')';
		setTimeout('fadeinLayer('+oFrom+','+oTo+','+fSpeed+',\''+dLyr+'\')',fSpeed);
	}	
}

/* fadeoutLayer()
 * Fades out a Div
 * Pass: oFrom,  fSpeed, dLyr
 */
function fadeoutLayer(oFrom, fSpeed, dLyr)
{
	if (oFrom>0){
		oFrom -= fSpeed;			
		if(!document.all && document.getElementById)
			document.getElementById(dLyr).style.MozOpacity = oFrom/100;
		else
			document.getElementById(dLyr).style.filter= 'alpha(opacity='+oFrom+')';
		setTimeout('fadeoutLayer('+oFrom+','+fSpeed+',\''+dLyr+'\')',fSpeed);
	}
	else
		document.getElementById(dLyr).style.display='none';	
}

/* selVis()
 * Hide/Show all Select Boxes, they show through DIVs
 * Pass 'hide', 'show'
 */ 
function 	selVis(vis){	var sels, i, dispSel;
	
	if(vis=='hide')
		dispSel = 'none';
	else
		dispSel = '';	
	sels = document.getElementsByTagName("select");    for (i = 0; i != sels.length; i++)
		sels[i].style.display = dispSel;}

//function showFriendold()
//{
//    var arrayPageSize = getPageSize();    
//	var theLyr = document.getElementById('friendDiv');
//	var theLyr2 = document.getElementById('friendBg');
//	var theLyr3 = document.getElementById('friendCenter');
//	selVis('hide');
	
//	theLyr.style.top=1;
//	theLyr2.style.top=1;
//	theLyr2.style.height = (arrayPageSize[1] + 'px');
//	theLyr2.style.display='block';
//	theLyr.style.display='block';
//	theLyr3.style.display='block';	
    
//	fadeinLayer(0,70,10,'friendBg');
//	fadeinLayer(0,100,10,'friendDiv');
//}
/* hideFriend()
 * hide the refer to friend div
 */
//function hideFriend()
//{
//selVis('show');
//lyr='pgFader'
//	fadeoutLayer(100,15,'friendDiv');
//	fadeoutLayer(70,10,'friendBg');	
//}
/* give anchors with attribute rel="outside" a target attribute of "_blank" */

function extLinks() {
	if (!document.getElementsByTagName) return;
	  
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "outside")
			anchor.target = "_blank";
    }
}
var opac;
var lyr;
/* showFriend()
 * show the refer to friend to div
 */
function showFriend(pg)
{
	loadForm(pg);
	var objFader = document.getElementById('pgFader');
	var objFriend = document.getElementById('sendtofriend');
	var objFOver = document.getElementById('pgOverlay');
	var arrayPageSize = getPageSize();
	
	objFader.style.height=arrayPageSize[1]+"px";
	objFOver.style.height=arrayPageSize[1]+"px";
	//objFOver.style.display='block';

	objFriend.style.left=(document.body.clientWidth/2)-280+'px';
	objFriend.style.top=10;
	//objFriend.style.display='block';
	
	opac=0;
	lyr='pgFader';
	selVis('hide');
	fadein();	
}

/*
 * Closes Sent to Friend Contact Layer
 */
function clForm() {
	opac=50;
	lyr='pgFader';
	document.getElementById('sendtofriend').style.display='none';
	fadeout();	
	selVis('show');
}
function fadein()
{
	if (opac!=50){
		opac +=10;			
		if(!document.all && document.getElementById)
			document.getElementById(lyr).style.MozOpacity = opac/100;
		else
			document.getElementById(lyr).style.filter= 'alpha(opacity='+opac+')';
		if (opac==10)
			document.getElementById(lyr).style.display='block';
		setTimeout('fadein()',10);
	}	
	else
		document.getElementById('sendtofriend').style.display='block';
}
function fadeout()
{
	if (opac!=0){
		opac -=10;			
		if(!document.all && document.getElementById)
			document.getElementById(lyr).style.MozOpacity = opac/100;
		else
			document.getElementById(lyr).style.filter= 'alpha(opacity='+opac+')';
		setTimeout('fadeout()',10);
	}	
	else {
		//selVis('hide');
		document.getElementById(lyr).style.display='none';
	}

}
function hideHelp()
{
	document.getElementById('dHelp').style.display='none';
}

/*********/
var xmlHttp;

function loadForm(pg)
{ 
	if (pg.length > 0)
	{ 
		var url="/Contact/sendpage.asp?sid=" + Math.random() + "&p=" + pg;
		xmlHttp=GetXmlHttpObject(stateChanged);
		xmlHttp.open("GET", url , true);
		xmlHttp.send(null);
	} 
	else
	{ 
		document.getElementById("sendtofriend").innerHTML="";
	}
} 

function sendForm()
{ 
	var url="/Contact/sendpage.asp";
	xmlHttp=GetXmlHttpObject(stateChanged);
	xmlHttp.open("POST", url , true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"); 
	xmlHttp.send(null);
	return false;
} 

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ 
document.getElementById("sendtofriend").innerHTML=xmlHttp.responseText ;
} 
} 

function GetXmlHttpObject(handler)
{ 
var objXmlHttp=null

if (navigator.userAgent.indexOf("Opera")>=0)
{
	try{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
	catch(e)	{
		alert("Error your browser won't let you submit this form.") 
		return 
	}
}
if (navigator.userAgent.indexOf("MSIE")>=0 )
{ 
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"
} 
try
{ 
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler 
return objXmlHttp
} 
catch(e)
{ 
alert("Error. Scripting for ActiveX might be disabled. Sorry you can't use this form.") 
return 
} 
} 
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler 
return objXmlHttp
}
} 
/*********/
var http_request = false;
function makePOSTRequest(url, parameters) {
   http_request = false;
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
         http_request.overrideMimeType('text/xml');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }
   if (!http_request) {
      alert('Cannot create XMLHTTP instance');
      return false;
   }
      
   http_request.onreadystatechange = alertContents;
   http_request.open('POST', url, true);
   http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   http_request.setRequestHeader("Content-length", parameters.length);
   http_request.setRequestHeader("Connection", "close");
   http_request.send(parameters);
}

function alertContents() {
   if (http_request.readyState == 4) {
      if (http_request.status == 200) {            
         result = http_request.responseText;
         document.getElementById('sendtofriend').innerHTML = result;            
      } else {
 		alert(http_request.status);
         alert('There was a problem with the request.');
      }
   }
}
   
function get(obj) {
   var poststr = "message=" + encodeURI( document.getElementById("message").value )+
 						"&pageURL=" + encodeURI( document.getElementById("pageURL").value )+
 						"&pageDesc="+ encodeURI( document.getElementById("pageDesc").value )+
 						"&name="+ encodeURI( document.getElementById("name").value )+
 						"&email+"+ encodeURI( document.getElementById("email").value )+
 						"&frname="+ encodeURI( document.getElementById("frname").value )+
 						"&fremail="+ encodeURI( document.getElementById("fremail").value );
 	
 	
   makePOSTRequest('/Contact/sendpage.asp', formData2QueryString(obj));
  // makePOSTRequest('/Contact/sendpage.asp', poststr);
   return false;
}


function formData2QueryString(docForm) {

  var submitContent = '';
  var formElem;
  var lastElemName = '';
  
  for (i = 0; i < docForm.elements.length; i++) {
    
    formElem = docForm.elements[i];
    switch (formElem.type) {
      // Text fields, hidden form elements
      case 'text':
      case 'hidden':
      case 'password':
      case 'textarea':
      case 'select-one':
        submitContent += formElem.name + '=' + escape(formElem.value) + '&'
        break;
        
      // Radio buttons
      case 'radio':
        if (formElem.checked) {
          submitContent += formElem.name + '=' + escape(formElem.value) + '&'
        }
        break;
        
      // Checkboxes
      case 'checkbox':
        if (formElem.checked) {
          // Continuing multiple, same-name checkboxes
          if (formElem.name == lastElemName) {
            // Strip of end ampersand if there is one
            if (submitContent.lastIndexOf('&') == submitContent.length-1) {
              submitContent = submitContent.substr(0, submitContent.length - 1);
            }
            // Append value as comma-delimited string
            submitContent += ',' + escape(formElem.value);
          }
          else {
            submitContent += formElem.name + '=' + escape(formElem.value);
          }
          submitContent += '&';
          lastElemName = formElem.name;
        }
        break;
        
    }
  }
  // Remove trailing separator
  submitContent = submitContent.substr(0, submitContent.length - 1);
  return submitContent;
}

window.onload = extLinks;

