function chageStyleById(id, property, value) {
	var element = document.getElementById(id);
	if (element != null) {
		element.style[property] = value;
	}
}

function changeStyle(className, property, value) {
	if (!document.styleSheets)
		return;
	var rules;

	for ( var i = 0; i < document.styleSheets.length; i++) {
		if (document.styleSheets[i].cssRules)
			rules = document.styleSheets[i].cssRules;
		else if (document.styleSheets[i].rules)
			rules = document.styleSheets[i].rules;
		else
			return;
		
		for ( var j = 0; j < rules.length; j++) {
			if (rules[j].selectorText == className) {
// if (rules[j].style[property]) {
					rules[j].style[property] = value;
// }
			}
		}
	}
}

function addStyle(currentStyles, newStyle) {
	if (currentStyles == null) {
		currentStyles = "";
	}
	var styles = currentStyles.split(" ");
	for (var i = 0; i<styles.length;i++) {
	    if (styles[i] == newStyle) {
		    return currentStyles;
	    }
	}
	return newStyle + " " + currentStyles;
}

function removeStyle(currentStyles, removeStyle) {
	if (currentStyles == null) {
		currentStyles = "";
	}
	var styles = currentStyles.split(" ");
	var result="";
	for (var i = 0; i<styles.length; i++){
	    if (styles[i]!=removeStyle) {
	        result = result + " " + styles[i];
	    }
	}
	return result;
}

function selectSender(person) {
    //var sender_choice_hidden = document.package_form.sender_choice_hidden;
	if (person) {

       
		var input = document.getElementById('sender_name_person');
		input.className = addStyle(input.className, "required");
		
        input = document.getElementById('sender_company_name');
		input.className = removeStyle(input.className, "required");
        
        input = document.getElementById('sender_company_name_person');
		input.className = removeStyle(input.className, "required");          
        
		input = document.getElementById('sender_company_reg_address');
		input.className = removeStyle(input.className, "required");
	} else {   
       
		var checkbox = document.getElementById('sender_company_require_invoice');
        
        var input = document.getElementById('sender_name_person');
		input.className = removeStyle(input.className, "required");
		
        input = document.getElementById('sender_company_name');
		input.className = addStyle(input.className, "required");
    
        input = document.getElementById('sender_company_name_person');
		input.className = addStyle(input.className, "required");        
        
        
        if (checkbox.checked==true ) {
            input = document.getElementById('sender_company_reg_address');
            input.className = addStyle(input.className, "required");    
        }
        else {
            input = document.getElementById('sender_company_reg_address');
            input.className = removeStyle(input.className, "required");              
        }
		
	}
}


function selectReceiver(person) {
	if (person) {
		var input = document.getElementById('receiver_person');
		input.className = addStyle(input.className, "required");
		input = document.getElementById('receiver_company_name');
		input.className = removeStyle(input.className, "required");
	} else {
		var input = document.getElementById('receiver_person');
		input.className = removeStyle(input.className, "required");
		input = document.getElementById('receiver_company_name');
		input.className = addStyle(input.className, "required");
	}
}

function selectReceiverCity(city) {
	if (city) {
		var input = document.getElementById('receiver_city_post_code');
		input.className = addStyle(input.className, "required");
	} else {
		var input = document.getElementById('receiver_city_post_code');
		input.className = removeStyle(input.className, "required");
	}
}

function selectReceiverStreet(street) {
	if (street) {
		var input = document.getElementById('receiver_street_id');
		input.className = addStyle(input.className, "required");
	} else {
		var input = document.getElementById('receiver_street_id');
		input.className = removeStyle(input.className, "required");
	}
}

