var activeNumber = 1;
var totalNumbers = 0;
var browserWidth = 0;
var tweenFinished = 1;
var subscribeBtn = 1;
var contactBtn = 1;
var canRefresh = 1;
var backgrounds = new Array("back.jpg", "lines.png", "bg.gif", "s.gif");
if(Get_Cookie("bg") == null) { var bgCount = 0; } else { var bgCount = Get_Cookie("bg"); };
var bgLock = 1;
var activeLabel = 0;
var canHide = 1;

window.onresize=resize;
window.onload=resize;

function light(element, xPos, yPos) {
	var obj = document.getElementById(element);
	obj.style.backgroundPosition = eval("\""+xPos+"px "+yPos+"px\"");
}

function check(id, defValue) {
	var obj = document.getElementById(id);
	if(obj.value == defValue) {
		obj.value = "";		
	} else {
		if(obj.value == "") {
			obj.value = defValue;
		}
	}
}

function changeBg() {
	if(bgLock) {
		bgLock = 0;
		var obj = document.getElementById("chBg");
		obj.style.width = "130px";
		obj.style.backgroundImage = "url('./p/loader.gif')";
		obj.style.marginRight = "0px";
		document.getElementById("preloaderBg").innerHTML = "<img src=\"./p/"+backgrounds[bgCount]+"\" onLoad=\"updateBg()\">";
	}
}

function updateBg() { 
	var obj = document.getElementById("chBg");
	obj.style.width = "105px";
	obj.style.backgroundImage = "url('./p/s.gif')";
	obj.style.marginRight = "25px";
	document.body.style.backgroundImage = "url('./p/"+backgrounds[bgCount]+"')";
	Set_Cookie('bg', bgCount, 180, '/', '', '' );
	bgCount++;
	bgLock = 1;
	if(bgCount >= backgrounds.length) { bgCount = 0; }
}

function init(total) {

	var table = document.getElementById("table");

		table.style.left = "-420px";
		for(i=2; i<=total; i++) {
			var obj = document.getElementById("n"+i);
			obj.style.left = "-400px";
		}
	var link = document.getElementById("l1");
	link.style.borderBottom = "1px solid black";
	browserWidth = document.body.clientWidth;
	table.style.width = ((browserWidth / 2)+140)*(total+1);
	totalNumbers = total+1;
	resize();
	ansp("cont", "magazine", "bigmag.net")
	ansp("advMail", "magazine", "bigmag.net")
	changeBg();
}

function withoutPX(str) {
	var str = str.substring(0, str.length-2);
	return str;
}

function randomNum(min, max) {
	var num = Math.floor(Math.random()*(max-min+1))+min;
	return num;
}

function ansp(div, name, domain) {
	var obj = document.getElementById(div);
	obj.innerHTML = "<a href=\"mailto:"+name+"@"+domain+"\">"+name+"@"+domain+"</a>";
}


function list(to) {
	if(tweenFinished) {
		if(to != activeNumber) {
			tweenFinished = 0;
			document.getElementById("l"+activeNumber).style.borderBottom = "1px solid #CCCCCC";
			document.getElementById("l"+to).style.borderBottom = "1px solid black";
			document.getElementById("l"+to).blur();
			var sum = -420-Math.round(withoutPX(table.style.width)/totalNumbers)*(to-1);
	
			var obj = document.getElementById("n"+activeNumber);
			hide = new Tween(obj.style,'left',Tween.regularEaseOut, 0, -400, 0.5,'px');
			hide.start();

			hide.onMotionFinished = function() {
			var table = document.getElementById("table");

				if(activeNumber < to) {
					for(i=activeNumber; i<to; i++) {
						var cov = document.getElementById("c"+i);
						cover = new Tween(cov.style,'left',Tween.strongEaseInOut, 0, 280, 0.5,'px');
						cover.start();
					}
				} else {

					var covTo = document.getElementById("c"+to);
					coverTo = new Tween(covTo.style,'left',Tween.strongEaseInOut, 280, 0, 0.5,'px');
					coverTo.start();
					for(i=to; i<activeNumber; i++) {
						var cov = document.getElementById("c"+i);
						cover = new Tween(cov.style,'left',Tween.strongEaseInOut, 280, 0, 0.5,'px');
						cover.start();
					}
				}

			prev = new Tween(table.style,'left',Tween.strongEaseInOut, parseInt(withoutPX(table.style.left)), sum, 0.5,'px');
			prev.start();

			prev.onMotionFinished = function() { 
		                var obj = document.getElementById("n"+to);
				show = new Tween(obj.style,'left',Tween.regularEaseOut, -400, 0, 0.5,'px');
				show.start();
				activeNumber = to;
				resize();
				tweenFinished = 1;
			}

		}
	} 
	}
}

