var http_request = false;

function makeRequest(url,destinationElement) {
    http_request = getHttpRequestObject();
    
    if (!http_request) {
	return false;
    }
    http_request.onreadystatechange = function() { insertResponseToElement(http_request,destinationElement); };
    http_request.open('GET', url, true);
    http_request.send(null);
}

function getHttpRequestObject(){
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
	http_request = new XMLHttpRequest();
	if (http_request.overrideMimeType) {
	    http_request.overrideMimeType('text/xml');
	}
    } else if (window.ActiveXObject) { // IE
	try {
	    http_request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	    try {
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (e) {}
	}
    }
    return http_request;
}

function insertResponseToElement(http_request,destinationElement) {
    if (http_request.readyState == 4) {
	if (http_request.status == 200) {
	    var dest = document.getElementById(destinationElement);
	    if (dest){
		dest.innerHTML = http_request.responseText;
	    }
	}
    }
}

function appendOptionLast(categorySelectId) {
    var elOptNew = document.createElement('option');
    elOptNew.text = '';
    elOptNew.value = '';
    var elSel = document.getElementById(categorySelectId);

    try {
        elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
    }
    catch(ex) {
        elSel.add(elOptNew); // IE only
    }
}

function removeOptionLast(categorySelectId) {
    var elSel = document.getElementById(categorySelectId);
    if (elSel.length > 0) {
            elSel.remove(elSel.length - 1);
     }
}

function createDynamicDropdown(formName,brandIds,brandValues,categorySelectId) {
    var form = document.getElementById(formName);
    var index = form.brand[form.brand.selectedIndex].value;
    var ids = brandIds[index];
    var values = brandValues[index];
    var length = form.id.length;
    var printBraSizes = false;
    if (ids.length > length) {
        for(i=0;i<(ids.length - length);i++) {
            appendOptionLast(categorySelectId);
        }
    }else if (ids.length < length) {
        for(i=0;i<(length - ids.length);i++) {
            removeOptionLast(categorySelectId);
        }
    }
    for(i=1;i<ids.length;i++) {
	form.id[i].value = ids[i];
	form.id[i].text = values[i];
	if(ids[i] == '8')
	    printBraSizes = true;
    }
    removeBraSizeDropdown(form,printBraSizes);
}

function stylesDropdownAction(formName){
    var my_form = document.getElementById(formName);
    removeBraSizeDropdown(my_form,my_form.id[my_form.id.selectedIndex].value == 8);
}

function removeBraSizeDropdown(form,remove){
    if(form['alias_id']){
	if(remove){
	    form.alias_id.style.display = 'block';
	    updateBrasizeDropdown(form);
	} else {
	    form.alias_id.style.display = 'none';
	    form.alias_id.value='';
	}
    }
}

function updateBrasizeDropdown(form){
    makeRequest('homepage_brasize_dropdown.php?brand='+form['brand'].value+'&category='+form['id'].value,'womens-brasizes');
}

function getTargetArray(){
    var target = new Array();
    target['A'] = new Array();
    target['A']['left'] = '/womens.html';
    target['A']['right'] = '/mens.html';
    target['A']['middle'] = 'javascript:return false';
    target['B'] = new Array();
    target['B']['left'] = '/womens.html';
    target['B']['right'] = '/mens.html';
    target['B']['middle'] = 'javascript:return false';
    target['C'] = new Array();
    target['C']['left'] = '/womens.html';
    target['C']['right'] = '/mens.html';
    target['C']['middle'] = 'javascript:return false';
    target['D'] = new Array();
    target['D']['left'] = '/womens.html';
    target['D']['right'] = '/mens.html';
    target['D']['middle'] = 'javascript:return false';
    target['E'] = new Array();
    target['E']['left'] = '/womens.html';
    target['E']['right'] = '/mens.html';
    target['E']['middle'] = 'javascript:return false';
    return target;
}

function generateGroup(){
    var rand = Math.random();
    if(rand < 0.2)
	return 'A';
    else if(rand < 0.4)
	return 'B';
    else if(rand < 0.6)
	return 'C';
    else if(rand < 0.8)
	return 'D';
    else
	return 'E';
}

function getABTestGroup(){
    var group = getURLParam('page');
    if(!isCorrectTestGroup(group)){
	var group = Cookie.getCookie('homepage_test');
	if(!isCorrectTestGroup(group)){
	    group = generateGroup();
	    Cookie.setCookie('homepage_test',group, 365, '/');
	}
    } else {
	Cookie.setCookie('homepage_test',group, 365, '/');
    }
    group = group.toUpperCase();
    return group;
}

function isCorrectTestGroup(group){
    group = group ? group.toUpperCase() : '';
    return group =='A' || group == 'B' || group == 'C' || group == 'D' || group == 'E';
}

function switchHomepageImages(type,image_uris){
    var group = getABTestGroup();
    if(isCorrectTestGroup(group)){
	document.getElementById('home-'+type+'-image').innerHTML = '<a href="'+getTargetArray()[group][type]+'"><img src="'+image_uris[group][type]+'"/></a>'
    }
}

function printHomepageDropdown(id,dropdown){
    var dropdown_span = document.getElementById(id);
    if(dropdown_span){
	dropdown_span.innerHTML = dropdown;
    }
}

function printWomensBrandDropdown(dropdown){
    printHomepageDropdown('womens-brands',dropdown);
}

function printWomensStyleDropdown(dropdown){
    printHomepageDropdown('womens-styles',dropdown);
}

function printWomensBraDropdown(dropdown){
    printHomepageDropdown('womens-brasizes',dropdown);
}

function printMensBrandDropdown(dropdown){
    printHomepageDropdown('mens-brands',dropdown);
}

function printMensStyleDropdown(dropdown){
    printHomepageDropdown('mens-styles',dropdown);
}

function setFreshpairURTTrackingPixel(){
    if(getURLParam('CID') == '2358845') {
	$('urt').innerHTML = '<img src="http://media.fastclick.net/w/tre?ad_id=21626;evt=14541;cat1=16916;cat2=16917" width="1" height="1" border="0">';
    }
}