/*
function selectCd (selected) {
	if (selected) {
		var input = document.getElementById('cd_value');
		input.className = addStyle(input.className, "required");
		input = document.getElementById('cd_type');
		input.className = addStyle(input.className, "required");
	} else {
		var input = document.getElementById('cd_value');
		input.className = removeStyle(input.className, "required");
		input = document.getElementById('cd_type');
		input.className = removeStyle(input.className, "required");
	}    
}

function select_service_type_oc(selected) {
	if (selected) {
		var input = document.getElementById('services_oc');
		input.className = addStyle(input.className, "required");
	} else {
		var input = document.getElementById('services_oc');
		input.className = removeStyle(input.className, "required");
	}        
}

function select_checked_sms_phone_number(selected) {
	if (selected) {
		var input = document.getElementById('sms_phone_number');
		input.className = addStyle(input.className, "required");
	} else {
		var input = document.getElementById('sms_phone_number');
		input.className = removeStyle(input.className, "required");
	}        
}
*/

function selectShipmentDocument(selected) {
//    var shipment_description = document.package_form.shipment_description;
//    var shipment_description_star = document.getElementById('shipment_description_star'); 
    
    var shipment_weight = document.package_form.shipment_weight;
	var volume_weight_1 = document.getElementById('volume_weight_1');
    var volume_weight_2 = document.getElementById('volume_weight_2');
    var volume_weight_3 = document.getElementById('volume_weight_3');
    var volume_weight_star = document.getElementById('volume_weight_star');    
	if (selected) {
        shipment_weight.value = '0.500';
        
		volume_weight_1.className = removeStyle(volume_weight_1.className, "required");
        volume_weight_2.className = removeStyle(volume_weight_2.className, "required");
        volume_weight_3.className = removeStyle(volume_weight_3.className, "required");
        
        volume_weight_1.className = removeStyle(volume_weight_1.className, "number");
        volume_weight_2.className = removeStyle(volume_weight_2.className, "number");
        volume_weight_3.className = removeStyle(volume_weight_3.className, "number"); 
        volume_weight_star.innerHTML = '';   
        
//        shipment_description.className = removeStyle(shipment_description.className, "required");
//        shipment_description_star.innerHTML = '';
    }
    else {
        if (shipment_weight.value == '0.500') {
            shipment_weight.value = '1.000';    
        }
		volume_weight_1.className = addStyle(volume_weight_1.className, "required");
        volume_weight_2.className = addStyle(volume_weight_2.className, "required");
        volume_weight_3.className = addStyle(volume_weight_3.className, "required"); 
        
        volume_weight_1.className = addStyle(volume_weight_1.className, "number");
        volume_weight_2.className = addStyle(volume_weight_2.className, "number");
        volume_weight_3.className = addStyle(volume_weight_3.className, "number"); 
        
        volume_weight_star.innerHTML = '*';        
        
//        shipment_description.className = addStyle(shipment_description.className, "required");
//        shipment_description_star.innerHTML = '*';              
    }
}

function selectPayment(selected) {
	if (selected) {
//		var input = document.getElementById('payment_method_credit_card');
//		input.className = addStyle(input.className, "required");
        
		var input = document.getElementById('payment_method_paypal');
		input.className = addStyle(input.className, "required");        
		input.checked = false;
        
//		input = document.getElementById('payment_method_epay');
//		input.className = addStyle(input.className, "required");
		var input = document.getElementById('receiver_payment_method');
		input.className = removeStyle(input.className, "required");
	} else {
		var input = document.getElementById('receiver_payment_method');
		input.className = addStyle(input.className, "required");	   
        input.checked = false;
//		var input = document.getElementById('payment_method_credit_card');
//		input.className = removeStyle(input.className, "required");
		var input = document.getElementById('payment_method_paypal');
		input.className = removeStyle(input.className, "required");
		
        
        input = document.getElementById('hidden_sender_payment_methods');
        input.style.display = 'none';
//		input = document.getElementById('payment_method_epay');
//		input.className = removeStyle(input.className, "required");
	}
    
}