function resize() {
	var table = document.getElementById("table");
	var covers = document.getElementById("middle");	
	browserWidth = document.body.clientWidth;
	if(browserWidth > 1006) {
	     	table.style.width = ((browserWidth / 2)+140)*(totalNumbers);
	     	table.style.left = -420-(((browserWidth / 2)+140)*(activeNumber-1));
		if(navigator.appName == "Microsoft Internet Explorer") {
		     	covers.style.width = document.body.clientWidth+"px";
			document.getElementById("fader").style.width = "100%";
			if(document.body.clientHeight > document.body.scrollHeight) { value = document.body.clientHeight; } else { value = document.body.scrollHeight; }
			document.getElementById("fader").style.height = value;
		} else {
		     	covers.style.width = "100%";
		}
	     	browserWidth = document.body.clientWidth;

	} else {
		if(navigator.appName != "Microsoft Internet Explorer") {
		     	table.style.width = ((document.body.scrollWidth / 2)+140)*(totalNumbers);
		     	table.style.left = -420-(((document.body.scrollWidth / 2)+140)*(activeNumber-1));
	     		covers.style.width = document.body.scrollWidth;
		     	browserWidth = document.body.scrollWidth;
		} else {
		     	table.style.width = ((1004 / 2)+140)*(totalNumbers);
		     	table.style.left = -420-(((1004 / 2)+140)*(activeNumber-1));
	     		covers.style.width = "1004";
		     	browserWidth = 1004;
			document.getElementById("fader").style.width = "1004";
			if(document.body.clientHeight > document.body.scrollHeight) { value = document.body.clientHeight; } else { value = document.body.scrollHeight; }
			document.getElementById("fader").style.height = value;
		}

	}

}

function refreshData() {
	var xmlHttp;
	try {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	} catch (e) {
	  // Internet Explorer
	  try {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	    try {
	      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e)  {
	      alert("Your browser does not support AJAX!");
	      return false;
	    }
	  }
	}
	xmlHttp.onreadystatechange=function() {
	    if(xmlHttp.readyState==4) {
	      refreshSite(xmlHttp.responseText);
	    }
	}
	xmlHttp.open("GET", "get.php?math="+Math.random(), true);
	xmlHttp.send(null);
  }

function xmlhttpPost(strURL, sendVars, endFunction) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
    	self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
    	self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(sendVars != "null") {
        self.xmlHttpReq.open('POST', strURL, true);
    } else {
	self.xmlHttpReq.open('GET', strURL, true);
    }
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.setRequestHeader("Connection", "close");
    self.xmlHttpReq.onreadystatechange = function() {
    if (self.xmlHttpReq.readyState == 4) {
        eval(endFunction+"(\""+self.xmlHttpReq.responseText+"\")");
    }
    }
    self.xmlHttpReq.send(eval(sendVars));
}

function getMailValue() {
    var mail = document.getElementById("mail").value;    
    qstr = 'mail=' + escape(mail);
    return qstr;
}

function getMailForm() {
    var mail = document.getElementById("email").value;    
    var name = document.getElementById("name").value;    
    var msg = document.getElementById("msg").value;     
    qstr = 'mail=' + escape(mail) + "&name=" + encodeURI(name) + "&fn=" + "&msg="+ encodeURI(msg);
    return qstr;
}

function updateMailForm(str){

    var mail = document.getElementById("mail").value;    
    if(mail != "") {

		document.getElementById("mailPreloader").style.display = "none";
		formTo = new Tween(document.getElementById("form").style,'top',Tween.regularEaseOut, 0, -100, 0.5,'px');
		formTo.start();
    
    }
}

function refreshSite(str) {
	eval("var data = new Array("+str+")");
	document.getElementById("preloaderSites").innerHTML = "<img src=\""+data[0]+"\" onLoad=\"updateInfo('"+data[0]+"', '"+data[1]+"', '"+data[2]+"')\">";
}


function updateInfo(img, url, id) {
	document.getElementById("url").innerHTML = "<a href=\"http://bigmag.net/goto/"+id+"/\" target=\"_blank\">"+url+"</a>";
	document.getElementById("goodPic").style.backgroundImage = "url("+img+")";
	light('refreshBtn', 0, 0);	
	document.getElementById("refreshBtn").style.color = "#333333";
	canRefresh = 1;	
}

