﻿/******************************************
  PAGE LOAD
 ******************************************/
$(document).ready(function () {
    findPopUps();
}); 

 
/******************************************
  UTILS
 ******************************************/

// Used for uploads - adds a new upload field
function addFileInput(objWrapper)
{
	var fileInput = objWrapper.lastChild;

	var newFileInput = fileInput.cloneNode(false);
	newFileInput.value = null;
	newFileInput.id += 'A'; // A unique id
	newFileInput.name = newFileInput.id;
	newFileInput.removeClassName("required");
	objWrapper.appendChild(newFileInput);
}

function checkDropdownForAddNewItem(e)
{
    var objDropdown = e.target;
    if (objDropdown.tagName.toLowerCase() == "select")
    {
        if (objDropdown.options[objDropdown.selectedIndex].value == "new")
        {
            var objParent = objDropdown.parentNode;
            if (objParent.className == "select-item")
            {
                objParent.hide();
                objParent.nextSiblings()[0].show();
                objParent.nextSiblings()[0].childElements()[0].focus();
                
                // Revert the dropdown selected item to the top item
                objDropdown.options[0].select();
            }
        }
    }        
}

function hideDropdownAddNewInputs()
{
    $('.add-new-item').hide();
}

/******************************************
  SPECIFIC PAGES
 ******************************************/
 
 /* Admin: add product */
 var uploadText = "Switch to upload mode";
 var pathText = "Switch to path mode";
 
 function toggleThumbnailLinks(objLink, strForceShow)
 {
    if (objLink)
    {
        if (strForceShow == "upload")
            objLink.innerHTML == uploadText;
        else if (strForceShow == "path")
            objLink.innerHTML == pathText;

        if (objLink.innerHTML == pathText)
        {
            objLink.innerHTML = uploadText;
            $('thumbnailLI').removeClassName('error');
            $('galleryLI').removeClassName('error');
            $('thumbnailLI', 'galleryLI').invoke('hide');
            $('thumbnailUploadLI', 'galleryUploadLI').invoke('show');
        }
        else
        {
            objLink.innerHTML = pathText;
            $('thumbnailUploadLI').removeClassName('error');
            $('galleryUploadLI').removeClassName('error');
            $('thumbnailLI', 'galleryLI').invoke('show');
            $('thumbnailUploadLI', 'galleryUploadLI').invoke('hide');
        }
    }
 }
 
/**
* Returns the value of the selected radio button in the radio group, null if
* none are selected, and false if the button group doesn't exist
*
* @param {radio Object} or {radio id} el
* OR
* @param {form Object} or {form id} el
* @param {radio group name} radioGroup
*/
function $RF(el, radioGroup) {
    if($(el).type && $(el).type.toLowerCase() == 'radio') {
        var radioGroup = $(el).name;
        var el = $(el).form;
    } else if ($(el).tagName.toLowerCase() != 'form') {
        return false;
    }

    var checked = $(el).getInputs('radio', radioGroup).find(
        function(re) {return re.checked;}
    );
    return (checked) ? $F(checked) : null;
}

var newWindow = null;

function closeWin(){
	if (newWindow != null){
		if(!newWindow.closed)
			newWindow.close();
	}
}

function popUpWin(url, type, strWidth, strHeight){
	
	closeWin();
		
	type = type.toLowerCase();
	
	if (type == "fullscreen"){
		strWidth = screen.availWidth;
		strHeight = screen.availHeight;
	}
	var tools="";
	if (type == "standard") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
	if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
	newWindow = window.open(url, 'newWin', tools);
	newWindow.focus();
}

function doPopUp(e)
{
//set defaults - if nothing in rel attrib, these will be used
var t = "standard";
var w = "780";
var h = "580";
//look for parameters
attribs = this.rel.split(" ");
if (attribs[1]!=null) {t = attribs[1];}
if (attribs[2]!=null) {w = attribs[2];}
if (attribs[3]!=null) {h = attribs[3];}
//call the popup script
popUpWin(this.href,t,w,h);
//cancel the default link action if pop-up activated
if (window.event) 
	{
	window.event.returnValue = false;
	window.event.cancelBubble = true;
	} 
else if (e) 
	{
	e.stopPropagation();
	e.preventDefault();
	}
}

function findPopUps()
{
var popups = document.getElementsByTagName("a");
for (i=0;i<popups.length;i++)
	{
	if (popups[i].rel.indexOf("popup")!=-1)
		{
		// attach popup behaviour
		popups[i].onclick = doPopUp;
		// add popup indicator
		if (popups[i].rel.indexOf("noicon")==-1)
			{
			popups[i].style.backgroundImage = "url(/pics/icons/pop-up.gif)";
			popups[i].style.backgroundPosition = "0 center";
			popups[i].style.backgroundRepeat = "no-repeat";
			popups[i].style.paddingLeft = "15px";
			}
		// add info to title attribute to alert fact that it's a pop-up window
		popups[i].title = popups[i].title + " [Opens in pop-up window]";
		}
	}
}

