var text = -1;
var border_active="incell activetext";
var border_passive="incell";
var textcolor_active="#000000";
var textcolor_passive="#1C4B8E";
var textcolor_disabled="#8494B8";



//var urlAddress = "http://portal.imtranslator.net/desktop"; 
var pageName = "Online Translation"; 
var langs4load;/* = [
{ value: "en/es", text: "English to/from Spanish", plantype: "1", dic : "1", custom: "blah" },
{ value: "en/du", text: "English to/from German", plantype: "1", dic : "1", custom: "blah" },
{ value: "en/ru", text: "English to/from Russian", plantype: "1", dic : "1", custom: "blah" }
];
*/

function load_langs(){
//alert("load");
var temp =5;
var randomseed = new Date().getSeconds();
//randomseed = randomseed.getSeconds();

Net.get({
   url: "langs_creator.asp?a=load_langs&email="+email+"&local="+local+"&time="+randomseed,
   vars: "",
   onsuccess: function(res) {fillLangsFromDB(res);return true;},
   onerror: function(){ /*alert("failed to connect");*/}
 });

}
function fillLangsFromDB(res){
//alert(res.responseText);
if( !gebi("langs") ) return false;
var langsel = gebi("langs");
langsel.innerHTML = "";
//langs4load = eval("( { langs:[{value:'en/ru',text:'EnRu',plantype:'1'},{value:'en/es',text:'English to Spanish',plantype:'1'}]} );");
langs4load = eval("("+res.responseText+")");

//alert(langs4load.langs[0].plantype);
langs4load=langs4load.langs;
//alert(langs4load.length);
//"([{'foo':'bar'},{'x':'y'}])"

for(i=0;i<langs4load.length;i++){
var opt = document.createElement("option");
opt.value = langs4load[i].value;
opt.text = langs4load[i].text;
opt.setAttribute("plantype",langs4load[i].plantype);
opt.setAttribute("dic",langs4load[i].dic);
opt.setAttribute("custom", langs4load[i].custom);
langsel.options.add(opt);
//langsel.appendChild(opt);
}



}

function fixDirChange(sel){
var s= sel.options[sel.options.selectedIndex].getAttribute("plantype");
gebi("plantype").value = s;
}
					
				        
function gebi(id){
return document.getElementById(id);
}

function loadIframe(iframeName, url) 
{
//alert(url);
  	if ( window.frames[iframeName] ) {

    		window.frames[iframeName].location = url;   
    		return false;
  	}
  	else return true;
}
function getIframe(iframeName) {
if ( window.frames[iframeName] ) 
	{
	return window.frames[iframeName].location;
	}
    
}    


function SRC_COOKIE(name, path, domain, secure){
	value = window.frames['source'].document.form.text.value;
	var SEC = 60; // The time to keep the source information in seconds.
	var expires = new Date();
	expires.setTime(expires.getTime() + (1000 * SEC));
	document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}

