/*
----------------
Core
----------------
*/

function debug(x)
{
	$('debug').update(x);
	return;
}

function intval(x)
{
	x = parseInt(x);
	if(isNaN(x)) {
		return 0;
	}
	return x;
}

function setCookie(name,value,days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	} else {
		var expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function getCookie(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 null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function popup(url,name) {
	var ret = (window.open(url,
				name,
				'status=0,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=1,width=1024,height=800'));
	return ret;
}

function gup(name) {
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

function in_array(needle, haystack, strict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
 
    var found = false, key, strict = !!strict;
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
 
    return found;
}

// Stylesheet stuff
document.observe('dom:loaded', function(e) {
	$$('a.styleChanger').each(function(a) {
		a.observe('click', function(ev) {
			ev.stop();
			style = getCookie('style');
			if(!style) style = DefaultStyle;
			//alert('Style is '+style);
			for(i=0,l=StyleArray.length;i<l;i++) {
				if(StyleArray[i][0] == style) {
					if(i==(l-1)) j = 0;
					else j = i+1;
					break;
				}
			}
			newStyle = StyleArray[j];
			//alert('New Style is '+newStyle[0]);
			$$('link[type=text/css]').each(function(ss) {
				ss.disabled = true;
				if(ss.title == newStyle[1] || ss.title == '') {
					ss.disabled = false;
					return;
				}
			});
			setCookie('style',newStyle[0]);
		});
	});
});