// 1 subscribe

var pos; // variable for posting information
function loadXMLPosDoc(url,posData) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) { 
        pos = new XMLHttpRequest();
        pos.onreadystatechange = processPosChange;
        pos.open("POST", url, false);
		pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        pos.send(posData);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        pos = new ActiveXObject("Microsoft.XMLHTTP");
        if (pos) {
            pos.onreadystatechange = processPosChange;
            pos.open("POST", url, false);
			pos.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            pos.send(posData);
        }
    }
}

function grabPosXML (tagName) {
return pos.responseXML.documentElement.getElementsByTagName(tagName)[0].childNodes[0].nodeValue;
}

function processPosChange() {
    // page loaded "complete"
    if (pos.readyState == 4) {
        // page is "OK"
        if (pos.status == 200) {
			if ( grabPosXML("status") == 'NOTOK' ) { 
				alert('There were problems. Please try back in a couple minutes');
			}
		}
	}
}



function checkSubscribeFrm(){
if( ! /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(document.frm.uemail.value) ){
alert('Please enter a valid e-mail address, for example john@company.com');return false;
}

toggleFrm();
toggleResFrm();

fff = document.getElementById('fresultdiv');
eml = document.frm.uemail.value;
nm = document.frm.uname.value;
ct = document.frm.ucountry.value;
fff.innerHTML = '<br /><br /><br /><br /><center><b>Please wait a moment...</b><br /><br /><img src="http://img.movavi.com/subscribe/loading.gif"></center>';

surl = "http://www.movavi.com/subscribe/crossdomain.php";
sparam = "uemail="+eml+"&uname="+nm+"&ucountry="+ct;
loadXMLPosDoc(surl,sparam);

myres = grabPosXML("MSG");


if(myres == "OK"){
	fff.innerHTML = '<p align=left style="color: #333;"><b>Thank you for your interest in Movavi Newsletters.</b></p>';
	fff.innerHTML += '<p align=left style="color: #333;">To complete the Newsletter sign-up process, please check your email account for a mail titled "Movavi Newsletters - Confirm Your Subscription".</p>';
	fff.innerHTML += '<p align=left style="color: #333;">By clicking the approval link in that mail you will have confirmed that your signup information is correct and you will start receiving Movavi Newsletters.</p>';
}

if(myres == "EXISTS"){
	fff.innerHTML = '<p align=left style="color: #333;"><b>Thank you for your interest in Movavi Newsletters.</b></p>';
	fff.innerHTML += '<p align=left style="color: #333;">Our records indicate that you have already registered and confirmed your subscription with the e-mail address you entered.</p>';
	fff.innerHTML += '<p align=left style="color: #333;">If it has been more than four weeks since you registered and you have not yet received your first issue of Movavi Newsletter, please check your spam filter or contact our customer support.</p>';
}

if(myres == "ERROR"){
	fff.innerHTML = '<p align=left style="color: #333;"><b>Thank you for your interest in Movavi Newsletters.</b></p>';
	fff.innerHTML += '<p align=left style="color: #333;">Unfortunately, there was an error1 processing your request.</p>';
	fff.innerHTML += '<p align=left style="color: #333;">Please try later within a few minutes.</p>';
}


fff.innerHTML += '<p align=center><center><a href="javascript:void(0);" onClick="toggleResFrm();" style="font-size: 8pt;">close</a></center></p>';


return true;

}

function getLeftPosition(obj){
    var topValue= 0,leftValue= 0;
    while(obj){
	leftValue+= obj.offsetLeft;
	obj= obj.offsetParent;
    }
    return leftValue;
}

function getTopPosition(obj){
    var topValue= 0,leftValue= 0;
    while(obj){
	topValue+= obj.offsetTop;
	obj= obj.offsetParent;
    }
    return topValue;
}



function toggleFrm(){
fff = document.getElementById('fdiv');
pk = document.getElementById('subslink');
lpos = getLeftPosition(pk) + 'px';
tpos = (getTopPosition(pk) + 20) + 'px';
if(fff.style.left != lpos) { 
	
	fff.style.left = lpos; 
	fff.style.top = tpos; 
	
	}
else fff.style.left = '-500px' ;
	
loadingImg = new Image(35,35);
loadingImg.src = 'http://img.movavi.com/subscribe/loading.gif';

}

function toggleResFrm(){
fff = document.getElementById('fresultdiv');
pk = document.getElementById('subslink');
lpos = getLeftPosition(pk) + 'px';
tpos = (getTopPosition(pk) + 20) + 'px';
if(fff.style.left != lpos) { 
	
	fff.style.left = lpos; 
	fff.style.top = tpos; 
	
	}
else fff.style.left = '-500px' ;
}


// 2 affiliate cookies functions

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 '';
}

function readAffCookie() {
var aname = readCookie('aff');
var aid = readCookie('affid');
if(aname.length > 1 && aid.length > 1){
return '?aff='+aname+'&affid='+aid;
}
return '';
}

// 3 language selector

	function getLeftPosition(obj){var topValue= 0,leftValue= 0;while(obj){leftValue+= obj.offsetLeft;obj= obj.offsetParent;}return leftValue;}
	function getTopPosition(obj){var topValue= 0,leftValue= 0;while(obj){topValue+= obj.offsetTop;obj= obj.offsetParent;}return topValue;}
	function showLangs(){
		var lsm = document.getElementById('sublang');
		var lm = document.getElementById('lselect');
		// document.onmousemove = getMouseXY;
		var lpos = (getLeftPosition(lm) + 0) + 'px';
		var tpos = (getTopPosition(lm) + 23) + 'px';
		lsm.style.display = 'block';
		lsm.style.left = lpos; 
		lsm.style.top = tpos; 
		document.onmousemove = getMouseXY;
	}
	function getMouseXY(e) {
	var lsme = document.getElementById('sublang');
	var lme = document.getElementById('lselect');
	if (document.all) { tempX = event.clientX + document.body.scrollLeft; tempY = event.clientY + document.body.scrollTop;} 
	else { tempX = e.pageX; tempY = e.pageY;}  
	var smh = getTopPosition(lme) + lme.clientHeight + lsme.clientHeight;
	if( tempY < getTopPosition(lme)  || tempY > smh || tempX < getLeftPosition(lme) || tempX > (getLeftPosition(lme) + lme.clientWidth ) ){
	lsme.style.display = 'none';
	}
	return true;
	}



