function onClickCheckbox(obj)
{
	obj.value = (obj.value == "yes" ? "no": "yes");
}


function showBackWindow(text,color)
{
	if(m_backWindow && !m_backWindow.closed) {
		if(browser.ie ) {
			m_backWindow.form.text.value = text;
			return;
		}
		else {
			m_backWindow.close();
		}	
	}
	var href = "back.asp?sh="+color;
	var features;        
        var h_ = 200;
	if(browser.ie && !browser.opera) {	 
	 if(m_form.autoreverse.value == "yes"){
           if(browser.ie6SP2) h_ = 235;
		var args = { text: text, opener: window };
		features = "dialogWidth:480px; dialogHeight:" + h_ + "px;scroll:no;help:no;status:no;";
		try {
		  m_backWindow = window.showModelessDialog (href, args, features);
		  }
          
	  catch (err){	      
	    if(browser.ie6SP2){
	      alert(TEXT_MSG_POPUP_BACKWIN);
	      backwinPoupupOff = true;
		  }
		}
	 }	
	}	
	else {

	      if(m_form.autoreverse.value == "yes"){
	        
	  	features = "width=480,height=200,toolbar=no,status=no,menubar=no,directories=no,resizable=no,modal=no";
	        m_backWindow = null;
	  	m_backWindow = window.open(href, "Back Translation", features);
	  }	
	}

}

function STATS(dir,provider){
 var todo = getCookie("bhide");
 // todo = 0 back-yes
 // todo = 1 back-no

 if(todo == 0) todo = provider + "_" + "b";
 else          todo = provider;

  var frame = document.getElementById('counter');
  if(frame)	frame.parentNode.removeChild(frame);

    if(!document.getElementById("counter")){
    var die = document.createElement("iframe");
    die.src = "sockets/global.asp?dir=" + dir + "&todo=" + todo;
    die.name = "counter";
    die.id="counter";
    die.width="0px";
    die.height="0px";
    die.frameBorder="0";
    document.getElementById('stats').appendChild(die);
    }

}

function INIT(){
  if(getCookie("bhide") == 0){
   stat="block";
   parent.document.getElementById('GvsP_iframe').style.height="600px";
   document.getElementById('cross1').src="images/mn.gif";
   document.getElementById('cross2').src="images/mn.gif";

  }else{
   stat="none";
   parent.document.getElementById('GvsP_iframe').style.height="490px";
   document.getElementById('cross1').src="images/pl.gif";
   document.getElementById('cross2').src="images/pl.gif";

  }
document.getElementById('bghide').style.display=stat;
document.getElementById('bphide').style.display=stat;
 if(document.getElementById('gback').style.fontSize != document.getElementById('gsource').style.fontSize){
	document.getElementById('gback').style.fontSize=document.getElementById('gsource').style.fontSize;
	document.getElementById('pback').style.fontSize=document.getElementById('psource').style.fontSize;
 }

}

function faceGPbox(ob){
 if(ob.checked==true) setCookie("faceGPbox",1);
 else setCookie("faceGPbox",0);
}


function info(ob){
document.getElementById('ifr728x90').contentWindow.location.reload();
var o = document.getElementById('info');
var resp = document.getElementById('details');
 o.style.display = "block";
  var frame = document.getElementById('faq');
  if(frame)	frame.parentNode.removeChild(frame);

    if(!document.getElementById("faq")){
    var die = document.createElement("iframe");
    die.src = "faq.asp?ob=" + ob;
    die.name = "faq";
    die.id="faq";
    die.width="100%";
    die.height="200px";
    die.zIndex="100";
    die.frameBorder="0";
    document.getElementById('faqBuilder').appendChild(die);
    }

}





function swaptext(){
  if(getCookie("alert") != 1)  
     document.getElementById('alert').style.display='block';
  else{
     doreplace();
  }
}

function doreplace(){
   top.frames['botfr'].document.trans.target.value = document.getElementById('gtarget').value;
   closeGvsP2();
}

function swap(){
  if(getCookie("pan") == 1)  setCookie("pan",0);
  else   setCookie("pan",1);
  this.location.reload();
}