function setCookie(name, value, expires, path, domain, secure)
{
if(!expires){
	var d=new Date();
	d.setFullYear(2020);
	expires = d;
}

    document.cookie= name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function addToFavorites() { 
  if (window.external) 
	{ window.external.AddFavorite(urlAddress,pageName) 
	} else { alert("Sorry! Your browser doesn't support this function."); } 
}

function LINK(){
if(document.form.provider.value == "PROMT")
	lk = "http://www.e-promt.com"; 
else
	lk = "http://altavista.com";
var targetwindow = eval(window.open(lk));
if (!targetwindow) { alert(TEXT_MSG_POPUP); }
}

function Loader2(root,clientid,dimn,PX,z,m,form,dir,loc){
 document.location.href = root+"?loc="+loc+"&clientid="+clientid+"&dimn="+dimn+"&PX="+PX+"&z="+z+"&m="+m+"&text="+form+"&dir="+dir;
}


function mouseover1(obj)
{
	window.status='';
	obj.className='buts';
}
function mouseout1(obj)
{
	window.status='';
	obj.className='buts buts-over';
}
function mouseup1(obj)
{
	window.status='';
	obj.className='buts buts-over';
}
function mousedown1(obj)
{
	window.status='';
	obj.className='buts buts-down';
}

// Find the x,y location in pixels for a relatively positioned object
// returns an object with .x and .y properties.
function FindXY(obj){
	var x=0,y=0;
	while (obj!=null){
		x+=obj.offsetLeft-obj.scrollLeft;
		y+=obj.offsetTop-obj.scrollTop;
		obj=obj.offsetParent;
	}
	return {x:x,y:y};
}

// Find the x,y location in pixels for a relatively positioned object
// returns an object with .x, .y, .w (width) and .h (height) properties.
function FindXYWH(obj){
	var objXY = FindXY(obj);
	return objXY?{ x:objXY.x, y:objXY.y, w:obj.offsetWidth, h:obj.offsetHeight }:{ x:0, y:0, w:0, h:0 };
}
function activeImg(id, opa){
document.getElementById(id).style.filter="alpha(opacity="+opa+")";
}

function doCommand (cmd) 
{
  return doCommandEx(cmd, document.form.textCtrl);
}

function doCommandEx(cmd, el)
{
if(!el)
	return;
   var textCtrl =  el; // form.text;
    if (browser.ie) {
      textCtrl.createTextRange ().execCommand (cmd);
   }
   else {
      switch (cmd) {
         case "Copy":  m_clipboard = textCtrl.value;  break;
         case "Paste": textCtrl.focus (); if(m_clipboard) textCtrl.value = m_clipboard; break;
         case "Delete":textCtrl.focus (); textCtrl.value = " "; break;
         case "Cut":   textCtrl.focus (); m_clipboard = textCtrl.value; textCtrl.value = " "; break;
      }
   }

	return true;
}

function getScreenWH(){
var frameWidth,frameHeight;
	if (self.innerWidth)
	{
		frameWidth = self.innerWidth;
		frameHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		frameWidth = document.documentElement.clientWidth;
		frameHeight = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		frameWidth = document.body.clientWidth;
		frameHeight = document.body.clientHeight;
	}
	else return {w:0,h:0};

return {w:frameWidth,h:frameHeight}
}

function selects(status,except)
{
var allselects = document.getElementsByTagName("select");
for (var i = 0; i < allselects.length; i++) {
status ? allselects[i].style.visibility="visible" : allselects[i].style.visibility="hidden";
}

if(document.getElementById("virk") && except != 'virk'){
if(window.frames["virk"].document)
window.frames["virk"].document.getElementById("layouts").style.visibility = (status?"visible":"hidden");
else{
var oIframe = document.getElementById("virk");
    var oDoc = oIframe.contentWindow || oIframe.contentDocument;
    if (oDoc.document) {
        oDoc = oDoc.document;
    }
oDoc.getElementById("layouts").style.visibility = (status?"visible":"hidden");
}
}
return true;
}

function frame_finder(){
if(m_iActiveForm == 1)	{ window.frames.target.document.form.text.focus();}
else			{ window.frames.source.document.form.text.focus();}
}


function langs_finder(){
var lang_string = document.form.langs.value.split("/");
if(m_iActiveForm == 1){
  return lang_string[1]+ "/" + lang_string[0]
}else{ return document.form.langs.value; }
}

function divalert(txt,divwidth){
if(!divwidth) divwidth = 350;
var d = gebi('divalert');
var h = window.innerHeight || document.body.clientHeight;
d.style.width= divwidth+"px";
d.style.top =  h/3 + "px";
d.style.left = Math.floor(document.body.clientWidth/2)- divwidth/2 + "px";

var dc = gebi('divalertcontent');
dc.innerHTML = txt;
dc.innerHTML += '<div style="text-align:center;margin-top:10px;"><input type="button" class="buts buts-out" id="divAlertButton" name="divAlertButton" value="Ok" onclick="divAlertClose(); return false;"></div>';


/*xEnableDrag('divalert', null, 
	function(e, mdx, mdy){
		var ele = document.getElementById('divalert');
		xMoveTo(ele, xLeft(ele) + mdx, xTop(ele) + mdy);
		}
		, null,1);
*/
d.style.display = "";
var db = gebi('divAlertButton');
db.onmouseup  = function () { mouseup1(this); } 
db.onmousedown = function () { mousedown1(this); }
db.onmouseover = function () { mouseover1(this); }
db.onmouseout = function () { mouseout1(this); }
db.focus();
}
function divAlertClose(){
var d = gebi('divalert');
var dc = gebi('divalertcontent');
dc.innerHTML="";
d.style.display="none";
}

function down(id, img){
if(id.src.match('up') != null) id.src = "images/" + img + ".gif";
}

function up(id, img){
if(id.src.match('down') != null) id.src = "images/" + img + ".gif";
}

function ifrdown(id, img){
if(id.src.match('up') != null) id.src = "../images/" + img + ".gif";
}

function ifrup(id, img){
if(id.src.match('down') != null) id.src = "../images/" + img + ".gif";
}


function popUpBlocker(url, name, args){
// window.open(url, name, args);
	helpwindow = "window.open(url, name, args)";

	var targetwindow = eval(helpwindow);
        if (!targetwindow) { alert("Popup blocked, to temporarily allow our popups\n HOLD CTRL KEY and click the icons.");}
        else { 	targetwindow.focus(); }
}

function LoginValid(eml,pwd){
missinginfo = "";
PwdValid(pwd);
EmailValid(eml);
if (missinginfo != "") {
	missinginfo =   "Please check your login information.";
	if(document.getElementById('logforms'))	document.getElementById('logforms').style.display="block";
	return missinginfo;
}
else return true;
}

function PwdValid(id){
var ob = document.getElementById(id);
 if (ob.value.length < 6) {
 missinginfo += "<br>-  Password (at least 6 symbols)";
 }
}

function Pwd2Valid(id, id2){
var ob1 = document.getElementById(id);
var ob2 = document.getElementById(id2);
if(ob1.value != ob2.value){ 
  missinginfo += "<br>-  Passwords do not match";
}else{
 if (ob1.value.length < 6) {
 missinginfo += "<br>-  Password (at least 6 symbols)";
 }
//alert(ob1.value.length);
   var count = 0;
   for(var i=0; i<ob1.value.length; i++){
      character = ob1.value.substring(i,i+1);
	if(character.charCodeAt(0) < 33 || character.charCodeAt(0) > 126) count++;
   }
   if(count > 0)  missinginfo += "<br>- The passwords contain incorrect characters"; 

}
}



function EmailValid(id){
var ob = document.getElementById(id);


if(ob.value != ""){
	if (/^\w+([\.\+!&=?^{}~'*/-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(ob.value)){	
	}else{
	missinginfo += "<br>-  Email format [***@***.***]";
	}
}else{
missinginfo =  "We will send you an email with a link to reset your password.";
}

}




function ForgotValid(eml,pwd){
missinginfo = "";
EmailValid(eml);

if (missinginfo != "") {
	return missinginfo;
}
else return true;
}





function SignupValid(eml, emlconf, pwd1,pwd2){
missinginfo = "";
if(gebi(eml).value=="" && gebi(emlconf).value=="" && gebi(pwd1).value=="" && gebi(pwd2).value=="") missinginfo ="- You must fill in all of the fields";
else{
//EmailValid(eml);
Pwd2Valid(pwd1,pwd2);
}

if(gebi(eml).value != gebi(emlconf).value) { missinginfo = missinginfo + '<br>- E-mail addresses do not match';}

if(gebi('ag').checked == false){ missinginfo = missinginfo + '<br>- You must agree to our Terms';} 
if (missinginfo != "") {
	if(document.getElementById('logforms'))	document.getElementById('logforms').style.display="block";
	return missinginfo;
}
else  {return true;}

}

function loginOnChange(ob){
reg = /\s+/;
document.getElementById(ob).value = document.getElementById(ob).value.replace(reg,'');
}



function loginEmail(){
var oIframe = top.gebi('signupifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

	oDoc.getElementById('signupemail').value = document.getElementById('loginemail').value;
	document.getElementById('loginemailholder').value = document.getElementById('loginemail').value;
	top.gebi('forgotemail').value = document.getElementById('loginemail').value;
}

function forgotEmail(){

var oIframe = top.gebi('loginifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

var oIframe2 = top.gebi('signupifr');
  var oDoc2 = (oIframe2.contentWindow || oIframe2.contentDocument);
  if (oDoc2.document) oDoc2 = oDoc2.document;

	oDoc2.getElementById('signupemail').value = document.getElementById('forgotemail').value;
	oDoc.getElementById('loginemail').value = document.getElementById('forgotemail').value;
}

function signupEmail(){
var oIframe = top.gebi('loginifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

	oDoc.getElementById('loginemail').value = document.getElementById('signupemail').value;
	top.gebi('forgotemail').value = document.getElementById('signupemail').value;
}



function wloginEmail(){
var oIframe = top.gebi('loginifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

var oIframe2 = top.gebi('signupifr');
  var oDoc2 = (oIframe2.contentWindow || oIframe2.contentDocument);
  if (oDoc2.document) oDoc2 = oDoc2.document;
	
	var eml = document.getElementById('wloginemail').value;
	document.getElementById('wsignupemail').value = eml;
	document.getElementById('wforgotemail').value = eml;
     	oDoc.getElementById('loginemail').value = eml;
	window.frames['parent'].document.getElementById('forgotemail').value = eml;
	oDoc2.getElementById('signupemail').value = eml;
}

function wforgotEmail(){
var oIframe = top.gebi('loginifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

var oIframe2 = top.gebi('signupifr');
  var oDoc2 = (oIframe2.contentWindow || oIframe2.contentDocument);
  if (oDoc2.document) oDoc2 = oDoc2.document;

var eml = document.getElementById('wforgotemail').value;
oDoc.getElementById('loginemailholder').value = eml;
	document.getElementById('wloginemail').value = eml;
	document.getElementById('wsignupemail').value = eml;
	window.frames['parent'].document.getElementById('forgotemail').value = eml;
	oDoc2.getElementById('signupemail').value = eml;
	oDoc.getElementById('loginemail').value = eml;
}

function wsignupEmail(){
var oIframe = top.gebi('loginifr');
  var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
  if (oDoc.document) oDoc = oDoc.document;

var oIframe2 = top.gebi('signupifr');
  var oDoc2 = (oIframe2.contentWindow || oIframe2.contentDocument);
  if (oDoc2.document) oDoc2 = oDoc2.document;

var ob = document.getElementById('wsignupemail');
a = ob.value.split(".");
b = ob.value.split("@");
if(b[1]) c = b[1].split(".");
if ((ob.value == "") || (ob.value.indexOf('@') == -1) || (ob.value.indexOf('.') == -1) || (a[1].length < 2) || (b[0].length < 2)   || (c[0].length < 3)) 
	ob.style.background = "#F8DDDC";
else    ob.style.background = "white";

var eml = document.getElementById('wsignupemail').value;
	oDoc.getElementById('loginemailholder').value = eml;
	document.getElementById('wloginemail').value = eml;
	document.getElementById('wforgotemail').value = eml;
	oDoc2.getElementById('signupemail').value = eml;
	oDoc.getElementById('loginemail').value = eml;
	window.frames['parent'].document.getElementById('forgotemail').value = eml;
}

function gebi(id){
return document.getElementById(id);
}



function testDB(ms){
var path = "";
if(navigator.appName.indexOf("Microsoft") == -1) path = "../";

var randomseed = new Date().getSeconds();
var fk = Math.round(999999*Math.random());
url = "?key"+ fk + "=" + fk;

Net.get({
   url: path+"sockets/db-inside.asp"+ url,
   vars: "",

   onsuccess: function(res) {

        if(res.responseText == "down"){
	        if(ms == 'forgot')  top.forgotBuilder(text); 
	        if(ms == 'signup')  top.signupBuilder(text); 
	}
   },
   onerror: function() {  	}
 });
}



function testDBifr(ms){

var path = "";
if(navigator.userAgent.toLowerCase().indexOf("safari") >= 0) path = "../";
//path = "";

var randomseed = new Date().getSeconds();
var fk = Math.round(999999*Math.random());
url = "?key"+ fk + "=" + fk;
Net.get({
   url: path+"sockets/db-inside.asp"+ url,
   vars: "",
   onsuccess: function(res) {
        if(res.responseText == "down"){
	        if(ms == 'forgot')  top.forgotBuilder(text); 
	        if(ms == 'signup')  top.signupBuilder(text); 
	}
   },
   onerror: function() {  	}
 });
}






function forgotDB(){
//msgClose(1);
var ln = window.frames['parent'].document.getElementById('forgotemail').value.toLowerCase();
var randomseed = new Date().getSeconds();
var fk = Math.round(999999*Math.random());
url = "?key"+ fk + "=" + fk + "&LN=" + ln;

Net.get({
   url: "sockets/forgot-db.asp"+ url,
   vars: "",
   onsuccess: function(res) {

      switch(res.responseText){
         case "2":  top.forgotBuilder(text); break;
         case "1":  top.forgotBuilder('No matching account found.'); break;
         case "0":  msgClose(3);top.launchApp(5,ln+'|0');break;
      }
   },
   onerror: function() { top.forgotBuilder(text);}
 });

}

/*

function signupDB(){
//msgClose(2);

var ln = window.frames['parent'].document.getElementById('forgotemail').value;
var randomseed = new Date().getSeconds();
var fk = Math.round(999999*Math.random());
url = "?key"+ fk + "=" + fk + "&LN=" + ln;

Net.get({
   url: "sockets/signup-db.asp"+ url,
   vars: "",
   onsuccess: function(res) {
      
      switch(res.responseText){
         case "2":  top.signupBuilder(text); break;
         case "1":  top.signupBuilder('- Account with this e-mail exists!'); break;
      }
   },
   onerror: function() { top.signupBuilder(text);}
 });

}
*/

function msgClose(id){
var MSGS = new Array("login_error","auto_login_dlg","forgot_error","signup_error","emailerror");
 for (var i=0; i<MSGS.length; i++){
    if(i != id) {msgXClose(MSGS[i]);}
    else {opacity(MSGS[i], 0, 100, 500);}
 }
}



function opacity(id, opacStart, opacEnd, millisec, curv) { 
if(curv=='go')
{
 if(opacStart == 0) changeOpac(0, id);
    //speed for each frame 
    var speed = Math.round(millisec / 100); 
    var timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if(opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i--) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } else if(opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i++) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); 
            timer++; 
        } 
    } 
 }
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
    var my_object = document.getElementById(id).style; 
    my_object.opacity = (opacity / 100); 
    my_object.MozOpacity = (opacity / 100); 
    my_object.KhtmlOpacity = (opacity / 100); 
    my_object.filter = "alpha(opacity=" + opacity + ")"; 
} 


function msgXClose(id){
//    opacity(id, 100, 0, 500); 
    var ob =  function () {gebi(id).style.display='none';}
    setTimeout(ob,5); 
    
}


function autologinOnOff(ob){
if(ob.checked == true){
	if(gebi('auto_login_dlg').style.display == 'none') 	{gebi('auto_login_dlg').style.display='block';
								opacity('auto_login_dlg', 0, 100, 500);
	}else							{msgXClose('auto_login_dlg');}
	ob.checked = false;
}

}
function delAutoLoginCookies(){
delCookie("KMSIN","/"); 
delCookie("UserAgent","/");
}


function delCookie(name, path, domain)
{
    if (getCookie(name))
    {

        document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}



function Corrector(ob){
var path = "";
if(navigator.appName.indexOf("Microsoft") == -1) path = "../";
var em = ob.toLowerCase();
var em2 = ob.toLowerCase().split("@");
var randomseed = new Date().getSeconds();
var fk = Math.round(999999*Math.random());
url = "?em=" + em + "&key"+ fk + "=" + fk ;

Net.get({
   url: path+ "sockets/corrector.asp"+ url,
   vars: "",
   onsuccess: function(res) {
//alert(res.responseText);
      switch(res.responseText){
         case "t":  parent.frames['signupifr'].document.signup.submit();break;
         case "f":  signupBuilder("<br>The email address you have entered may be invalid. Please double check your email to make sure it is properly typed.<p style=color:black>If you have any problems or questions, do not hesitate to contact us: <a href=mailto:support@imtranslator.com class=lnk>support@imtranslator.com</a></p>");  document.getElementById('mysignup').style.height='140px'; break;
      }
   },
   onerror: function() { parent.frames['signupifr'].document.signup.submit(); return true;}
 });
return false;
}

function IMG(ob,tm){
gebi(ob).style.display='block';
opacity(ob, 100, 0, tm, 'go');

}


var counter=0
function Note(ob){
var erob = gebi("emailerror");
	if(erob.style.display!='block') {
		erob.style.display='block';
		msgClose(4)
               opacity("emailerror", 0, 100, 500)
        //        setTimeout('noMore()',15000);
                //counter++;
	}else erob.style.display='none';
}


function noMore(){
opacity("emailerror", 100, 0, 1500);
//setTimeout('noMore2()',1500);
}

function noMore2(){
//gebi("emailerror").style.display='none';
}