/*
function selectCreditCard(selected) {
	if (selected) {
		
        var input = document.getElementById('payment_sender_cc_num');
		input.className = addStyle(input.className, "required");
		input = document.getElementById('payment_sender_cc_secret_code');
		input.className = addStyle(input.className, "required");
		input = document.getElementById('payment_sender_cc_holder_name');
		input.className = addStyle(input.className, "required");      
		input = document.getElementById('credit_card');
		input.className = addStyle(input.className, "required");  
//        input = document.getElementById('payment_sender_cc_exp_year');
//		input.className = addStyle(input.className, "required");      
//        input = document.getElementById('payment_sender_cc_exp_month');
//		input.className = addStyle(input.className, "required");    
        
	} else {
	   
		var input = document.getElementById('payment_sender_cc_num');
		input.className = removeStyle(input.className, "required");
		input = document.getElementById('payment_sender_cc_secret_code');
		input.className = removeStyle(input.className, "required");
		input = document.getElementById('payment_sender_cc_holder_name');
		input.className = removeStyle(input.className, "required");   
		input = document.getElementById('credit_card');
		input.className = removeStyle(input.className, "required");  
//        input = document.getElementById('payment_sender_cc_exp_year');
//		input.className = removeStyle(input.className, "required");      
//        input = document.getElementById('payment_sender_cc_exp_month');
//		input.className = removeStyle(input.className, "required");
                       
	}
}



function validateCreditCard(cardNumber) {
	var creditCardType = document.getElementById('credit_card').Value;
	var validationResult;
	if (creditCardType == 'visa') {
		validationResult = checkCreditCard(cardNumber, "Visa");
	} else if (creditCardType == 'visa electron') {
		validationResult = checkCreditCard(cardNumber, "VisaElectron");
	} else if (creditCardType == 'maestro') {
		validationResult = checkCreditCard(cardNumber, "Maestro");
	} else if (creditCardType == 'mastercard') {
		validationResult = checkCreditCard(cardNumber, "MasterCard");
	} else if (creditCardType == 'american express') {
		validationResult = checkCreditCard(cardNumber, "AmEx");
	} else if (creditCardType == 'delta') {
		validationResult = checkCreditCard(cardNumber, "Switch");// Delta ==
																	// Switch ??
	} else if (creditCardType == 'solo uk based') {
		validationResult = checkCreditCard(cardNumber, "Solo");
	}
} */

function isObjectWithValue(obj){
	return(typeof(obj.value)=="undefined")?false:true;
}

function getValue(fieldId) {
	if (isObjectWithValue(fieldId)) {
		if (fieldId.type=="checkbox") {
			if (fieldId.checked==true) {
				return fieldId.value;
			}
			return "";
		} else {
			return fieldId.value;
		}
	} else {
		for (i=0;i<fieldId.length;i++) {
			fieldItem = fieldId[i];
			if (typeof(fieldItem.checked)!="undefined") {
				if (fieldItem.checked==true) {
					return fieldItem.value;
				}
			} else {
				return "unknown type";
			}
		}
	}
}

function getValueOrLabel(fieldId) {
	if (isObjectWithValue(fieldId)) {
		if ( fieldId.type=="checkbox" || fieldId.type=="radio") {
			if (fieldId.checked==true) {
				var name = fieldId.name;
				var element = document.getElementById(name+"_label");
				var id = fieldId.id;
				var elementId = document.getElementById(id+"_label");
				if (element!=null) {
					return element.innerHTML;
				} else if (elementId!=null) {
					return elementId.innerHTML;
				} else {
					return fieldId.value;
				}
			}
			return "";
		  
		} else if (fieldId.type=="select-one") {
            var selectedValue = fieldId.selectedIndex;
            return fieldId.options[selectedValue].text;

            //return fieldId.options[index].text;
            
        } else {
			if (fieldId.value!="") {
				return fieldId.value;
			}
			return "";
		}
	} else {
		for (i=0;i<fieldId.length;i++) {
			fieldItem = fieldId[i];
			if (typeof(fieldItem.checked)!="undefined") {
				if (fieldItem.checked==true) {
					var element = document.getElementById(fieldItem.id+"_label");
					return element.innerHTML;
				}
			} else {
				return "unknown type";
			}
		}
		return "";
	}
}

function appendStep3(currentData, fieldName, fieldId, isLast) {
	var result = currentData + fieldName + '=' + encodeURIComponent(getValue(fieldId));
	if (!isLast) {
		result = result +'&';
	}
	return result;
}