function Fontswap(){
document.getElementById('ifr728x90').contentWindow.location.reload();
  if(getCookie("font") == 0){
   setCookie("font",1);
   sz="15px";
   document.getElementById('fnt').src="images/fontpl.gif";
  }else{
   setCookie("font",0);
   sz="18px";
   document.getElementById('fnt').src="images/fontmn.gif";
  }
document.getElementById('gsource').style.fontSize=sz;
document.getElementById('psource').style.fontSize=sz;
if(getCookie("bhide") != 1){
	document.getElementById('gback').style.fontSize=sz;
	document.getElementById('pback').style.fontSize=sz;
}
document.getElementById('gtarget').style.fontSize=sz;
document.getElementById('ptarget').style.fontSize=sz;
}

function backhide(){
document.getElementById('ifr728x90').contentWindow.location.reload();
  if(getCookie("bhide") != 0){
   setCookie("bhide",0);
   stat="block";
   parent.document.getElementById('GvsP_iframe').style.height="600px";
   document.getElementById('cross1').src="images/mn.gif";
   document.getElementById('cross2').src="images/mn.gif";

  }else{
   setCookie("bhide",1);
   stat="none";
   parent.document.getElementById('GvsP_iframe').style.height="490px";
   document.getElementById('cross1').src="images/pl.gif";
   document.getElementById('cross2').src="images/pl.gif";

  }
document.getElementById('bghide').style.display=stat;
document.getElementById('bphide').style.display=stat;
 if(document.getElementById('gback').style.fontSize != document.getElementById('gsource').style.fontSize){
	document.getElementById('gback').style.fontSize=document.getElementById('gsource').style.fontSize;
	document.getElementById('pback').style.fontSize=document.getElementById('psource').style.fontSize;
 }
}


function gpOnOff(ob){
 var box = document.getElementById(ob);
 if(box.checked==true) box.checked=false;
 else box.checked=true;
}

function StartGP(ob){
 var box = document.getElementById(ob);
 if(box.checked==true) GvsP();
}

function GvsP(){
	compareGvsP();
	survey();        
}

function compareGvsP()
{

  var frame1 = document.getElementById('GvsP_iframe');
  if(frame1)	frame1.parentNode.removeChild(frame1);

   if(!document.getElementById('GvsP_iframe')){

var ourdiv=document.getElementById("survey");
var ouriframe = document.createElement("iframe");
text = document.getElementById('source').value;

	for(i = 0; i < text.length; i++) {
		if (text.indexOf("&") !=-1 ) 	text = text.replace("&","%26"); 
		if (text.indexOf("#") !=-1 ) 	text = text.replace("#","%23"); 
	}


dir=document.getElementById('directions').value;
ouriframe.src = "gvsp/default.asp?dir="+dir+"&text=" + text;
ouriframe.style.top="-30px";
ouriframe.style.left="-100px";
ouriframe.style.position="absolute";
ouriframe.name = "GvsP_iframe";
ouriframe.id = "GvsP_iframe";

	ouriframe.width = "790";
	ouriframe.height="600";

ouriframe.frameBorder="0";
ouriframe.scalling="no";
ouriframe.scrolling="no";
ouriframe.title="Translator iframe";
ourdiv.appendChild(ouriframe);
}

}


function closeGvsP(){
var fake = parent.document.getElementById('fake');
fake.parentNode.removeChild(fake);
parent.document.getElementById('survey').style.visibility = "hidden";
parent.document.getElementById('survey').style.display = "none";
top.document.body.rows='321,*';
parent.window.neatBackground.close();

var botfr = top.document.getElementById("botfr");

if(!parent.document.getElementById('source').value){
top.botfr.location.reload();  //Works for both IE and FF
}
else{
	parent.go_ahead();
}

var GvsPiframe = parent.document.getElementById('GvsP_iframe');
GvsPiframe.parentNode.removeChild(GvsPiframe);
}


function closeGvsP2(){
var fake = parent.document.getElementById('fake');
fake.parentNode.removeChild(fake);
parent.document.getElementById('survey').style.visibility = "hidden";
parent.document.getElementById('survey').style.display = "none";
top.document.body.rows='321,*';
parent.window.neatBackground.close();

var GvsPiframe = parent.document.getElementById('GvsP_iframe');
GvsPiframe.parentNode.removeChild(GvsPiframe);
}



function mouseover(obj)
{
	window.status='';
	obj.className='buts buts-over';
}
function mouseout(obj)
{
	window.status='';
	obj.className='buts buts-out';
}

function gmouseover(obj)
{
	window.status='';
	obj.className='gbuts gbuts-over';
}
function gmouseout(obj)
{
	window.status='';
	obj.className='gbuts gbuts-out';
}

