SiteDotImage = 'images/dot.gif';

Zoom.OuterID = 'realZOOMOuter';
Zoom.FloaterID = 'realZOOMFloater';
Zoom.HighlightID = 'realZOOMHighlight';

Zoom.DefPositionFloaterID = 'Content';

Zoom.DefViewPortWid = 361;
Zoom.DefViewPortHei = 361;

var OurZoomIndex, OurZoomImage;

var origWidth = 361;
var origHeight = 361;
var floorSize = 1.0;
var ceilingSize = 2.0;

var imageX = 0;
var imageY = 0;
var imageV = 1;

var selects = document.getElementsByTagName('select');

var showFull = false;
var image = false;

OurZoomIndex = Zoom_AllocateZoomImages(1);

function SetupZoomImage( zoom_image_url )
{
    zoom_image_url = (typeof zoom_image_url == 'undefined') ? '' : zoom_image_url;
    
    if ( OurZoomIndex != -1 )
    {
        OurZoomImage = ZoomImages[OurZoomIndex];
        
        OurZoomImage.MainImageID = 'products_image';
        OurZoomImage.MainImageWid = 361;
        OurZoomImage.MainImageHei = 361;
        
        OurZoomImage.ZoomImageURL = zoom_image_url;
        
        OurZoomImage.ZoomImageWid = 1444;
        OurZoomImage.ZoomImageHei = 1444;
        
        Zoom_InitializeImage(OurZoomIndex);
    }
}

function ChangeZoomImage(path,image_main,image_large)
{
    var path_main = '';
    var path_large = '';
    
    if(image_main!='') path_main = path + image_main;
    if(image_large!='') path_large = path + image_large;
    Zoom_ChangeImage(OurZoomIndex, path_main, 361, 361, path_large,1444,1444);
}

function switchMainImage(path,main_image,large_image)
{
    ChangeZoomImage(path,main_image,large_image);
}

function ChangeProductImage(path, new_image, new_image_large, option_values_id, colorName) {
	if (new_image != '') { //change image
		ChangeZoomImage(path,new_image,new_image_large);
	}
	
	var selects = document.getElementsByTagName('select');
	var color_select = document.getElementById( 'color_select' );
	
	for( i = 0; i < color_select.options.length; i++) {
		if (color_select.options[i].value == option_values_id) {
			color_select.options[i].selected = 'selected';
		}
	}
	
	//change price
	var price = $('product_price').value;
	
	if (option_values_id != '') {
		var addprice = $('color_price'+option_values_id).value;
	} else {
		var addprice = 0.00;
	}
	
	var newprice = parseFloat(price) + parseFloat(addprice);
	
	$('product_price_visible').textContent = '$' + newprice.toFixed(2);
	
	//color-name
	$('color-name').innerHTML = colorName;
	
	//Check for the existance of a size and if it has been selected
	var color_id = option_values_id;
	var size_exists = 0;
	if(document.getElementById( 'size_select' )) {
		size_exists = 1;
		var size_select = document.getElementById( 'size_select' );
		var size_id = '';
		for( i = 0; i < size_select.options.length; i++) {
			if(size_select.options[i].selected == true) {
				size_id = size_select.options[i].value;
			}
		}
	}
	
	if(size_exists == 1) {
		if(color_id > 0 && size_id > 0) {
			var upc_input_id = '2-' + color_id + ',3-' + size_id;
		}
	} else if(color_id > 0) {
		var upc_input_id = '2-' + color_id;
	}
	
	var upc_value = document.getElementById(upc_input_id).value;
	
	if(upc_value) {
		$('upc-code').innerHTML = 'UPC: ' + upc_value;
	}
}

function ChangeSelectedSize(size_id, size_name) {
	//Select the appropriate dropdown value
	var size_select = document.getElementById( 'size_select' );
	for( i = 0; i < size_select.options.length; i++) {
		if (size_select.options[i].value == size_id) {
			size_select.options[i].selected = 'selected';
		}
	}
	
	//Determine if a color has been selected
	var color_exists = 0;
	if(document.getElementById( 'color_select' )) {
		color_exists = 1;
		var color_select = document.getElementById( 'color_select' );
		var color_id = '';
		for( i = 0; i < color_select.options.length; i++) {
			if(color_select.options[i].selected == true) {
				color_id = color_select.options[i].value;
			}
		}
	}
	
	$('size-name').innerHTML = size_name;
	
	if(color_exists == 1) {
		if(color_id > 0 && size_id > 0) {
			var upc_input_id = '2-' + color_id + ',3-' + size_id;
		}
	} else if(size_id > 0) {
		var upc_input_id = '3-' + size_id;
	}
	
	var upc_value = document.getElementById(upc_input_id).value;
	
	if(upc_value) {
		$('upc-code').innerHTML = 'UPC: ' + upc_value;
	}
}

function ChangeSelectedImage(type, id, total) {
	for(i = 1; i <= total; i++) {
		var object = document.getElementById(type+'-'+i);
		object.className = (id == i) ? 'checked' : 'unchecked';
		//alert(id + ' - ' + object.className);
	}
}

function scaleIt(v)
{
    if (!image)
    {
        image = new Draggable('products_image', {starteffect:false, reverteffect:false, endeffect:false, snap:containIt});
    }
    
    var centerX = (origWidth*(1-imageV)/2-imageX)/imageV;
    var centerY = (origHeight*(1-imageV)/2-imageY)/imageV;

    imageV = floorSize+(v*(ceilingSize-floorSize));

    image.element.style.width = (imageV*origWidth)+'px';
    image.element.style.height = (imageV*origWidth)+'px';

    imageX = origWidth*(1-imageV)/2-centerX*imageV;
    imageY = origHeight*(1-imageV)/2-centerY*imageV;
    
    containIt(imageX, imageY, image);

    image.element.style.left = imageX+'px';
    image.element.style.top = imageY+'px';
}

function containIt(x,y,draggable)
{
    var pDim = Element.getDimensions(draggable.element.parentNode);
    var eDim = Element.getDimensions(draggable.element);
    
    var xMin = 0, xMax = pDim.width-eDim.width;
    var yMin = 0, yMax = pDim.height-eDim.height;
    
    x = x>xMin ? xMin : x;
    x = x<xMax ? xMax : x;
    y = y>yMin ? yMin : y;
    y = y<yMax ? yMax : y;
    
    //y = yMin;
    imageX = x;
    imageY = y;
    
    return [x,y];
}

function CheckChooseColor()
{
    if ( document.getElementById( 'color_select' ) )
    {
        if ( true == document.getElementById( 'color_select' ).options[0].selected )
        {
            alert('Please choose a color');
            return false;
        }
    }
		
		if ( document.getElementById( 'size_select' ) )
    {
        if ( true == document.getElementById( 'size_select' ).options[0].selected )
        {
            alert('Please choose a size');
            return false;
        }
    }
    
    return true;
}

function ChangeAdditionalImagesLink(url) {
	linkObject = document.getElementById('additional-images-link');
	linkObject.innerHTML = '<a href="javascript:void(0)" onClick="imagesWindow(\'' + url + '\');"><img src="images_osc/additional-views.png" alt="Additional Views" /></a>';
	return true;
}

function imagesWindow(url) {
	window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=730,height=560,screenX=150,screenY=150,top=150,left=150')
}

function sizingChart(url) {
	window.open(url,'sizingChartWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=660,height=500,screenX=150,screenY=150,top=150,left=150');
}