function getStep4Value(fieldId, step4ValueId) {
	var step4Value = document.getElementById(step4ValueId);
    if (step4Value) {

    	value = getValueOrLabel(fieldId);
    	step4Value.innerHTML = value;
    	var step4ValueContainer = document.getElementById(step4ValueId+"_container");
        
        if (step4ValueContainer) {
        	var displayType = ((value == "")?"none":"");
        	step4ValueContainer.style.display = displayType;            
        }
        
    }

}

function getStep4RealWeight(step4ValueId) {
	var step4Value = document.getElementById(step4ValueId);
    if (step4Value) {
        
        shipment_weight = document.package_form.shipment_weight.value;
        
        volume_weight_1 = document.package_form.volume_weight_1.value;
        volume_weight_2 = document.package_form.volume_weight_2.value;
        volume_weight_3 = document.package_form.volume_weight_3.value;
        if (volume_weight_1 != "см" && volume_weight_2 != "см" && volume_weight_3 != "см") {
            volume_weight = (volume_weight_1*volume_weight_2*volume_weight_3)/6000;
        }
        else {
            volume_weight = 0;
        }
        
        if (shipment_weight > volume_weight) {
            final_weight = shipment_weight;
        }
        else {
            final_weight = volume_weight;
            final_weight=Math.round(final_weight*1000)/1000;
        }
        
    	step4Value.innerHTML = final_weight;
    	var step4ValueContainer = document.getElementById(step4ValueId+"_container");
        
        if (step4ValueContainer) {
        	var displayType = ((value == "")?"none":"");
        	step4ValueContainer.style.display = displayType;            
        }
        
    }

}


function getStep4ValueCreditCard(fieldId, step4ValueId) {
	var step4Value = document.getElementById(step4ValueId);
	value = getValueOrLabel(fieldId);
	
	var myregexp = /^(.*?)(\d{0,4})$/;
	var match = myregexp.exec(value);
	if (match != null && match.length > 2) {
		value = match[1].replace(/\d/g, "X") + match[2];
	}
	step4Value.innerHTML = value;
	var step4ValueContainer = document.getElementById(step4ValueId+"_container");
	var displayType = ((value == "")?"none":"");
	step4ValueContainer.style.display = displayType;
}


function getValueButDifferentLabel(labelId, fieldId) {
	if (isObjectWithValue(fieldId)) {
		if ( fieldId.type=="checkbox" || fieldId.type=="radio") {
			if (fieldId.checked==true) {
				var name = labelId.name;
				var element = document.getElementById(name+"_label");
				var id = labelId.id;
				var elementId = document.getElementById(id+"_label");
				if (element!=null) {
					return element.innerHTML;
				} else if (elementId!=null) {
					return elementId.innerHTML;
				} else {
					return fieldId.value;
				}
			}
			return "";
		  
		} else {
			if (fieldId.value!="") {
				return fieldId.value;
			}
			return "";
		}
	} else {
		for (i=0;i<labelId.length;i++) {
			fieldItem = labelId[i];
			if (typeof(fieldItem.checked)!="undefined") {
				if (fieldItem.checked==true) {
					var element = document.getElementById(fieldItem.id+"_label");
					return element.innerHTML;
				}
			} else {
				return "unknown type";
			}
		}
		return "";
	}
}

function getStep4ValueAndLabel(labelId, fieldId, step4ValueId) {
	var step4Value = document.getElementById(step4ValueId);
	value = getValueButDifferentLabel(labelId, fieldId);
	step4Value.innerHTML = value;
	var step4ValueContainer = document.getElementById(step4ValueId+"_container");
	var displayType = ((value == "")?"none":"");
	step4ValueContainer.style.display = displayType;
}



function validateFirstStep() {
    
//    var test = document.getElementById("testtt");
//    test.innerHTML = 'testttttttttttt';
    
    var quarter_id = document.getElementById("receiver_quarter_id");
    var receiver_address_other = document.getElementById("receiver_address_other");
    
    if ((quarter_id.value.length == 0) || (quarter_id.value == null ) ) {
        receiver_address_other.className = addStyle(receiver_address_other.className, "required");
    }               
}

