// JavaScript Document

var slideShowCount 		= 0;
var slideShowCurrent 	= 0;
var slideShowURL	 	= '';
var slideShowDelay      = 5000;
var timer;

function slideShow(cur, cnt, url) {
	slideShowCount 		= parseInt(cnt);
	slideShowCurrent 	= parseInt(cur);
	slideShowURL		= url;
	document.getElementById('slideshow').innerHTML = '<a href="javascript:stopSlideShow();">Stop slide show</a><br /><a href="javascript:slideShowSpeed(1000);">Slower</a> | <a href="javascript:slideShowSpeed(-1000);">Faster</a>';
	nextSlide();  
}

function slideShowSpeed (change) {
    slideShowDelay += change;
    if (slideShowDelay < 1000) 
    {
        slideShowDelay = 1000;
    }
}

function stopSlideShow() {
	document.getElementById('slideshow').innerHTML = '<a href="javascript:slideShow('+slideShowCurrent+','+slideShowCount+",'"+slideShowURL+"'"+');">Play slide show</a>';
	clearTimeout(timer);

}

function nextSlide() {
	document.getElementById('img'+slideShowCurrent).className = '';
	//img.className = '';
	slideShowCurrent ++;
	if (slideShowCurrent > slideShowCount)
	{
		slideShowCurrent = 1;
	}
	document.getElementById('img'+slideShowCurrent).className = 'sel';
	sndReq(slideShowURL+'_'+slideShowCurrent, displaySlide);
}

function displaySlide() {
    if (http.readyState == 4) {
        var response = http.responseText;
        document.getElementById('artwork').innerHTML = response;	
		initfade('artwork', fade);
    }

	
}
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(url, responseFunction) {
    http.open('GET', url);
    http.onreadystatechange = responseFunction;
    http.send(null);
}

var fadeDIV = "";
var fadeFN = fade;

function initfade(d, fn) {
	fadeDIV = d;
	fadeFN = fn;
	var box = document.getElementById(fadeDIV);
	box.style.opacity = 0.0;
	timer = setTimeout(fadefn,20);
}

function fade() {
  var box = document.getElementById(fadeDIV);
  box.style.opacity = parseFloat(box.style.opacity)+.2;
  if (parseFloat(box.style.opacity) > 1) {
  	box.style.opacity = 1.0;
	timer = setTimeout(nextSlide,slideShowDelay);	
  } else {
  	timer = setTimeout(fade,20); // call fade in 20msec
  }
}

function show_div_in_group (showID, prefix, count) {
	for (var i=0; i<count; i++)
	{
		var elem = document.getElementById(prefix + i);
		var str = elem.className;
		elem.className = str.replace('show', 'hide');
	}
	var elem = document.getElementById(showID);
	var str = elem.className;
	elem.className = str.replace('hide', 'show');
}


function show_hide_div (showID) {
	var elem = document.getElementById(showID);
	var str = elem.className;
	if (elem.className.indexOf('hide') >-1) 
	{
		elem.className = str.replace('hide', 'show');
	} else {
		elem.className = str.replace('show', 'hide');
	}
}


/* SUBSCRIPTIONS */

function checksub(form) {
	
	var retval = true;
	
	if (checkemail(form.email.value)==false)
	{
		alert("Your email address looks incorrect, please check it, and try again.");
		retval = false;
	}
	if (form.name.value == '') 
	{
		retval = false;
	}

	return retval;
}

function checkemail (str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true;		
}



