function onLoad()
{
    // test for order form
    
    if (document.getElementById('hidTotalCost'))
        document.forms[0].onsubmit = orderSubmit;

    // test for Gallery page
    //if (document.getElementById('body17'))
    //    loadLatestImages();

    if (document.getElementById('left') && document.getElementById('middle') && document.getElementById('right'))
    {
        var maxHeight = Math.max(document.getElementById('left').clientHeight, document.getElementById('middle').clientHeight, document.getElementById('right').clientHeight);

        // make all columns same height
        var leftMarginTopAdj = -50; // whatever works
        document.getElementById('left').style.height = maxHeight - leftMarginTopAdj;
        
        if (document.all)
                document.getElementById('middle').style.height = maxHeight;
        else
                document.getElementById('middle').style.minHeight = maxHeight;
                
        document.getElementById('right').style.height = maxHeight; 
   }

    if (document.getElementById('BackButton'))
        document.getElementById('BackButton').onclick = goBack;
}

//------- back button

function goBack()
{
    history.back();
}

//------------ order processing

function orderCalc(chk)
{
    // store referrer id

    var hidRefId = document.getElementById('hidRefId');

    if (hidRefId.value == '')
    {
        if (location.href.match(/.*refid=/))
            hidRefId.value = location.href.replace(/(.*refid=)(.*)/, 'refid=$2');
        else
            hidRefId.value = 'No refid';
    }

    var costs = new Array();

    costs['MagSub1Year'] = 35;
    costs['MagSub2Year'] = 65;
    costs['MagSub_Online'] = 20;
    costs['PG_SLR'] = 9.95;
    costs['PDF_SLR'] = 9.95;
    costs['PG_Print'] = 14.95;
    costs['PG_Print4'] = 9.95;
    costs['PG_DigitalCamera2'] = 14.95;
    costs['PG_Master'] = 19.50;
    costs['PG_Advanced'] = 19.50;

    var sum = 0.0;

    var chks = document.getElementsByTagName('INPUT');

    var hasPG = false;

    for (var i = 0; i < chks.length; i++)
    {
        if (chks[i].checked)
        {
            sum += costs[chks[i].id];

            // single delivery charge of $5 no matter how many PGs
            if ((chks[i].id.substr(0, 3) == 'PG_') && ( ! hasPG))
            {
                sum += 5;
                hasPG = true;
            }
        }
    }

    // overseas orders, unless just online
    if ((sum > 0) && (document.getElementById('Country').selectedIndex != 0) && ((sum != costs['MagSub_Online']) || (! document.getElementById('PG_Online').checked)))
    {
       sum += 15;
    }
       
       
    sum2 = formatNumber(sum + 0.005, "####0.00") // rounding

    document.getElementById('TotalCost').innerHTML = formatNumber(sum2, "$##,##0.00");
    document.getElementById('hidTotalCost').value = sum2;
}

function orderSubmit()
{
    var ok = true;

    if (document.getElementById('Name').value.length == 0 ||
        document.getElementById('Address').value.length == 0 ||
        document.getElementById('Suburb').value.length == 0 ||
        document.getElementById('State').value.length == 0 ||
        document.getElementById('Postcode').value.length == 0 )
    {
        alert('Please enter all compulsory items (*).');
        ok = false;
    }
    else if (! document.getElementById('Email').value.match(/^([0-9a-zA-Z_]([-.\w]*[0-9a-zA-Z_])*@([0-9a-zA-Z_][-\w]*[0-9a-zA-Z_]\.)+[a-zA-Z]{2,9})$/))
    {
	alert('Invalid email address.');
	ok = false;
    }
    else if (document.getElementById('TotalCost').innerText == '$0.00')
    {
	alert('Please select your purchase items.');
	ok = false;
    }
        
    return ok;
}

function formatNumber(n,format){
	if(isNaN(n)) return "";
	var i,c,f,comma,symbol='',sign='',decimals='',integers='';
	var fInt,fDec,nInt,nDec,len=0,cnt=0;
	if(n<0) sign='-';
	n+='';if(sign) n=n.replace('-','');
	format=(format)? format+'':'#,##0.00';
	if(format.indexOf(',')>=0) comma=',';
	if(format.indexOf('$')>=0) symbol='$';
	else if(format.indexOf('%')>=0)	symbol='%';
	s=format.split('.');
	fInt=((s[0]==''||s[0]==null||s[0]=='undefinded')? '':s[0]);
	fInt=fInt.split('').reverse().join('');
	fDec=(s[1]==''||s[1]==null||s[1]=='undefinded')? '':s[1];
	s=n.split('.');
	nInt=((s[0]==''||s[0]==null||s[0]=='undefinded')? '':s[0]);
	nInt=nInt.split('').reverse().join('');;
	nDec=(s[1]==''||s[1]==null||s[1]=='undefinded')? '':s[1];
	if (nInt) len=nInt.length;
	if (fInt.length>len) len=fInt.length;	
	for(i=0;i<len;i++){
		c=nInt.charAt(i);
		f=fInt.charAt(i);
		cnt++;
		if (cnt==4 && comma && (c||f=='0')) integers+=comma;
		if(f=='0' && !c) integers+='0';
		else if(c) integers+=c;
		if (cnt==4) cnt=1;
	}
	if(fDec) len=fDec.length;
	for(i=0;i<len;i++){
		c=nDec.charAt(i);
		f=fDec.charAt(i);
		if(f=='0' && !c) decimals+='0';
		else if((f=='#' || f=='0') && c) decimals+=c;
	}
	f=((integers+'').split('').reverse().join(''))+((decimals)? '.'+decimals:'');
	if(symbol=='%') f+=symbol;
	else f=symbol+f;
	return sign+f;
}
//------------------------------------- Camera Recommender
        function RecommendCamera()
        {
                var scores = new Array();
                
        
                        for(var j = 0; j < 4; j++)
            {
                scores[j] = new Array();
                scores[j].score = 0;
                scores[j].index = j;
                }               
                
            for( var i = 0; i < 12; i++)
            {
                var chk = document.getElementById('Q' + (i + 1));
                
                if (chk.checked)
                {
                        for(var j = 0; j <  4; j++)
                        {
                                var score = document.getElementById('H' + (i + 1) + '_' + (j + 1)).value;
                                score = parseInt(score);
                                
                                scores[j].score += score;
                        }
                }
            }
            
                
                        scores.sort(compare);
                        
                        var s = '';
                        
                        for(var j = 4 - 1; j >= 0; j--)
            {
                //if (scores[j].score > 0)
                //{
                        var answer = document.getElementById('A' + (scores[j].index + 1)).value;
                
                        s += answer;
                        
                        break;
                //}
                }
                     
            document.getElementById('Recommendation').innerHTML = s;
            
        }
        
        function compare(a, b)
        {
                return a.score - b.score;
        }
    
