var suboption = new Array();
var option = new Array();
var optionpics = new Array();
var upgrade_selects = new Array();
var last_suboption = new Array();
var subs_effect = null;

function showLarge(prod_id)
{
	var newwin = window.open('/show_large.php?id='+prod_id, 'BigPic', 'screenX=20,screenY=20,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=350,height=450'); 
	newwin.focus();
}

function showLargeOption(option_id)
{
	var newwin = window.open('/show_large_option.php?option_id='+option_id, 'BigPic', 'screenX=20,screenY=20,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=350,height=450'); 
	newwin.focus();
}

function newWindow(url, width, height) {
    newwin = window.open(url, 'Search', 'screenX=20,screenY=20,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' + width + ',height=' + height); 
	newwin.focus();
} 

function showSizeChart()
{
	var newwin = window.open('/sizechart/', 'SizeChart', 'screenX=20,screenY=20,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=540,height=380'); 
	newwin.focus();
}

function showOption()
{
	var filename;
	
	if (showOption.arguments.length == 0)
		filename = document.optionpic.src;
	else
		filename = document['optionpic'+showOption.arguments[0]].src;
		
	var newwin = window.open('/show_large_option.php?filename='+filename, 'BigPic', 'screenX=20,screenY=20,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=350,height=450'); 
	newwin.focus();
}

function setPackageImage(img_name,to_src)
{
	if (document.images) {
		document[img_name].src = to_src;
	}
}

function getSelectedPackageChoice(fld)
{
	var x;
	
	if (!fld.length)
		return fld.value;
	
	for (x=0;x<fld.length;x++) {
		if (fld[x].checked) {
			return fld[x].value;
		}
	}
	
	return fld[0].value;
}

function showOptionsForSelectedPackageChoice(cat_id,prod_id,old_prod_id)
{
	var div;
	var divold;
	
	if (document.all) {
		div = document.all['option_'+cat_id+'_'+prod_id];
		divold = document.all['option_'+cat_id+'_'+old_prod_id];
	}
	else if (document.getElementById) {
		div = document.getElementById('option_'+cat_id+'_'+prod_id);
		divold = document.getElementById('option_'+cat_id+'_'+old_prod_id);
	}
	
	divold.style.visibility = 'hidden';
	div.style.visibility = 'visible';
}

function hasImage(id)
{
	for (var x=0;x<optionpics.length;x++) {
		if (optionpics[x] == id)
			return true;
	}
	
	return false;
}

function isUpgrade(fld_name)
{
	for (var x=0;x<upgrade_selects.length;x++) {
		if (upgrade_selects[x] == fld_name)
			return true;					
	}
	
	return false;
}

function showSuboptions(id,pulldown_id,prod_index,prod_id)
{	
	if (hasImage(id) && document.images) {
		var picname = 'optionpic'+(prod_index > -1 ? prod_index : '');
		var pic = document.images[picname];
		if (pic)
			pic.src = '/optionpics/'+id+'_thumb.jpg';
	}
	
	if (last_suboption[pulldown_id]) {
		setSubOptionVisibility(last_suboption[pulldown_id],'hidden',prod_id);
	}
		
	if (!suboption[id])					
		return false;
	
	setSubOptionVisibility(suboption[id],'visible',prod_id);
	
	last_suboption[pulldown_id] = suboption[id];
	
	return true;
}

function setSubOptionVisibility(suboption,visibility,prod_id)
{
	var field_name;
	var field_options;
	var field_options_select;
	
	if (document.all) {
		field_name = document.all['suboption_name_' + suboption];
		field_options = document.all['suboption_options_' + suboption];
		field_options_select = document.all['suboption_options_select_' + suboption];
	}	
	else if (document.getElementById) {
		field_name = document.getElementById('suboption_name_' + suboption);
		field_options = document.getElementById('suboption_options_' + suboption);
		field_options_select = document.getElementById('suboption_options_select_' + suboption);
	}
		
	field_name.style.visibility = visibility;
	field_options.style.visibility = visibility;
	field_options_select.style.visibility = visibility;

	if (prod_id > 0) {
		suboption = prod_id + '][' + suboption;
	}
	
	if (visibility == 'hidden') {
		document.theFrm['options['+suboption+']'].selectedIndex = 0;
		document.theFrm['options['+suboption+']'].disabled = true;
	}
	else {
		document.theFrm['options['+suboption+']'].disabled = false;
	}
}