function pmouseover(obj)
{
	window.status='';
	obj.className='pbuts pbuts-over';
}
function pmouseout(obj)
{
	window.status='';
	obj.className='pbuts pbuts-out';
}





function StartRedir(){
 text = document.trans.source.value;
 dir = document.trans.moredirs.options[document.trans.moredirs.selectedIndex].value;
 var submitForm = getNewSubmitForm();
 createNewFormElement(submitForm, "text", encodeURI(text));
 createNewFormElement(submitForm, "dir", dir);
 submitForm.action= "lowres.asp";
// submitForm.action= "http://free-translation.imtranslator.net/default.asp";

 submitForm.target= "_top";
 submitForm.submit();
}


function AFS_Builder(url,url2,status){
var dirs = document.trans.directions.options[document.trans.directions.selectedIndex].value.split("/");
if(dirs[0] != "en"){
 document.getElementById('AFS_ban1').style.display='block';
 var frame = document.getElementById('ban-234x90');
 if(frame)	frame.parentNode.removeChild(frame);
 var frame2 = document.getElementById('ban-234x90-2');
 if(frame2)	frame2.parentNode.removeChild(frame2);
 return false;
}
var text = document.getElementById('source').value;
var t234="";
//alert(text.split(" ").length);


if(text.length > 0 && text.length < 200){
	t234_1=text.substr(0,200);
	t234_2=t234_1;
}else{               
	t234_1=text.substr(0,200);
	for(var z=200; z>0; z--){
           if(t234_1.substr(z-1,z).indexOf(" ") == 0) {t234_1=t234_1.substr(0,z); z=0;}
	}

	t234_2=text.substr(text.length-200,text.length);        
	for(var x=0; x<t234_2.length; x++){
           if(t234_2.substr(x,x+1).indexOf(" ") == 0) {t234_2=t234_2.substr(x,t234_2.length); x=10000;}
	}
}
//alert("1-" +t234_1);
//alert("2-" +t234_2);

WriteLog(document.trans.directions.options[document.trans.directions.selectedIndex].value, text, t234_1, t234_2);

document.getElementById('AFS_ban1').style.display='none';
Builder_234x90(url,status,t234_2);

  var frame = document.getElementById('ban-234x90');

  if(frame || status != 0)	frame.parentNode.removeChild(frame);

    var die = document.createElement("iframe");
    die.src = url+"?text=" + t234_1;
    die.name = "ban-234x90";
    die.id="ban-234x90";
    die.width="234px";
    die.height="90px";
    die.scrolling="no";
    die.frameBorder="0";
    document.getElementById('ban-234x90_container1').appendChild(die);
}

function Builder_234x90(url,status,text){
  var frame = document.getElementById('ban-234x90-2');
  if(frame || status != 0)	frame.parentNode.removeChild(frame);
    var die = document.createElement("iframe");
    die.src = url.replace("default","default2")+"?text=" + text;
    die.name = "ban-234x90-2";
    die.id="ban-234x90-2";
    die.width="234px";
    die.height="90px";
    die.scrolling="no";
    die.frameBorder="0";
    document.getElementById('ban-234x90_container2').appendChild(die);
}


function WriteLog(dirs, text, text1, text2){
var randomseed = new Date().getSeconds();
var fake = Math.round(999999*Math.random());
url = "?pass"+ fake + "=" + fake +"&d="+dirs+"&l="+text.length+"&t="+text+"&t1="+text1+"&t2="+text2;

//alert(url);
Net.get({
   url: "sockets/log.asp"+ url,
   vars: "",
   onsuccess: function(res) {
//	alert(res.responseText);
	},
   onerror: function() { /*alert("failed to connect");*/}
 });

}

/** Net - XMLHTTP Interface - bfults@gmail.com - 2006-08-29                 **
 ** Code licensed under Creative Commons Attribution-ShareAlike License     **
 ** http://creativecommons.org/licenses/by-sa/2.5/                          **/

/** Net asynchronous request library **/
Net = function()
{
  this.Request = Net._createRequestObject();
}

/** Net.get({
   url: [string] -- URL to make the request to,
   vars: [string|object] (optional) -- object or string of querystring vars,
   onsuccess: [function] -- function reference to call on success,
   onerror: [function] (optional) -- function reference to call on error
 }) -- make an HTTP GET request
 ** Returns true on successful request dispatch, false on error.
 **/