function updateContactForm(str){
    if(str == 0) {
		// error 

    } else {
		// all ok
		document.getElementById("contPreloader").style.display = "none";
		document.getElementById("contStatus").style.display = "Block";
		document.getElementById("contStatus").innerHTML = "! !";
		setTimeout(function() { closeContact(); contactBtn = 1; }, 2500);
		//alert("all OK");
    }

}

function subscribeMember() {
	if(subscribeBtn) {
	var mail = document.getElementById("mail").value;
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if(pattern.test(mail)){
    	if(mail != "beautyfullSubscriber@bigmag.net") {         
			light('subscrBtn', 0, -31);
			document.getElementById("subscrBtn").style.color = "#999999";

			document.getElementById("mailPreloader").style.display = "block";
			xmlhttpPost("subscribe.php", "getMailValue()", "updateMailForm");		
		} else {
			document.getElementById("mail").focus();		
		}
    }else{   
		alert("Fatal error in check email in line 1 :)"); 
		document.getElementById("mail").focus();
    }
	}
	
}

function refresh() {                        
	if(canRefresh) {
		canRefresh = 0;
		light('refreshBtn', 0, -31);	
		document.getElementById("refreshBtn").style.color = "#999999";
		refreshData();
	}
}

function sendMail() {
	if(contactBtn) {
	var mail = document.getElementById("email").value;
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    if(pattern.test(mail)){  
    	if(document.getElementById("name").value != "") { 
    		if(document.getElementById("msg").value != "Do It!") {
				contactBtn = 0;
				light('contBtn', 0, -31);
				document.getElementById("contBtn").style.color = "#999999";

				document.getElementById("contPreloader").style.display = "block";
				xmlhttpPost("mail.php", "getMailForm()", "updateContactForm");		
			} else {
				document.getElementById("msg").focus();		
			}
		} else {
			//alert("Fatal error in check email in line 1 :)");
			document.getElementById("name").focus();		
		}
    }else{   
		//alert("Fatal error in check email in line 1 :)");
		document.getElementById("email").focus();
    }
    }
}

function contactForm() {
	activeLabel = 3;
	document.getElementById("fader").style.display = "block";
	document.getElementById("contactForm").style.width = "385px";
	document.getElementById("contactForm").style.height = "310px";	
}

function closeContact() {
	activeLabel = 0;
	document.getElementById("fader").style.display = "none";
	document.getElementById("contactForm").style.width = "1px";
	document.getElementById("contactForm").style.height = "1px";	
	document.getElementById("contStatus").style.display = "None";
	document.getElementById("contStatus").innerHTML = "";
	light('contBtn', 0, 0);
	document.getElementById("contBtn").style.color = "#000000";
	document.getElementById("name").value = "";
	document.getElementById("email").value = "E-mail";
	document.getElementById("msg").value = "Do It!";
}

function aboutInfo() {
	activeLabel = 1;
	document.getElementById("fader").style.display = "block";
	document.getElementById("about").style.width = "642px";
	document.getElementById("about").style.height = "368px";	
}

function closeAbout() {
	activeLabel = 0;
	document.getElementById("fader").style.display = "none";
	document.getElementById("about").style.width = "1px";
	document.getElementById("about").style.height = "1px";	
}

function showAdv() {
	activeLabel = 2;
	document.getElementById("fader").style.display = "block";
	document.getElementById("adv").style.width = "636px";
	document.getElementById("adv").style.height = "656px";	
}

function closeAdv() {
	activeLabel = 0;
	document.getElementById("fader").style.display = "none";
	document.getElementById("adv").style.width = "1px";
	document.getElementById("adv").style.height = "1px";	
}

function showAnket(id, os) {
  activeLabel = 4;

  document.getElementById("client_download_number").value= id;
  document.getElementById("client_download_os").value= os;

  document.getElementById("fader").style.display = "block";
  document.getElementById("anket").style.width = "636px";
  document.getElementById("anket").style.height = "656px";
}

function closeAnket(){
  activeLabel=0;
  document.getElementById("fader").style.display = "none";
  document.getElementById("anket").style.width = "1px";
  document.getElementById("anket").style.height = "1px";
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}


function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
	return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}



function doHide() {
	if(canHide) { 
		switch(activeLabel) {
		case 1:
		  closeAbout();
		  break;
		case 2:
		  closeAdv();
		  break;
		case 3:
		  closeContact();
		  break;
                case 4:
		  closeAnket();
		  break;
		}
	}
}

function blockHide() {
	canHide = 0;
	setTimeout(function() { canHide = 1; }, 200);
}