function populateShipping(fld)
{
	var thefrm = fld.form;
	var field = fld.name.substring('billing['.length,fld.name.length-1);
	
	if (fld.type == 'select') {
		if (thefrm['shipping['+field+']'].selectedIndex == 0) {
			//thefrm['shipping['+field+']'].selectedIndex = fld.selectedIndex;
		}	
	}
	else if (thefrm['shipping['+field+']'].value == '') {
		thefrm['shipping['+field+']'].value = fld.value;
	}

	// populate credit card name when done with last name
	
	if (field == 'last_name' && thefrm['billing[first_name]'].value != '' && thefrm['billing[last_name]'].value != '' && thefrm['payment[name_on_card]'].value == '') {
		thefrm['payment[name_on_card]'].value = thefrm['billing[first_name]'].value + ' ' + thefrm['billing[last_name]'].value;
	}
}

function populateShippingOptions(fld)
{
	var thefrm = fld.form;
	var field = fld.name.substring('billing['.length,fld.name.length-1);
	if (fld.type == 'select' || fld.type=='select-one') {
		if (thefrm['shipping['+field+']'].selectedIndex == 0) {
			thefrm['shipping['+field+']'].selectedIndex = fld.selectedIndex;
		}	
	}	
}

function smallScreen()
{
	return (screen.width < 1024);
}

function changeProductPic(path,swatch)
{
	var pic = document.getElementById('product_pic');
	pic.setAttribute('src',path);
	
	if(swatch > 0){
		var show = 'add_images_' + swatch;
		var size = 0;
		var pics = $$('#current-thumbs>ul>li');
	
		for(var i = 0; i < pics.length; ++i){
			if(!pics[i].hasClassName(show) && !pics[i].hasClassName('add_images_none')){
				pics[i].hide();
			}else{
				pics[i].show();
				size++;
			}
	
		}
		$('current-thumbs').style.width = size * gal_thumb_width + 'px';
		$('thumb-holder').style.width = (gal_show * gal_thumb_width) - 9 + 'px';
	}
}

function changeSwatch(id){
	if(id && $('sw_' + id).onclick){
		$('sw_' + id).onclick();
	}else{
		changeProductPic(orig_pic);
	}
}

function cacheImages(images)
{
	for (var i in images)
	{
		//alert(images[i]);
    var im = new Image();
    im.src = images[i];
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function getElement(name)
{
	return (document.getElementById) ? document.getElementById(name) : document.all[name];
}

var active_tab = null;
var active_tab_pic = null;

function showTab(tab)
{
	var t     = getElement(tab);
	var t_pic = getElement(tab+"_tab");
	var orig_active = active_tab;	
	
	hideTabs();
	
	if (t != orig_active) {		
		active_tab = t;
		active_tab.style.visibility = 'visible';
		
		if (active_tab_pic != null) {
			active_tab_pic = t_pic;
			active_tab_pic.style.left = (findPosX(active_tab)+800)+'px';
		}
	}
}

function hideTabs()
{
	if (active_tab != null) {
		active_tab.style.visibility = 'hidden';
		
		if (active_tab_pic != null) {
			active_tab_pic.style.left = (findPosX(active_tab)+0)+'px';
		}
		
		active_tab = null;
		active_tab_pic = null;
	}
}

function setImage(id,src)
{
	if (document.images) {
		getElement(id).src = src;
	}
}

function redirectURL(url)
{
    window.location = url;
}

function showSubs(){
	if(subs_effect)
		subs_effect.cancel();
		
	$('products_dropdown').show();
}

function hideSubs(){
	subs_effect = new Effect.Fade('products_dropdown',{
		to: 0.0,
		duration: 0.0,
		delay: 0.3
	});
}

function giftbox(baseurl, id, giftbox_id){
	$("package_"+id).innerHTML = 'Loading...';
	//$("package_"+id).style.backgroundImage = baseurl+'pics/loading.gif';
	//$("package_"+id).style.backgroundRepeat = 'none';
	window.location = baseurl+'cart.php?action=add&id='+id+'&giftbox_id='+giftbox_id;
}
