function getSelectedOptionId(){
   if(document.images) {
      var which = document.productForm;

      for(i=0;i<which.length;i++) {
         var tempobj=which.elements[i];
         if(tempobj.name.substring(0,7)=='options' || tempobj.name.substring(0,16)=='checkbox_options') {
            var fieldType = tempobj.type;
            if(fieldType=='select-one'){
               if(tempobj.selectedIndex > -1){
                  //var myval = tempobj[tempobj.selectedIndex].value;
                  var myval = tempobj.selectedIndex;
               	  return myval;
               }

            } else {
				//ignore
            }
         }
      }
   }
}

function getChildOptionElement(){
   if(document.images) {
      var which = document.productForm;

      for(i=0;i<which.length;i++) {
         var tempobj=which.elements[i];
         if(tempobj.name.substring(0,10)=='options[2]') {
            return tempobj;           
         }
      }
   }
}

function updatePrice(){
   var which = document.productForm;
   var myoptions = getSelectedOptions();
   var productId = which.productID.value;
   var extraField = getSelectedPersonalizations();
   var quantity = getSelectedValue(which, which.quantity);

   x_getLiveProductTotal(myoptions, productId, extraField, '1', quantity, xtotalHandler);
}

function totalHandler(response){
   if(response){
   		document.getElementById('price').innerHTML = response;
   }
}

function getSelectedPersonalizations(){
	var myperses = '';
	var which = document.productForm;

	for(i=0;i<which.length;i++) {	
		var tempobj=which.elements[i];
		if(tempobj.name.substring(0,11)=='extraField-') {
			if(tempobj.value != ''){
				id = tempobj.name.replace(/extraField-/, "");
				myperses += id + '-';
			}			
		}	
	}
	return myperses;
}

function getSelectedOptions(){
   var myoptions = '';

   if(document.images) {
      var which = document.productForm;

      for(i=0;i<which.length;i++) {
         var tempobj=which.elements[i];
         if(tempobj.name.substring(0,7)=='options' || tempobj.name.substring(0,16)=='checkbox_options') {
            var fieldType = tempobj.type;
            if(fieldType=='select-one'){
               if(tempobj.selectedIndex > -1){
                  var myval = tempobj[tempobj.selectedIndex].value;
               	  myoptions += ',' + myval;
               }

            } else if(fieldType=='radio' || fieldType=='checkbox'){
               if(tempobj.checked){
                  var myval = tempobj.value;
                  myoptions += ',' + myval;
               }

            } else {
		//ignore 
            }
         }
      }
   }

   return myoptions;
}

function updatePersHiddenField(value, key){
	document.getElementById('extraField-' + key).value = value;
}

function selectOption(optionID){
	if(obj = document.getElementById('photoOptionParentDropDown')){
		obj.selectedIndex = 0;
		obj.onchange();
	}

	if(obj = document.getElementById('photoOptionDropDown')){
		if(obj.tagName == 'select')
                    setSelectionIndex(obj, optionID);
                else
                    obj.value = optionID;
	}
}

function selectMainOption(optionID){
	if(obj = document.getElementById('photoOptionParentDropDown')){
		setSelectionIndex(obj, optionID);
		obj.onchange();
	}
}

function setSelectionIndex(select, optionID){
	if((elements = select.options))
        {
            var length = elements.length;

            for(i=0;i<length;i++){
                    var current = elements[i];

                    if(current.value == optionID){
                            select.selectedIndex = i;
                    }
            }
        }
}

function setSelectedSwatch()
{
    if((obj = document.getElementById('photoOptionDropDown'))){
        $('#optionHolder .swatches .selected').removeClass('selected');
        $('#productSwatch_' + obj.value).addClass('selected');
    }
}

$(document).ready(function(){
    if((obj = document.getElementById('photoOptionDropDown')) && ($('ul.swatches').length)){
        setSelectedSwatch();
        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = obj.name;
        input.value = obj.value

        var p = obj.parentNode;
        p.removeChild(obj);
        p.appendChild(input);
        input.id = 'photoOptionDropDown';
    }
});