var index;
var articles;
var images;
var currentWidth = 0;
var art;
var inid;
var isSent = 0;
var fonts = new Array("65%","75%","90%","100%","115%","130%");
var fontsz = 1;

var p_image = new Image(24,24); 
p_image.src="/img/ajax-loader.gif";
var p_image2 = new Image(24,24); 
p_image2.src="/img/loading.gif";


if(!(navigator.userAgent.match(/iPhone/i)) && !(navigator.userAgent.match(/iPod/i))&& !(navigator.userAgent.match(/Android/i))) {
	window.location.href="http://www.appleinsider.com/";
}

function expandDiv(d) {
	var	whr = window.pageYOffset;
	toggleModal("#B3B0B0",{opacity:.95}).adopt(new Element("div", {'styles': {'text-align':'left','border':'solid 1px gray','margin-top':whr},'html': document.getElementById(d).innerHTML}));
	return false;
}

function sendLnk(frm) {
	if (isSent)
		return false;

	if (!chkEmail(frm.sendto.value))
		return false;
	else
		if (!chkEmail(frm.sendfrom.value))
			return false;
			
	var h = frm.how[0].checked?frm.how[0].value:frm.how[1].value;

	pg = 'how=' + h + '&sendto=' + frm.sendto.value + '&sendfrom=' + frm.sendfrom.value
	pg += '&article=' + frm.article.value + '&title=' + frm.title.value
	showPageByHref ('/email.php?' + pg, null, null, null, endSendEmail);
	frm.how[0].disabled = true;
	frm.how[1].disabled = true;
	frm.sendto.disabled = true;
	frm.sendfrom.disabled = true;
	isSent++;
		
	return false;
}

function chkEmail(eml) {
	var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
	if (eml.match(illegalChars)) {
	   alert ("The email address contains illegal characters.");
	   return false;
	}
	apos=eml.indexOf("@");
	dotpos=eml.lastIndexOf(".");
	if (apos<1||dotpos-apos<2) 
	{alert("Invalid Email Address");return false;}
	else {return true;}
}


function newImg(a,imageSrc){
	if (a.style.maxWidth== window.innerWidth - 15 +  "px") {
		whr = window.pageYOffset;

		toggleModal("#B3B0B0",{opacity:.99,ht:a.naturalHeight,wt:a.naturalWidth}).adopt(new Element("div", {'styles': {'text-align':'center','margin-top':whr},'html': '<img src="' + imageSrc + '">'}));
	    document.getElementById("modal").addEventListener("click", stopModal, false); 
		
	} else {
		a.src = p_image.src;
		var d_image = new Image(); 
		$(d_image).addEvent('load',function(){ 
			a.style.maxWidth= window.innerWidth - 15 + "px";
			a.src=d_image.src;
		});
		setTimeout( function() {
			d_image.src=imageSrc;
		}, 200);
	}
	return true;
}


var toggleModal = function(backgroundColour, options) {
    if ($("modal")) {
        $("modal").dispose();
        return false;
    }

    var options = $merge({
        zIndex: 10000000,
        opacity: .8,
		ht:0,
		wt:0,
        events: $empty()
    }, options);

    if (!$type(backgroundColour) && !$("modal"))
        return false;
	options.ht = options.ht > window.getScrollHeight()?options.ht + 10:window.getScrollHeight();
	options.wt = options.wt > window.getScrollWidth()?options.wt + 10:window.getScrollWidth();
    return new Element("div", {
        id: "modal",
        styles: {
            position: "absolute",
            top: 0,
            left: 0,
            width: options.wt,
            height: options.ht,
            background: backgroundColour,
            "z-index": options.zIndex
        },
        opacity: options.opacity,
        events: options.events
    }).inject(document.body);
} // end toggleModal

showPageByHref = function(href, args, method, replace, cb)
{
	var req = new XMLHttpRequest();
	req.onerror = function()
	{
			if (cb)
			cb(false);

	};
	
	req.onreadystatechange = function()
	{
		if (req.readyState == 4)
		{
			z = 0;
			if (replace ) {
				if (isNaN(replace)) {
					el = document.getElementById(replace);
					if (el.childNodes && el.childNodes.length > 0) {
						for (var x = el.childNodes.length - 1; x >= 0; x--) {
							el.removeChild(el.childNodes[x]);
							z++;
						}
					}
					var frag = document.createElement("tst");
					frag.innerHTML = req.responseText;
					setTimeout( function() {
						while (frag.firstChild)
							el.appendChild(frag.firstChild);
					}, 500);
				}else{
					el = document.getElementById("scroller");
					var frag = document.createElement("tst");
					var frag2 = document.createElement("div");
					frag.innerHTML = req.responseText;
					frag2.className = "article";
					frag2.id = replace;
					frag2.innerHTML = frag.firstChild.innerHTML;
					if (frag2)
						el.insertBefore(frag2,el.firstChild);				
				}
							
//				document.getElementById(replace).innerHTML = req.responseText;
			}
            else
            {
				var result = req.responseText;
				if (result.replace(/(\n|\r|\s*)+$/, '') != "1") {
					cb(false);
					return;
				}
			}
			if (cb)
				setTimeout(cb, 1000, true);
		}
	};

	if (args)
	{
		req.open(method || "GET", href, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.setRequestHeader("Content-Length", args.length);
		req.send(args.join("&"));
	}
	else
	{
		req.open(method || "GET", href, true);
		req.send(null);
	}
};

function endSendEmail(d) {
	if (d)
		alert("Your email has been sent");
	else
		alert("An error has occurred. Please try again later.");
	stopModal();
}

function stopModal () {
    document.getElementById("modal").removeEventListener("click", stopModal, false); 
	document.getElementById("modal").getParent().removeChild(document.getElementById("modal"));
//	document.ontouchmove = function(e) { e.preventDefault(); return false; }
}

function increaseFont() {
	var p = document.styleSheets[0]['cssRules'][0].styleSheet.cssRules;
	var font = fonts[++fontsz];
	if (!font)
		fonts[--fontsz];
	for (var R = 0; R < p.length; R++) {
		if (p[R].selectorText == '.article') {
			if(p[R].style.fontSize){
				p[R].style.fontSize = font;
				var myCookie = Cookie.write('font', fontsz);
				break;
			}
		}
	}
}
function decreaseFont() {
	var p = document.styleSheets[0]['cssRules'][0].styleSheet.cssRules;
	var font = fonts[--fontsz];
	if (!font)
		fonts[++fontsz];
	for (var R = 0; R < p.length; R++) {
		if (p[R].selectorText == '.article') {
			if(p[R].style.fontSize){
				p[R].style.fontSize = font;
				var myCookie = Cookie.write('font', fontsz);
				break;
			}
		}
	}
}

function setFont() {
	var cookie = Cookie.read("font");
	if (cookie && cookie == parseInt(cookie)) {
		fontsz = cookie;
		font = fonts[fontsz];
		var p = document.styleSheets[0]['cssRules'][0].styleSheet.cssRules;
		for (var R = 0; R < p.length; R++) {
			if (p[R].selectorText == '.article') {
				if(p[R].style.fontSize){
					p[R].style.fontSize = font;
					break;
				}
			}
		}
	}
}

window.addEvent('domready', function() {
	setFont();
});