//------------------ gallery & ajax

function loadLatestImages()
{
    var url = "http://edsites2.itechne.com/PRGallery/Service/Service.aspx";
    var ajax = new AjaxDelegate(url, "<Root op='GetLatestImages' count='6' />", showImages);
    ajax.Fetch();
}
		
function showImages(url, xml, response)
{
    if (response.hasChildNodes && response.firstChild.getAttribute("status") == "ok")
    {
        var imgs = response.getElementsByTagName("Image");        

        var middle = document.getElementById('middle')
        var insertBefore = document.getElementById('Content2_ArticlesInSectionList')

        for (var i = 0; i < imgs.length; i++)
        {
            var img = new Image();
            img.src = imgs[i].getAttribute("Url");

            middle.insertBefore(img, insertBefore);
        }
    }
}

//------------------ Review pages

function showReviewTab(tab, id)
{
    var tabs = document.getElementById('reviewTabs').getElementsByTagName("LI");

    for (var i = 0; i < tabs.length; i++)
        tabs[i].className = '';

    tabs[tab].className = 'currentReviewTab';


    if (document.getElementById('articleSummaryDiv'))
        document.getElementById('articleSummaryDiv').style.display = 'none';

    if (document.getElementById('articleTextDiv'))
        document.getElementById('articleTextDiv').style.display = 'none';

    if (document.getElementById('articleSpecificationsDiv'))
        document.getElementById('articleSpecificationsDiv').style.display = 'none';
    
    if (document.getElementById('retailersDiv'))
        document.getElementById('retailersDiv').style.display = 'none';

    if (document.getElementById(id))
        document.getElementById(id).style.display = "";

    //location.href = '#top';
}

//------------------ Search


function doSearch()
{
 var baseUrl;
 
 if (document.getElementById('baseUrl'))
    baseUrl = document.getElementById('baseUrl').value;
 else
    baseUrl = document.getElementById('BaseUrl').value;
    
    location.href = baseUrl + '/admin/search.aspx?q=' + escape(document.getElementById('SearchFor').value);
}


function searchKey()
{
    var ieKey = event.keyCode;
    
    if (13 == ieKey) 
    {
        event.returnValue=false;
        event.cancelBubble=true;
 
        document.body.style.cursor = 'wait';
		
        doSearch();
    }	
}	

//-------------------- Email a friend

function emailThis()
{
    var subject = document.getElementById('ArticleHeadline').innerHTML;
    
     var baseUrl;
     
     if (document.getElementById('baseUrl'))
        baseUrl = document.getElementById('baseUrl').value;
     else
        baseUrl = document.getElementById('BaseUrl').value;

      var url = location.href;
      url = url.replace(/reviews/, 'phrviews'); // bypass isapi redirect
      location.href = baseUrl + '/admin/email-a-friend.aspx?subject=' + escape(subject) + '&url=' + escape(url);
}

//-------------------- Free email update

function doSubscribe()
{
    var ok = true;

    if (! document.getElementById('Email').value.match(/^([0-9a-zA-Z_]([-.\w]*[0-9a-zA-Z_])*@([0-9a-zA-Z_][-\w]*[0-9a-zA-Z_]\.)+[a-zA-Z]{2,9})$/))
    {
	alert('Invalid email address');
	ok = false;
    }
	
    if (ok)
    {
        var destUrl = "http://eddesk36.itechne.com/newsletter/subscribe.aspx";
        
        var url = "http://www.photoreview.com.au/admin/ajax.aspx";

        var msg = 'Thank you. Subscription submitted.';

        if (document.getElementById('Unsubscribe').checked)
        {
            destUrl = destUrl.replace(/subscribe/, 'unsubscribe');
            msg = 'Thank you. Subscription removal submitted.';
        }

        url += '?email=' + escape(document.getElementById('Email').value);
        url += '&type=HTML&name=';
        url += '&emailListId=' + '1b2fc184-2b69-4e74-ad9a-b9ee85ae302e'; 
        url += '&destUrl=' + escape(destUrl);

        //prompt('url', url);

        var ajax = new AjaxDelegate(url, "", null);
        ajax.Fetch();

        alert(msg);
    }
}

function clearSearch(o)
{
    if (! o.id.match(/.*accessory/))
        document.getElementById('productSearch1_accessoryList').selectedIndex = 0;    

    if (! o.id.match(/.*printer/))
        document.getElementById('productSearch1_printerList').selectedIndex = 0;

    if (! o.id.match(/.*peripheral/))
        document.getElementById('productSearch1_peripheralList').selectedIndex = 0;
}