// MarketPlace IGA
// Common JavaScript Functions
//

// image swapping
function swap( id, img ) {
	document.getElementById( id ).src = img.src;
}

// promotion swapping
var curPromo = 0;

function promoPrev() {
	var box = document.getElementById("promos"); 
	var promos = box.getElementsByTagName("div"); 
	promos[ curPromo ].style.display = "none";
	curPromo--;
	if ( curPromo == -1 ) {
		curPromo = promos.length - 1;
	}
	promos[ curPromo ].style.display = "block";
}

function promoNext() {
	var box = document.getElementById("promos"); 
	var promos = box.getElementsByTagName("div"); 
	promos[ curPromo ].style.display = "none";
	curPromo++;
	if ( curPromo == promos.length ) {
		curPromo = 0;
	}
	promos[ curPromo ].style.display = "block";
}

// flyer swapping
var curFlyer = 0;

function flyerPrev() {
	var flyer = document.getElementById("flyerpages"); 
	var pagenum = document.getElementById("pagenum");
	var pages = flyer.getElementsByTagName("div"); 
	pages[ curFlyer ].style.display = "none";
	curFlyer--;
	if ( curFlyer == -1 ) {
		curFlyer = pages.length - 1;
	}
	pages[ curFlyer ].style.display = "block";
	pagenum.innerHTML = curFlyer + 1;
}

function flyerNext() {
	var flyer = document.getElementById("flyerpages"); 
	var pagenum = document.getElementById("pagenum");
	var pages = flyer.getElementsByTagName("div"); 
	pages[ curFlyer ].style.display = "none";
	curFlyer++;
	if ( curFlyer == pages.length ) {
		curFlyer = 0;
	}
	pages[ curFlyer ].style.display = "block";
	pagenum.innerHTML = curFlyer + 1;
}

function flyerPrevFull() {
	var flyer = document.getElementById("flyerpages"); 
	var pagenum = document.getElementById("pagenum");
	var pages = flyer.getElementsByTagName("div"); 
	pages[ curFlyer ].style.display = "none";
	curFlyer--;
	if ( curFlyer == -1 ) {
		curFlyer = pages.length - 1;
	}
	pages[ curFlyer ].style.display = "block";
}

function flyerNextFull() {
	var flyer = document.getElementById("flyerpages"); 
	var pagenum = document.getElementById("pagenum");
	var pages = flyer.getElementsByTagName("div"); 
	pages[ curFlyer ].style.display = "none";
	curFlyer++;
	if ( curFlyer == pages.length ) {
		curFlyer = 0;
	}
	pages[ curFlyer ].style.display = "block";
}


function flyerGo( page ) {
	var flyer = document.getElementById("flyerpages"); 
	var pagenum = document.getElementById("pagenum");
	var pages = flyer.getElementsByTagName("div"); 
	pages[ curFlyer ].style.display = "none";
	curFlyer = page - 1;
	pages[ curFlyer ].style.display = "block";
	//pagenum.innerHTML = curFlyer + 1;
}

// shop callouts
var curShop = 0;

function shopOn( item ) {
	if ( document.getElementById("item" + curShop ) ) {
		document.getElementById("item" + curShop ).style.display = "none";
	}
	document.getElementById("item" + item ).style.display = "block";
	curShop = item;
	return false;
}

function shopOff( ) {
	if ( document.getElementById("item" + curShop ) ) {
		document.getElementById("item" + curShop ).style.display = "none";
	}
	curShop = 0;
	return false;
}

// email address validation
function isEmail( string ) {
	if ( string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1 ) {
		return true;
	} else {
		return false;
	}
}

function isPostalCode( pc ) {
	// canadian postal codes (6 or 7 characters)
	if( ( pc.match(/^[A-Za-z]\d[A-Za-z]\d[A-Za-z]\d$/) ) || ( pc.match(/^[A-Za-z]\d[A-Za-z] \d[A-Za-z]\d$/) ) )
		return true;
	return false;
}

function isPhone( phone ) {
	// 3+3+4 digit
	if( phone.match(/^\d\d\d\-\d\d\d\-\d\d\d\d$/) )
		return true;
	return false;
}

function fixPhone( phone ) {
	var num = phone.value;
	var newnum = "";
	var output = "";
	// strip out non-numbers
	for ( var i = 0; i < num.length; i++ )
		if ( num.charAt( i ).match(/\d/) )
			newnum += num.charAt( i );
	if ( newnum ) {
		// rebuild number with hyphen
		for ( var i = 0; i < 10; i++ ) {
			output += newnum.charAt( i )
			if ( i == 2 || i == 5 )
				output += "-";
		}
	}
	// return value
	phone.value = output;
}

function fixPostalCode( pc ) {
	// return value in uppercase
	pc.value = pc.value.toUpperCase();
}
function openCenteredWindow(url, height, width, name, parms) {
   var left = Math.floor( (screen.width - width) / 2);
   var top = Math.floor( (screen.height - height) / 2);
   var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
   if (parms) { winParms += "," + parms; }
   var win = window.open(url, name, winParms);
   if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
   return win;
}

// popup windows
function popup( url, name, w, h ) {
	var x = (screen.width - w) / 2;
	var y = (screen.availHeight - h) / 2;
	var page = window.open(url,name,"toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=auto,width=" + w + ",height=" + h + ",screenX=" + x + ",screenY=" + y + ",top=" + y + ",left=" + x + "");
	page.focus();
}

// *********************************************************
// Simple Ajax Code, does get or post on passed Query String

function Ajax2Page( fct, url, formStr, successMsg, errorMsg ) {
	success = successMsg;
	failure = errorMsg; 
	// branch for native XMLHttpRequest object
	if ( window.XMLHttpRequest ) {
		req = new XMLHttpRequest();
	}
	else if ( window.ActiveXObject ) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	if ( req ) {
		req.onreadystatechange = processReqChange;
		if ( fct == "POST" ) {
			req.open ( "POST", url, true );
			req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
			req.setRequestHeader( "Content-length", formStr.length );
			req.setRequestHeader( "Connection", "close" );
			req.send( formStr );
		}
		else {
			req.open( "GET", url + "?" + formStr, true );
			req.send( null );
		}
	}
}

function processReqChange() {
	// only if req shows "complete"
	if ( req.readyState == 4 ) {
		if ( req.status == 200 ) {  
			if ( success != "" ) {
				alert(success);
			}
		}
		else {
			if ( failure != "" ) {
				alert( failure );
			}
		}
	}
}

