$(document).ready(function(){
initAll();//onload controller
});
/*
function adjust_height(x){ //this function is not currently in use
var dropdown_diff = parseInt('32');
var elem = document.getElementById('drop_select_main_'+x);
var leftOffset = elem.offsetLeft;
var topOffset = elem.offsetTop;
var parent = elem.offsetParent;
while(parent != document.body){
leftOffset += parent.offsetLeft;
topOffset += parent.offsetTop;
parent = parent.offsetParent;
}
var Offsets = new Object();
Offsets.top = topOffset;
Offsets.left = leftOffset;
var screenheight = document.getElementById('screen_height');
alert(screenheight.value);
var tmp_value_off = '';
if(screenheight.value == '99999'){
screenheight.value = Offsets.top;
}
var tmp_overall_screenheight = Offsets.top;
if(tmp_overall_screenheight != screenheight.value){
tmp_value_off = screenheight.value-tmp_overall_screenheight;
screenheight.value = tmp_overall_screenheight;
}else{
}
var tmp_fromtop = drop_main.offsetTop+dropdown_diff;
var client_top = drop_main.clientHeight;
var tmp_height = screen.height;
if(document.body.offsetHeight > tmp_height){
tmp_height = document.body.offsetHeight;
}
if(tmp_fromtop+client_top>tmp_height){
var tmp_top = '';
var jumped = document.getElementById('jumped');
jumped.value = 1;
tmp_top = drop_main.offsetTop-(client_top+dropdown_diff)-tmp_value_off;
}else{
var tmp_top = '';
tmp_top = drop_main.offsetTop-tmp_value_off;
}
drop_main.style.top = tmp_top+'px';
alert(drop_main.style.top);
}
*/
function strstr( haystack, needle, bool ) { //equivalent to php function
// http://kevin.vanzonneveld.net
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Onno Marsman
// * example 1: strstr('Kevin van Zonneveld', 'van');
// * returns 1: 'van Zonneveld'
// * example 2: strstr('Kevin van Zonneveld', 'van', true);
// * returns 2: 'Kevin '
var pos = 0;
haystack += '';
pos = haystack.indexOf( needle );
if( pos == -1 ){
return false;
} else{
if( bool ){
return haystack.substr( 0, pos );
} else{
return haystack.slice( pos );
}
}
}
function drop_activate(x,y){ //x == id of drop div being activated, y == id of div invisible div needs appended to
var dropper = document.getElementById(x);
if(dropper.style.display=='none' || dropper.style.display==''){
dropper.style.display = 'block';
create_invis(x,y);
}
else{
dropper.style.display = 'none';
go_away_invis(x);
}
}
function create_invis(x,y){ //x == unique helper of invisible div, y == id of div invisible div needs appended to
var invis_div = document.createElement('div');
invis_div.style.position = 'absolute';
invis_div.style.top = '0px';
invis_div.style.left = '0px';
invis_div.style.zIndex = '0';
invis_div.style.backgroundColor = '#000000';
invis_div.name = 'invis_div_'+x;
invis_div.id = 'invis_div_'+x;
invis_div.style.opacity = .00;
invis_div.style.MozOpacity = .00;
invis_div.style.filter = 'alpha(opacity='+(00)+')';
if(strstr(navigator.appName, 'Microsoft Internet Explorer'))
{
invis_div.style.width = screen.width-30;
}
else
{
invis_div.style.width = '100%';
}
var out_height = screen.height;
if(document.body.offsetHeight > out_height){out_height = document.body.offsetHeight};
invis_div.style.height = out_height+'px';
var major_tmp = document.getElementById(y);
major_tmp.appendChild(invis_div);
var main_div = document.getElementById(x);
main_div.style.zIndex = '25';
var tmp_div = document.getElementById('invis_div_'+x);
if(strstr(navigator.appName, 'Microsoft Internet Explorer'))
{
tmp_div.onclick=function() {go_away_invis(x);};
}
else
{
tmp_div.setAttribute('onclick', 'go_away_invis(\''+x+'\')');
}
}
function go_away_invis(x){ //x == unique helper of invisible div as well as drop div being hidden
var formElement = document.getElementById('invis_div_'+x);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
var dropper = document.getElementById(x);
dropper.style.display = 'none';
dropper.style.zIndex = '5';
}
function hide_show_block(x){ //x == id of block in question for hide_show purposes
var main_desc = document.getElementById(x);
if(main_desc.style.display=='block' || main_desc.style.display == ''){
main_desc.style.display='none';
}
else{
main_desc.style.display='block';
}
}
function change_mouse(x){ //x == 1 or 2 based on cursor preference
if(x==1){
document.body.style.cursor = 'default';
}
else if(x==2){
document.body.style.cursor = 'pointer';
}
}
function show_dim(){
var dim_pic = document.getElementById('dim_pic');
var enlarge_fake = document.getElementById('enlarge_fake');
for(var i = 0; i < document.f_product.getElementsByTagName('div').length; i++){
var input = document.f_product.getElementsByTagName('div')[i];
if(input.id.substr(0,9)=='prod_pic_'){
input.style.display='none';
}
if(input.id.substr(0,13)=='enlarge_real_'){
input.style.display='none';
}
}
/*alert('show dim');*/
dim_pic.style.display = 'block';
enlarge_fake.style.display = 'block';
}
function show_prod(x){ //x == id of the picture passed for lightbox purposes
var dim_pic = document.getElementById('dim_pic');
var enlarge_fake = document.getElementById('enlarge_fake');
/*alert('show prod');*/
for(var i = 0; i < document.f_product.getElementsByTagName('div').length; i++){
var input = document.f_product.getElementsByTagName('div')[i];
if(input.id.substr(0,9)=='prod_pic_'){
if(input.id.substr(9)!=x){
input.style.display='none';
}else{
input.style.display='block';
}
}
if(input.id.substr(0,13)=='enlarge_real_'){
if(input.id.substr(13)!=x){
input.style.display='none';
}else{
input.style.display='block';
}
}
}
var prod_pic = document.getElementById('prod_pic_'+x);
var enlarge_real = document.getElementById('enlarge_real_'+x);
dim_pic.style.display = 'none';
enlarge_real.style.display = 'block';
enlarge_fake.style.display = 'none';
}
function update_dropdowns(x){ //x == select quatities for quantity of product
var qty1 = document.getElementById('qty1');
var qty2 = document.getElementById('qty2');
if(x==1){
qty2.value = qty1.value;
}
else if(x==2){
qty1.value = qty2.value;
}
update_price();
}
function update_display(x,y,z){ //x == id of replace div, y == id of div being replaced, z == casehelper for renaming ids
var replace_info = document.getElementById(x);
var replaced_info = document.getElementById(y);
var tmp_div = document.createElement('div');
tmp_div.id = 'tmp_div_'+x;
tmp_div.innerHTML = replace_info.innerHTML;
tmp_div.style.display = 'none';
replace_info.appendChild(tmp_div);
var new_replace = document.getElementById('tmp_div_'+x).innerHTML.replace(/
<\/div>/g, '');
replaced_info.innerHTML = new_replace;
for(var i = 0; i < replaced_info.childNodes.length; i++){
switch(i){
case 0:
replaced_info.childNodes[i].id = 'drop_image_'+z;
replaced_info.childNodes[i].className = 'left drop_main_image';
break;
case 1:
replaced_info.childNodes[i].id = 'drop_name_'+z;
replaced_info.childNodes[i].className = 'left drop_main_name';
break;
case 2:
replaced_info.childNodes[i].id = 'drop_price_'+z;
replaced_info.childNodes[i].className = 'right drop_main_price';
break;
//default:
//alert('in update_display function');
//break;
}
}
if(replaced_info.childNodes[0].innerHTML != ' '){
var tmp_src_id = document.getElementById('drop_image_'+z);
var tmp_src = document.getElementById('drop_image_'+z).childNodes[0].src.replace(/dropdown/g, 'small');
var main_img = document.getElementById('chosen_image_'+z).childNodes[0];
main_img.src = tmp_src;
}
else if(replaced_info.childNodes[0].innerHTML == ' ' && replaced_info.childNodes[1].innerHTML == 'Choose Option...' && (z != 'Extended_Downrod' || z != 'Extension_Pole')){
var tmp_src_id = document.getElementById('drop_image_'+z);
var tmp_src = 'http://www.ceilingfantasia.com/images/select-option.jpg';
var main_img = document.getElementById('chosen_image_'+z).childNodes[0];
main_img.src = tmp_src;
}
else if(replaced_info.childNodes[0].innerHTML == ' ' && replaced_info.childNodes[1].innerHTML == 'Choose Option...' && (z == 'Extended_Downrod' || z == 'Extension_Pole')){
var tmp_src_id = document.getElementById('drop_image_'+z);
var tmp_src = 'http://www.ceilingfantasia.com/images/no-image.jpg';
var main_img = document.getElementById('chosen_image_'+z).childNodes[0];
main_img.src = tmp_src;
}
else if(replaced_info.childNodes[0].innerHTML == ' ' && replaced_info.childNodes[1].innerHTML == 'Select None'){
var tmp_src_id = document.getElementById('drop_image_'+z);
var tmp_src = 'http://www.ceilingfantasia.com/images/no-image.jpg';
var main_img = document.getElementById('chosen_image_'+z).childNodes[0];
main_img.src = tmp_src;
}
var formElement = document.getElementById('tmp_div_'+x);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
update_cart(z,x);
update_price();
go_away_invis('drop_sub_div_'+z);
/*alert(new_replace);*/
}
function update_cart(x,y){ //x == casehelper, y == node selected
var breakout = false;
var input = document.getElementById('hidden_cart_'+x);
//alert(input.id);
//alert(input.value);
var price = document.getElementById('hidden_price_'+x);
var list_price = document.getElementById('hidden_list_price_'+x);
var set_qty = document.getElementById('hidden_controller_set_qty_'+x);
var set_qty_cart = document.getElementById('hidden_set_qty_cart_'+x);
var cartids = document.getElementById('hidden_controller_id_'+x);
var cartprices = document.getElementById('hidden_controller_price_'+x);
var cartlistprices = document.getElementById('hidden_controller_list_price_'+x);
var grandparent = document.getElementById(y).parentNode.parentNode;
for(var i = 0; i < grandparent.childNodes.length; i++){
for(var ii = 0; ii < grandparent.childNodes[i].childNodes.length; ii++){
if(y == grandparent.childNodes[i].childNodes[ii].id){
var tmp_needed = i;
breakout = true;
break;
}
}
if(breakout){
break;
}
}
var cartids_array = new Array();
cartids_array = cartids.value.split(',');
for(var i = 0; i < cartids_array.length; i++){
if(i==tmp_needed){
var id_needed = cartids_array[i];
break;
}
}
var cartprice_array = new Array();
cartprice_array = cartprices.value.split(',');
for(var i = 0; i < cartprice_array.length; i++){
if(i==tmp_needed){
var price_needed = cartprice_array[i];
break;
}
}
var cartlistprices_array = new Array();
cartlistprices_array = cartlistprices.value.split(',');
for(var i = 0; i < cartlistprices_array.length; i++){
if(i==tmp_needed){
var list_price_needed = cartlistprices_array[i];
break;
}
}
if(x == 'Lighting' || x == 'Shade_Set_Fitter' || x == 'Bowl_Fitter' || x == 'Globe_Fitter'){
var cart = document.getElementById('hidden_cart_Shade_Set_Fitter');
if(cart){
cart.value = '';
price.value = '';
list_price.value = '';
}
var cart = document.getElementById('hidden_cart_Bowl_Fitter');
if(cart){
cart.value = '';
price.value = '';
list_price.value = '';
}
var cart = document.getElementById('hidden_cart_Globe_Fitter');
if(cart){
cart.value = '';
price.value = '';
list_price.value = '';
}
}
input.value = id_needed;
price.value = price_needed;
list_price.value = list_price_needed;
if(set_qty){
var qty_array = new Array();
qty_array = set_qty.value.split(',');
for(var i = 0; i < qty_array.length; i++){
if(i==tmp_needed){
var qty_needed = qty_array[i];
}
}
set_qty_cart.value = qty_needed;
}
/*
alert(x+' value: '+input.value);
alert('ids: '+cartids.value);
alert('id selected: '+id_needed);
alert('prices: '+cartprices.value);
alert('price selected: '+price_needed);
*/
update_hidden_controls(x,tmp_needed);
}
function update_hidden_controls(x,y){ //x == casehelper, y == needed_val
var control = document.getElementById('hidden_control_'+x);
switch(x){
case 'Lighting':
var input = document.getElementById('hidden_types_'+x);
var input_array = new Array();
input_array = input.value.split(',');
for(var i = 0; i < input_array.length; i++){
if(i == y){
var type = input_array[i];
break;
}
}
var tmp_array = new Array();
switch(type){ //type == 0 (Shade), 1 (Bowl), 2 (Globe)
case '0':
tmp_array.push('1','0','0'); //show, hide, hide
break;
case '1':
tmp_array.push('0','1','0'); //hide, show, hide
break;
case '2':
tmp_array.push('0','0','1'); //show, show, hide
break;
}
control.value = tmp_array;
break;
case 'Fan_Control':
control.value = '1,0'; //show, hide
break;
case 'Fan_Light_Control':
var control = document.getElementById('hidden_control_Fan_Control');
control.value = '0,1'; //hide, show
break;
case 'Blade_Set':
var input = document.getElementById('hidden_assoc_helper');
var tmp_cart = document.getElementById('hidden_cart_'+x).value;
var input_array = new Array();
var type = '';
input_array = input.value.split(',');
for(var i = 0; i < input_array.length; i++){
if(input_array[i] == tmp_cart){
type = 'assoc';
break;
}
}
switch(type){
case 'assoc':
control.value = '1';
break;
default: //no associated blade holder set
control.value = '0';
break;
}
break;
}
if(x!='Fan_Control' && x!='Fan_Light_Control'){
update_drops('not_init');
}
else{
update_drops(x);
}
}
function update_drops(x){ //this function does not set variables it only hides or displays information based on other variables
for(var i = 0; i < document.getElementsByTagName('input').length; i++){
var input = document.getElementsByTagName('input')[i];
if(input.type=='hidden' && input.id.substr(0,15) == 'hidden_control_'){
if(input.id.substr(15)=='Lighting'){ //hide or show fitter elements based on what lighting option is selected
//x,y,z == shade, bowl, globe
var input_value = input.value;
var input_array = new Array();
input_array = input_value.split(',');
/*alert(input_array);*/
var tmp_input6 = document.getElementById('options_prod_Fan_Control');
var tmp_input7 = document.getElementById('options_prod_Fan_Light_Control');
for(var ii = 0; ii < input_array.length; ii++){
switch(ii){
case 0://shade
var tmp_input = document.getElementById('options_prod_Shade_Set_Fitter');
var chosen_image = document.getElementById('chosen_image_Shade_Set_Fitter');
var drop_replace = document.getElementById('drop_replace_Shade_Set_Fitter');
var hidden_cart = document.getElementById('hidden_cart_Shade_Set_Fitter');
var tmp_input4 = document.getElementById('hidden_price_Shade_Set_Fitter');
var tmp_input5 = document.getElementById('hidden_list_price_Shade_Set_Fitter');
break;
case 1://bowl
var tmp_input = document.getElementById('options_prod_Bowl_Fitter');
var chosen_image = document.getElementById('chosen_image_Bowl_Fitter');
var drop_replace = document.getElementById('drop_replace_Bowl_Fitter');
var hidden_cart = document.getElementById('hidden_cart_Bowl_Fitter');
var tmp_input4 = document.getElementById('hidden_price_Bowl_Fitter');
var tmp_input5 = document.getElementById('hidden_list_price_Bowl_Fitter');
break;
case 2://globe
var tmp_input = document.getElementById('options_prod_Globe_Fitter');
var chosen_image = document.getElementById('chosen_image_Globe_Fitter');
var drop_replace = document.getElementById('drop_replace_Globe_Fitter');
var hidden_cart = document.getElementById('hidden_cart_Globe_Fitter');
var tmp_input4 = document.getElementById('hidden_price_Globe_Fitter');
var tmp_input5 = document.getElementById('hidden_list_price_Globe_Fitter');
break;
default:
alert('lighting case not selected: function update_drops');
break;
}
if(tmp_input){
if(input_array[ii] == 1){
tmp_input.style.display = 'block';
}
else if(input_array[ii] == 0){
tmp_input.style.display = 'none';
}
}
if(drop_replace){
if(input_array[ii] == 0){
for(var iii = 0; iii < drop_replace.childNodes.length; iii++){
drop_replace.childNodes[iii].innerHTML = '';
if(iii == 1){
drop_replace.childNodes[iii].innerHTML = 'Choose Option...';
}
}
chosen_image.childNodes[0].src = 'http://www.ceilingfantasia.com/images/select-option.jpg';
hidden_cart.value = '';
tmp_input4.value = '';
tmp_input5.value = '';
}
}
}
if(x!='init' && x!='Fan_Control' && x!='Fan_Light_Control'){
var lighting_info = document.getElementById('drop_name_Lighting');
var control = document.getElementById('hidden_control_Fan_Control');
if(lighting_info.childNodes[0].innerHTML == 'Choose Option...'){
if(tmp_input6){
//var pricer = document.getElementById('hidden_price_Fan_Control');
//alert('debugger fan control: '+pricer.value);
//if(x!='Fan_Control'){
// alert('restoring fc');
// restore_hidden_inputs('Fan_Control');
//}
control.value = '1,0'; //hide, show
tmp_input6.style.display = 'block';
}
if(tmp_input7){
//var pricer = document.getElementById('hidden_price_Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
//if(x!='Fan_Light_Control'){
// alert('archiving flc');
// remove_hidden_inputs('Fan_Light_Control');
//}
control.value = '1,0'; //hide, show
tmp_input7.style.display = 'none';
}
//alert('block');
}
else{
if(tmp_input6){
//var pricer = document.getElementById('hidden_price_Fan_Control');
//alert('debugger fan control: '+pricer.value);
//if(x!='Fan_Control'){
// alert('archiving fc');
// remove_hidden_inputs('Fan_Control');
//}
control.value = '0,1'; //hide, show
tmp_input6.style.display = 'none';
}
if(tmp_input7){
//var pricer = document.getElementById('hidden_price_Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
//if(x!='Fan_Light_Control'){
// alert('restoring flc');
// restore_hidden_inputs('Fan_Light_Control');
//}
control.value = '0,1'; //hide, show
tmp_input7.style.display = 'block';
}
//alert('none');
}
}
}
else if(input.id.substr(15)=='Fan_Control'){ //clear information based on fan control selected
//x,y == fan control, fan light control
var input_value = input.value;
var input_array = new Array();
input_array = input_value.split(',');
for(var ii = 0; ii < input_array.length; ii++){
switch(ii){
case 0://fan control has option selected
var tmp_input = document.getElementById('drop_replace_Fan_Control');
var tmp_input2 = document.getElementById('chosen_image_Fan_Control');
var tmp_input3 = document.getElementById('hidden_cart_Fan_Control');
var tmp_input4 = document.getElementById('hidden_price_Fan_Control');
var tmp_input5 = document.getElementById('hidden_list_price_Fan_Control');
break;
case 1://fan light control has option selected
var tmp_input = document.getElementById('drop_replace_Fan_Light_Control');
var tmp_input2 = document.getElementById('chosen_image_Fan_Light_Control');
var tmp_input3 = document.getElementById('hidden_cart_Fan_Light_Control');
var tmp_input4 = document.getElementById('hidden_price_Fan_Light_Control');
var tmp_input5 = document.getElementById('hidden_list_price_Fan_Light_Control');
break;
default:
alert('fan control case not selected');
break;
}
if(input_array[ii] == '1'){ //show the fan control / fan light control
if(x!='init'){
if(tmp_input && ii == 0){
if(x!='Fan_Control' && x!='Lighting'){
//var pricer = document.getElementById('hidden_price_Fan_Control');
//alert('debugger fan control: '+pricer.value);
//restore_hidden_inputs('Fan_Control');
//alert('debugger fan control: '+pricer.value);
tmp_input.style.display = 'block';
}
}
else if(tmp_input && ii == 1){
if(x!='Fan_Light_Control' && x!='Lighting'){
//var pricer = document.getElementById('hidden_price_Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
//restore_hidden_inputs('Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
tmp_input.style.display = 'block';
}
}
}
/*
//if the value is equal to one we don't need to do anything, and thus the reason why this code is commented
for(var iii = 0; iii < tmp_input.childNodes.length; iii++){
tmp_input.childNodes[iii].innerHTML = '';
if(iii == 1){ //meaning the name option iteration
tmp_input.childNodes[iii].innerHTML = 'Choose Option...';
}
}
*/
}
else if(input_array[ii] == '0'){ //hide the fan control / fan light control
if(x!='init'){
if(tmp_input && ii == 0){
if(x!='Fan_Control' && x!='Lighting'){
//var pricer = document.getElementById('hidden_price_Fan_Control');
//alert('debugger fan control: '+pricer.value);
//remove_hidden_inputs('Fan_Control');
//alert('debugger fan control: '+pricer.value);
tmp_input.style.display = 'none';
}
}
else if(tmp_input && ii == 1){
if(x!='Fan_Light_Control' && x!='Lighting'){
//var pricer = document.getElementById('hidden_price_Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
//remove_hidden_inputs('Fan_Light_Control');
//alert('debugger fan light control: '+pricer.value);
tmp_input.style.display = 'none';
}
}
}
/*
if(tmp_input){
for(var iii = 0; iii < tmp_input.childNodes.length; iii++){
tmp_input.childNodes[iii].innerHTML = '';
if(iii == 1){
tmp_input.childNodes[iii].innerHTML = 'Choose Option...';
}
}
tmp_input2.childNodes[0].src = 'http://www.ceilingfantasia.com/images/no-image.jpg';
tmp_input3.value = '';
tmp_input4.value = '';
tmp_input5.value = '';
}
*/
}
}
}
else if(input.id.substr(15)=='Blade_Set'){ //hide or show the associated blade set holder options
for(var ii = 0; ii < document.getElementsByTagName('div').length; ii++){
var div = document.getElementsByTagName('div')[ii];
if(div.id == 'options_prod_Associated_Blade_Holder_Set'){
var assoc = document.getElementById('options_prod_Associated_Blade_Holder_Set');
var tmp_input = document.getElementById('drop_replace_Associated_Blade_Holder_Set');
var tmp_input2 = document.getElementById('chosen_image_Associated_Blade_Holder_Set');
var tmp_input3 = document.getElementById('hidden_cart_Associated_Blade_Holder_Set');
var tmp_input4 = document.getElementById('hidden_price_Associated_Blade_Holder_Set');
var tmp_input5 = document.getElementById('hidden_list_price_Associated_Blade_Holder_Set');
if(input.value == 1){
assoc.style.display = 'block';
}
else{
assoc.style.display = 'none';
for(var iii = 0; iii < tmp_input.childNodes.length; iii++){
tmp_input.childNodes[iii].innerHTML = '';
if(iii == 1){
tmp_input.childNodes[iii].innerHTML = 'Choose Option...';
}
}
tmp_input2.childNodes[0].src = 'http://www.ceilingfantasia.com/images/no-image.jpg';
tmp_input3.value = '';
tmp_input4.value = '';
tmp_input5.value = '';
}
}
}
}
}
}
if(x!='init'){
update_lighting_sub();
}
}
function restore_hidden_inputs(caser){
var tmper_cart = document.getElementById('hidden_tmp_cart_'+caser);
var tmper_price = document.getElementById('hidden_tmp_price_'+caser);
var tmper_list = document.getElementById('hidden_tmp_list_price_'+caser);
var tmper_li = document.getElementById('hidden_tmp_drop_sub_li_nothing_'+caser);
var cart = document.getElementById('hidden_cart_'+caser);
var price = document.getElementById('hidden_price_'+caser);
var list_price = document.getElementById('hidden_list_price_'+caser);
var sub_li = document.getElementById('drop_sub_li_nothing_'+caser);
if(cart && tmper_cart){
cart.value = tmper_cart.value;
}
if(price && tmper_price){
price.value = tmper_price.value;
}
if(list_price && tmper_list){
list_price.value = tmper_list.value;
}
if(sub_li && tmper_li){
sub_li.innerHTML = tmper_li.value;
}
}
function remove_hidden_inputs(caser){
var cart = document.getElementById('hidden_cart_'+caser);
var price = document.getElementById('hidden_price_'+caser);
var list_price = document.getElementById('hidden_list_price_'+caser);
var sub_li = document.getElementById('drop_sub_li_nothing_'+caser);
var f_prod = document.getElementById('f_product');
var temper_cart = document.getElementById('hidden_tmp_cart_'+caser);
if(!temper_cart){
var tmper_cart = document.createElement('input');
tmper_cart.id = 'hidden_tmp_cart_'+caser;
tmper_cart.type = 'hidden';
f_prod.appendChild(tmper_cart);
var temper_cart = document.getElementById('hidden_tmp_cart_'+caser);
}
if(cart){
temper_cart.value = cart.value;
}
else{
temper_cart.value = '';
}
var temper_price = document.getElementById('hidden_tmp_price_'+caser);
if(!temper_price){
var tmper_price = document.createElement('input');
tmper_price.id = 'hidden_tmp_price_'+caser;
tmper_price.type = 'hidden';
f_prod.appendChild(tmper_price);
var temper_price = document.getElementById('hidden_tmp_price_'+caser);
}
if(price){
temper_price.value = price.value;
}
else{
temper_price.value = '';
}
var temper_list = document.getElementById('hidden_tmp_list_price_'+caser);
if(!temper_list){
var tmper_list = document.createElement('input');
tmper_list.id = 'hidden_tmp_list_price_'+caser;
tmper_list.type = 'hidden';
f_prod.appendChild(tmper_list);
var temper_list = document.getElementById('hidden_tmp_list_price_'+caser);
}
if(list_price){
temper_list.value = list_price.value;
}
else{
temper_list.value = '';
}
var temper_sub_li = document.getElementById('hidden_tmp_drop_sub_li_nothing_'+caser);
if(!temper_sub_li){
var temper_sub_li = document.createElement('input');
temper_sub_li.id = 'hidden_tmp_drop_sub_li_nothing_'+caser;
temper_sub_li.type = 'hidden';
f_prod.appendChild(temper_sub_li);
var temper_list = document.getElementById('hidden_tmp_drop_sub_li_nothing_'+caser);
}
if(sub_li){
temper_sub_li.value = sub_li.innerHTML;
}
else{
temper_sub_li.value = '';
}
if(cart){
cart.value = '';
}
if(price){
price.value = '';
}
if(list_price){
list_price.value = '';
}
}
function update_lighting_sub(){
var cart1 = document.getElementById('hidden_cart_Shade_Set_Fitter');
var cart2 = document.getElementById('hidden_cart_Bowl_Fitter');
var cart3 = document.getElementById('hidden_cart_Globe_Fitter');
//alert('cartval: '+x);
var tmp1 = false;
var tmp2 = false;
var tmp3 = false;
var tmp4 = false;
if(cart1 && cart1.value != ''){
tmp1 = document.getElementById('hidden_controller_id_Shade_Set_Fitter');
tmp2 = document.getElementById('hidden_controller_price_Shade_Set_Fitter');
tmp3 = 'Shade_Set_Fitter';
tmp4 = document.getElementById('hidden_cart_Shade_Set_Fitter');
}
else if(cart2 && cart2.value != ''){
tmp1 = document.getElementById('hidden_controller_id_Bowl_Fitter');
tmp2 = document.getElementById('hidden_controller_price_Bowl_Fitter');
tmp3 = 'Bowl_Fitter';
tmp4 = document.getElementById('hidden_cart_Bowl_Fitter');
}
else if(cart3 && cart3.value != ''){
tmp1 = document.getElementById('hidden_controller_id_Globe_Fitter');
tmp2 = document.getElementById('hidden_controller_price_Globe_Fitter');
tmp3 = 'Globe_Fitter';
tmp4 = document.getElementById('hidden_cart_Globe_Fitter');
}
var span_qty = document.getElementById('light_shade_qty');
//alert(span_qty.innerHTML);
var span_each = document.getElementById('lighting_span_each');
var span_fitter = document.getElementById('lighting_span_fitter');
var span_total = document.getElementById('lighting_span_total');
var lighting = document.getElementById('hidden_cart_Lighting');
var light_string = document.getElementById('hidden_controller_id_Lighting');
var lighting_array = new Array();
if(light_string){
lighting_array = light_string.value.split(',');
for(var i = 0; i < lighting_array.length; i++){
if(lighting.value == lighting_array[i]){
var light_selected = i;
}
}
}
var light_price_string = document.getElementById('hidden_controller_price_Lighting');
if(light_price_string){
var light_price_array = new Array();
light_price_array = light_price_string.value.split(',');
var light_price = light_price_array[light_selected];
}
if(tmp1){
//alert(tmp4.value);
var tmp1_array = new Array();
tmp1_array = tmp1.value.split(',');
//alert(tmp1_array);
for(var i = 0; i < tmp1_array.length; i++){
if(tmp4.value == tmp1_array[i]){
var val_nec = i;
//alert('value found: '+tmp1_array[i]);
}
}
var tmp2_array = new Array();
tmp2_array = tmp2.value.split(',');
var shade_qty = document.getElementById('hidden_fitter_qty_'+tmp3);
var shade_array = new Array();
shade_array = shade_qty.value.split(',');
if(span_qty){
if(light_price && light_price != 'undefined' && light_price == '0.00'){
span_qty.innerHTML = 0;
}
else{
span_qty.innerHTML = shade_array[val_nec];
}
span_each.innerHTML = light_price;
}
if(span_fitter){
span_fitter.innerHTML = tmp2_array[val_nec];
}
if(span_qty && span_fitter && span_qty.innerHTML != 'undefined' && span_fitter.innerHTML != 'undefined' && span_each.innerHTML != 'undefined'){
var tmp_sub = parseFloat((shade_array[val_nec]*light_price));
var tmp_total = parseFloat(tmp_sub)+parseFloat(tmp2_array[val_nec]);
span_total.innerHTML = parseFloat(tmp_total).toFixed(2);
}
else if(span_qty && span_fitter && (span_qty.innerHTML == 'undefined' || span_fitter.innerHTML == 'undefined')){
if(span_each.innerHTML != '0.00' && span_each.innerHTML != 'undefined'){
span_qty.innerHTML = 1;
}
else{
span_qty.innerHTML = 0;
}
span_fitter.innerHTML = 0;
var tmp_sub = parseFloat((span_qty.innerHTML*light_price));
var tmp_total = parseFloat(tmp_sub)+parseFloat(span_fitter.innerHTML);
span_total.innerHTML = parseFloat(tmp_total).toFixed(2);
}
}
else{
var fitter_array = new Array();
fitter_array.push('Shade_Set_Fitter','Globe_Fitter','Bowl_Fitter');
for(var i = 0; i < fitter_array.length; i++){
var chosen_image = document.getElementById('chosen_image_'+fitter_array[i]);
var drop_replace = document.getElementById('drop_replace_'+fitter_array[i]);
var tmp_input3 = document.getElementById('hidden_cart_'+fitter_array[i]);
var tmp_input4 = document.getElementById('hidden_price_'+fitter_array[i]);
var tmp_input5 = document.getElementById('hidden_list_price_'+fitter_array[i]);
if(drop_replace){
for(var iii = 0; iii < drop_replace.childNodes.length; iii++){
drop_replace.childNodes[iii].innerHTML = '';
if(iii == 1){
drop_replace.childNodes[iii].innerHTML = 'Choose Option...';
}
}
chosen_image.childNodes[0].src = 'http://www.ceilingfantasia.com/images/select-option.jpg';
tmp_input3.value = '';
tmp_input4.value = '';
tmp_input5.value = '';
}
}
if(span_qty){
if(light_price && light_price == 'undefined'){
light_price = 0;
}
else if(!light_price){
var light_price = 0;
}
if(light_price != 0 && span_each.innerHTML != 'undefined'){
span_qty.innerHTML = 1;
}
else{
span_qty.innerHTML = 0;
}
span_each.innerHTML = light_price;
}
if(span_fitter){
span_fitter.innerHTML = 0;
}
if(span_qty && span_fitter){
span_total.innerHTML = parseFloat(light_price).toFixed(2);
}
}
//alert(span_qty.innerHTML);
}
function update_price(){
var fan_control = document.getElementById('hidden_control_Fan_Control');
//alert(fan_control.value);
var set_qty_cart = document.getElementById('hidden_set_qty_cart_Blade_Set');
var set_qty_cart2 = document.getElementById('hidden_set_qty_cart_Associated_Blade_Holder_Set');
var set_qty_cart3 = document.getElementById('hidden_set_qty_cart_Associated_Fan_Assembly');
var price_holder = document.getElementById('price_holder');
var price_holder2 = document.getElementById('price_holder2');
var list_price = document.getElementById('list_price');
var savings = document.getElementById('savings');
var qty = document.getElementById('qty2').value;
var span_qty = document.getElementById('light_shade_qty');
/*alert(qty);*/
var overall_price = 0;
var overall_list_price = 0;
for(var i = 0; i < document.getElementsByTagName('input').length; i++){
var input = document.getElementsByTagName('input')[i];
if(input.id.substr(0,13) == 'hidden_price_'){
if(set_qty_cart){
var tmp_qty = set_qty_cart.value;
}
if(set_qty_cart2){
var tmp_qty2 = set_qty_cart2.value;
}
if(set_qty_cart3){
var tmp_qty3 = set_qty_cart3.value;
}
/*alert(input.value);*/
if(input.value==''){
/*alert(input.id);*/
input.value = 0;
}
if(isNaN(input.value)){
input.value = 0;
}
if(input.id.substr(13,6) == 'other_'){
var tmp_end = input.id.substr(19);
var tmp_input = document.getElementById('other_cart_'+tmp_end);
if(tmp_input.checked === true){
overall_price += parseFloat(input.value);
var tweener = parseFloat(input.value);
//alert('Other Accessory '+tmp_end+': '+tweener);
}
}
else{
if(input.id.substr(13) == 'Lighting'){
if(span_qty){
var tmp_value = (input.value * span_qty.innerHTML);
overall_price += parseFloat(tmp_value);
var tweener = parseFloat(tmp_value);
//alert('Lighting: '+tweener);
}
}
else if(input.id.substr(13) == 'Fan_Control'){
if(fan_control && fan_control.value == '1,0'){
overall_price += parseFloat(input.value);
var tweener = parseFloat(input.value);
}
}
else if(input.id.substr(13) == 'Fan_Light_Control'){
if(fan_control && fan_control.value == '0,1'){
overall_price += parseFloat(input.value);
var tweener = parseFloat(input.value);
}
}
else{
if(tmp_qty && input.id.substr(13) == 'Blade_Set'){
overall_price += parseFloat(input.value*tmp_qty);
var tweener = parseFloat(input.value*tmp_qty);
//alert('Blade Set: '+tweener);
}
else if(tmp_qty2 && input.id.substr(13) == 'Associated_Blade_Holder_Set'){
overall_price += parseFloat(input.value*tmp_qty2);
var tweener = parseFloat(input.value*tmp_qty);
//alert('Blade Set: '+tweener);
}
else if(tmp_qty3 && input.id.substr(13) == 'Associated_Fan_Assembly'){
overall_price += parseFloat(input.value*tmp_qty3);
var tweener = parseFloat(input.value*tmp_qty3);
//alert('Associated Fan Assembly Set: '+tweener);
}
else{
overall_price += parseFloat(input.value);
var tweener = parseFloat(input.value);
//alert(input.id.substr(13)+': '+tweener);
}
}
}
//alert('our price '+input.id.substr(13)+': '+tweener);
}
if(input.id.substr(0,18) == 'hidden_list_price_'){
if(set_qty_cart){
var tmp_qty = set_qty_cart.value;
}
if(set_qty_cart2){
var tmp_qty2 = set_qty_cart2.value;
}
if(set_qty_cart3){
var tmp_qty3 = set_qty_cart3.value;
}
/*alert(input.value);*/
if(input.value==''){
/*alert(input.id);*/
input.value = 0;
}
if(isNaN(input.value)){
input.value = 0;
}
if(input.id.substr(18,6) == 'other_'){
var tmp_end = input.id.substr(24);
var tmp_input = document.getElementById('other_cart_'+tmp_end);
if(tmp_input.checked === true){
overall_list_price += parseFloat(input.value);
var tweener = input.value;
}
}
else{
if(input.id.substr(18) == 'Lighting'){
if(span_qty){
var tmp_value = (input.value * span_qty.innerHTML);
overall_list_price += parseFloat(tmp_value);
var tweener = tmp_value;
}
}
else{
if(tmp_qty && input.id.substr(18) == 'Blade_Set'){
overall_list_price += parseFloat(input.value*tmp_qty);
}
else if(tmp_qty2 && input.id.substr(18) == 'Associated_Blade_Holder_Set'){
overall_list_price += parseFloat(input.value*tmp_qty2);
}
else if(tmp_qty3 && input.id.substr(18) == 'Associated_Fan_Assembly'){
overall_list_price += parseFloat(input.value*tmp_qty3);
}
else{
overall_list_price += parseFloat(input.value);
}
}
}
//alert('list price '+input.id.substr(18)+': '+tweener);
}
}
/*alert(overall_price);*/
if(overall_price != 0 && qty != 0){
var final_price = ((overall_price * qty)*1);
var final_list_price = ((overall_list_price * qty)*1);
var final_save_price = final_list_price-final_price;
price_holder.innerHTML = formatCurrency(final_price.toFixed(2));
price_holder2.innerHTML = formatCurrency(final_price.toFixed(2));
list_price.innerHTML = formatCurrency(final_list_price.toFixed(2));
var percent_saved = parseInt((final_save_price.toFixed(2)/final_list_price.toFixed(2))*100);
savings.innerHTML = formatCurrency(final_save_price.toFixed(2))+' ('+percent_saved+'% OFF)';
/*alert(final_price);*/
}
else{
alert('Price calculation problem.');
}
}
function update_other_price(){
update_price();
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = '0';
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents < 10)
cents = '0' + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}
function imax(){ //activates imax function
var imax_array = new Array();
for(var i = 0; i < document.getElementsByTagName('input').length; i++){
var input = document.getElementsByTagName('input')[i];
if(input.type == 'hidden' && input.id.substr(0, 11)=='hidden_src_'){
var src_req = input.id.substr(11);
var src_needed = input.value;
var dir_req = document.getElementById('hidden_dir_'+src_req);
var tmp_dir = dir_req.value;
var dir_needed = tmp_dir.replace(/_/g, '/');
var alt_req = document.getElementById('hidden_alt_'+src_req);
var alt_needed = alt_req.value;
var id_req = document.getElementById('hidden_id_'+src_req);
var id_needed = id_req.value;
imax_array.push(dir_needed,src_needed,alt_needed,id_needed);
}
}
ajax(imax_array);
}
function ajax(imax_array){ //array of elements in, order == dir[0],src[1],alt[2],id_in[3]
//alert(imax_array);
var dir = imax_array[0]
var src = imax_array[1];
var alt = imax_array[2];
var id_in = imax_array[3];
var url8 = 'http://www.ceilingfantasia.com/index.php?pg=imax&task=show_image&dir='+dir+'&src='+escape(src)+'&alt='+escape(alt);
//alert(url8);
//alert(src);
if(dir!==undefined){
xmlhttp8=null;
if (window.XMLHttpRequest){
xmlhttp8=new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlhttp8=new ActiveXObject('Microsoft.XMLHTTP');
}
if (xmlhttp8!=null){
if(imax_array[0]!=''){
if(src!=''){
xmlhttp8.onreadystatechange = imax_tbstate_Change;
xmlhttp8.open('GET',url8,true);
xmlhttp8.send(null);
}
}
}
else {
alert('Your browser does not support XMLHTTP.');
}
}
else{
clean_page();
}
function imax_tbstate_Change(){
if (xmlhttp8.readyState==4){
if (xmlhttp8.status==200 && (xmlhttp8.responseText!='zero' && xmlhttp8.responseText!='alpha')) {
elemental = document.getElementById(id_in);
if(elemental!==null){
//elemental.style.className = 'stopblink';
elemental.innerHTML=xmlhttp8.responseText;
//alert(xmlhttp8.responseText);
imax_array.shift();//pop dir off of beginning of array
imax_array.shift();//pop src off of beginning of array
imax_array.shift();//pop alt off of beginning of array
imax_array.shift();//pop id off of beginning of array
if(imax_array[0]!=''){
ajax(imax_array);
}
}
}
else {
alert('Problem retrieving data: ' + xmlhttp8.statusText);
}
}
}
}
function proceed(){ //js validation
//make sure a fitter is selected based on lighting that is selected
var light = document.getElementById('hidden_cart_Lighting');
var blades = document.getElementById('hidden_cart_Blade_Set');
var fitter_shade = document.getElementById('hidden_cart_Shade_Set_Fitter');
var fitter_bowl = document.getElementById('hidden_cart_Bowl_Fitter');
var fitter_globe = document.getElementById('hidden_cart_Globe_Fitter');
var motor_housing = document.getElementById('hidden_cart_Associated_Motor_Housing');
if(light){
if(fitter_shade){
if(light.value == '' && fitter_shade.value != ''){
alert('To continue with the currently select shade set fitter, please select a lighting option.');
}
}
if(fitter_bowl){
if(light.value == '' && fitter_bowl.value !=''){
alert('To continue with the currently selected bowl fitter, please select a lighting option.');
}
}
if(fitter_globe){
if(light.value == '' && fitter_globe.value != ''){
alert('To continue with the currently selected globe fitter, please select a lighting option.');
}
}
}
if(blades && (blades.value == '0' || blades.value == '')){
alert('To continue, please select a Blade Set option.');
return false;
}
var types_string = document.getElementById('hidden_types_Lighting');
var light_string = document.getElementById('hidden_controller_id_Lighting');
if(light_string && types_string){
var types_array = new Array();
var light_array = new Array();
types_array = types_string.value.split(',');
light_array = light_string.value.split(',');
for(var i = 0; i < light_array.length; i++){
if(light.value == light_array[i]){
var light_pos = i;
var fitter = types_array[i];
break;
}
}
switch(fitter){
case '0': //shade
var tmp_input = document.getElementById('hidden_cart_Shade_Set_Fitter');
var other_var = 'Shade Set Fitter';
break;
case '1': //bowl
var tmp_input = document.getElementById('hidden_cart_Bowl_Fitter');
var other_var = 'Bowl Fitter';
break;
case '2': //globe
var tmp_input = document.getElementById('hidden_cart_Globe_Fitter');
var other_var = 'Globe Fitter';
break;
default:
var tmp_input = 3;
break;
}
/*alert(other_var+' value: '+tmp_input.value);*/
if(light.value != '0'){
if(tmp_input.value == '' || tmp_input.value == '0'){
alert('To continue with the current lighting, please select a '+other_var+'.');
return false;
}
}
}
//make sure a fan control is selected
var fan_controller = document.getElementById('hidden_controller_id_Fan_Control');
if(fan_controller){
if(fan_controller.value != ''){
var fan_control = document.getElementById('hidden_cart_Fan_Control');
var fan_light_control = document.getElementById('hidden_cart_Fan_Light_Control');
if((fan_control.value == '' && fan_light_control.value == '') || (fan_control.value == '' && fan_light_control.value == '0') || fan_control.value == '0' && fan_light_control.value == ''){
alert('To continue, please select a Fan Control or a Fan Light Control.');
return false;
}
}
}
//make sure an associated blade holder set is selected if required
var blade_set = document.getElementById('hidden_cart_Blade_Set');
var assoc_needed = false;
var assoc_string = document.getElementById('hidden_assoc_helper');
if(assoc_string){
if(assoc_string.value != ''){
var assoc_array = new Array();
assoc_array = assoc_string.value.split(',');
for(var i = 0; i < assoc_array.length; i++){
if(blade_set.value == assoc_array[i]){
assoc_needed = true;
break;
}
}
if(assoc_needed){
var assoc = document.getElementById('hidden_cart_Associated_Blade_Holder_Set');
if(assoc.value == ''){
alert('To continue with the current blade set, please select an Associated Blade Holder Set.');
return false;
}
}
}
}
if(motor_housing && (motor_housing.value == '0' || motor_housing.value == '')){
alert('To continue, please select an Associated Motor Housing.');
return false;
}
//if everything is successful
return true;
}
function clean_page(){ //cleans page of all imax elements
for(var i = 0; i < document.getElementsByTagName('input').length; i++){
var input = document.getElementsByTagName('input')[i];
if(input.type == 'hidden' && input.id.substr(0, 11)=='hidden_src_'){
var src_req = input.id.substr(11);
var formElement = document.getElementById('hidden_src_'+src_req);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
var formElement = document.getElementById('hidden_dir_'+src_req);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
var formElement = document.getElementById('hidden_alt_'+src_req);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
var formElement = document.getElementById('hidden_id_'+src_req);
if (formElement && formElement.parentNode && formElement.parentNode.removeChild) {
formElement.parentNode.removeChild(formElement);
}
}
}
}
function build_javascript_input(){
var input = document.createElement('input');
input.id = 'js_elem';
input.value = 1;
input.name = 'js_elem';
input.type = 'hidden';
var form = document.getElementById('f_product');
form.appendChild(input);
var elem = document.getElementById('js_elem');
}
function close_all_option_buttons(){
var buttons_array = new Array('lighting', 'blades', 'extensions', 'others');
for(var i = 0; i < buttons_array.length; i++){
var div = document.getElementById('options_'+buttons_array[i]);
if(div){
div.style.display = 'none';
}
}
}
function initAll(){ //contains all functions necessary to run after the page is loaded
build_javascript_input();
close_all_option_buttons();
update_drops('init');
set_animations();
imax();
}
function set_animations(){//could not use $ selector, was being overwritten, had to use 'jQuery' instead
if(jQuery('#btn_light').length > 0){
jQuery('#btn_light').click(function(){
jQuery('#options_lighting').slideToggle("slow");
});
}
if(jQuery('#btn_blade').length > 0){
jQuery('#btn_blade').click(function(){
jQuery('#options_blades').slideToggle("slow");
});
}
if(jQuery('#btn_down').length > 0){
jQuery('#btn_down').click(function(){
jQuery('#options_extensions').slideToggle("slow");
});
}
if(jQuery('#btn_other').length > 0){
jQuery('#btn_other').click(function(){
jQuery('#options_others').slideToggle("slow");
});
}
}