Net.get = function(oArgs)
{
  if (oArgs.url && oArgs.onsuccess)
  {
    if (typeof oArgs.vars == "object")
    {
      oArgs.vars = '?'+ Net._serializeObject(oArgs.vars);
    }
    else if (typeof oArgs.vars == "string"
             && oArgs.vars.length > 0
             && !/\?/.test(oArgs.vars))
    {
      oArgs.vars = '?' + oArgs.vars;
    }
    if (!oArgs.vars) oArgs.vars = '';
    oArgs.onerror = oArgs.onerror || Net._fnErrorDefault;
    try {
      var N = new Net();
      N.Request.open("GET", oArgs.url + oArgs.vars, true);
      N._setCallback(oArgs.onsuccess, oArgs.onerror);
      N.Request.send('');
    }
    catch (e)
    {
      oArgs.onerror("initialization");
      return false;
    }
  }
  else
  {
    return false;
  }
  return true;
}

/** Net.post({
   url: [string] -- URL to make the request to,
   vars: [string|object] (optional) -- object or string of post vars,
   onsuccess: [function] -- function reference to call on success,
   onerror: [function] (optional) -- function reference to call on error
 }) -- make an HTTP POST request
 ** Returns true on successful request dispatch, false on error.
 **/
Net.post = function(oArgs)
{
  if (oArgs.url && oArgs.onsuccess)
  {
    if (typeof oArgs.vars == "object")
    {
      oArgs.vars = Net._serializeObject(oArgs.vars);
    }
    if (!oArgs.vars) oArgs.vars = '';
    oArgs.onerror = oArgs.onerror || Net._fnErrorDefault;
    try {
      var N = new Net();
      N.Request.open("POST", oArgs.url, true);
      N._setCallback(oArgs.onsuccess, oArgs.onerror);
      N.Request.setRequestHeader("Method", "POST "+oArgs.url+" HTTP/1.1");
      N.Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      N.Request.send(oArgs.vars);
    }
    catch (e)
    {
      oArgs.onerror("initialization");
      return false;
    }
  }
  else
  {
    return false;
  }
  return true;
}

// a default error function showing the structure (does nothing)
Net._fnErrorDefault = function(sType, Request)
{
  switch (sType)
  {
    case "timeout":
    // it was a timeout (Request undefined)
    alert("XMLHTTP timeout.");
    break;

    case "initialization":
    // initialization error (Request undefined)
    alert("XMLHTTP initialization failure.")
    break;

    default:
    // other error (HTTP status, etc.)
    alert("XMLHTTP error: ["+ Request.status +"] "+ Request.statusText);
  }
}

// a helper function to serialize an object
Net._serializeObject = function(oFrom)
{
  var aTemp = [];
  for (var i in oFrom)
  {
    aTemp.push(encodeURIComponent(i) +"="+ encodeURIComponent(oFrom[i]));
  }
  return aTemp.join('&');
}

/** Net._setCallback(fnCallback, fnError)
 ** Attaches (and wraps) a request object with a user-defined callback.
 ** Optional fnError: call upon erroneous HTTP status code or timeout.
 **/
Net.prototype._setCallback = function(fnCallback, fnError)
{
  this.Request.onreadystatechange = (function (oNet)
  {
    return function()
    {
      if (oNet.Request.readyState == 4)
      {
        window.clearTimeout(oNet.timeout);

        try {
          if (oNet.Request.status === undefined
            || oNet.Request.status === 0
            || (oNet.Request.status >= 200 && oNet.Request.status < 300)
            || oNet.Request.status == 304)
          {
            fnCallback(oNet.Request);
          }
          else
          {
            fnError("other", oNet.Request);
          }
        } catch (e) {
          fnError("other", oNet.Request);
        }
      }
    }
  })(this);

  this.timeout = window.setTimeout((function(oNet) {
    return function() {
      oNet.Request.onreadystatechange = function() {};
      oNet.Request = null;
      fnError("timeout"); }})(this), 20000);
}

/** Net._createRequestObject()
 ** Creates and returns an XMLHTTP element or null on failure.
 **/
Net._createRequestObject = function()
{
  var xmlhttp;
  if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); }
  else if (window.ActiveXObject) {
    try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
    catch (e) { xmlhttp = null; }}
  }
  return xmlhttp;
}
/** End Net asynchronous request library */
